import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import {
CallToolRequestSchema,
GetPromptRequestSchema,
ListPromptsRequestSchema,
ListResourcesRequestSchema,
ListToolsRequestSchema,
ReadResourceRequestSchema,
} from "@modelcontextprotocol/sdk/types.js";
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { handleListTools } from "./handlers/listTools";
import { handleCallTool } from "./handlers/callTool";
import { handleListResources } from "./handlers/listResources";
import { handleReadResource } from "./handlers/readResource";
import { handleListPrompts } from "./handlers/listPrompts";
import { handleGetPrompt } from "./handlers/getPrompt";
const { server } = new McpServer(
{ name: "readme-insight", version: "0.1.0" },
{ capabilities: { tools: {}, resources: {}, prompts: {} } }
);
server.setRequestHandler(ListToolsRequestSchema, handleListTools());
server.setRequestHandler(CallToolRequestSchema, handleCallTool());
server.setRequestHandler(ListResourcesRequestSchema, handleListResources());
server.setRequestHandler(ReadResourceRequestSchema, handleReadResource());
server.setRequestHandler(ListPromptsRequestSchema, handleListPrompts());
server.setRequestHandler(GetPromptRequestSchema, handleGetPrompt());
async function main() {
const transport = new StdioServerTransport();
await server.connect(transport);
}
main().catch((error) => {
console.error("MCP server error:", error);
process.exit(1);
});