UNPKG

@clerk/clerk-mcp

Version:

An MCP server for Clerk generated by @buildwithalyer

30 lines (29 loc) 1.05 kB
#!/usr/bin/env node import addAPITools from "@buildwithlayer/openapi-to-tools/mcp.js"; import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; import { Config } from "./config.js"; import { registerPromptsAsTools } from "./prompts.js"; import { tools } from "./tools.js"; const server = new McpServer({ name: "clerk-mcp", version: "1.0.0", }, { capabilities: { tools: {}, }, }); // Filters all clerk MCP tools to selected few most likely for MCP use let workingTools = tools; if (!(process.env.ALL_TOOLS === 'true')) { workingTools = workingTools.filter((tool) => Config.defaultTools.includes(tool.name)); } addAPITools(server, workingTools, { bearerAuth: process.env.CLERK_API_KEY, }); // A temporary workaround while most clients do not support prompts if (!(process.env.PROMPTS_DISABLED === 'true')) { registerPromptsAsTools(server); } const transport = new StdioServerTransport(); await server.connect(transport);