diff --git a/README.md b/README.md index 9cc559d..ccd5cd9 100644 --- a/README.md +++ b/README.md @@ -182,7 +182,7 @@ org-key MCP. ```json { "mcpServers": { - "molecule-management": { + "molecule-platform": { "command": "node", "args": ["./mcp-server/dist/index.js"], "env": { diff --git a/src/__tests__/index.test.ts b/src/__tests__/index.test.ts index 5791c6f..b2ed924 100644 --- a/src/__tests__/index.test.ts +++ b/src/__tests__/index.test.ts @@ -12,7 +12,9 @@ // without reaching into the real SDK's private `_registeredTools` field. jest.mock("@modelcontextprotocol/sdk/server/mcp.js", () => ({ McpServer: class { + name: string; registeredToolNames: string[] = []; + constructor(args: { name: string }) { this.name = args.name; } tool(name: string) { this.registeredToolNames.push(name); } connect() { return Promise.resolve(); } }, @@ -1126,12 +1128,31 @@ describe("handleGetModel()", () => { // ============================================================ describe("createServer()", () => { + const savedMode = process.env.MOLECULE_MCP_MODE; + + afterEach(() => { + if (savedMode === undefined) delete process.env.MOLECULE_MCP_MODE; + else process.env.MOLECULE_MCP_MODE = savedMode; + }); + test("returns an McpServer instance", () => { const server = createServer(); expect(server).toBeDefined(); expect(typeof server.connect).toBe("function"); }); + test("names the A2A/channel server 'molecule-a2a' in default mode", () => { + delete process.env.MOLECULE_MCP_MODE; + const server = createServer() as unknown as { name: string }; + expect(server.name).toBe("molecule-a2a"); + }); + + test("names the management server 'molecule-platform' when MOLECULE_MCP_MODE=management", () => { + process.env.MOLECULE_MCP_MODE = "management"; + const server = createServer() as unknown as { name: string }; + expect(server.name).toBe("molecule-platform"); + }); + // Smoke test: every registerXxxTools(srv) wiring in createServer() runs, // and each tool() call is recorded by the mocked McpServer above. If a // future PR adds a tool file but forgets to call its registerXxxTools diff --git a/src/index.ts b/src/index.ts index 5524920..2dfe610 100644 --- a/src/index.ts +++ b/src/index.ts @@ -242,7 +242,7 @@ export function isManagementMode(): boolean { export function createServer() { const srv = new McpServer({ - name: isManagementMode() ? "molecule-management" : "molecule", + name: isManagementMode() ? "molecule-platform" : "molecule-a2a", version: "1.0.0", });