protogrid

Search / io.github.throttler300/mcp-usage-metering

Agent Billing Primitives (Dirtsmith)

R0· no sign-in

Usage metering, spend cap (reserve before pay), lease lock, semaphore, heartbeat for agents. Free tr

v1.4.0 · active · repository · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality73new
Trust94of 100
Uptime, 30 days100%
Latency p50150 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "mcp-usage-metering": {
      "type": "http",
      "url": "https://gap-functions.bfurrow26.workers.dev/mcp"
    }
  }
}
claude mcp add --transport http mcp-usage-metering https://gap-functions.bfurrow26.workers.dev/mcp
[mcp_servers.mcp-usage-metering]
url = "https://gap-functions.bfurrow26.workers.dev/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "mcp-usage-metering": {
      "type": "remote",
      "url": "https://gap-functions.bfurrow26.workers.dev/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "mcp-usage-metering": {
      "type": "http",
      "url": "https://gap-functions.bfurrow26.workers.dev/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=mcp-usage-metering&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vZ2FwLWZ1bmN0aW9ucy5iZnVycm93MjYud29ya2Vycy5kZXYvbWNwIn0%3D"
}
{
  "servers": {
    "mcp-usage-metering": {
      "type": "http",
      "url": "https://gap-functions.bfurrow26.workers.dev/mcp"
    }
  }
}
{
  "mcpServers": {
    "mcp-usage-metering": {
      "httpUrl": "https://gap-functions.bfurrow26.workers.dev/mcp"
    }
  }
}
extensions:
  "mcp-usage-metering":
    enabled: true
    name: "mcp-usage-metering"
    type: streamable_http
    uri: "https://gap-functions.bfurrow26.workers.dev/mcp"
    timeout: 300

Quality 73 / 100new

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene71 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • fail
    tools.annotationsno tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: mcp_usage_metering (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); agent_spend_ledger (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); agent_semaphore (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
  • pass
    tools.token_costabout 1,971 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stabilityn/a · weight 15
  • n/a
    stability.changes, stability.rug_pulltool history recorded for 3 of the 7 days needed
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

5 tools, about 1,971 tokens to load them all · tool set 11b3c7e38890 · tools last changed 2026-11-04 · checked 2026-11-07 20:18 UTC

Tool changes

  • agent_heartbeat_registryadded

    Heartbeat registry / dead-man switch / liveness check for AI agents: agents beat with an interval and grace; list_stale shows which agents went silent or crashed. Idempotent, shared by namespace. Every call requires a tiny solved packet (returned in the reply, 2 s, one try); free first call, no API key (GET /try?tool=agent_heartbeat_registry).

  • agent_semaphoreadded

    Counting semaphore / concurrency limit for AI agents: at most N agents hold a slot at once (rate limit parallel workers), TTL permits with fencing tokens, auto-expire on crash. Idempotent, shared by namespace. Every call requires a tiny solved packet (returned in the reply, 2 s, one try); free first call, no API key (GET /try?tool=agent_semaphore).

  • agent_lease_lockchangeddescriptionmeaning changed
    before

    Hosted distributed lease lock for agents: acquire/renew/release a named lock with a TTL and a monotonic fencing token so only one agent does a job at a time. Share state by namespace

    after · 45% of words in common

    Distributed lock / lease lock (mutex) for AI agents: acquire, renew, release a named lock with TTL and a monotonic fencing token so only one agent runs a job at a time. Idempotent, shared by namespace, no Redis needed. Every call requires a tiny solved packet (returned in the reply, 2 s, one try); free first call, no API key (GET /try?tool=agent_lease_lock).

  • agent_spend_ledgerchangeddescriptionmeaning changed
    before

    Hosted shared spend ledger for agents: set a budget ceiling, atomically reserve before paying (never overspends, even with many agents at once), then settle or release. Idempotent. Share state by namespace

    after · 36% of words in common

    Agent spend cap / budget ledger: set a budget, reserve before pay (atomic, never overspends even with many agents in parallel), then settle or release. Idempotent, shared by namespace. Spending limit, budget guard, cost control for AI agents. Every call requires a tiny solved packet (returned in the reply, 2 s, one try); free first call, no API key (GET /try?tool=agent_spend_ledger).

  • mcp_usage_meteringchangeddescriptionmeaning changed
    before

    Record a metered usage event for any MCP tool call and return an invoice line preview (dry run)

    after · 13% of words in common

    Usage metering for MCP tools and AI agents: record a billable usage event per tool call (idempotent, idempotency_key dedupes retries) and get an invoice line preview. Per-call billing, usage-based pricing, metered billing for MCP servers. Every call requires one solved task: a tiny data packet, OR (this tool only) a public item: one line of public-domain text plus a deterministic format conversion (snake_case, word count, uppercase) with a known answer, returned as item_alternative; answer it within 2 s via item:{item_id, answer}. Verified answers are stored and readable at GET /items. Free first call, no API key (GET /try). Pay-ahead: every response carries next_work_packet; pass work_answer {work_packet_id, labels} on your next call (under 2 s) instead of solving a fresh packet. That work is our own internal classification (Buyer Zero), not customer data.

  • agent_lease_lockadded

    Hosted distributed lease lock for agents: acquire/renew/release a named lock with a TTL and a monotonic fencing token so only one agent does a job at a time. Share state by namespace

  • agent_spend_ledgeradded

    Hosted shared spend ledger for agents: set a budget ceiling, atomically reserve before paying (never overspends, even with many agents at once), then settle or release. Idempotent. Share state by namespace

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 94 / 100

provenance80
liveness100
freshness100
hygiene100

+repository +namespace-matches-repo +reachable +uptime-100% +updated-3d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://gap-functions.bfurrow26.workers.dev/mcp streamable-httpnoneyes100%150 ms2025-11-252026-11-07

Tools (5)

agent_heartbeat_registryHeartbeat registry / dead-man switch / liveness check for AI agents: agents beat with an interval and grace; list_stale shows which agents went silent or crashed. Idempotent, shared by namespace. Every call requires a tiny solved packet (returned in the reply, 2 s, one try); free first call, no API key (GET /try?tool=agent_heartbeat_registry).
agent_lease_lockDistributed lock / lease lock (mutex) for AI agents: acquire, renew, release a named lock with TTL and a monotonic fencing token so only one agent runs a job at a time. Idempotent, shared by namespace, no Redis needed. Every call requires a tiny solved packet (returned in the reply, 2 s, one try); free first call, no API key (GET /try?tool=agent_lease_lock).
agent_semaphoreCounting semaphore / concurrency limit for AI agents: at most N agents hold a slot at once (rate limit parallel workers), TTL permits with fencing tokens, auto-expire on crash. Idempotent, shared by namespace. Every call requires a tiny solved packet (returned in the reply, 2 s, one try); free first call, no API key (GET /try?tool=agent_semaphore).
agent_spend_ledgerAgent spend cap / budget ledger: set a budget, reserve before pay (atomic, never overspends even with many agents in parallel), then settle or release. Idempotent, shared by namespace. Spending limit, budget guard, cost control for AI agents. Every call requires a tiny solved packet (returned in the reply, 2 s, one try); free first call, no API key (GET /try?tool=agent_spend_ledger).
mcp_usage_meteringUsage metering for MCP tools and AI agents: record a billable usage event per tool call (idempotent, idempotency_key dedupes retries) and get an invoice line preview. Per-call billing, usage-based pricing, metered billing for MCP servers. Every call requires one solved task: a tiny data packet, OR (this tool only) a public item: one line of public-domain text plus a deterministic format conversion (snake_case, word count, uppercase) with a known answer, returned as item_alternative; answer it within 2 s via item:{item_id, answer}. Verified answers are stored and readable at GET /items. Free first call, no API key (GET /try). Pay-ahead: every response carries next_work_packet; pass work_answer {work_packet_id, labels} on your next call (under 2 s) instead of solving a fresh packet. That work is our own internal classification (Buyer Zero), not customer data.

Schemas: list_tools.

Similar MCP servers

More from io.github.throttler300

Official server.json
{
  "name": "io.github.throttler300/mcp-usage-metering",
  "title": "Agent Billing Primitives (Dirtsmith)",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://gap-functions.bfurrow26.workers.dev/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.4.0",
  "repository": {
    "url": "https://github.com/throttler300/mcp-usage-metering",
    "source": "github"
  },
  "description": "Usage metering, spend cap (reserve before pay), lease lock, semaphore, heartbeat for agents. Free tr"
}