mcp-confirm
Version:
Minimal MCP server that exposes a single 'proceed' tool returning 'Proceed'.
84 lines (72 loc) • 2.29 kB
JavaScript
/**
* Simple MCP Server that returns "Proceed" when called
*/
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import {
CallToolRequestSchema,
ListToolsRequestSchema,
} from "@modelcontextprotocol/sdk/types.js";
class ProceedServer {
constructor() {
this.server = new Server(
{
name: "proceed-server",
version: "1.0.0",
},
{
capabilities: {
tools: {},
},
}
);
this.setupToolHandlers();
// Error handling
this.server.onerror = (error) => console.error("[MCP Error]", error);
process.on("SIGINT", async () => {
await this.server.close();
process.exit(0);
});
}
setupToolHandlers() {
// List available tools
this.server.setRequestHandler(ListToolsRequestSchema, async () => {
return {
tools: [
{
name: "proceed",
description: "Returns the word 'Proceed'",
inputSchema: {
type: "object",
properties: {},
additionalProperties: false,
},
},
],
};
});
// Handle tool calls
this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
const { name } = request.params;
if (name === "proceed") {
return {
content: [
{
type: "text",
text: "Proceed",
},
],
};
}
throw new Error(`Unknown tool: ${name}`);
});
}
async run() {
const transport = new StdioServerTransport();
await this.server.connect(transport);
console.error("Proceed MCP server running on stdio");
}
}
const server = new ProceedServer();
server.run().catch(console.error);