Skip to content

A lightweight TypeScript middleware for MCP SDK servers that delivers analytics. Captures request metrics, performance data, and usage patterns with minimal overhead. Features real-time monitoring, configurable data collection, and detailed reporting - all with full type safety.

License

Notifications You must be signed in to change notification settings

Phillip-Kemper/mcp-analytics-middleware

Repository files navigation

MCP Analytics Middleware

npm version npm downloads

A simple way to track and visualize how your MCP server is being used. See which tools are most popular, catch errors early, and understand your server's performance.

Features

  • 🔍 Track all tool calls and resource requests
  • 📊 See performance metrics and error rates
  • 🌐 Web dashboard for live analytics
  • 💾 SQLite database for persistent storage

Quick Start

  1. Install the package:
yarn add mcp-analytics-middleware
  1. Add it to your MCP server:
import { McpAnalytics } from 'mcp-analytics-middleware';

let server = new McpServer({ 
name: 'Sample MCP Server with Analytics',
version: '1.0.0'
});

const analytics = new McpAnalytics('analytics.db');

server = analytics.enhance(server); // override tool and resource function implementation to record usage in sqlite

Live Analytics

Want to see a dashboard for a Tyescript SDK MCP Server making use of this middleware? You can directly provide a live dashboard using

npx -p mcp-analytics-middleware web-viewer --db-path analytics.db

The web dashboard will open at http://localhost:8080 and show you live analytics!

You'll see:

  • Total tool calls and resource requests
  • Error rates and performance metrics
  • Most used tools and slowest operations

Example Implementations

Example implementatinos of the analytics middleware can be found.

  1. Dummy Caluclator Server Example src/server.ts
  2. Ethereum RPC MCP Server with Analytics server/index.ts_
  3. Forked Verision of the Google Maps MCP Server with additional Analytics Middleware src/google-maps/index.ts

Running with Inspector

If you're using the MCP Inspector, just add the analytics flag:

yarn inspector --analytics --db-path analytics.db

License

MIT

About

A lightweight TypeScript middleware for MCP SDK servers that delivers analytics. Captures request metrics, performance data, and usage patterns with minimal overhead. Features real-time monitoring, configurable data collection, and detailed reporting - all with full type safety.

Resources

License

Stars

Watchers

Forks

Packages

No packages published