chore(naming): distinct MCP server names — molecule-a2a vs molecule-platform #43

Merged
devops-engineer merged 1 commits from chore/mcp-server-distinct-names-38 into main 2026-06-06 09:57:32 +00:00
3 changed files with 23 additions and 2 deletions
+1 -1
View File
@@ -182,7 +182,7 @@ org-key MCP.
```json
{
"mcpServers": {
"molecule-management": {
"molecule-platform": {
"command": "node",
"args": ["./mcp-server/dist/index.js"],
"env": {
+21
View File
@@ -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
+1 -1
View File
@@ -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",
});