github TypeScript analyzed 1a67ac8 unconfirmed MCP

cappyeo/discord-mcp

github

Local, typed Model Context Protocol server for Discord bots - 192 tools for AI clients with safety controls and observability.

maintainer
cappyeo
license
MIT
first seen
2026-08-01
last seen
2026-08-02
releases · 30d
2
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 0 tools
transport stdio · http counts 0 tools · 0 res · 0 prompts permission surface via code analysis

No tools enumerated yet for this server.

skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 1a67ac8 · analyzer v28 · 1d ago

skills & prompt files 2

code evidence vHEAD · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 607

filesystem 8

  • fs cappyeo-discord-mcp-1a67ac8/packages/mcp-core/src/audit/sink.ts :1 import { createWriteStream, type WriteStream } from 'node:fs';
  • fs cappyeo-discord-mcp-1a67ac8/packages/mcp-server/src/commands/init.ts :31 import { existsSync, writeFileSync } from 'node:fs';
  • fs cappyeo-discord-mcp-1a67ac8/packages/mcp-server/src/lib/checks/audit-sink.ts :16 import * as fs from 'node:fs';
  • fs cappyeo-discord-mcp-1a67ac8/packages/mcp-server/src/lib/migrate-adapters/discord-ops.ts :151 import { readdirSync, readFileSync, statSync } from 'node:fs';
  • fs cappyeo-discord-mcp-1a67ac8/packages/mcp-server/src/lib/migrate-adapters/hubdustry-go-mcp.ts :23 import type { Dirent } from 'node:fs';
  • fs cappyeo-discord-mcp-1a67ac8/packages/mcp-server/src/lib/migrate-adapters/pasympa.ts :94 import { readdirSync, readFileSync, statSync } from 'node:fs';
  • fs cappyeo-discord-mcp-1a67ac8/packages/mcp-server/src/lib/migrate-adapters/quadslab.ts :154 import { readdirSync, readFileSync, statSync } from 'node:fs';
  • fs cappyeo-discord-mcp-1a67ac8/packages/mcp-server/vitest.global-setup.ts :28 import { existsSync } from 'node:fs';

shell / exec 1

  • shell cappyeo-discord-mcp-1a67ac8/packages/mcp-server/vitest.global-setup.ts :27 import { execSync } from 'node:child_process';

network 3

  • net cappyeo-discord-mcp-1a67ac8/packages/mcp-core/src/tools/messages/read.ts :42 .describe('Messages to fetch (1-100, default 50)'),
  • net cappyeo-discord-mcp-1a67ac8/packages/mcp-server/src/lib/checks/otel-reachable.ts :102 const res = await fetch(url, {
  • net cappyeo-discord-mcp-1a67ac8/packages/mcp-server/src/lib/checks/token-online.ts :62 const res = await fetch(url, {

secrets 1

  • secrets cappyeo-discord-mcp-1a67ac8/packages/mcp-server/src/lib/checks/token-format.ts :5 * calls. We read `process.env.DISCORD_TOKEN` directly (NOT the parsed

install hooks 2

  • prepack (suspicious) cappyeo-discord-mcp-1a67ac8/packages/mcp-core/package.json :46 node -e "require('node:fs').copyFileSync('../../README.md','README.md');require('node:fs').copyFileSync('../../LICENSE','LICENSE');"
  • prepack (suspicious) cappyeo-discord-mcp-1a67ac8/packages/mcp-server/package.json :50 node -e "require('node:fs').copyFileSync('../../README.md','README.md');require('node:fs').copyFileSync('../../LICENSE','LICENSE');"

declared dependencies 4

  • @biomejs/biome@^2.0.0
  • publint@^0.3.22
  • turbo@^2.0.0
  • typescript@^5.6.0

obfuscation 2

  • dynamic require()/import() cappyeo-discord-mcp-1a67ac8/packages/mcp-core/src/audit/redact.test.ts :443 const mod = await import(`file://${join(dir, file).replace(/\\/g, '/')}`);
  • dynamic require()/import() cappyeo-discord-mcp-1a67ac8/packages/mcp-core/src/tools/registry.invariants.test.ts :57 const mod = await import(`file://${sourcePath.replace(/\\/g, '/')}`);