mcp-ollama-account-rotation
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., "@mcp-ollama-account-rotationchat with llama3 about quantum physics"
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.
mcp-ollama-account-rotation
MCP server that transparently routes Ollama Cloud API requests across multiple user-owned accounts, handling quota exhaustion, rate limits, and failures via automatic account rotation.
Architecture
┌──────────────────────────────────────────┐
│ MCP Client │
│ (Claude Code / OpenCode / etc.) │
└─────────────────┬────────────────────────┘
│ MCP Protocol (stdio/SSE)
▼
┌──────────────────────────────────────────┐
│ FastMCP Server │
│ Tools: chat, generate, list_models │
│ Resources: models://, accounts:// │
├──────────────────────────────────────────┤
│ Request Router │
│ select account → forward → classify │
├──────────────────────────────────────────┤
│ Account Manager │ Retry Engine │
│ State Manager │ Health Checker │
│ HTTP Client │ Logger/Metrics │
└──────────────────────────────────────────┘
│
▼
Ollama Cloud API
https://api.ollama.comInstallation
# Prerequisites: Python 3.11+
pip install -e .
# Or with uv:
uv syncConfiguration
Edit data/config.yaml:
ollama_base_url: "https://api.ollama.com"
retry:
max_attempts: 3
backoff_base: 2.0
backoff_max: 60.0
jitter: 0.1
rotation:
strategy: "round_robin"
health:
interval_seconds: 60
timeout_seconds: 10
timeouts:
request_seconds: 60
connect_seconds: 10
logging:
level: "INFO"
format: "json"
output: "console"Account Setup
Add accounts to data/accounts.json:
{
"accounts": [
{
"email": "user1@example.com",
"api_key": "ollama-api-key-1"
},
{
"email": "user2@example.com",
"api_key": "ollama-api-key-2"
}
]
}Usage
CLI
# stdio transport (default)
ollama-router
# custom config
ollama-router -c /path/to/config.yaml
# SSE transport
ollama-router --transport sse --port 8000MCP Client Integration
OpenCode (opencode.json):
{
"mcpServers": {
"ollama-router": {
"command": "ollama-router",
"args": ["-c", "data/config.yaml"]
}
}
}Claude Code (claude.json):
{
"mcpServers": {
"ollama-router": {
"command": "ollama-router",
"args": ["-c", "data/config.yaml"]
}
}
}Tools
Tool | Description |
| Send chat completion request |
| Send text generation request |
| List available models |
| Show current active account |
| Show server metrics |
Development
# Install dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Type checking
mypy app
# Linting
ruff check app
ruff format appLog Events
Event | Description |
| Server starts |
| Server stops |
| Account chosen for request |
| Rotated to different account |
| Retrying failed request |
| Health check succeeded |
| No healthy accounts |
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted MCP server for LLM cost estimation, model comparison, and budget-aware routing.
Cloudflare Workers MCP server: ai-model-router
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
Connect MCP clients to 2,000+ AI models without managing provider API keys.