Geepers MCP
Model Context Protocol (MCP) servers for multi-agent orchestration. Run parallel research agents across academic, news, code, and financial sources, then synthesize findings into PDF, DOCX, or Markdown reports.
Author: Luke Steuber
Depends on geepers-kernel for LLM providers, orchestration, and data clients.
Quick Start
pip install geepers-mcp[all]
Add at least one API key to .env:
ANTHROPIC_API_KEY=sk-ant-...
OPENAI_API_KEY=sk-...
XAI_API_KEY=xai-...
MCP tools become available in Claude Code right away:
Research quantum computing breakthroughs in 2025 using Beltalowda orchestration
How it works
Six MCP servers expose 32+ tools. The orchestration layer coordinates them:
Claude Code Client
| MCP Protocol (stdio)
v
Geepers MCP Plugin (6 MCP Servers)
| | | |
v v v v
Unified Providers Data Cache
Orchestr. Server Fetching Manager
| | | |
v v v v
Utilities Web Search Document Redis
Server Server Generator Cache
Beltalowda orchestration flow:
- Break a research task into 8 specialized angles
- Run agents in parallel: arXiv, Semantic Scholar, news, Wikipedia, GitHub, YouTube, financial data, Open Library
- Mid-level synthesis (Drummer) finds patterns, themes, contradictions
- Executive synthesis (Camina) produces a summary with key insights
- Generate PDF, DOCX, and Markdown reports with citations
- Return structured
OrchestratorResultwith all outputs and metadata
Orchestration tools
Start with the Unified Orchestrator Server:
| Tool | What it does |
|---|---|
orchestrate_research |
Beltalowda: 8 agents, Drummer synthesis, Camina summary |
orchestrate_search |
Swarm: 5+ specialized parallel agents |
get_orchestration_status |
Check progress of a running workflow |
cancel_orchestration |
Stop mid-execution |
list_orchestrator_patterns |
List available patterns |
list_registered_tools |
Browse all tool modules |
execute_registered_tool |
Run any tool directly |
Data sources
32+ tool modules across seven categories:
- Academic: arXiv, Semantic Scholar, PubMed, Wikipedia, Open Library
- News: NewsAPI, RSS feeds, YouTube
- Code: GitHub repos, commits, user profiles
- Finance: stocks, company fundamentals, market news
- Science: NASA (APOD, Mars photos, satellite imagery)
- Weather: current conditions, forecasts, air quality
- Web: Brave Search, SerpAPI, generic web search
LLM providers
Unified interface across 9 providers:
| Provider | Chat | Vision | Image Gen |
|---|---|---|---|
| Anthropic (Claude) | yes | yes | no |
| OpenAI (GPT) | yes | yes | yes |
| xAI (Grok) | yes | yes | yes |
| Mistral | yes | yes | no |
| Cohere | yes | no | no |
| Google (Gemini) | yes | yes | no |
| Perplexity | yes | yes | no |
| Groq (Llama) | yes | no | no |
| HuggingFace | yes | yes | yes |
Installation
# Everything
pip install geepers-mcp[all]
# Specific providers only
pip install geepers-mcp[anthropic,openai,xai]
# From source
git clone https://github.com/lukeslp/geepers-mcp.git
cd geepers-mcp
pip install -e .[all]
.env reference
# LLM Providers (at least one required)
ANTHROPIC_API_KEY=sk-ant-...
OPENAI_API_KEY=sk-...
XAI_API_KEY=xai-...
MISTRAL_API_KEY=...
COHERE_API_KEY=...
GEMINI_API_KEY=...
PERPLEXITY_API_KEY=...
GROQ_API_KEY=...
HUGGINGFACE_API_KEY=...
# Data APIs (optional)
YOUTUBE_API_KEY=...
GITHUB_TOKEN=ghp_...
NASA_API_KEY=...
NEWS_API_KEY=...
ALPHAVANTAGE_API_KEY=...
OPENWEATHER_API_KEY=...
# Caching (optional)
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=...
# Documents (optional)
DEFAULT_DOCUMENT_FORMAT=pdf
CITATION_STYLE=apa
MCP configuration
The plugin auto-configures .mcp.json. To override manually:
{
"mcpServers": {
"geepers-unified": {
"command": "python",
"args": ["-m", "geepers_mcp.mcp.stdio_servers.unified_stdio"],
"env": {
"ANTHROPIC_API_KEY": "${ANTHROPIC_API_KEY}"
}
}
}
}
Verify
python -c "from geepers_mcp.config import ConfigManager; print('OK')"
Custom orchestrators
from shared.orchestration import BaseOrchestrator, OrchestratorConfig, SubTask, AgentType
class MyOrchestrator(BaseOrchestrator):
async def decompose_task(self, task, context=None):
return [
SubTask(id="step1", description="First step", agent_type=AgentType.RESEARCHER),
SubTask(id="step2", description="Second step", agent_type=AgentType.SYNTHESIZER)
]
async def execute_subtask(self, subtask, context=None):
result = await self.provider.complete(subtask.description)
return SubTaskResult(subtask_id=subtask.id, output=result)
async def synthesize_results(self, results, context=None):
combined = "\n".join([r.output for r in results])
return SynthesisResult(output=combined)
Troubleshooting
"No module named 'shared'"
pip install geepers-kernel
"No module named 'geepers_mcp'"
pip install geepers-mcp
"Provider not available: anthropic"
pip install geepers-mcp[anthropic]
echo $ANTHROPIC_API_KEY # verify key is set
"Redis connection failed"
redis-server
# or disable caching:
export REDIS_ENABLED=false
Debug mode:
export GEEPERS_DEBUG=true
export LOG_LEVEL=DEBUG
Naming hierarchy
| Role | Responsibility | Pattern |
|---|---|---|
| Conductor | Top-level coordinator | conductor_<slug> |
| Orchestrator | Mid-tier decomposition | orchestrator_<slug> |
| Agent | Narrow specialist | agent_<slug> |
| Utility | Atomic tool | utility_<slug> |
License
MIT License. See LICENSE.
Luke Steuber
Release files for geepers-mcp 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| geepers_mcp-2.0.0.tar.gz | 297.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| geepers_mcp-2.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size:646.9 kB
Release files / geepers_mcp-2.0.0.tar.gz
| Download URL | geepers_mcp-2.0.0.tar.gz |
|---|---|
| Size | 297.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2b83bd05eff52719514e2aaafe8897a359e8e9865bb156c8284354026f5aa90e
|
|
BLAKE2b-256 checksum How to use checksums |
71b18ceb1cd8640ede072d762c02c9bb5c761fa7ad37c28469ab854f69be3ab4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / geepers_mcp-2.0.0-py3-none-any.whl
| Download URL | geepers_mcp-2.0.0-py3-none-any.whl |
|---|---|
| Size | 349.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
567f8ddb754ef0999aedd63f01f8531b07ae3ab6e725de59066360ca39969961
|
|
BLAKE2b-256 checksum How to use checksums |
f3001b34e33e408d8e473079505d0926f0607d84f04b3c0fa51be110577c48fc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|