@socialneuron/mcp-server 1.5.2 → 1.6.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/dist/index.js CHANGED
@@ -14,7 +14,7 @@ var MCP_VERSION;
14
14
  var init_version = __esm({
15
15
  "src/lib/version.ts"() {
16
16
  "use strict";
17
- MCP_VERSION = "1.5.2";
17
+ MCP_VERSION = "1.6.0";
18
18
  }
19
19
  });
20
20
 
@@ -350,7 +350,6 @@ __export(supabase_exports, {
350
350
  CLOUD_SUPABASE_URL: () => CLOUD_SUPABASE_URL,
351
351
  getAuthMode: () => getAuthMode,
352
352
  getAuthenticatedApiKey: () => getAuthenticatedApiKey,
353
- getAuthenticatedEmail: () => getAuthenticatedEmail,
354
353
  getAuthenticatedExpiresAt: () => getAuthenticatedExpiresAt,
355
354
  getAuthenticatedScopes: () => getAuthenticatedScopes,
356
355
  getDefaultProjectId: () => getDefaultProjectId,
@@ -438,7 +437,6 @@ async function initializeAuth() {
438
437
  _authMode = "api-key";
439
438
  authenticatedUserId = result.userId;
440
439
  authenticatedScopes = result.scopes && result.scopes.length > 0 ? result.scopes : ["mcp:read"];
441
- authenticatedEmail = result.email || null;
442
440
  authenticatedExpiresAt = result.expiresAt || null;
443
441
  console.error(
444
442
  "[MCP] Authenticated via API key (prefix: " + apiKey.substring(0, 6) + "..." + apiKey.slice(-4) + ")"
@@ -494,9 +492,6 @@ function getMcpRunId() {
494
492
  function getAuthenticatedScopes() {
495
493
  return authenticatedScopes;
496
494
  }
497
- function getAuthenticatedEmail() {
498
- return authenticatedEmail;
499
- }
500
495
  function getAuthenticatedExpiresAt() {
501
496
  return authenticatedExpiresAt;
502
497
  }
@@ -535,7 +530,7 @@ async function logMcpToolInvocation(args) {
535
530
  captureToolEvent(args).catch(() => {
536
531
  });
537
532
  }
538
- var SUPABASE_URL, SUPABASE_SERVICE_KEY, client2, _authMode, authenticatedUserId, authenticatedScopes, authenticatedEmail, authenticatedExpiresAt, authenticatedApiKey, MCP_RUN_ID, CLOUD_SUPABASE_URL, CLOUD_SUPABASE_ANON_KEY, projectIdCache;
533
+ var SUPABASE_URL, SUPABASE_SERVICE_KEY, client2, _authMode, authenticatedUserId, authenticatedScopes, authenticatedExpiresAt, authenticatedApiKey, MCP_RUN_ID, CLOUD_SUPABASE_URL, CLOUD_SUPABASE_ANON_KEY, projectIdCache;
539
534
  var init_supabase = __esm({
540
535
  "src/lib/supabase.ts"() {
541
536
  "use strict";
@@ -547,7 +542,6 @@ var init_supabase = __esm({
547
542
  _authMode = "service-role";
548
543
  authenticatedUserId = null;
549
544
  authenticatedScopes = [];
550
- authenticatedEmail = null;
551
545
  authenticatedExpiresAt = null;
552
546
  authenticatedApiKey = null;
553
547
  MCP_RUN_ID = randomUUID();
@@ -2369,7 +2363,6 @@ async function handleInfo(args, asJson) {
2369
2363
  const result = await validateApiKey2(apiKey);
2370
2364
  if (result.valid) {
2371
2365
  info.auth = {
2372
- email: result.email || null,
2373
2366
  scopes: result.scopes || [],
2374
2367
  expiresAt: result.expiresAt || null
2375
2368
  };
@@ -2401,7 +2394,7 @@ async function handleInfo(args, asJson) {
2401
2394
  console.error("Auth: not configured");
2402
2395
  } else if (info.auth) {
2403
2396
  const auth = info.auth;
2404
- console.error(`Auth: ${auth.email ?? "authenticated"}`);
2397
+ console.error("Auth: authenticated");
2405
2398
  console.error(`Scopes: ${auth.scopes.length > 0 ? auth.scopes.join(", ") : "none"}`);
2406
2399
  if (auth.expiresAt) {
2407
2400
  console.error(`Expires: ${auth.expiresAt}`);
@@ -3280,7 +3273,7 @@ async function runLoginPaste() {
3280
3273
  await saveSupabaseUrl(getDefaultSupabaseUrl2());
3281
3274
  console.error("");
3282
3275
  console.error(" API key saved securely.");
3283
- console.error(` User: ${result.email || "unknown"}`);
3276
+ console.error(` User: ${result.userId || "unknown"}`);
3284
3277
  console.error(` Scopes: ${result.scopes?.join(", ") || "mcp:full"}`);
3285
3278
  if (result.expiresAt) {
3286
3279
  const daysLeft = Math.ceil(
@@ -3429,7 +3422,6 @@ async function runWhoami(options) {
3429
3422
  if (asJson) {
3430
3423
  const payload = {
3431
3424
  ok: true,
3432
- email: result.email || null,
3433
3425
  userId: result.userId,
3434
3426
  keyPrefix: apiKey.substring(0, 12) + "...",
3435
3427
  scopes: result.scopes || ["mcp:full"],
@@ -3439,7 +3431,6 @@ async function runWhoami(options) {
3439
3431
  process.stdout.write(JSON.stringify(payload, null, 2) + "\n");
3440
3432
  } else {
3441
3433
  console.error("");
3442
- console.error(` Email: ${result.email || "(not available)"}`);
3443
3434
  console.error(` User ID: ${result.userId}`);
3444
3435
  console.error(` Key: ${apiKey.substring(0, 12)}...`);
3445
3436
  console.error(` Scopes: ${result.scopes?.join(", ") || "mcp:full"}`);
@@ -3482,7 +3473,7 @@ async function runHealthCheck(options) {
3482
3473
  checks.push({
3483
3474
  name: "Key Valid",
3484
3475
  ok: true,
3485
- detail: `User: ${result.email || result.userId}`
3476
+ detail: `User: ${result.userId}`
3486
3477
  });
3487
3478
  checks.push({
3488
3479
  name: "Scopes",
@@ -3595,7 +3586,7 @@ async function runRepl() {
3595
3586
  Social Neuron CLI v${MCP_VERSION} \u2014 Interactive Mode
3596
3587
  `);
3597
3588
  process.stderr.write("Type a command, .help for help, or .exit to quit.\n\n");
3598
- let authEmail = null;
3589
+ let authUserId = null;
3599
3590
  try {
3600
3591
  const { loadApiKey: loadApiKey2 } = await Promise.resolve().then(() => (init_credentials(), credentials_exports));
3601
3592
  const { validateApiKey: validateApiKey2 } = await Promise.resolve().then(() => (init_api_keys(), api_keys_exports));
@@ -3603,8 +3594,8 @@ Social Neuron CLI v${MCP_VERSION} \u2014 Interactive Mode
3603
3594
  if (key) {
3604
3595
  const result = await validateApiKey2(key);
3605
3596
  if (result.valid) {
3606
- authEmail = result.email || null;
3607
- process.stderr.write(` Authenticated as: ${authEmail || "unknown"}
3597
+ authUserId = result.userId || null;
3598
+ process.stderr.write(` Authenticated (user: ${authUserId || "unknown"})
3608
3599
 
3609
3600
  `);
3610
3601
  }
@@ -3638,7 +3629,7 @@ Social Neuron CLI v${MCP_VERSION} \u2014 Interactive Mode
3638
3629
  ".exit",
3639
3630
  ".clear"
3640
3631
  ];
3641
- const promptStr = authEmail ? `sn[${authEmail.split("@")[0]}]> ` : "sn> ";
3632
+ const promptStr = authUserId ? `sn[${authUserId.substring(0, 8)}]> ` : "sn> ";
3642
3633
  const rl = createInterface2({
3643
3634
  input: process.stdin,
3644
3635
  output: process.stderr,
@@ -3829,6 +3820,8 @@ import { z } from "zod";
3829
3820
  var CATEGORY_CONFIGS = {
3830
3821
  posting: { maxTokens: 30, refillRate: 30 / 60 },
3831
3822
  // 30 req/min
3823
+ generation: { maxTokens: 20, refillRate: 20 / 60 },
3824
+ // 20 req/min — AI content generation (mcp:write)
3832
3825
  screenshot: { maxTokens: 10, refillRate: 10 / 60 },
3833
3826
  // 10 req/min
3834
3827
  read: { maxTokens: 60, refillRate: 60 / 60 }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@socialneuron/mcp-server",
3
- "version": "1.5.2",
3
+ "version": "1.6.1",
4
4
  "description": "MCP server for Social Neuron - AI content creation platform",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -22,6 +22,7 @@
22
22
  "type": "git",
23
23
  "url": "git+https://github.com/socialneuron/mcp-server.git"
24
24
  },
25
+ "source": "./src/index.ts",
25
26
  "exports": {
26
27
  ".": "./dist/index.js",
27
28
  "./http": "./dist/http.js"
@@ -43,6 +44,7 @@
43
44
  "tiktok",
44
45
  "instagram"
45
46
  ],
47
+ "mcpName": "com.socialneuron/mcp-server",
46
48
  "publishConfig": {
47
49
  "access": "public"
48
50
  },