diff --git a/mcp-server/src/index.ts b/mcp-server/src/index.ts index abaa5bd..77f625f 100644 --- a/mcp-server/src/index.ts +++ b/mcp-server/src/index.ts @@ -1,30 +1,27 @@ #!/usr/bin/env node +/** + * STDIO entrypoint — for local use with Claude Desktop, Claude Code, etc. + * + * Usage: + * node dist/index.js + * CLAUDE_CODE_SRC_ROOT=/path/to/src node dist/index.js + */ -import { Server } from "@modelcontextprotocol/sdk/server/index.js"; import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; -import { - CallToolRequestSchema, - ListToolsRequestSchema, - ListResourcesRequestSchema, - ReadResourceRequestSchema, - ListResourceTemplatesRequestSchema, - ListPromptsRequestSchema, - GetPromptRequestSchema, -} from "@modelcontextprotocol/sdk/types.js"; -import * as fs from "node:fs/promises"; -import * as path from "node:path"; -import { fileURLToPath } from "node:url"; +import { createServer, validateSrcRoot, SRC_ROOT } from "./server.js"; -// --------------------------------------------------------------------------- -// Configuration -// --------------------------------------------------------------------------- +async function main() { + await validateSrcRoot(); + const server = createServer(); + const transport = new StdioServerTransport(); + await server.connect(transport); + console.error(`Claude Code Explorer MCP (stdio) started — src: ${SRC_ROOT}`); +} -const __filename = fileURLToPath(import.meta.url); -const __dirname = path.dirname(__filename); - -const SRC_ROOT = path.resolve( - process.env.CLAUDE_CODE_SRC_ROOT ?? path.join(__dirname, "..", "..", "src") -); +main().catch((err) => { + console.error("Fatal error:", err); + process.exit(1); +}); // --------------------------------------------------------------------------- // Helpers @@ -986,3 +983,4 @@ main().catch((err) => { console.error("Fatal error:", err); process.exit(1); }); +