From cf4205d2f268214f8461041c4822aa23597d7d01 Mon Sep 17 00:00:00 2001 From: Henry Mao <1828968+calclavia@users.noreply.github.com> Date: Mon, 27 Jan 2025 00:17:16 +0800 Subject: [PATCH 1/3] Add Dockerfile --- Dockerfile | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..979bc6f --- /dev/null +++ b/Dockerfile @@ -0,0 +1,25 @@ +# Generated by https://smithery.ai. See: https://smithery.ai/docs/config#dockerfile +# Use an official Node.js runtime as a parent image +FROM node:14-alpine + +# Set the working directory in the container +WORKDIR /app + +# Copy the current directory contents into the container at /app +COPY . . + +# Install any needed packages +RUN npm install + +# Make the CLI script executable +RUN chmod +x bin/cli.js + +# Make port 3000 available to the world outside this container +EXPOSE 3000 + +# Define environment variables +ENV AXIOM_TOKEN= +ENV AXIOM_ORG_ID= + +# Run the application +ENTRYPOINT ["node", "bin/cli.js"] \ No newline at end of file From f53a457ab0b49bbb3e9bc58f4f585c4f3a7436d5 Mon Sep 17 00:00:00 2001 From: Henry Mao <1828968+calclavia@users.noreply.github.com> Date: Mon, 27 Jan 2025 00:17:17 +0800 Subject: [PATCH 2/3] Add Smithery configuration --- smithery.yaml | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 smithery.yaml diff --git a/smithery.yaml b/smithery.yaml new file mode 100644 index 0000000..6bf927b --- /dev/null +++ b/smithery.yaml @@ -0,0 +1,45 @@ +# Smithery configuration file: https://smithery.ai/docs/config#smitheryyaml + +startCommand: + type: stdio + configSchema: + # JSON Schema defining the configuration options for the MCP. + type: object + required: + - axiomToken + - axiomOrgId + properties: + axiomToken: + type: string + description: Your Axiom API token. + axiomOrgId: + type: string + description: Your Axiom organization ID. + axiomUrl: + type: string + default: https://api.axiom.co + description: The Axiom API URL. + axiomQueryRate: + type: number + default: 1 + description: Queries per second limit. + axiomQueryBurst: + type: number + default: 1 + description: Query burst capacity. + axiomDatasetsRate: + type: number + default: 1 + description: Dataset list operations per second. + axiomDatasetsBurst: + type: number + default: 1 + description: Dataset list burst capacity. + port: + type: number + default: 3000 + description: Server port. + commandFunction: + # A function that produces the CLI command to start the MCP on stdio. + |- + (config) => ({command:'node', args:['bin/cli.js'], env: {AXIOM_TOKEN: config.axiomToken, AXIOM_ORG_ID: config.axiomOrgId, AXIOM_URL: config.axiomUrl || 'https://api.axiom.co', AXIOM_QUERY_RATE: config.axiomQueryRate?.toString() || '1', AXIOM_QUERY_BURST: config.axiomQueryBurst?.toString() || '1', AXIOM_DATASETS_RATE: config.axiomDatasetsRate?.toString() || '1', AXIOM_DATASETS_BURST: config.axiomDatasetsBurst?.toString() || '1', PORT: config.port?.toString() || '3000'}}) \ No newline at end of file From 368e0030d7df16e671d2271269eb175effc19da8 Mon Sep 17 00:00:00 2001 From: Henry Mao <1828968+calclavia@users.noreply.github.com> Date: Mon, 27 Jan 2025 00:17:18 +0800 Subject: [PATCH 3/3] Update README --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index 31fb7c5..c457379 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,21 @@ # MCP Server for Axiom +[![smithery badge](https://smithery.ai/badge/@ThetaBird/mcp-server-axiom-js)](https://smithery.ai/server/@ThetaBird/mcp-server-axiom-js) + A JavaScript port of the [official Axiom MCP server](https://github.com/axiomhq/mcp-server-axiom) that enables AI agents to query data using Axiom Processing Language (APL). This implementation provides the same functionality as the original Go version but packaged as an npm module for easier integration with Node.js environments. ## Installation & Usage +### Installing via Smithery + +To install Axiom MCP Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@ThetaBird/mcp-server-axiom-js): + +```bash +npx -y @smithery/cli install @ThetaBird/mcp-server-axiom-js --client claude +``` + ### MCP Configuration You can run this MCP server directly using npx. Add the following configuration to your MCP configuration file: