diff --git a/.changeset/clean-discovery-server-version.md b/.changeset/clean-discovery-server-version.md new file mode 100644 index 00000000..69a6d3eb --- /dev/null +++ b/.changeset/clean-discovery-server-version.md @@ -0,0 +1,5 @@ +--- +"@transcend-io/mcp-server-discovery": patch +--- + +Use the package version for MCP server metadata. diff --git a/packages/mcp/mcp-server-discovery/src/cli.ts b/packages/mcp/mcp-server-discovery/src/cli.ts index b50e626e..bb23a1a9 100644 --- a/packages/mcp/mcp-server-discovery/src/cli.ts +++ b/packages/mcp/mcp-server-discovery/src/cli.ts @@ -3,10 +3,11 @@ import { createMCPServer, TranscendRestClient } from '@transcend-io/mcp-server-b import { DiscoveryMixin } from './graphql.js'; import { getDiscoveryTools } from './tools/index.js'; +import { packageVersion } from './version.js'; createMCPServer({ name: 'transcend-mcp-discovery', - version: '1.0.0', + version: packageVersion, getTools: getDiscoveryTools, createClients: ({ auth, sombraUrl, graphqlUrl, dashboardUrl }) => ({ rest: new TranscendRestClient(auth, sombraUrl), diff --git a/packages/mcp/mcp-server-discovery/src/version.ts b/packages/mcp/mcp-server-discovery/src/version.ts new file mode 100644 index 00000000..6fae09b7 --- /dev/null +++ b/packages/mcp/mcp-server-discovery/src/version.ts @@ -0,0 +1,11 @@ +import { readFileSync } from 'node:fs'; + +interface PackageJson { + version: string; +} + +const packageJson = JSON.parse( + readFileSync(new URL('../package.json', import.meta.url), 'utf8'), +) as PackageJson; + +export const packageVersion = packageJson.version; diff --git a/packages/mcp/mcp-server-discovery/tests/discovery.test.ts b/packages/mcp/mcp-server-discovery/tests/discovery.test.ts index c8ec89e0..fd5e125e 100644 --- a/packages/mcp/mcp-server-discovery/tests/discovery.test.ts +++ b/packages/mcp/mcp-server-discovery/tests/discovery.test.ts @@ -1,6 +1,9 @@ +import { readFileSync } from 'node:fs'; + import { describe, it, expect, vi, beforeEach } from 'vitest'; import { getDiscoveryTools } from '../src/tools.js'; +import { packageVersion } from '../src/version.js'; const EXPECTED_TOOL_NAMES = [ 'discovery_classify_text', @@ -108,3 +111,13 @@ describe('Discovery Tools', () => { }); }); }); + +describe('server metadata', () => { + it('uses the package version for MCP server metadata', () => { + const packageJson = JSON.parse( + readFileSync(new URL('../package.json', import.meta.url), 'utf8'), + ) as { version: string }; + + expect(packageVersion).toBe(packageJson.version); + }); +});