GitHub Stats

    Stars

    1

    Forks

    3

    Release Date

    1/28/2025

    about 5 months ago

    Detailed Description

    MCP Server for Axiom

    A JavaScript port of the official Axiom MCP server 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

    MCP Configuration

    You can run this MCP server directly using npx. Add the following configuration to your MCP configuration file:

    {
      "axiom": {
        "command": "npx",
        "args": ["-y", "mcp-server-axiom"],
        "env": {
          "AXIOM_TOKEN": "<AXIOM_TOKEN_HERE>",
          "AXIOM_URL": "https://api.axiom.co",
          "AXIOM_ORG_ID": "<AXIOM_ORG_ID_HERE>"
        }
      }
    }
    

    Local Development & Testing

    Installation

    npm install -g mcp-server-axiom
    

    Environment Variables

    The server can be configured using environment variables:

    • AXIOM_TOKEN (required): Your Axiom API token
    • AXIOM_ORG_ID (required): Your Axiom organization ID
    • AXIOM_URL (optional): Custom Axiom API URL (defaults to https://api.axiom.co)
    • AXIOM_QUERY_RATE (optional): Queries per second limit (default: 1)
    • AXIOM_QUERY_BURST (optional): Query burst capacity (default: 1)
    • AXIOM_DATASETS_RATE (optional): Dataset list operations per second (default: 1)
    • AXIOM_DATASETS_BURST (optional): Dataset list burst capacity (default: 1)
    • PORT (optional): Server port (default: 3000)

    Running the Server Locally

    1. Using environment variables:
    export AXIOM_TOKEN=your_token
    mcp-server-axiom
    
    1. Using a config file:
    mcp-server-axiom config.json
    

    Example config.json:

    {
      "token": "your_token",
      "url": "https://custom.axiom.co",
      "orgId": "your_org_id",
      "queryRate": 2,
      "queryBurst": 5,
      "datasetsRate": 1,
      "datasetsBurst": 2
    }
    

    API Endpoints

    • GET /: Get server implementation info
    • GET /tools: List available tools
    • POST /tools/:name/call: Call a specific tool
      • Available tools:
        • queryApl: Execute APL queries
        • listDatasets: List available datasets

    Example Tool Calls

    1. Query APL:
    curl -X POST http://localhost:3000/tools/queryApl/call \
      -H "Content-Type: application/json" \
      -d '{
        "arguments": {
          "query": "['logs'] | where ['severity'] == \"error\" | limit 10"
        }
      }'
    
    1. List Datasets:
    curl -X POST http://localhost:3000/tools/listDatasets/call \
      -H "Content-Type: application/json" \
      -d '{
        "arguments": {}
      }'
    

    License

    MIT

    About the Project

    This app has not been claimed by its owner yet.

    Claim Ownership

    Receive Updates

    Security Updates

    Get notified about trust rating changes

    to receive email notifications.