From ad5276274199b280b7265b461fc8ac0b7421a919 Mon Sep 17 00:00:00 2001 From: Dan Date: Thu, 27 Aug 2026 15:54:49 +0300 Subject: [PATCH] feat: export createMcpServer, createToolHandlers, and clientFromEnvironment --- package.json | 2 +- src/index.ts | 1 + src/mcp-server.ts | 4 ++-- test/mcp.test.ts | 9 +++++++-- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index a4865be..0e1a2a5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "unofficial-substack-sdk", - "version": "0.3.6", + "version": "0.3.7", "description": "Unofficial, portable TypeScript SDK for Substack's web API", "type": "module", "license": "MIT", diff --git a/src/index.ts b/src/index.ts index 2632019..9e0baa9 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1 +1,2 @@ export * from './core/index.js' +export { clientFromEnvironment, createMcpServer, createToolHandlers } from './mcp-server.js' diff --git a/src/mcp-server.ts b/src/mcp-server.ts index 0a9c3fc..a322ef3 100644 --- a/src/mcp-server.ts +++ b/src/mcp-server.ts @@ -7,7 +7,7 @@ import { type EmailStatsOptions, type EmailStatsRow, type GrowthSourcesOptions -} from './index.js' +} from './core/index.js' type ReadOnlyClient = Pick< SubstackClient, @@ -406,7 +406,7 @@ export function createToolHandlers(client: ReadOnlyClient) { } export function createMcpServer(client: ReadOnlyClient): McpServer { - const server = new McpServer({ name: 'substack-mcp', version: '0.3.6' }) + const server = new McpServer({ name: 'substack-mcp', version: '0.3.7' }) const tools = createToolHandlers(client) server.registerTool( diff --git a/test/mcp.test.ts b/test/mcp.test.ts index 78bc952..7c65742 100644 --- a/test/mcp.test.ts +++ b/test/mcp.test.ts @@ -1,6 +1,11 @@ import { describe, expect, test } from 'bun:test' -import { SubstackApiError, SubstackConfigurationError } from '../src/index.js' -import { clientFromEnvironment, createMcpServer, createToolHandlers } from '../src/mcp-server.js' +import { + SubstackApiError, + SubstackConfigurationError, + clientFromEnvironment, + createMcpServer, + createToolHandlers +} from '../src/index.js' const mockClient = (overrides: Record = {}) => ({ getAuthenticatedProfile: async () => ({ id: 7, handle: 'writer' }),