Skip to main content
Glama
dacebt

Prompt Cleaner MCP Server

by dacebt
server.ts1.9 kB
#!/usr/bin/env node import { Server } from "@modelcontextprotocol/sdk/server/index.js"; import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; import { CallToolRequestSchema, ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js"; import { listTools, callTool } from "./tools.js"; import { logger } from "./log.js"; import { config } from "./config.js"; import { randomUUID } from "crypto"; async function main() { const server = new Server( { name: "prompt-cleaner", version: "0.1.0", }, { capabilities: { tools: {}, }, }, ); server.setRequestHandler(ListToolsRequestSchema, async () => { logger.info("tools.list", {}); return { tools: listTools() }; }); server.setRequestHandler(CallToolRequestSchema, async (request) => { const name = request.params.name; const args = request.params.arguments ?? {}; const requestId = (args as any)?.requestId || randomUUID(); const withRid = { ...(args as any), requestId }; logger.info("tools.call.start", { name, request_id: requestId }); const res: any = await callTool(name, withRid); logger.info("tools.call.done", { name, request_id: requestId }); // Return MCP-spec content unchanged (including json type when present) return res; }); const transport = new StdioServerTransport(); await server.connect(transport); // Graceful shutdown const shutdown = (sig: string) => { logger.info("shutdown", { signal: sig }); // Stdio transport will close when process exits process.exit(0); }; process.on("SIGINT", () => shutdown("SIGINT")); process.on("SIGTERM", () => shutdown("SIGTERM")); logger.info("server.started", { apiBase: config.apiBase, model: config.model }); } main().catch((err) => { logger.error("server.error", { msg: String(err?.message || err) }); process.exit(1); });

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dacebt/prompt-cleaner-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server