mcp-token-analyzer
v1.0.1
Published
A utility library for analyzing token usage in Model Context Protocol (MCP) server tool responses using Anthropic's Claude API.
Readme
MCP Token Analyzer
A utility library for analyzing token usage in Model Context Protocol (MCP) server tool responses using Anthropic's Claude API.
Overview
This library wraps MCP server tool handlers to automatically count tokens in tool responses, providing insights into token consumption for debugging and optimization purposes.
Features
- Automatic Token Counting: Intercepts MCP tool calls and counts tokens in responses
- Anthropic Integration: Uses Anthropic's Claude API for accurate token counting
- Configurable: Easy to enable/disable and configure model selection
- Zero Configuration: Works out of the box with environment variables
Installation
npm install mcp-token-analyzerUsage
Basic Setup
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import { initTokenCounter } from 'mcp-token-analyzer';
const server = new McpServer(/* your server config */);
// Register Tools and then Initialize token counting
initTokenCounter({ server });
// Your existing MCP server setup continues here...Advanced Configuration
import { initTokenCounter } from 'mcp-token-analyzer';
initTokenCounter({
server,
options: {
enabled: true,
model: 'claude-3-5-sonnet-20241022', // Specify Claude model
},
});Environment Variables
ANTHROPIC_API_KEY- Your Anthropic API key (required)
Configuration Options
enabled: Boolean to enable/disable token counting (defaults to true if API key is present)model: Anthropic model to use for token counting (defaults to 'claude-opus-4-5')
Output
The library logs token usage information to the console:
Token Counter Enabled
{
toolName: 'your_tool_name',
toolOutputTokens: 1234
}Requirements
- Node.js ES2022+
- Valid Anthropic API key
- MCP server using
@modelcontextprotocol/sdk
Development
# Install dependencies
npm install
# Build the project
npm run build
# Lint code
npm run lintLicense
ISC
Contributing
Issues and pull requests are welcome at GitHub.
