9e0d3976e1
Co-authored-by: Frank <frank@anoma.ly> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Brendan Allan <git@brendonovich.dev> Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Jack <jack@anoma.ly> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Shoubhit Dash <shoubhit2005@gmail.com> Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: James Long <longster@gmail.com> Co-authored-by: Dustin Deus <deusdustin@gmail.com> Co-authored-by: starptech <starptech@starptechs-MBP.fritz.box> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: 𝓛𝓲𝓽𝓽𝓵𝓮 𝓕𝓻𝓪𝓷𝓴 <little-frank@opencord.local> Co-authored-by: Dax <mail@thdxr.com> Co-authored-by: usrnk1 <7547651+usrnk1@users.noreply.github.com> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: runvip <164729189+runvip@users.noreply.github.com> Co-authored-by: opencode <opencode@sst.dev> Co-authored-by: Julian Coy <julian@ex-machina.co> Co-authored-by: Vladimir Glafirov <vglafirov@gitlab.com> Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Kit Langton <kit.langton@gmail.com> Co-authored-by: Simon Klee <hello@simonklee.dk> Co-authored-by: Jay <air@live.ca> Co-authored-by: David Hill <1879069+iamdavidhill@users.noreply.github.com>
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())
|