From 4802187f5ee924e0d4ebc0468d69c16b19c53d82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CBeeRad=E2=80=9D?= Date: Tue, 17 Mar 2026 19:18:18 +1100 Subject: [PATCH] fix: resolve MCP output validation errors in HTTP server MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Rename `content` → `notes` in searchNodes and getNodes output schemas to match what the handlers actually return (was causing validation errors) - Rename `schema` → `stats` key in rah_get_context outputSchema and structuredContent return (schema key name confused MCP SDK validator, caused getContext failures for external users like Linux) Co-Authored-By: Claude Sonnet 4.6 --- apps/mcp-server/server.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/mcp-server/server.js b/apps/mcp-server/server.js index a2d8f69..3620782 100644 --- a/apps/mcp-server/server.js +++ b/apps/mcp-server/server.js @@ -112,7 +112,7 @@ const searchNodesOutputSchema = { z.object({ id: z.number(), title: z.string(), - content: z.string().nullable(), + notes: z.string().nullable(), description: z.string().nullable(), link: z.string().nullable(), dimensions: z.array(z.string()), @@ -151,7 +151,7 @@ const getNodesOutputSchema = { z.object({ id: z.number(), title: z.string(), - content: z.string().nullable(), + notes: z.string().nullable(), link: z.string().nullable(), dimensions: z.array(z.string()), updated_at: z.string() @@ -825,7 +825,7 @@ mcpServer.registerTool( description: 'Get orientation context: hub nodes, dimensions, stats, and available guides. Call this first.', inputSchema: {}, outputSchema: { - schema: z.object({ nodeCount: z.number(), edgeCount: z.number(), dimensionCount: z.number() }), + stats: z.object({ nodeCount: z.number(), edgeCount: z.number(), dimensionCount: z.number() }), hubNodes: z.array(z.object({ id: z.number(), title: z.string(), description: z.string().nullable(), edgeCount: z.number() })), dimensions: z.array(z.object({ name: z.string(), nodeCount: z.number(), description: z.string().nullable() })), guides: z.array(z.string()) @@ -853,7 +853,7 @@ mcpServer.registerTool( return { content: [{ type: 'text', text: `Knowledge graph: ${stats.dimensionCount} dimensions, ${hubNodes.length} hub nodes. ${guides.length} guides available.` }], - structuredContent: { schema: stats, hubNodes, dimensions, guides } + structuredContent: { stats, hubNodes, dimensions, guides } }; } );