27 lines
877 B
TypeScript
27 lines
877 B
TypeScript
import { Server } from "@modelcontextprotocol/sdk/server/index.js"
|
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"
|
|
import { ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js"
|
|
|
|
if (process.argv.includes("--hang")) {
|
|
const pidFile = process.env.MCP_LIFECYCLE_PID_FILE
|
|
if (!pidFile) throw new Error("MCP_LIFECYCLE_PID_FILE is required")
|
|
await Bun.write(pidFile, String(process.pid))
|
|
await new Promise(() => {})
|
|
}
|
|
|
|
const server = new Server({ name: "mcp-lifecycle-stdio", version: "1.0.0" }, { capabilities: { tools: {} } })
|
|
|
|
server.setRequestHandler(ListToolsRequestSchema, () =>
|
|
Promise.resolve({
|
|
tools: [
|
|
{
|
|
name: "current_directory",
|
|
description: process.cwd(),
|
|
inputSchema: { type: "object", properties: {} },
|
|
},
|
|
],
|
|
}),
|
|
)
|
|
|
|
await server.connect(new StdioServerTransport())
|