Skip to main content

375 tokens in your agent's harness. One MCP tool that counts the tool-definition cost of any other MCP server.

Project description

mcptokens

375 tokens in your agent's harness. One tool, inspect, that counts the tool-definition cost of any other MCP server (stdio or Streamable HTTP) before you enable it.

pip install mcptokens

PyPI License: MIT Python 3.11+ Repo


Why

When your agent enables a new MCP server, its tools enter the agent's context on every turn. The cost compounds fast. mcptokens lets the agent ask is this server cheap enough? before flipping the switch.

Transports

Same tool, same response shape:

  • stdio (default): spawn a local process and speak JSON-RPC on its stdin/stdout.
  • streamable_http: POST initialize and tools/list to a remote MCP endpoint per MCP 2025-03-26. Server may reply via application/json (one message) or text/event-stream.

How

Add mcptokens to your agent's MCP config (Claude Code, Pi, OpenCode, Codex, ...). The agent gains one tool:

inspect(command=["python", "-m", "some_mcp_server"])
# stdio spawn argv, same as your MCP config

inspect(command=["hound"])
# pre-installed binary

inspect(
    transport="streamable_http",
    url="http://localhost:8080/mcp",
    headers={"Authorization": "Bearer ..."},  # optional
)
# remote MCP server

# Returns the same JSON shape every call:
# {ok, server, tool_count, wire_total_tokens,
#  tools: [{name, total}], encoding, elapsed_ms, version}

wire_total_tokens is the number to report. Use it BEFORE enabling a candidate server: a large value means don't enable.

The numbers

Self-cost on wire 375 tokens of cl100k_base
Tools exposed 1, named inspect
Transports stdio, streamable_http
Cross-platform Linux, macOS, Windows
Python 3.11+
Imports stdlib, tiktoken, mcp

Install

pip install mcptokens

Add mcptokens to your agent's mcpServers / mcp_servers. Done.

CLI (debug surface)

mcptokens python -m some_mcp_server     # human table
mcptokens --json python -m some_mcp_server   # pipeline-friendly JSON
mcptokens --timeout 30 python -m srv    # custom spawn, custom timeout
mcptokens serve                         # run as an MCP server
Flag Default Purpose
--encoding cl100k_base cl100k_base or o200k_base
--timeout 15 Per-server timeout in seconds (1 to 60)
--json false Output JSON instead of the table

License

MIT. pip install mcptokens from the canonical PyPI index.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcptokens-1.2.0.tar.gz (31.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcptokens-1.2.0-py3-none-any.whl (21.5 kB view details)

Uploaded Python 3

File details

Details for the file mcptokens-1.2.0.tar.gz.

File metadata

  • Download URL: mcptokens-1.2.0.tar.gz
  • Upload date:
  • Size: 31.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for mcptokens-1.2.0.tar.gz
Algorithm Hash digest
SHA256 854c325db36013e772ae961a4216538e8a795d0e9c018fbb4adaafa3eafec31f
MD5 7ba1577de5c875c5c1ad61b8605d2143
BLAKE2b-256 3f59252d1dfd706c7516e197585a97e50811dee03c1d76442d547385deebb2ee

See more details on using hashes here.

File details

Details for the file mcptokens-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: mcptokens-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 21.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for mcptokens-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6144d27b4798b28874dca0dbc6699457e9267baf71c15220b42c59c91ef28f49
MD5 c8f627b616303902cbdeea085f73c3dd
BLAKE2b-256 a14d9c61b05ce1fb170492512b2167f46d2f8b805da5c917a326214d3dc1c478

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page