I run a custom MCP server with 100+ tools. Every time I added a tool or changed a schema, my only options were reading the source or wiring up a test client.
So I built mcpcat — four commands, ~250 lines of Python.
# See what a server exposes
mcpcat tools http://localhost:8100/mcp
# Inspect a specific tool's schema
mcpcat inspect http://localhost:8100/mcp cortex_signal
# Call a tool directly
mcpcat call http://localhost:8100/mcp health
# Check if a server is alive
mcpcat ping http://localhost:8100/mcp
The first version only supported the old SSE transport. It hung on my own server because I use streamable HTTP. Now it auto-detects both.
If you're building or consuming MCP servers and want something like curl but for MCP, give it a try:
pip install git+https://github.com/AlexlaGuardia/MCPcat.git
I wrote a longer post about the build process and the transport detection bug here: alexlaguardia.dev/writing/mcpcat
Built with Python, Typer, httpx, and Rich. MIT licensed. PRs welcome.
Top comments (0)