mcp-inspector @ dd02737463
mcp-validator @ bb099ddc3b
MCP Factory Tools
Toolchain for building, testing, validating, and shipping MCP servers at scale.
What's Installed
Testing & Validation
| Tool | Type | Purpose |
|---|---|---|
| mcp-jest (global CLI) | npm | Discover tools, generate tests, validate protocol compliance, watch mode |
| mcp-validator (Janix-ai) | Python (cloned) | Formal MCP protocol compliance reports (2024-11-05 → 2025-06-18) |
| MCP Inspector (official) | Cloned | Visual web UI for interactive server debugging |
Development
| Tool | Type | Purpose |
|---|---|---|
| FastMCP (npm) | Library | Opinionated TS framework for building new MCP servers fast |
| mcp-add (global CLI) | npm | One-liner install for customers to add servers to any MCP client |
Quick Commands
Discover all tools across 30 servers
cd factory-tools && node scripts/discover-all.mjs
Generates test configs in test-configs/ for every server.
Validate all servers for MCP compliance
cd factory-tools && node scripts/validate-all.mjs
Produces compliance reports in reports/ (JSON + Markdown).
Validate a single server
mcp-jest validate --config test-configs/calendly.json
Discover a single server's tools
mcp-jest discover --config test-configs/calendly.json
Run tests against a server (requires real API keys)
# Edit test-configs/calendly.json to add real CALENDLY_API_KEY
mcp-jest --config test-configs/calendly-tests.json
Compliance report via mcp-validator (Python)
cd mcp-validator && source .venv/bin/activate
python -m mcp_testing.scripts.compliance_report \
--server-command "node ../mcp-diagrams/mcp-servers/calendly/dist/index.js" \
--protocol-version 2025-06-18
Directory Structure
factory-tools/
├── README.md
├── package.json
├── server-registry.json # All 30 servers, their env vars
├── scripts/
│ ├── discover-all.mjs # Batch discovery
│ ├── validate-all.mjs # Batch validation
│ └── fix-unknown-tool-error.mjs # Template-level bug fix (already applied)
├── test-configs/ # Generated per-server test configs
│ ├── calendly.json # Base config (for discover/validate)
│ └── calendly-tests.json # Full test suite (for testing)
├── reports/ # Compliance & discovery reports
├── mcp-validator/ # Cloned: Python compliance testing
├── mcp-inspector/ # Cloned: Visual debugging UI
└── node_modules/ # fastmcp, mcp-jest (local)
Server Status (as of 2026-02-04)
- 30 servers, 243 tools
- 702 test cases auto-generated
- 100/100 compliance (all servers FULL compliant after bug fix)
- Bug fixed: Unknown tool error handling (McpError + ErrorCode.MethodNotFound)
For New Servers (use FastMCP)
import { FastMCP } from "fastmcp";
import { z } from "zod";
const server = new FastMCP({ name: "My Server", version: "1.0.0" });
server.addTool({
name: "my_tool",
description: "Does a thing",
parameters: z.object({ input: z.string() }),
execute: async (args) => String(result),
});
server.start({ transportType: "stdio" });
For Customer Install Docs
npx mcp-add --name calendly --type local \
--command "npx mcp-server-calendly" \
--scope global --clients "claude,cursor,vscode"