@socialneuron/mcp-server 1.7.15 → 1.8.0

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 CHANGED
@@ -2,11 +2,61 @@
2
2
 
3
3
  All notable changes to `@socialneuron/mcp-server` will be documented in this file.
4
4
 
5
+ ## [1.8.0] - 2026-07-14
6
+
7
+ ### Changed
8
+
9
+ - **`generate_video` model menu rebuilt around quality — 8 → 12 models.** New: `seedance-2-fast`, `seedance-2`, `grok-imagine`, `wan-2.6`, `gemini-omni-video`, `hailuo-02-standard`, `seedance-1.5-pro`. Removed from the menu: `runway-aleph` (upstream provider sunsets 2026-07-30), `sora2`/`sora2-pro` (upstream API shuts down 2026-09-24). The model description now carries a quality ladder plus honest per-model base credit costs, replacing figures that had drifted badly from real charges.
10
+ - **`enable_audio` now defaults to FALSE** (cost control) with the real per-model audio multipliers documented in the parameter description.
11
+ - **Video prices corrected server-side** (notably `veo3-fast` cut to roughly a third of its previous credit price); the client-side estimate map matches.
12
+
13
+ ### Added
14
+
15
+ - **`generate_video` accepts `project_id`** so videos land in the right workspace/brand on multi-project accounts (brand context auto-injects from the project's brand profile).
16
+ - **Stable `check_status` JSON shape** (`lib/checkStatusShape.ts`): canonical snake_case fields (`job_id`, `status`, `progress`, `result_url`, `r2_key`, `all_urls`, `error`, `credits_cost`, `created_at`, `completed_at`) are ALWAYS present regardless of which poll branch serves the response, with legacy camelCase aliases (`jobId`, `resultUrl`, `credits`, `createdAt`, …) also always populated. Previously the field names differed depending on whether the poll caught a job mid-render or after completion.
17
+
18
+ ### Fixed
19
+
20
+ - **Completed-video download handoff.** `get_media_url` now accepts the exact `r2://...` key returned by `check_status`, normalizing the storage marker before signing. Previously a successfully generated video could appear unusable because the direct handoff returned HTTP 403 unless the caller stripped the prefix itself.
21
+ - **False `PROJECT_SCOPE_MISMATCH` (403) on project-scoped API keys** for tools that take no `project_id` argument (e.g. `get_credit_balance`). The client previously guessed a default project from "most recently created", which can disagree with the key's real scope on multi-project accounts. The key's own server-resolved project scope is now carried per-request (stdio and HTTP modes) and always wins over the guess. Fixes the same class of failure across every project-scoped tool that relied on the default-project lookup.
22
+
23
+ ## [1.7.18] - 2026-07-06
24
+
25
+ ### Added
26
+
27
+ - **REST API is real.** `POST /v1/tools/{name}`, `GET /v1/tools`, and `GET /v1/openapi.json` are now served (previously documented but 404). The REST surface is a faithful projection of the MCP engine — same auth, scopes, rate limits, credit pool, and tool handlers — not a second implementation.
28
+ - **Generated OpenAPI 3.1 spec** at `/v1/openapi.json` (unauthenticated), built from the tool catalog + the same input schemas `tools/list` serves, so it can never drift from the tools. Import into Postman/Swagger or generate a client.
29
+ - **`sn call <tool> [--json|--arg]`** — CLI tool invoker that mirrors the same projection, resolving the caller's scopes from their key. Four surfaces (MCP · REST · SDK · CLI), one catalog.
30
+
31
+ ### Fixed
32
+
33
+ - Scrubbed an internal codename from `schedule_post`'s param descriptions (exposed via the new unauthenticated OpenAPI). Added a regression guard.
34
+ - Tightened `schedule_post` account selection so platform account IDs are validated against the requested `project_id`, platform, and usable connection status before a post is scheduled. `list_connected_accounts`, `start_platform_connection`, and `wait_for_connection` now carry project context so agents can distinguish brands such as The VPN Matrix from Social Neuron.
35
+ - Hid internal loop-observability tools from public HTTP discovery, server-card, OpenAPI, REST, and `search_tools`, while keeping them registered for internal automation.
36
+ - Removed private lineage fields from public `schedule_post` discovery/OpenAPI schemas while preserving runtime compatibility for internal callers.
37
+
38
+ ### Changed
39
+
40
+ - `docs/rest-api.md` updated to the real response shape (MCP result on success, `error_type` on error) and re-links the live OpenAPI spec.
41
+ - PR CI now enforces the dependency cooldown gate with `SN_DEP_AGE_ENFORCE=true` when package manifests, lockfiles, SDK package files, content-calendar package files, or the release workflow change.
42
+
43
+ ## [1.7.16] - 2026-07-06
44
+
45
+ ### Fixed
46
+
47
+ - **Structured tool errors (audit #188).** New `toolError()` helper attaches a machine-readable `error_type` (`policy_block` / `validation_error` / `permission_denied` / `billing_error` / `rate_limited` / `not_found` / `upstream_error` / `server_error`) in `structuredContent`, mirrored to the text block — matching the 2025-11-25 spec convention (SEP-1303) so clients can programmatically distinguish a policy block from a validation, permission, or billing error. Input-safety blocks and scope denials are the first adopters.
48
+ - **Rate-limit category bug.** `getRateLimiter` resolved its config from the full `category:key` bucket string, so every per-user/per-tool call silently fell back to the loose 60/min `read` bucket — the intended `posting` (30/min) and `screenshot` (10/min) limits never applied. Config now resolves from the bare category; added `generation` (15/min) and `upload` (20/min) categories.
49
+ - **Capabilities pricing table drift.** The `socialneuron://docs/capabilities` resource showed the Free tier at 100 credits (canonical monthly allocation is 50; 100 is the spending cap) and omitted the 14-day Trial tier. Corrected.
50
+
51
+ ### Changed
52
+
53
+ - Removed unused `cors` and `express-rate-limit` dependencies.
54
+
5
55
  ## [1.7.15] - 2026-07-06
6
56
 
7
57
  ### Changed
8
58
 
9
- - **Public tool surface tightened.** Internal service tools used by Social Neuron's own automation are still registered and scope-gated at runtime, but are no longer advertised on the hosted server card, HTTP discovery, `search_tools`, knowledge documents, or the CLI tool listing. The hosted endpoint now advertises 85 tools; the npm stdio server exposes 87 discoverable tools (including 2 local screen-capture tools).
59
+ - **Public tool surface tightened.** Internal service tools used by Social Neuron's own automation are still registered and scope-gated at runtime, but are no longer advertised on the hosted server card, HTTP discovery, `search_tools`, knowledge documents, or the CLI tool listing.
10
60
  - **Tool descriptions cleaned up.** Internal project references and implementation jargon removed from tool descriptions across the catalog.
11
61
  - **`run_content_pipeline` scheduling guard restored.** Scheduling again requires `schedule_confirmed=true` after explicit user approval, cannot run with the quality stage skipped, caps generated posts to the requested plan size, drops posts targeting unrequested platforms, and counts scheduled posts against the credit budget. (This hardening was unintentionally dropped in the 1.7.14 source sync.)
12
62
  - **Metadata contract unified + CI-guarded.** `server.json` version/pricing/tool-count now match `package.json` and the canonical pricing (MCP requires Pro $49/mo or higher; free tier is 50 credits/mo with no MCP access). Added `mcpName` for MCP Registry ownership verification. New `npm run verify:metadata` gate (wired into CI and release) blocks stale counts, stale pricing, internal codenames, and dead endpoint links from re-entering the public surface.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @socialneuron/mcp-server
2
2
 
3
- > 85+ 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.
3
+ > 80+ public 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.
4
4
 
5
5
  [![npm version](https://img.shields.io/npm/v/@socialneuron/mcp-server)](https://www.npmjs.com/package/@socialneuron/mcp-server)
6
6
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
@@ -13,7 +13,7 @@
13
13
  npx -y @socialneuron/mcp-server login --device
14
14
  ```
15
15
 
16
- This opens your browser to authorize access. Requires a paid Social Neuron plan (Starter or above). See [pricing](https://socialneuron.com/pricing).
16
+ This opens your browser to authorize access. Requires a Social Neuron Pro plan or higher. See [pricing](https://socialneuron.com/pricing).
17
17
 
18
18
  ### 2. Add to Claude Code
19
19
 
@@ -94,7 +94,7 @@ Ask Claude things like:
94
94
 
95
95
  ## Tool Categories
96
96
 
97
- The hosted endpoint advertises **85 tools** (live count: [server card](https://mcp.socialneuron.com/.well-known/mcp/server-card.json)); the npm stdio server adds 2 local screen-capture tools (87 discoverable). A small set of internal service tools used by Social Neuron's own automation are registered but not part of the public surface.
97
+ The hosted endpoint advertises **83 public tools** (live count: [server card](https://mcp.socialneuron.com/.well-known/mcp/server-card.json)); the npm stdio server exposes **84 public tools**, including 2 local screen-capture tools. A small set of internal service tools used by Social Neuron's own automation are registered but not part of the public surface.
98
98
 
99
99
  These tools are available to AI agents (Claude, Cursor, etc.) via the MCP protocol.
100
100
 
@@ -166,15 +166,15 @@ Keys are stored in your OS keychain (macOS Keychain, Linux secret-tool) or file
166
166
 
167
167
  ## Pricing
168
168
 
169
- MCP access requires a paid plan:
169
+ MCP/API access requires a Pro plan or higher:
170
170
 
171
- | Plan | Price | Credits/mo | MCP Access |
171
+ | Plan | Price | Credits/mo | MCP/API Access |
172
172
  |------|-------|-----------|------------|
173
173
  | Free | $0 | 50 | — |
174
174
  | Starter | $19/mo | 500 | — |
175
- | Pro | $49/mo | 1,500 | Read + Analytics + Write + Distribute |
176
- | Team | $99/mo | 3,500 | Full + 5 keys |
177
- | Agency | $249/mo | 10,000 | Full + 20 keys + REST API |
175
+ | Pro | $49/mo | 1,500 | MCP/API: Read + Analytics + Write + Distribute |
176
+ | Team | $99/mo | 3,500 | Full MCP/API + 5 keys |
177
+ | Agency | $249/mo | 10,000 | Full MCP/API + 20 keys |
178
178
 
179
179
  Sign up at [socialneuron.com/pricing](https://socialneuron.com/pricing).
180
180