mcp-agent-proxy
An MCP server that acts as a proxy to connect MCP clients to agent frameworks like Mastra and LangGraph, enabling agent discovery, dynamic server connections, and recursive agent networks.
README
MCP Agent Proxy
Connect any MCP client to any agent server - creating an "Internet of Agents" through simple, composable primitives.
Supports Mastra β€οΈ and LangGraph π¦πΈοΈ servers! π
Quick Start
Add this to your MCP client's configuration:
{
"mcpServers": {
"mcpAgentProxy": {
"command": "npx",
"args": ["mcp-agent-proxy@latest"]
}
}
}
That's it! The proxy lets your MCP client connect to different agent servers and exposes agent interactions as MCP tools. It automatically detects agent server types and adapts accordingly.
https://github.com/user-attachments/assets/9eaf1d36-298f-430f-b9e8-37e921cce2d1
What This Does
Instead of building complex protocols, we provide 5 simple tools that let agents discover, connect, and orchestrate across unlimited networks:
| Tool | Purpose |
|---|---|
listAgents |
Discover available agents across all servers |
describeAgent |
Get detailed agent capabilities for intelligent routing |
callAgent |
Execute any agent with smart conflict resolution |
connectServer |
Dynamically add new agent servers at runtime |
disconnectServer |
Remove dynamically connected servers |
Supported Server Types
- Mastra: Support for local and remote Mastra servers
- LangGraph: Support for local and remote LangGraph instances
- Extensible: Plugin architecture makes it easy to add support for other agent frameworks
The Network Effect
Agent servers can be MCP clients themselves, creating recursive agent networks:
Your MCP Client β MCP Proxy β Agent Server (Mastra/LangGraph) β Agents -> MCP Proxy -> Other Agent Servers β π Agents
One configuration line unlocks entire ecosystems of AI capabilities.
MCP Compliance & Features
β Fully MCP 2025-03-26 Compliant
- Complete implementation of the latest Model Context Protocol specification
π Multi-Transport Support
- Stdio Transport: Standard MCP client integration (
npx mcp-agent-proxy) - Streamable HTTP: Modern HTTP-based transport with session management
- Legacy SSE: Backward compatibility with existing SSE implementations
- Automatic Detection: Seamlessly switches between transports based on client capabilities
Common Configurations
Multiple Servers (Mixed Types)
{
"mcpServers": {
"mcpAgentProxy": {
"command": "npx",
"args": ["mcp-agent-proxy"],
"env": {
"AGENT_SERVERS": "http://localhost:4111 http://localhost:2024"
}
}
}
}
Cloud + Local (Mixed Mastra and LangGraph)
{
"mcpServers": {
"mcpAgentProxy": {
"command": "npx",
"args": ["mcp-agent-proxy"],
"env": {
"AGENT_SERVERS": "https://my-mastra.vercel.app http://localhost:2024"
}
}
}
}
From Source (Development)
{
"mcpServers": {
"mcpAgentProxy": {
"command": "node",
"args": ["/path/to/mcp-agent-proxy/dist/mcp-server.js"],
"env": {
"AGENT_SERVERS": "http://localhost:4111"
}
}
}
}
Usage Examples
Basic Agent Call:
Can you call the weatherAgent to get the current weather in New York City?
Network Exploration
Explore the agents you're connected to
Smart Conflict Resolution:
I need to use the weatherAgent from server1 specifically, not the default one
Dynamic Network Expansion:
Connect to the ML specialists at https://ml-specialists.vercel.app and then use their modelTrainer agent
Environment Variables
| Variable | Default | Description |
|---|---|---|
AGENT_SERVERS |
(none) | Space/comma-separated server URLs (supports Mastra and LangGraph) |
MCP_SERVER_PORT |
3001 |
Proxy server port |
MCP_TRANSPORT |
http |
Transport method (stdio/http) |
Examples & Advanced Usage
Ready-to-use configurations in the examples/ directory:
mcp.json- Zero setupmulti-server-config.json- Multiple local serversvercel-config.json- Cloud deployment
For advanced configuration options, see CONFIGURATION.md.
Troubleshooting
NPX Issues:
npx clear-npx-cache
npx mcp-agent-proxy@latest
Port Conflicts:
"env": { "MCP_SERVER_PORT": "3002" }
Connection Issues:
- Ensure agent servers are running and accessible
- Check firewall settings and server URLs
- For LangGraph: Default port is usually 2024 (
langgraph dev) - For Mastra: Default port is usually 4111
Debug Mode:
DEBUG=mastra:* npx mcp-agent-proxy
Development & Testing
Validation Workflows
We've implemented comprehensive validation workflows to ensure code quality and MCP protocol compliance:
Quick Commands
# Quick validation (build + test + lint + format)
pnpm validate:quick
# Full validation (includes integration tests + health checks)
pnpm validate:full
# CI validation (includes coverage + dead code analysis)
pnpm validate:ci
Individual Commands
# Build and test
pnpm build
pnpm test
pnpm test:integration
# Code quality
pnpm lint
pnpm format
pnpm format:check
MCP Protocol Testing
# Test MCP protocol compliance
pnpm mcp:test
# Test security features
pnpm security:test
# Manual server testing
pnpm start # Start server
pnpm check # Check running server (requires jq)
Test Coverage
- 355 total tests covering all components
- Unit tests for all tools, plugins, and configuration
- Integration tests for MCP protocol compliance
- Security tests for origin validation and session management
- Health checks for server monitoring
Available Scripts
Use pnpm run to see all available scripts, or use these common ones:
pnpm dev # Build and start development server
pnpm test # Run all tests
pnpm test:watch # Run tests in watch mode
pnpm build # Build for production
pnpm lint # Run ESLint
pnpm format # Format code with Prettier
Contributing
We welcome contributions! Please see our Contributing Guide for details.
License
MIT License - see LICENSE file for details.
<div align="center">
π Configuration Guide β’ π Examples β’ π Issues β’ π¬ Discussions
Building the Internet of Agents, one connection at a time.
</div>
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.