Reporter
mcp-reporter is a streamlined utility that generates comprehensive capability reports for Model Context Protocol servers, empowering developers to easily understand available functionality across their MCP servers ecosystem for both documentation and integration into other tools.
Installation
npx mcp-reporterAsk AI about Reporter
Powered by Claude Β· Grounded in docs
I know everything about Reporter. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
MCP Reporter
MCP Reporter is a utility for generating comprehensive reports about Model Context Protocol (MCP) server capabilities, helping developers understand what functionality is available across their MCP server ecosystem. Can also be used programmatically to generate reports for documentation or for feeding into other tools.
Table of Contents
- Features
- Installation
- Configuration
- Usage
- Report Structure
- Project Structure
- Example Report
- Development
- License
- Author
Features
- Server Discovery: Automatically connects to all enabled MCP servers
- Capability Analysis: Extracts tools, resources, and resource templates
- Markdown Report Generation: Produces well-organized documentation
- Progress Monitoring: Provides real-time feedback during execution
Image Preview of Generated Report (Partial)

Installation
Prerequisites
- Node.js 16.x or higher
- npm or yarn
Install from Source
# Clone the repository
git clone https://github.com/cyanheads/mcp-reporter.git
cd mcp-reporter
# Install dependencies
npm install
# Build the project
npm run build
# Create a symlink (optional)
npm link
Configuration
MCP Reporter requires a configuration file that defines the MCP servers you want to analyze:
# Create a configuration file from the example
cp mcp-servers.json.example mcp-servers.json
Example configuration:
{
"mcpServers": {
"atlas-mcp-server": {
"command": "/path/to/node",
"args": ["/path/to/atlas-mcp-server/dist/index.js"],
"env": {
"NEO4J_URI": "bolt://localhost:7687",
"NEO4J_USER": "neo4j",
"NEO4J_PASSWORD": "your-password-here"
}
},
"another-server": {
"command": "/path/to/node",
"args": ["/path/to/another-server.js"],
"env": {}
}
}
}
Usage
Command Line Interface
mcp-reporter [options]
| Option | Description | Default |
|---|---|---|
-c, --config <path> | Path to MCP servers config | mcp-servers.json |
-o, --output <path> | Output path for report | output/mcp_server_report.md |
-s, --schemas | Include input schemas | true |
-m, --metadata | Include server metadata | true |
-e, --examples | Include examples | true |
Examples
You can run mcp-reporter either via 'npm run start' or by using the symlink (optional) created during installation:
# Generate a report with default settings
npm run start
# Generate a report using symlink
mcp-reporter
Programmatic Usage
import { McpReporter } from "mcp-reporter";
async function generateReport() {
const reporter = new McpReporter("./my-config.json", {
outputPath: "./reports/mcp-report.md",
includeInputSchemas: true,
includeServerMetadata: true,
});
await reporter.run();
}
generateReport().catch(console.error);
Report Structure
The generated markdown report includes:
- Summary of all MCP servers analyzed
- For each server:
- Server metadata
- Available tools with descriptions and input schemas
- Available resources with URIs and descriptions
- Available resource templates with URI templates
Project Structure
mcp-reporter/
βββ src/ # Source code
β βββ cli.ts # Command line interface
β βββ index.ts # Main library code
β βββ types/ # TypeScript type definitions
β βββ utils/ # Utility functions
βββ scripts/ # Build and maintenance scripts
βββ docs/ # Documentation
βββ output/ # Default output directory for reports
βββ mcp-servers.json # Server configuration (create from example)
Development
# Clean build artifacts
npm run clean
# Rebuild the project
npm run rebuild
# Generate project structure visualization
npm run tree
License
This project is licensed under the Apache 2.0 License - see the LICENSE file for details.
Author
Casey Hand (@cyanheads)
