@calcom/cal-mcp
Version:
An MCP server for Cal.com generated by @buildwithalyer
38 lines (33 loc) • 1.07 kB
text/typescript
import addAPITools from "@buildwithlayer/openapi-to-tools/mcp.js";
import type { APITool } from "@buildwithlayer/openapi-to-tools/types.js";
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { config } from "./config.js";
import { tools } from "./tools.js";
const server = new McpServer(
{
name: "cal-com",
version: "1.0.0",
},
{
capabilities: {
tools: {},
},
},
);
// Filters all clerk MCP tools to selected few most likely for MCP use
let workingTools: APITool[] = tools.map((tool: APITool) => ({
...tool,
name: tool.name.split("_").slice(-1)[0],
}));
if (!(process.argv.includes("--all-tools") || process.argv.includes("-a"))) {
workingTools = workingTools.filter((tool) =>
config.defaultTools.includes(tool.name),
);
}
addAPITools(server, workingTools as APITool[], {
Authorization: process.env.CAL_API_KEY,
});
const transport = new StdioServerTransport();
await server.connect(transport);