Add standalone Paperclip MCP server package

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
dotta 2026-04-06 07:17:48 -05:00
parent 08fea10ce1
commit 8cdba3ce18
12 changed files with 902 additions and 0 deletions

View file

@ -0,0 +1,30 @@
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);
}