MCP server for Social Neuron - AI content creation tools for Claude
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · streamable-http · http
verified
reported
listed in the official MCP registry counts 0 tools · 0 res
· 0 prompts
permission surface via code analysis
no tools enumerated yet for this server.
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed analyzer v18 · 46m ago
danger signals1
- credential in logscredential in logsocialneuron-mcp-server-2717c9c/src/cli/commands.ts:176
console.error(` ${pollData.api_key}`);
evidence-backed
findings quoted directly from the published source artifact — not inferred
last analysis: too-large · showing evidence from the last successful analysis (3d ago)
filesystem 14
- fs socialneuron-mcp-server-2717c9c/scripts/build-tools-lock.mjs :21
import { writeFileSync } from 'node:fs'; - fs socialneuron-mcp-server-2717c9c/scripts/build-tools-reference.mjs :7
import { mkdtempSync, mkdirSync, rmSync, writeFileSync } from 'node:fs'; - fs socialneuron-mcp-server-2717c9c/scripts/check-dep-age.mjs :20
import { readFileSync } from 'node:fs'; - fs socialneuron-mcp-server-2717c9c/scripts/lib/enumerate-runtime-tools.mjs :19
import { mkdtempSync, mkdirSync, rmSync, writeFileSync } from 'node:fs'; - fs socialneuron-mcp-server-2717c9c/scripts/lint-tool-descriptions.mjs :21
import { mkdtempSync, rmSync } from 'node:fs'; - fs socialneuron-mcp-server-2717c9c/scripts/verify-tools-lock.mjs :13
import { readFileSync } from 'node:fs'; - fs socialneuron-mcp-server-2717c9c/src/apps/content-calendar.ts :8
import fs from 'node:fs/promises'; - fs socialneuron-mcp-server-2717c9c/src/cli/credentials.ts :12
import { existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from 'node:fs'; - fs socialneuron-mcp-server-2717c9c/src/cli/setup.ts :16
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs'; - fs socialneuron-mcp-server-2717c9c/src/cli/sn/presets.ts :1
import { readFileSync, writeFileSync, mkdirSync, existsSync } from 'node:fs'; - fs socialneuron-mcp-server-2717c9c/src/lib/safe-path.ts :13
import { realpath } from 'node:fs/promises'; - fs socialneuron-mcp-server-2717c9c/src/tools/media.ts :3
import { readFile } from 'node:fs/promises'; - fs socialneuron-mcp-server-2717c9c/src/tools/remotion.ts :4
import { mkdir } from 'node:fs/promises'; - fs socialneuron-mcp-server-2717c9c/src/tools/screenshot.ts :13
import { mkdir } from 'node:fs/promises';
shell / exec 1
- shell socialneuron-mcp-server-2717c9c/src/cli/credentials.ts :11
import { execFileSync } from 'node:child_process';
network 10
- net socialneuron-mcp-server-2717c9c/packages/sdk/src/client.ts :88
const response = await fetch(url.toString(), { - net socialneuron-mcp-server-2717c9c/scripts/check-dep-age.mjs :92
const res = await fetch(`https://registry.npmjs.org/${name}`); - net socialneuron-mcp-server-2717c9c/src/auth/api-keys.ts :35
const response = await fetch( - net socialneuron-mcp-server-2717c9c/src/cli/commands.ts :106
const response = await fetch(`${supabaseUrl}/functions/v1/mcp-auth?action=device-code`, { - net socialneuron-mcp-server-2717c9c/src/cli/setup.ts :15
import { createServer, type IncomingMessage, type ServerResponse } from 'node:http'; - net socialneuron-mcp-server-2717c9c/src/lib/edge-function.ts :166
const response = await fetch(url.toString(), { - net socialneuron-mcp-server-2717c9c/src/lib/oauth-provider.ts :188
response = await fetch(`${supabaseUrl}/functions/v1/mcp-auth?action=exchange-key`, { - net socialneuron-mcp-server-2717c9c/src/lib/safe-fetch.ts :19
* can theoretically flip the answer between validation and fetch (DNS - net socialneuron-mcp-server-2717c9c/src/lib/token-verifier.ts :122
const response = await fetch( - net socialneuron-mcp-server-2717c9c/src/tools/media.ts :436
const putResp = await fetch(putData.signedUrl, {
secrets 8
- secrets socialneuron-mcp-server-2717c9c/src/auth/api-keys.ts :30
process.env.SUPABASE_ANON_KEY || - secrets socialneuron-mcp-server-2717c9c/src/cli/credentials.ts :146
const envKey = process.env.SOCIALNEURON_API_KEY; - secrets socialneuron-mcp-server-2717c9c/src/http.ts :38
const SUPABASE_ANON_KEY = process.env.SUPABASE_ANON_KEY ?? ''; - secrets socialneuron-mcp-server-2717c9c/src/lib/browser.ts :63
const password = process.env.APP_PASSWORD; - secrets socialneuron-mcp-server-2717c9c/src/lib/edge-function.ts :31
const envKey = process.env.SOCIALNEURON_API_KEY; - secrets socialneuron-mcp-server-2717c9c/src/lib/posthog.ts :28
const key = process.env.POSTHOG_KEY; - secrets socialneuron-mcp-server-2717c9c/src/lib/quality.ts :98
const brandKeyword = input.brandKeyword ?? process.env.SOCIALNEURON_BRAND_KEYWORD?.trim(); - secrets socialneuron-mcp-server-2717c9c/src/lib/supabase.ts :9
process.env.SOCIALNEURON_SERVICE_KEY || process.env.SUPABASE_SERVICE_ROLE_KEY || '';
declared dependencies 15
- @modelcontextprotocol/ext-apps@1.7.2
- @modelcontextprotocol/sdk@^1.27.1
- @supabase/supabase-js@2.106.2
- cors@^2.8.6
- express@^5.1.0
- express-rate-limit@^8.3.2
- jose@^6.2.1
- open@10.0.0
- posthog-node@5.35.4
- zod@^4.3.6
- @types/node@^25.3.5
- esbuild@^0.28.0
- lockfile-lint@5.0.0
- typescript@^6.0.2
- vitest@^3.0.0