Observed since 20 Oct, 16:40 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
a3m-mcp-server
MCP server for A3M Router — parallel multi-LLM execution for AI agents
MCP (Model Context Protocol) server for A3M Router — parallel multi-LLM execution for AI agents.
Allows any MCP-compatible AI agent (Claude Desktop, Cursor, Windsurf, Codex, n8n, etc.) to use A3M's intelligent routing and ensemble execution directly from Python.
| Tool | Description |
|---|---|
a3m_route | Route a query to the optimal LLM provider — returns model, tier, cost, reasoning |
a3m_ensemble | Execute a query across multiple providers in parallel and merge results |
a3m_classify | Classify query type (fast/creative/deep/code) and get provider recommendations |
a3m_providers | List all configured providers with cost and availability |
# From source
cd python/mcp-server
pip install -e .
# Or install the package directly (when published)
pip install a3m-mcp-server
Set environment variables:
# Required: A3M Router URL (must be running)
export A3M_BASE_URL=http://localhost:8787
# Optional
export A3M_API_KEY=not-needed # default
export A3M_TIMEOUT=30.0
# Node.js way
npx a3m-router serve
# Python way
pip install a3m-router
a3m-router serve
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"a3m-router": {
"command": "python",
"args": ["-m", "a3m_mcp"],
"env": {
"A3M_BASE_URL": "http://localhost:8787"
}
}
}
}
Settings → Features → MCP Servers → Add:
Name: A3M Router
Command: python
Arguments: -m a3m_mcp
Add MCP Trigger node with:
{
"server": "a3m-router",
"command": "python",
"args": ["-m", "a3m_mcp"]
}
# List tools
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | python -m a3m_mcp
# Call a3m_route
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"a3m_route","arguments":{"query":"Write a Python quicksort"}}}' | python -m a3m_mcp
# a3m_route tool
Input: {"query": "Write a Python function to sort a list"}
Output:
{
"model": "groq/llama-3.3-70b-versatile",
"tier": "cheap",
"cost": 0.000012,
"reasoning": "Code query detected, routing to fast coding provider",
"classification": "code"
}
# a3m_ensemble tool
Input: {"query": "Explain quantum computing in 3 sentences", "providers": ["groq", "google", "cerebras"]}
Output:
{
"query": "Explain quantum computing in 3 sentences",
"parallel_responses": [
{"provider": "groq", "content": "Quantum computing is..."},
{"provider": "google", "content": "At its core, quantum..."},
{"provider": "cerebras", "content": "Quantum computing leverages..."}
],
"best_answer": "Quantum computing is...",
"stats": {"total_providers": 3, "successful": 3, "failed": 0}
}
┌──────────────────────────────────────────────────────┐
│ MCP Client (Claude, Cursor, Codex, n8n) │
└──────────────────────┬───────────────────────────────┘
│ MCP Protocol (stdio)
┌──────────────────────▼───────────────────────────────┐
│ A3M Router MCP Server (Python) │
│ │
│ a3m_route a3m_ensemble a3m_classify a3m_providers │
└──────────────────────┬───────────────────────────────┘
│ HTTP API
┌──────────────────────▼───────────────────────────────┐
│ A3M Router (a3m-router serve) │
│ │
│ routeQuery() parallelEnsemble() providers │
└───────┬────────────┬────────────┬─────────────────────┘
│ │ │
┌────▼───┐ ┌────▼───┐ ┌────▼───┐
│ Groq │ │ Google │ │Cerebras│ ...
└────────┘ └────────┘ └────────┘
cd python/mcp-server
pip install -e ".[dev]"
pytest
MIT
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
mcpEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.10",
"evaluation": "NOT_EVALUATED"
} | mcp>=1.0.0 | runtime |
httpxEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.10",
"evaluation": "NOT_EVALUATED"
} | httpx>=0.24.0 | runtime |
pytestEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.10",
"evaluation": "NOT_EVALUATED"
} | pytest>=7.4.0; extra == "dev" | runtime |
pytest-asyncioEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.10",
"evaluation": "NOT_EVALUATED"
} | pytest-asyncio>=0.21.0; extra == "dev" | runtime |
blackEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.10",
"evaluation": "NOT_EVALUATED"
} | black>=23.0.0; extra == "dev" | runtime |
bdist_wheel · 7.04 KB · Python py3
sdist · 6.33 KB · Python source
Observed since 20 Oct, 16:40 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:0a26dbd5b91e0accaf57342e8a6cb6ef8a6c637c2a826f5990c94e127cdcec06