multi-cloud-llm-platform
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@multi-cloud-llm-platformroute 'summarize this document' as summarize"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Multi-Cloud LLM Platform
A provider-agnostic LLM routing layer spanning AWS Bedrock, OpenAI, and local Ollama models, instrumented with Prometheus metrics, wrapped in a LangGraph iterative research agent, and exposed to any MCP-compatible client (e.g. Claude Desktop) as callable tools over an MCP stdio server.
Overview
┌─────────────── src/providers.py ───────────────┐
│ claude-sonnet-bedrock (AWS Bedrock) │
prompt ──────▶│ llama3-bedrock (AWS Bedrock) │──▶ LLMResponse
or │ gemini-flash-vertex (low-cost tier) │ (+ Prometheus metrics:
route(task) ─▶│ llama3-local (Ollama, local/free) │ requests, latency, cost, tokens)
└──────────────────────────────────────────────────┘
▲ ▲
│ │
agents/research_agent.py mcp_server/server.py
(LangGraph loop: gather (exposes generate/route/
→ evaluate → write report) list_providers as MCP tools)route(prompt, task_type) picks a provider based on task type (code/reason → Claude Sonnet on Bedrock, summarize → Llama 3 on Bedrock, low-cost → the low-cost tier, general → local Ollama), so callers don't need to know which backend is cheapest or best suited for a given job.
Related MCP server: cloud-chat-assistant
Project structure
.
├── src/
│ ├── providers.py # Provider catalog + generate()/route(), Prometheus instrumentation
│ └── metrics.py # Prometheus Counter/Histogram definitions
├── agents/
│ └── research_agent.py # LangGraph agent: iteratively researches a topic, then writes a report
├── mcp_server/
│ └── server.py # MCP stdio server exposing generate/route/list_providers as tools
├── tests/
│ └── test_platform.py # Provider registration, routing table, and research-agent tests
├── run_mcp.sh # Convenience launcher for the MCP server
└── requirements.txtProviders
Key | Backend | Cost / 1K tokens | Strengths |
| Claude 3.5 Sonnet via AWS Bedrock | $0.003 | reasoning, writing, code |
| Llama 3 8B Instruct via AWS Bedrock | $0.0003 | summarization, classification |
| Gemini 1.5 Flash | $0.0005 | low-cost, fast, general |
| Llama 3 via local Ollama | $0.0 | privacy, offline, no-cost |
Every call increments Prometheus counters/histograms for request count, latency, estimated cost, and token usage, labeled by provider.
Research agent
agents/research_agent.py builds a small LangGraph loop:
gather_information — asks the model (local Llama 3 by default) for 3–5 new facts on the topic not already covered.
evaluate_sufficiency — asks the model whether enough has been gathered for a 3-paragraph report.
Loops back to step 1 (up to 3 iterations) or proceeds to write_report, which synthesizes all notes into the final report.
MCP server
mcp_server/server.py runs an MCP stdio server (multi-cloud-llm-platform) that advertises three tools — generate, route, and list_providers — so any MCP client can call these LLM providers directly. Launch it with:
python -m mcp_server.serverSetup
python -m venv venv && source venv/bin/activate
pip install -r requirements.txtAWS Bedrock (
claude-sonnet-bedrock,llama3-bedrock): configure AWS credentials (~/.aws/credentials, env vars, or an IAM role) with Bedrock model access enabled inus-east-1for the Claude 3.5 Sonnet and Llama 3 models.Low-cost tier (
gemini-flash-vertex): requiresexport GOOGLE_API_KEY=<your-google-ai-studio-key>.Local (
llama3-local): install Ollama and runollama pull llama3.
Usage
# Run a single generation or routed call
python -c "from src.providers import route; print(route('Summarize this quarter', task_type='summarize').text)"
# Run the iterative research agent
python -m agents.research_agent
# Run the MCP server
./run_mcp.sh # or: python -m mcp_server.server
# Run tests
pytestTech stack
LangChain, LangGraph, AWS Bedrock (boto3), Google Gemini, Ollama, MCP (mcp), Prometheus client, FastAPI/uvicorn, pytest.
This server cannot be deployed
Maintenance
Related MCP Connectors
One MCP endpoint for Claude, GPT & Gemini: 100+ tools + no-code connectors + agent workers.
Hosted MCP server for LLM cost estimation, model comparison, and budget-aware routing.
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
LLM Orchestration Agent (Mcp)
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceAn MCP server that functions as an intelligent gateway for multiple LLM backends including OpenAI, Claude, and Ollama. It supports automatic provider fallback, streaming responses via Server-Sent Events, and real-time monitoring for robust AI integration.MIT
- FlicenseNot gradedqualityCmaintenanceMulti-cloud MCP server that exposes cloud AI models as tools for AI CLI agents, supporting streaming, conversation history, parallel multi-model queries, and dynamic model discovery.2-
- FlicenseNot gradedqualityDmaintenanceLocal MCP server that exposes fixed tools for GPT, Claude, and Gemini while routing to any OpenAI-compatible chat completions backend with independent configuration per target.1-
- AlicenseAqualityCmaintenanceMCP server that completes prompts with automatic provider fallback across OpenAI, Anthropic Claude, and Google Gemini. It is rate-limit aware, retries on transient failures, and provides a transparent attempt log.27 npmMIT