API Meter

Per-customer API usage analytics: sign up, get ingest snippets, read usage by customer and endpoint.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
89%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~599Tokens (tool definitions)
~953 BTypical response size
Minimal attention impact (0.47% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "api-meter": {
      "url": "https://api-meter-lab.pages.dev/mcp"
    }
  }
}

Remote endpoints

https://api-meter-lab.pages.dev/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟡create_account(email, api_name, origin_url)

Sign up an API for API Meter (free to 250K requests/month). Returns the slug, ingest key, dashboard key and proxy URL. Keys are shown once: store them. Limited to 5 signups per hour per network.

Input Schema

{
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "description": "Contact email for the API owner (stored hashed)"
    },
    "api_name": {
      "type": "string",
      "description": "API name, 2-60 chars"
    },
    "origin_url": {
      "type": "string",
      "description": "Public https origin of the API, e.g. https://api.example.com"
    }
  },
  "required": [
    "email",
    "api_name",
    "origin_url"
  ]
}
🟢get_ingest_snippet(framework, slug)

Copy-paste server code that reports each request (method, route, status, latency, customer, plan) to API Meter. Batched, fail-open, never blocks your API.

Input Schema

{
  "type": "object",
  "properties": {
    "framework": {
      "type": "string",
      "enum": [
        "express",
        "hono",
        "fastapi",
        "flask",
        "django",
        "go",
        "curl"
      ]
    },
    "slug": {
      "type": "string",
      "description": "Optional: your slug, filled into the snippet"
    }
  },
  "required": [
    "framework"
  ]
}
🟢get_usage(slug, dashboard_key, month, group_by, limit)

Monthly (UTC) usage for one API, grouped by customer, endpoint or plan. Includes an agent bucket: requests whose plan label ends in '-agent' (AI agent / bot traffic, counted and billed like any request).

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string"
    },
    "dashboard_key": {
      "type": "string",
      "description": "msd_... key from signup"
    },
    "month": {
      "type": "string",
      "description": "YYYY-MM, default current UTC month"
    },
    "group_by": {
      "type": "string",
      "enum": [
        "customer",
        "endpoint",
        "plan"
      ],
      "default": "customer"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200,
      "default": 25
    }
  },
  "required": [
    "slug",
    "dashboard_key"
  ]
}
🟢export_usage(slug, dashboard_key, month, view, format)

Billing-ready monthly usage rows (same as /api/export): view=detail (customer x plan x method x endpoint) or view=customers. Returns JSON rows, or CSV text with format=csv.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string"
    },
    "dashboard_key": {
      "type": "string"
    },
    "month": {
      "type": "string"
    },
    "view": {
      "type": "string",
      "enum": [
        "detail",
        "customers"
      ],
      "default": "detail"
    },
    "format": {
      "type": "string",
      "enum": [
        "json",
        "csv"
      ],
      "default": "json"
    }
  },
  "required": [
    "slug",
    "dashboard_key"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools