@socialneuron/mcp-server 1.7.10 → 1.7.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +31 -186
- package/README.md +25 -86
- package/dist/http.js +4075 -1847
- package/dist/index.js +3686 -1868
- package/dist/sn.js +4201 -0
- package/package.json +41 -19
- package/tools.lock.json +111 -82
package/CHANGELOG.md
CHANGED
|
@@ -2,228 +2,73 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to `@socialneuron/mcp-server` will be documented in this file.
|
|
4
4
|
|
|
5
|
-
## [1.7.
|
|
6
|
-
|
|
7
|
-
### Fixed
|
|
8
|
-
- Fixed stdio MCP `tools/list` runtime serialization by updating `execute_recipe.inputs` to use the Zod 4-compatible `z.record(z.string(), z.unknown())` form. The 1.7.9 package could start but failed tool listing with `Cannot read properties of undefined (reading '_zod')`.
|
|
9
|
-
- Added a regression test that serializes the real registered stdio tool schemas through the MCP SDK JSON-schema conversion path.
|
|
10
|
-
- Pinned `posthog-node` to `5.20.0` to keep public installs compatible with the advertised Node `>=20.0.0 <21.0.0 || >=22.0.0` engine range.
|
|
11
|
-
- `MCP_VERSION` bumped to `1.7.10`.
|
|
12
|
-
|
|
13
|
-
## [1.7.9] - 2026-05-01
|
|
14
|
-
|
|
15
|
-
### Security
|
|
16
|
-
- Hardened OAuth Dynamic Client Registration: production defaults now allow only known callback URIs plus localhost Claude development callbacks. Unknown HTTPS callbacks require `MCP_ALLOW_ANY_HTTPS_REDIRECT=true` for staging/onboarding.
|
|
17
|
-
- Made OAuth token revocation authoritative: backend revocation failures now surface as failures instead of silently succeeding after local cache eviction.
|
|
18
|
-
- Reduced auth error detail returned to clients and added no-store cache headers on protected HTTP responses.
|
|
19
|
-
- `MCP_VERSION` bumped to `1.7.9`.
|
|
20
|
-
|
|
21
|
-
### Fixed
|
|
22
|
-
- Corrected auth documentation: this public server package currently uses an in-memory Dynamic Client Registration store. The earlier 1.7.7 changelog entry overstated persistent DCR storage; persistent DCR storage and separate short-lived connector tokens require companion backend changes outside this repo.
|
|
23
|
-
- Synced `server.json` registry manifest version fields to `1.7.9` so MCP registry metadata matches the published npm package.
|
|
24
|
-
|
|
25
|
-
## [1.7.8] - 2026-04-25
|
|
26
|
-
|
|
27
|
-
### Added
|
|
28
|
-
- **Platform connection deep-link tools**: `start_platform_connection` mints a single-use deep link the user opens in their browser to complete platform OAuth (X/LinkedIn/IG/etc.) in their already-authenticated session; `wait_for_connection` polls until the connection becomes active or the timeout elapses. Closes the "agent can't trigger OAuth from the chat" gap.
|
|
29
|
-
- **Scope mapping**: `start_platform_connection` is `mcp:distribute`; `wait_for_connection` is `mcp:read`.
|
|
5
|
+
## [1.7.11] - 2026-05-15
|
|
30
6
|
|
|
31
7
|
### Changed
|
|
32
|
-
- `MCP_VERSION` bumped to `1.7.8` (live `mcp.socialneuron.com` continues at `1.7.7` until the next deploy carries this surface).
|
|
33
|
-
- Tool count: **76** (sealed via `tools.lock.json`).
|
|
34
8
|
|
|
35
|
-
|
|
9
|
+
- **Tier listing aligned to Phase 4b canonical pricing.** The `socialneuron://docs/capabilities` resource now exposes the live tier prices: Free $0/mo · Starter $19/mo · Pro $49/mo · Team $99/mo · Agency $249/mo. Versions 1.7.7 → 1.7.10 shipped the stale pre-Phase-4b values ($29/$79/$199 and no Agency tier) to every connected MCP client, including Claude Code / Claude Desktop / Cursor. Upgrading to 1.7.11 closes that gap.
|
|
10
|
+
- **MCP access matrix corrected.** Free and Starter are now `mcp_access: 'None'` (string, not boolean), matching the canonical contract that MCP read+analytics starts at Pro and full MCP starts at Team. Previous bundle inconsistently used `false` (boolean) for free/starter and strings for the paid tiers.
|
|
11
|
+
- **Agency tier added** with full MCP + REST API + 20 keys + multi-brand autopilot.
|
|
36
12
|
|
|
37
|
-
###
|
|
38
|
-
- **MCP Apps — Calendar (Day 1 read-only scaffold)**: First inline UI surface inside Claude Desktop / claude.ai using `@modelcontextprotocol/ext-apps`. The `open_content_calendar` tool renders a drag-drop calendar of scheduled posts. Backed by existing tools (`list_recent_posts`, `schedule_post`, `find_next_slots`) — no new server-side work required.
|
|
39
|
-
- **Connector icon**: OAuth metadata `logo_uri` points at `https://socialneuron.com/logo-icon.svg`. Custom Connector tile in claude.ai now renders the SN brand mark.
|
|
40
|
-
- **Persistent OAuth client store**: Dynamic Client Registrations are persisted to `public.mcp_oauth_clients` (Supabase). Survives Railway redeploys — claude.ai's saved `client_id` no longer becomes invalid each deploy. Falls back to in-memory mode if the table is unreachable.
|
|
41
|
-
- **Scope-denied OAuth-aware message**: Permission-denied responses now branch the remediation hint between API-key users (regenerate at `/settings/developer`) and OAuth Custom Connector users (scope is plan-tier-gated). [PR #73]
|
|
13
|
+
### Source
|
|
42
14
|
|
|
43
|
-
|
|
44
|
-
- `MCP_VERSION` bumped to `1.7.7`.
|
|
45
|
-
- Tool count: **74** at this release; subsequent backports brought public surface to 76.
|
|
15
|
+
Anchored by `memory-bank/audits/2026-05-13-pricing-consistency-audit.md` (PR #631). The same audit landed Phase 4b across `constants/pricing.ts`, `lib/currency.ts`, `data/answers.ts`, `pages/Pricing.tsx`, the docs-site llms.txt feeds, and the SEO comparison data — this release ships the corresponding MCP-protocol-level fix.
|
|
46
16
|
|
|
47
17
|
## [1.7.6] - 2026-04-22
|
|
48
18
|
|
|
49
|
-
### Security
|
|
50
|
-
- **Dependency cooldown re-armed**: `SN_DEP_AGE_ENFORCE` flipped back to `"true"` in `release.yml`. New dependency versions under 14 days old now block publish again. (Was temporarily warn-only in 1.7.5 while Trusted Publishing was being validated — that validation is complete.)
|
|
51
|
-
|
|
52
19
|
### Changed
|
|
20
|
+
|
|
53
21
|
- `MCP_VERSION` bumped to `1.7.6`.
|
|
54
|
-
-
|
|
55
|
-
- **Reproducible `tools.lock.json`**: removed the `generated_at` timestamp so the sealed manifest is byte-identical across builds of the same source. Per-tool sha256 hashes remain the actual integrity seal.
|
|
56
|
-
- **MCP Registry manifest synced**: `server.json` version fields bumped from `1.7.0` → `1.7.6` so registry discovery reflects the real latest package.
|
|
57
|
-
- **Cursor plugin manifest synced**: `.cursor-plugin/plugin.json` bumped from `1.6.0` → `1.7.6`, tool count corrected from 52 → 73, and the `author.email` field (which leaked a real address) replaced with `author.url`.
|
|
58
|
-
- **Docs tool-count drift fixed**: `docs/rest-api.md`, `docs/cli-guide.md`, `docs/integration-methods.md`, `docs/landing-page-brief.md`, `examples/rest/08-tool-proxy.sh`, and `examples/mcp/prompts.md` all updated from stale `52 tools` references to the current `73 tools`. CHANGELOG history entries are left intact.
|
|
22
|
+
- **`/.well-known/mcp/server-card.json` auto-derived from `TOOL_CATALOG`**: previously hardcoded to 16 tools; now reflects the live catalog (75 tools) so Smithery / marketplace discovery stays in sync with the source of truth.
|
|
59
23
|
|
|
60
|
-
###
|
|
61
|
-
|
|
24
|
+
### Internal
|
|
25
|
+
|
|
26
|
+
- Deduped the redundant `require('./lib/tool-catalog.js')` in the unauthenticated `tools/list` handler (single import per request).
|
|
62
27
|
|
|
63
28
|
## [1.7.5] - 2026-04-22
|
|
64
29
|
|
|
65
30
|
### Added
|
|
31
|
+
|
|
66
32
|
- **`upload_media` base64 path**: new optional `file_data` + `file_name` params let Claude Desktop, Claude Web, and other remote agents upload bytes directly without a filesystem path. Content-type is validated against an allowlist, base64 charset is checked, and decoded size is capped at 10MB before the Edge Function call. `file_name` is `basename()`-sanitized.
|
|
67
33
|
- **`schedule_post` auto-rehost**: any `media_url` / `media_urls` / `job_id` result URL that is not already R2-signed is automatically persisted into R2 via `upload-to-r2` before posting. Keeps scheduled posts alive past ephemeral-URL expiry (Replicate, OpenAI, DALL-E, kie.ai) and feeds byte-upload platforms (X, LinkedIn, YouTube, Bluesky). New optional `auto_rehost` parameter (default: true) opts out.
|
|
68
|
-
- **`create_carousel` meta-tool** (from v1.7.4): Brand-aware carousel generation that composes `generate_image` with brand color/tone constraints and auto-exports to R2. Catalog now at **73 tools**.
|
|
69
|
-
- **Brand runtime scoring**: `brandScoring.ts` + `colorAudit.ts` modules power multi-dimensional brand alignment checks used by the carousel meta-tool.
|
|
70
34
|
|
|
71
35
|
### Security
|
|
72
|
-
|
|
73
|
-
- **Production environment gate**: Release workflow requires manual approval of the `production` environment before publishing.
|
|
74
|
-
- **Perimeter hardening (Sprint 1)**: Repo-level `.npmrc` pins registry, disables funding/audit noise in CI, and enforces `save-exact`. `CODEOWNERS` locks security-sensitive paths (workflows, `.npmrc`, `package.json`, `src/auth/`) to `@socialneuron/sn-maintainers`.
|
|
75
|
-
- **Pre-push identity hook**: Blocks pushes from unexpected git identities; ships with a local allowlist.
|
|
76
|
-
- **Lockfile-lint + dependency cooldown**: CI validates `package-lock.json` integrity. Release enforces a 14-day cooldown on new dependency versions (temporarily warn-only for this release during OIDC validation — re-enforced in 1.7.6).
|
|
77
|
-
- **Sealed tools manifest (CVE-2025-6514 mitigation)**: `tools.lock.json` records a sha256 hash of every tool's `name`/`description`/`module`/`scope`. CI `lint:tools` blocks drift between source and manifest. Mitigates tool-poisoning attacks on MCP clients.
|
|
36
|
+
|
|
78
37
|
- **SSRF guard on caller URLs**: every URL passed to auto-rehost is validated by `quickSSRFCheck` — rejects localhost, RFC1918 private ranges, link-local, cloud metadata endpoints (AWS/GCP/Azure), embedded credentials, and non-HTTP(S) protocols.
|
|
79
38
|
- **Hono patched**: `hono` override bumped 4.12.12 → 4.12.14 to resolve GHSA-458j-xx4x-4375 (JSX attribute HTML injection, moderate).
|
|
80
|
-
- Covers **11 Dependabot alerts** pinned via npm `overrides` (security patches for transitive deps).
|
|
81
39
|
|
|
82
40
|
### Changed
|
|
83
|
-
- `MCP_VERSION` bumped to `1.7.5`.
|
|
84
|
-
- Tool descriptions updated on `upload_media` and `schedule_post.media_url` to tell agents ephemeral URLs are safe to pass directly.
|
|
85
|
-
- CI runners upgraded: `actions/checkout@v6`, `actions/setup-node@v6`.
|
|
86
|
-
- Dependencies: `@supabase/supabase-js` 2.101 → 2.103, `posthog-node` 5.28 → 5.29.2, `hono` → 4.12.14, `@types/node` → 25.6, `typescript` → 6.0, `trufflehog` action → 3.94.2.
|
|
87
|
-
|
|
88
|
-
### Fixed
|
|
89
|
-
- Missing `sanitizeError` import on the presigned-PUT error branch of `upload_media`.
|
|
90
|
-
- Release workflow: removed stale `registry-url` directive that blocked OIDC Trusted Publishing.
|
|
91
|
-
- Release workflow: removed broken typecheck gate that blocked publish.
|
|
92
|
-
|
|
93
|
-
## [1.7.3] - 2026-04-04
|
|
94
41
|
|
|
95
|
-
|
|
96
|
-
- **Full error sanitization**: `sanitizeError()` applied across all 15 catch blocks in 9 tool files + `http.ts` global error handler. No internal paths, table names, or stack traces leak to clients.
|
|
97
|
-
- **R2 key masking**: R2 storage keys are masked in all text output to prevent path disclosure.
|
|
98
|
-
|
|
99
|
-
### Added
|
|
100
|
-
- **`upload_media` tool**: Upload local files or URLs to R2 storage for use in posts.
|
|
101
|
-
- **`get_media_url` tool**: Generate signed URLs for R2-stored media.
|
|
102
|
-
- **`schedule_post` enhancements**: Now accepts `r2_key`/`r2_keys`, `job_id`/`job_ids`, and typed `platform_metadata` — enables seamless generate-upload-post pipeline.
|
|
103
|
-
- **`check_status` enhancements**: Returns `all_urls` for multi-output jobs, presigned PUT URL support.
|
|
104
|
-
- **Brand consistency scoring**: New `brandScoring.ts` + `brandRuntime.ts` modules with multi-dimensional brand alignment scoring.
|
|
105
|
-
|
|
106
|
-
### Fixed
|
|
107
|
-
- Duplicate `sanitizeError` import removed.
|
|
108
|
-
|
|
109
|
-
### Changed
|
|
110
|
-
- `MCP_VERSION` bumped to `1.7.3`.
|
|
111
|
-
- Removed `api/` directory (OpenAPI spec, router, tool-executor) — REST convenience routes consolidated into `http.ts`.
|
|
112
|
-
- Removed `cli/sn/completions.ts`, `cli/sn/generate.ts`, `cli/sn/parse.ts` — CLI streamlined.
|
|
113
|
-
- Removed `lib/tool-errors.ts` — error handling consolidated into `sanitizeError`.
|
|
42
|
+
- Tool descriptions updated on `upload_media` (routing guide for path vs. base64 vs. URL) and `schedule_post.media_url` (explicit ephemeral-URL safety note).
|
|
114
43
|
|
|
115
44
|
## [1.7.0] - 2026-04-03
|
|
116
45
|
|
|
117
46
|
### Added
|
|
118
|
-
- 12 new tools (52 → 64): brandRuntime (3), pipeline (4), suggest (1), digest (2), remotion (+1), autopilot (+1)
|
|
119
|
-
- `/.well-known/mcp/server-card.json` endpoint for Smithery marketplace discovery
|
|
120
|
-
- `/config` endpoint for cloud-mode connection info (replaces hardcoded credentials)
|
|
121
|
-
- MCP tool safety annotations for Anthropic Connectors Directory
|
|
122
|
-
- Response truncation (100K char limit)
|
|
123
47
|
|
|
124
|
-
|
|
125
|
-
-
|
|
126
|
-
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
-
|
|
130
|
-
- `@supabase/supabase-js` 2.99 → 2.101
|
|
131
|
-
- `jose` 6.2.1 → 6.2.2
|
|
132
|
-
|
|
133
|
-
## [1.6.1] - 2026-03-22
|
|
134
|
-
|
|
135
|
-
### Security
|
|
136
|
-
- **Explicit body size limit**: `express.json({ limit: '50kb' })` prevents DoS via oversized payloads.
|
|
137
|
-
- **Error message sanitization**: MCP POST catch block now uses `sanitizeError()` — no more internal paths or table names in error responses.
|
|
138
|
-
- **PII removal**: Removed `email` from API key validation chain (7 files). Key validation no longer exposes user email addresses.
|
|
139
|
-
- **Generation rate limiting**: Added explicit `generation` category at 20 req/min (previously fell back to `read` at 60/min).
|
|
140
|
-
- **npm provenance**: Added `--provenance` flag and `id-token: write` permission to release workflow for supply chain verification.
|
|
141
|
-
- **Security comment**: Documented that Edge Functions must not trust `x-internal-worker-call` header without Bearer token verification.
|
|
48
|
+
- **`/config` endpoint**: Returns server configuration (tools count, version, capabilities) without authentication
|
|
49
|
+
- **Rate limit exemptions**: `/config`, `/health`, and `/.well-known/` paths bypass rate limiting
|
|
50
|
+
- **All tools migrated to gateway**: 13 tool files moved from `getSupabaseClient()` to `callEdgeFunction('mcp-data', ...)` — tools now work in cloud mode (API key users)
|
|
51
|
+
- **REST API layer**: Universal tool proxy (`POST /v1/tools/:name`), 15 convenience endpoints, OpenAPI 3.1 spec
|
|
52
|
+
- **64 tools** (was 52): distribution, media, and configuration tools added
|
|
53
|
+
- **mcp-data gateway**: 17 new actions added for cloud-mode tool execution
|
|
142
54
|
|
|
143
55
|
### Fixed
|
|
144
|
-
- **hono prototype pollution**: Updated transitive dependency to fix GHSA-v8w9-8mx6-g223.
|
|
145
|
-
- `npm audit` now reports 0 vulnerabilities.
|
|
146
|
-
|
|
147
|
-
### Added
|
|
148
|
-
- 18 examples (8 REST curl, 5 TypeScript SDK, 4 CLI, 1 MCP prompts).
|
|
149
|
-
- TypeScript SDK package (`packages/sdk/`) with 9 resource classes.
|
|
150
|
-
- CLI tab completion and content generation commands.
|
|
151
|
-
- SDK documentation and release workflow.
|
|
152
|
-
|
|
153
|
-
## [1.6.0] - 2026-03-21
|
|
154
|
-
|
|
155
|
-
### Added
|
|
156
|
-
- **REST API layer**: Universal tool proxy at `POST /v1/tools/:name` — call any of the 52 MCP tools via standard HTTP REST. No MCP client required.
|
|
157
|
-
- **OpenAPI 3.1 spec**: Auto-generated from TOOL_CATALOG at `/openapi.json` — always in sync with tools.
|
|
158
|
-
- **15 convenience endpoints**: Resource-oriented routes for common operations (`/v1/credits`, `/v1/content/generate`, `/v1/posts`, etc.).
|
|
159
|
-
- **Express HTTP transport**: New `dist/http.js` entry point for running as a standalone REST API server.
|
|
160
|
-
- **MCP Registry metadata**: `server.json` with mcpName, endpoints, env, and auth configuration for registry discovery.
|
|
161
|
-
- **Cursor Directory manifest**: Plugin manifest for Cursor IDE integration.
|
|
162
|
-
|
|
163
|
-
### Fixed
|
|
164
|
-
- **TS2345**: Cast Express route param to string for strict TypeScript compatibility.
|
|
165
|
-
- **npm publish 404**: Removed `--provenance` flag from release workflow (incompatible with scoped packages on granular tokens).
|
|
166
|
-
|
|
167
|
-
### Changed
|
|
168
|
-
- Dual transport support: MCP (stdio) and HTTP (Express) from a single codebase.
|
|
169
|
-
- SECURITY.md updated with v1.6.x in supported versions.
|
|
170
|
-
- `docs/auth.md` domain reference corrected (`www.socialneuron.com` → `socialneuron.com`).
|
|
171
|
-
|
|
172
|
-
## [1.5.2] - 2026-03-20
|
|
173
56
|
|
|
174
|
-
|
|
175
|
-
- **
|
|
176
|
-
-
|
|
177
|
-
- 18 new tests for error recovery formatting.
|
|
178
|
-
|
|
179
|
-
## [1.5.1] - 2026-03-20
|
|
180
|
-
|
|
181
|
-
### Added
|
|
182
|
-
- **MCP tool annotations**: All 52 tools now declare `readOnlyHint`, `destructiveHint`, `idempotentHint`, and `openWorldHint` per MCP spec. Agents can now determine which tools are safe to call without confirmation.
|
|
183
|
-
- **Complete parameter descriptions**: Added `.describe()` to all remaining parameters (248 total). Every parameter now has format examples, constraints, and usage guidance.
|
|
57
|
+
- **Smithery OAuth**: `/register` now allows all HTTPS redirect URIs per MCP spec (was Claude-only)
|
|
58
|
+
- **Zod 4 compatibility**: Upgraded zod 3→4 for SDK v1.27 compatibility
|
|
59
|
+
- **Express middleware**: Added express-rate-limit + cors as direct dependencies
|
|
184
60
|
|
|
185
|
-
###
|
|
186
|
-
- Updated test setup to support 5-argument `server.tool()` signature with annotations.
|
|
187
|
-
|
|
188
|
-
## [1.5.0] - 2026-03-19
|
|
189
|
-
|
|
190
|
-
### Changed
|
|
191
|
-
- **LLM-optimized tool descriptions**: Rewrote 27 tool descriptions and enriched 15 parameters for agent comprehension. Every tool now answers "when to call", "what to pass", and "what comes next" — following Arcade ToolBench patterns (Tool Description, Constrained Input, Dependency Hint, Performance Hint).
|
|
192
|
-
- **API key cache TTL**: Reduced from 60s to 10s to limit revocation exposure window.
|
|
193
|
-
- **OAuth issuer URL**: Production metadata now derives from `MCP_SERVER_URL` instead of defaulting to localhost.
|
|
194
|
-
- **SECURITY.md**: Updated supported versions, added scanner false-positive documentation.
|
|
195
|
-
- **CLI setup URL**: Fixed `app.socialneuron.com` → `www.socialneuron.com`.
|
|
196
|
-
|
|
197
|
-
### Dependencies
|
|
198
|
-
- `@supabase/supabase-js` 2.98.0 → 2.99.2
|
|
199
|
-
- `open` 10.0.0 → 11.0.0 (requires Node.js 20+)
|
|
200
|
-
- `posthog-node` 5.28.1 → 5.28.3
|
|
201
|
-
- `vitest` 3.2.4 → 4.1.0
|
|
202
|
-
- `esbuild` 0.27.3 → 0.27.4
|
|
203
|
-
- `@types/node` 25.4.0 → 25.5.0
|
|
204
|
-
|
|
205
|
-
## [1.4.0] - 2026-03-13
|
|
206
|
-
|
|
207
|
-
### Changed
|
|
208
|
-
- **Telemetry is now opt-IN**: No data is sent unless `SOCIALNEURON_TELEMETRY=1` is explicitly set. Previously telemetry was opt-out.
|
|
209
|
-
- **PostHog moved to optionalDependencies**: `posthog-node` is no longer a required runtime dependency. The package works fully without it installed. This reduces supply chain surface and resolves socket.dev security flags.
|
|
210
|
-
- **Dynamic import**: PostHog is loaded via `import()` at runtime, silently skipped if unavailable.
|
|
211
|
-
- `DO_NOT_TRACK=1` continues to override and disable telemetry in all cases.
|
|
61
|
+
### Security
|
|
212
62
|
|
|
213
|
-
|
|
63
|
+
- 50kb body limit on all endpoints
|
|
64
|
+
- `sanitizeError` on /mcp catch path
|
|
65
|
+
- Email removed from auth chain
|
|
66
|
+
- Generation rate limit 20/min
|
|
214
67
|
|
|
215
|
-
###
|
|
216
|
-
- **TypeScript strict mode**: Added `@types/express`, fixed `AuthenticatedRequest` type to extend express `Request`, corrected `StreamableHTTPServerTransport` constructor usage
|
|
217
|
-
- **Optional dependency stubs**: Added ambient declarations for `playwright`, `@remotion/bundler`, `@remotion/renderer` (dynamically imported, not required at runtime)
|
|
218
|
-
- **Removed unused directive**: Cleaned up stale `@ts-expect-error` in REPL module
|
|
219
|
-
- **Release CI**: Typecheck now passes in GitHub Actions release workflow
|
|
220
|
-
|
|
221
|
-
## [1.3.1] - 2026-03-13
|
|
68
|
+
### Internal
|
|
222
69
|
|
|
223
|
-
|
|
224
|
-
-
|
|
225
|
-
- **Test domain**: Fixed test fixtures using deprecated `socialneuron.ai` domain (now `socialneuron.com`)
|
|
226
|
-
- **CLI E2E timeout**: Increased envelope test timeout to avoid false failures
|
|
70
|
+
- 64 tools, 900+ tests, ~375KB build
|
|
71
|
+
- OpenAPI 3.1 spec auto-generated from tool schemas
|
|
227
72
|
|
|
228
73
|
## [1.3.0] - 2026-03-13
|
|
229
74
|
|
package/README.md
CHANGED
|
@@ -1,28 +1,13 @@
|
|
|
1
1
|
# @socialneuron/mcp-server
|
|
2
2
|
|
|
3
|
-
>
|
|
4
|
-
>
|
|
5
|
-
> The live Railway endpoint at [`mcp.socialneuron.com`](https://mcp.socialneuron.com) may surface a small number of additional integrated tools beyond the npm-published surface — see [`/.well-known/mcp/server-card.json`](https://mcp.socialneuron.com/.well-known/mcp/server-card.json) for runtime truth.
|
|
3
|
+
> 96 MCP tools for AI-powered social media management. Create content, schedule posts, track analytics, and optimize performance — all from Claude Code or any MCP client.
|
|
6
4
|
|
|
7
5
|
[](https://www.npmjs.com/package/@socialneuron/mcp-server)
|
|
8
6
|
[](https://opensource.org/licenses/MIT)
|
|
9
7
|
|
|
10
|
-
## Integration Methods
|
|
11
|
-
|
|
12
|
-
| Method | Best For | Docs |
|
|
13
|
-
|--------|----------|------|
|
|
14
|
-
| **MCP** | AI agents (Claude, Cursor, VS Code) | [Setup](#quick-start) |
|
|
15
|
-
| **REST API** | Any HTTP client, webhooks, Zapier | [Guide](docs/rest-api.md) |
|
|
16
|
-
| **CLI** | Terminal, CI/CD pipelines | [Guide](docs/cli-guide.md) |
|
|
17
|
-
| **SDK** | TypeScript/Node.js apps | Coming Q2 2026 |
|
|
18
|
-
|
|
19
|
-
All methods share the same 76 tools, auth, scopes, and credit system. [Compare methods](docs/integration-methods.md).
|
|
20
|
-
|
|
21
8
|
## Quick Start
|
|
22
9
|
|
|
23
|
-
###
|
|
24
|
-
|
|
25
|
-
#### 1. Authenticate
|
|
10
|
+
### 1. Authenticate
|
|
26
11
|
|
|
27
12
|
```bash
|
|
28
13
|
npx -y @socialneuron/mcp-server login --device
|
|
@@ -30,7 +15,7 @@ npx -y @socialneuron/mcp-server login --device
|
|
|
30
15
|
|
|
31
16
|
This opens your browser to authorize access. Requires a paid Social Neuron plan (Starter or above). See [pricing](https://socialneuron.com/pricing).
|
|
32
17
|
|
|
33
|
-
|
|
18
|
+
### 2. Add to Claude Code
|
|
34
19
|
|
|
35
20
|
```bash
|
|
36
21
|
claude mcp add socialneuron -- npx -y @socialneuron/mcp-server
|
|
@@ -91,59 +76,25 @@ Add to `.cursor/mcp.json` in your workspace:
|
|
|
91
76
|
```
|
|
92
77
|
</details>
|
|
93
78
|
|
|
94
|
-
|
|
79
|
+
### 3. Start using
|
|
95
80
|
|
|
96
81
|
Ask Claude: "What content should I post this week?" or "Schedule my latest video to YouTube and TikTok"
|
|
97
82
|
|
|
98
|
-
### REST API (Any Language)
|
|
99
|
-
|
|
100
|
-
```bash
|
|
101
|
-
# Check credits
|
|
102
|
-
curl -H "Authorization: Bearer snk_live_..." \
|
|
103
|
-
https://mcp.socialneuron.com/v1/credits
|
|
104
|
-
|
|
105
|
-
# Generate content
|
|
106
|
-
curl -X POST -H "Authorization: Bearer snk_live_..." \
|
|
107
|
-
-H "Content-Type: application/json" \
|
|
108
|
-
-d '{"topic": "AI trends", "platforms": ["linkedin"]}' \
|
|
109
|
-
https://mcp.socialneuron.com/v1/content/generate
|
|
110
|
-
|
|
111
|
-
# Execute any tool via proxy
|
|
112
|
-
curl -X POST -H "Authorization: Bearer snk_live_..." \
|
|
113
|
-
-H "Content-Type: application/json" \
|
|
114
|
-
-d '{"response_format": "json"}' \
|
|
115
|
-
https://mcp.socialneuron.com/v1/tools/get_brand_profile
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
See [REST API docs](docs/rest-api.md) | [OpenAPI spec](https://mcp.socialneuron.com/v1/openapi.json) | [Examples](examples/rest/)
|
|
119
|
-
|
|
120
|
-
### CLI (Terminal & CI/CD)
|
|
121
|
-
|
|
122
|
-
```bash
|
|
123
|
-
npx @socialneuron/mcp-server sn system credits --json
|
|
124
|
-
npx @socialneuron/mcp-server sn analytics loop --json
|
|
125
|
-
npx @socialneuron/mcp-server sn discovery tools --module content
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
See [CLI guide](docs/cli-guide.md) | [Examples](examples/cli/)
|
|
129
|
-
|
|
130
83
|
## What You Can Do
|
|
131
84
|
|
|
132
85
|
Ask Claude things like:
|
|
133
86
|
|
|
134
87
|
- "Generate 5 content ideas about sustainable fashion for Gen Z"
|
|
135
88
|
- "Create a 30-second video ad for my product launch"
|
|
136
|
-
- "Schedule this
|
|
89
|
+
- "Schedule this post to X and Bluesky at 9am tomorrow"
|
|
137
90
|
- "Show me my best-performing content this month"
|
|
138
91
|
- "What are the trending topics in my niche right now?"
|
|
139
92
|
- "Check my analytics and suggest improvements"
|
|
140
93
|
- "Set up autopilot to post 3 times per week"
|
|
141
94
|
|
|
142
|
-
## Tool Categories (
|
|
143
|
-
|
|
144
|
-
> Full machine-readable listing in [`tools.lock.json`](tools.lock.json) (sealed manifest, verified in CI).
|
|
95
|
+
## Tool Categories (96 tools)
|
|
145
96
|
|
|
146
|
-
|
|
97
|
+
These tools are available to AI agents (Claude, Cursor, etc.) via the MCP protocol.
|
|
147
98
|
|
|
148
99
|
### Content Lifecycle
|
|
149
100
|
|
|
@@ -217,10 +168,11 @@ MCP access requires a paid plan:
|
|
|
217
168
|
|
|
218
169
|
| Plan | Price | Credits/mo | MCP Access |
|
|
219
170
|
|------|-------|-----------|------------|
|
|
220
|
-
| Free | $0 |
|
|
221
|
-
| Starter | $
|
|
222
|
-
| Pro | $
|
|
223
|
-
| Team | $
|
|
171
|
+
| Free | $0 | 50 | — |
|
|
172
|
+
| Starter | $19/mo | 500 | — |
|
|
173
|
+
| Pro | $49/mo | 1,500 | Read + Analytics + Write + Distribute |
|
|
174
|
+
| Team | $99/mo | 3,500 | Full + 5 keys |
|
|
175
|
+
| Agency | $249/mo | 10,000 | Full + 20 keys + REST API |
|
|
224
176
|
|
|
225
177
|
Sign up at [socialneuron.com/pricing](https://socialneuron.com/pricing).
|
|
226
178
|
|
|
@@ -265,7 +217,7 @@ socialneuron-mcp sn loop
|
|
|
265
217
|
socialneuron-mcp sn credits
|
|
266
218
|
|
|
267
219
|
# Agent-native CLI v2
|
|
268
|
-
socialneuron-mcp sn tools [--module ideation] [--scope mcp:write] # List/filter all
|
|
220
|
+
socialneuron-mcp sn tools [--module ideation] [--scope mcp:write] # List/filter all 96 tools
|
|
269
221
|
socialneuron-mcp sn info # Version, auth, credits, tool count
|
|
270
222
|
socialneuron-mcp sn plan list|view|approve # Content plan management
|
|
271
223
|
socialneuron-mcp sn preset list|show|save|delete # Platform presets (6 built-in)
|
|
@@ -299,50 +251,37 @@ Each iteration produces smarter content as performance data feeds back into the
|
|
|
299
251
|
- SSRF protection on all URL parameters with DNS rebinding prevention
|
|
300
252
|
- Rate limiting per user with per-tool limits for expensive operations
|
|
301
253
|
- Agent loop detection prevents runaway automation
|
|
302
|
-
-
|
|
254
|
+
- Set `DO_NOT_TRACK=1` to disable anonymous usage telemetry
|
|
303
255
|
|
|
304
256
|
See [SECURITY.md](./SECURITY.md) for our vulnerability disclosure policy and credential safety details.
|
|
305
257
|
|
|
306
258
|
## Telemetry
|
|
307
259
|
|
|
308
|
-
|
|
260
|
+
This package collects anonymous usage metrics (tool name, duration, success/failure) to improve the product. Your user ID is hashed before transmission.
|
|
309
261
|
|
|
310
|
-
**To
|
|
262
|
+
**To disable**: Set `DO_NOT_TRACK=1` or `SOCIALNEURON_NO_TELEMETRY=1` in your environment.
|
|
311
263
|
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
When enabled, the following anonymous metrics are collected via PostHog:
|
|
315
|
-
- Tool name invoked
|
|
316
|
-
- Success or failure status
|
|
317
|
-
- Invocation duration (ms)
|
|
318
|
-
|
|
319
|
-
No personal content, API keys, or request payloads are ever collected. Your user ID is hashed (SHA-256) before transmission.
|
|
320
|
-
|
|
321
|
-
`posthog-node` is an optional dependency — if it is not installed, telemetry is a silent no-op regardless of environment variables.
|
|
264
|
+
No personal content, API keys, or request payloads are ever collected.
|
|
322
265
|
|
|
323
266
|
## Examples
|
|
324
267
|
|
|
325
|
-
See the [
|
|
268
|
+
See the [examples repo](https://github.com/socialneuron/examples) for prompt-driven workflow templates:
|
|
326
269
|
|
|
327
|
-
-
|
|
328
|
-
-
|
|
329
|
-
- [MCP prompts](examples/mcp/claude-prompts.md) — natural language examples
|
|
330
|
-
- [External examples repo](https://github.com/socialneuron/examples) — prompt-driven workflow templates
|
|
270
|
+
- Weekly content batch planning
|
|
271
|
+
- Cross-platform content repurposing
|
|
331
272
|
- Performance review and optimization loops
|
|
332
273
|
- Brand-aligned content generation
|
|
333
274
|
- Comment engagement automation
|
|
334
275
|
|
|
335
276
|
## Links
|
|
336
277
|
|
|
337
|
-
- [
|
|
338
|
-
- [
|
|
339
|
-
- [CLI Guide](docs/cli-guide.md) — Terminal commands
|
|
340
|
-
- [Integration Methods](docs/integration-methods.md) — Compare MCP vs REST vs CLI
|
|
341
|
-
- [OpenAPI Spec](https://mcp.socialneuron.com/v1/openapi.json) — Machine-readable API spec
|
|
342
|
-
- [Developer Settings](https://socialneuron.com/settings/developer) — Generate API keys
|
|
278
|
+
- [Social Neuron](https://socialneuron.com)
|
|
279
|
+
- [For Developers](https://socialneuron.com/for-developers)
|
|
343
280
|
- [Documentation](https://socialneuron.com/docs)
|
|
344
|
-
- [
|
|
281
|
+
- [Examples](https://github.com/socialneuron/examples)
|
|
345
282
|
- [Agent Protocol](https://socialneuron.com/system-prompt.txt)
|
|
283
|
+
- [Developer Settings](https://socialneuron.com/settings/developer)
|
|
284
|
+
- [Pricing](https://socialneuron.com/pricing)
|
|
346
285
|
|
|
347
286
|
## License
|
|
348
287
|
|