paperclip/packages/mcp-server/src/index.ts
dotta 8cdba3ce18 Add standalone Paperclip MCP server package
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-06 21:23:46 -05:00

30 lines
994 B
TypeScript

import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { PaperclipApiClient } from "./client.js";
import { readConfigFromEnv, type PaperclipMcpConfig } from "./config.js";
import { createToolDefinitions } from "./tools.js";
export function createPaperclipMcpServer(config: PaperclipMcpConfig = readConfigFromEnv()) {
const server = new McpServer({
name: "paperclip",
version: "0.1.0",
});
const client = new PaperclipApiClient(config);
const tools = createToolDefinitions(client);
for (const tool of tools) {
server.tool(tool.name, tool.description, tool.schema.shape, tool.execute);
}
return {
server,
tools,
client,
};
}
export async function runServer(config: PaperclipMcpConfig = readConfigFromEnv()) {
const { server } = createPaperclipMcpServer(config);
const transport = new StdioServerTransport();
await server.connect(transport);
}