diff --git a/Dockerfile b/Dockerfile index e92eea7..cc391dc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,3 +1,4 @@ +# Generated by https://smithery.ai. See: https://smithery.ai/docs/build/project-config FROM node:22-alpine WORKDIR /app diff --git a/README.md b/README.md index 979fbf5..cbd95f8 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # Local Falcon MCP Server +[![smithery badge](https://smithery.ai/badge/@local-falcon/mcp)](https://smithery.ai/server/@local-falcon/mcp) + An MCP (Model Context Protocol) server for the [Local Falcon API](https://www.localfalcon.com/), implemented in TypeScript, using the official MCP SDK. This server exposes Local Falcon reporting capabilities as MCP tools, enabling integration with agentic AI systems and workflows. --- diff --git a/smithery.yaml b/smithery.yaml new file mode 100644 index 0000000..711d023 --- /dev/null +++ b/smithery.yaml @@ -0,0 +1,40 @@ +# Smithery configuration file: https://smithery.ai/docs/build/project-config + +startCommand: + type: stdio + configSchema: + # JSON Schema defining the configuration options for the MCP. + type: object + required: + - apiKey + properties: + apiKey: + type: string + description: Your Local Falcon API key + protocol: + type: string + default: stdio + description: Protocol to use (stdio or sse) + isPro: + type: boolean + default: false + description: Enable pro mode for SSE (requires protocol=sse) + commandFunction: + # A JS function that produces the CLI command based on the given config to start the MCP on stdio. + |- + (config) => { + const args = ["dist/index.js"]; + if (config.protocol === "sse") { + let url = `https://mcp.localfalcon.com/sse?local_falcon_api_key=${config.apiKey}`; + if (config.isPro) { + url += `&is_pro=true`; + } + return {command: "npx", args: ["mcp-remote", url]}; + } + // stdio + return {command: "node", args}; + } + exampleConfig: + apiKey: YOUR_LOCALFALCON_API_KEY + protocol: stdio + isPro: false