@socialneuron/mcp-server 1.2.0 → 1.2.1
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 +15 -0
- package/LICENSE +1 -1
- package/README.md +43 -27
- package/dist/http.js +1 -1
- package/dist/index.js +8 -6
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to `@socialneuron/mcp-server` will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [1.2.1] - 2026-03-11
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
|
|
9
|
+
- **README**: Removed phantom "MCP API $19/mo" plan — pricing now matches actual tiers (Trial/Starter/Pro/Team)
|
|
10
|
+
- **README**: Rewrote scopes section with tool-to-scope mapping
|
|
11
|
+
- **README**: Security section now shows trust signals instead of implementation internals
|
|
12
|
+
- **README**: Added telemetry section with opt-out instructions (`DO_NOT_TRACK=1`)
|
|
13
|
+
- **README**: Added MCP vs CLI distinction, npx usage note, fixed tool count to 51
|
|
14
|
+
- **Device auth**: Removed decorative PKCE from device code flow (code_challenge was sent but never verified on exchange)
|
|
15
|
+
- **Logout**: Message now honestly says "removed from this device" with link to server-side revocation
|
|
16
|
+
- **LICENSE**: Added trade name "(trading as Social Neuron)" to copyright holder
|
|
17
|
+
- **SECURITY.md**: Removed phantom 1.1.x from supported versions (never published to npm)
|
|
18
|
+
- **CONTRIBUTING.md**: Added Developer Certificate of Origin (DCO) section
|
|
19
|
+
|
|
5
20
|
## [1.2.0] - 2026-03-10
|
|
6
21
|
|
|
7
22
|
### Added
|
package/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2026 Cosmocodex Ltd
|
|
3
|
+
Copyright (c) 2026 Cosmocodex Ltd (trading as Social Neuron)
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @socialneuron/mcp-server
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> 51 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
|
[](https://www.npmjs.com/package/@socialneuron/mcp-server)
|
|
6
6
|
[](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
|
|
16
|
+
This opens your browser to authorize access. Requires a Social Neuron plan ([free trial available](https://socialneuron.com/pricing)).
|
|
17
17
|
|
|
18
18
|
### 2. Add to Claude Code
|
|
19
19
|
|
|
@@ -94,6 +94,8 @@ Ask Claude things like:
|
|
|
94
94
|
|
|
95
95
|
## Tool Categories (51 tools)
|
|
96
96
|
|
|
97
|
+
These tools are available to AI agents (Claude, Cursor, etc.) via the MCP protocol.
|
|
98
|
+
|
|
97
99
|
### Content Lifecycle
|
|
98
100
|
|
|
99
101
|
| Category | Tools | What It Does |
|
|
@@ -161,31 +163,36 @@ Keys are stored in your OS keychain (macOS Keychain, Linux secret-tool) or file
|
|
|
161
163
|
|
|
162
164
|
## Pricing
|
|
163
165
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
|
167
|
-
|
|
|
168
|
-
|
|
|
169
|
-
|
|
|
170
|
-
| Pro | $79/mo | Full access | 2,000 |
|
|
171
|
-
| Team | $199/mo | Full access + Multi-user | 6,500 |
|
|
166
|
+
| Plan | Price | Credits/mo | MCP Access |
|
|
167
|
+
|------|-------|-----------|------------|
|
|
168
|
+
| Trial | Free (7 days) | 500 | Read + Write + Analytics + Comments |
|
|
169
|
+
| Starter | $29/mo | 800 | Read + Analytics |
|
|
170
|
+
| Pro | $79/mo | 2,000 | Full access |
|
|
171
|
+
| Team | $199/mo | 6,500 | Full access + Multi-user |
|
|
172
172
|
|
|
173
|
-
|
|
173
|
+
Start with a [free trial](https://socialneuron.com/pricing) — no credit card required.
|
|
174
174
|
|
|
175
175
|
## Scopes
|
|
176
176
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
|
180
|
-
|
|
181
|
-
| `mcp:
|
|
182
|
-
| `mcp:
|
|
183
|
-
| `mcp:
|
|
184
|
-
| `mcp:
|
|
185
|
-
| `mcp:
|
|
177
|
+
Each API key inherits scopes from your plan. Tools require specific scopes to execute.
|
|
178
|
+
|
|
179
|
+
| Scope | What you can do |
|
|
180
|
+
|-------|----------------|
|
|
181
|
+
| `mcp:read` | Analytics, insights, brand profiles, content plans, quality checks, screenshots, usage stats, credit balance |
|
|
182
|
+
| `mcp:write` | Generate content (video, image, voiceover, carousel), create storyboards, save brand profiles, plan content |
|
|
183
|
+
| `mcp:distribute` | Schedule posts, publish content plans |
|
|
184
|
+
| `mcp:analytics` | Refresh analytics, YouTube deep analytics |
|
|
185
|
+
| `mcp:comments` | List, reply, post, moderate, delete comments |
|
|
186
|
+
| `mcp:autopilot` | Configure and monitor automated scheduling |
|
|
187
|
+
| `mcp:full` | All of the above |
|
|
186
188
|
|
|
187
189
|
## CLI Reference
|
|
188
190
|
|
|
191
|
+
These commands run directly in your terminal — no AI agent needed. Useful for scripts, CI/CD, and quick checks.
|
|
192
|
+
|
|
193
|
+
> After global install (`npm i -g @socialneuron/mcp-server`), use `socialneuron-mcp` directly.
|
|
194
|
+
> Otherwise, prefix with `npx @socialneuron/mcp-server`.
|
|
195
|
+
|
|
189
196
|
```bash
|
|
190
197
|
# Auth
|
|
191
198
|
socialneuron-mcp login [--device|--paste]
|
|
@@ -226,13 +233,22 @@ Each iteration produces smarter content as performance data feeds back into the
|
|
|
226
233
|
|
|
227
234
|
## Security
|
|
228
235
|
|
|
229
|
-
- API keys are
|
|
230
|
-
-
|
|
231
|
-
-
|
|
232
|
-
-
|
|
233
|
-
-
|
|
234
|
-
-
|
|
235
|
-
|
|
236
|
+
- All API keys are hashed before storage — we never store plaintext keys
|
|
237
|
+
- Credentials stored in your OS keychain (macOS Keychain, Linux secret-tool) or environment variable
|
|
238
|
+
- SSRF protection on all URL parameters with DNS rebinding prevention
|
|
239
|
+
- Rate limiting per user with per-tool limits for expensive operations
|
|
240
|
+
- Agent loop detection prevents runaway automation
|
|
241
|
+
- Set `DO_NOT_TRACK=1` to disable anonymous usage telemetry
|
|
242
|
+
|
|
243
|
+
See [SECURITY.md](./SECURITY.md) for our vulnerability disclosure policy and credential safety details.
|
|
244
|
+
|
|
245
|
+
## Telemetry
|
|
246
|
+
|
|
247
|
+
This package collects anonymous usage metrics (tool name, duration, success/failure) to improve the product. Your user ID is hashed before transmission.
|
|
248
|
+
|
|
249
|
+
**To disable**: Set `DO_NOT_TRACK=1` or `SOCIALNEURON_NO_TELEMETRY=1` in your environment.
|
|
250
|
+
|
|
251
|
+
No personal content, API keys, or request payloads are ever collected.
|
|
236
252
|
|
|
237
253
|
## Examples
|
|
238
254
|
|
package/dist/http.js
CHANGED
package/dist/index.js
CHANGED
|
@@ -2121,8 +2121,8 @@ async function completePkceExchange(codeVerifier, state) {
|
|
|
2121
2121
|
}
|
|
2122
2122
|
async function runSetup() {
|
|
2123
2123
|
console.error("");
|
|
2124
|
-
console.error(" Social Neuron MCP Server Setup");
|
|
2125
|
-
console.error("
|
|
2124
|
+
console.error(" Social Neuron\u2122 MCP Server Setup");
|
|
2125
|
+
console.error(" ===============================");
|
|
2126
2126
|
console.error("");
|
|
2127
2127
|
console.error(" Privacy Notice:");
|
|
2128
2128
|
console.error(" - Your API key is stored locally in your OS keychain");
|
|
@@ -2337,11 +2337,10 @@ async function runLoginDevice() {
|
|
|
2337
2337
|
console.error(" ====================================");
|
|
2338
2338
|
console.error("");
|
|
2339
2339
|
const supabaseUrl = getDefaultSupabaseUrl2();
|
|
2340
|
-
const { codeChallenge } = generatePKCE();
|
|
2341
2340
|
const response = await fetch(`${supabaseUrl}/functions/v1/mcp-auth?action=device-code`, {
|
|
2342
2341
|
method: "POST",
|
|
2343
2342
|
headers: { "Content-Type": "application/json" },
|
|
2344
|
-
body: JSON.stringify({
|
|
2343
|
+
body: JSON.stringify({})
|
|
2345
2344
|
});
|
|
2346
2345
|
if (!response.ok) {
|
|
2347
2346
|
const text = await response.text();
|
|
@@ -2412,7 +2411,10 @@ async function runLogoutCommand() {
|
|
|
2412
2411
|
const serviceKey = process.env.SOCIALNEURON_SERVICE_KEY || process.env.SUPABASE_SERVICE_ROLE_KEY || "";
|
|
2413
2412
|
const validation = await validateApiKey(apiKey);
|
|
2414
2413
|
if (validation.valid) {
|
|
2415
|
-
console.error(" Key
|
|
2414
|
+
console.error(" Key removed from this device.");
|
|
2415
|
+
console.error(
|
|
2416
|
+
" Note: To revoke the key server-side, visit socialneuron.com/settings/developer"
|
|
2417
|
+
);
|
|
2416
2418
|
}
|
|
2417
2419
|
} catch {
|
|
2418
2420
|
}
|
|
@@ -2576,7 +2578,7 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
|
2576
2578
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
2577
2579
|
|
|
2578
2580
|
// src/lib/version.ts
|
|
2579
|
-
var MCP_VERSION = "1.2.
|
|
2581
|
+
var MCP_VERSION = "1.2.1";
|
|
2580
2582
|
|
|
2581
2583
|
// src/auth/scopes.ts
|
|
2582
2584
|
var SCOPE_HIERARCHY = {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@socialneuron/mcp-server",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"description": "MCP server for Social Neuron - AI content creation platform",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -62,16 +62,16 @@
|
|
|
62
62
|
"dependencies": {
|
|
63
63
|
"@modelcontextprotocol/sdk": "^1.27.1",
|
|
64
64
|
"@supabase/supabase-js": "2.98.0",
|
|
65
|
-
"open": "10.0.0",
|
|
66
|
-
"posthog-node": "^5.28.0",
|
|
67
65
|
"express": "^5.1.0",
|
|
68
66
|
"jose": "^6.2.1",
|
|
67
|
+
"open": "10.0.0",
|
|
68
|
+
"posthog-node": "^5.28.0",
|
|
69
69
|
"zod": "3.24.0"
|
|
70
70
|
},
|
|
71
71
|
"devDependencies": {
|
|
72
72
|
"@types/node": "^25.3.5",
|
|
73
73
|
"esbuild": "^0.27.3",
|
|
74
|
-
"typescript": "^5.
|
|
74
|
+
"typescript": "^5.9.3",
|
|
75
75
|
"vitest": "^3.0.0"
|
|
76
76
|
},
|
|
77
77
|
"engines": {
|