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
Metadata
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 | Provenance | Actions |
|---|---|---|---|---|
| geepers_mcp-2.0.0.tar.gz | 297.2 kB | Without provenance | Details for geepers_mcp-2.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| geepers_mcp-2.0.0-py3-none-any.whl | Python 3 | none | any | Details for geepers_mcp-2.0.0-py3-none-any.whl |
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
|
Security for geepers-mcp 2.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.