Skip to main content

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

Project description

mcptokens

576 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 576 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.0.1.tar.gz (28.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.0.1-py3-none-any.whl (21.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mcptokens-1.0.1.tar.gz
  • Upload date:
  • Size: 28.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.0.1.tar.gz
Algorithm Hash digest
SHA256 d20f9fca797db564c6a68b599e64fdb3d5b59915b0a427d98d8416dde085ef31
MD5 783c21a8147fb2edc7859d871150a824
BLAKE2b-256 62d61324723d5fe4ca819bb12951ba058869c06784c4b655fc92c4238a0670cb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mcptokens-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 21.1 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.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e97a69b359d4e14b6db3bfc81514443efeb9e02025eeeb4cb52cbcdaf81b65f0
MD5 cfc82220559534e380608107c2c530f7
BLAKE2b-256 bbc6f8031c0e17f3fd5840590bb243418c226aa9fa2c5bc5d433da321326aeec

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