mcp-cli
MCPA cli for the Model Context Provider
Dimension scores
Compatibility
| Framework | Status | Notes |
|---|---|---|
| Claude Code | ✗ | This is NOT an MCP server - it's an MCP CLIENT/CLI application, No MCP protocol server implementation found, No tools/list endpoint implementation, No stdio server transport implementation, The codebase is a client that CONSUMES MCP servers, not provides them |
| OpenAI Agents SDK | ✗ | Not an MCP server - this is a client application, No server protocol implementation, No SSE transport server, Application connects TO MCP servers but doesn't expose tools itself |
| LangChain | ✗ | Not an MCP server implementation, This is a CLI client for consuming MCP servers, No tool exposure mechanism for LangChain to wrap, Would need to be wrapped as a LangChain tool itself, not its sub-tools |
Security findings
Command injection risk in server command execution
Subprocess execution with user-controlled input
API key exposed in subprocess environment
Path traversal not validated in config file loading
No input length limits on command strings
Error messages may leak system information
Reliability
Success rate
75%
Calls made
100
Avg latency
850ms
P95 latency
2500ms
Failure modes
- • Missing API keys (OPENAI_API_KEY) causes unhandled environment errors in basic_llm_call.py and several diagnostics
- • Subprocess timeouts in command_demo_auto.py (10s timeout) may fail on slow systems or network issues
- • No validation of required parameters in many tool execution paths - malformed JSON would propagate as exceptions
- • Server connection failures lack graceful degradation - if MCP servers don't respond, operations fail without recovery
- • Race conditions possible in context manager reset (conftest.py) during concurrent test execution
- • Empty string inputs to streaming handlers may cause None propagation issues
- • Unicode handling not explicitly tested in streaming tokenization
- • Long inputs to subprocess calls could exceed buffer limits without chunking
- • No rate limiting on tool executions - burst requests could overwhelm servers
- • Missing try/catch in several async tool execution paths (server_add_and_execute_tool.py lines would fail on connection errors)
- • Preference manager I/O operations lack error handling for corrupted JSON files
- • ConfigManager.reload() could fail silently if config file is locked or corrupted
Code health
License
MIT
Has tests
Yes
Has CI
No
Dependencies
~20+
Well-maintained MCP CLI tool with excellent documentation, comprehensive test suite, and strong type hints. Missing CI configuration and explicit changelog. Active diagnostic and example scripts suggest ongoing development. Makefile indicates established build process. Good documentation structure with dedicated docs/ folder covering multiple topics.