sprout-mcp
A model-tiered content pipeline that routes tasks to the appropriate AI model tier (Haiku, Sonnet, Opus) to optimize cost and quality, with provenance tracking and automatic review workflow.
README
Sprout MCP
Drop your Opus bill 80%. Model-tiered content pipeline for MCP — cheap models seed work, expensive models verify it.
Sprout routes tasks to the right model tier automatically. Haiku drafts, Sonnet fact-checks, Opus verifies. Every chunk tracks provenance, confidence, and cost.
Install
uvx sprout-mcp
Or add to Claude Code's MCP config (~/.claude/settings.json):
{
"mcpServers": {
"sprout": {
"command": "uvx",
"args": ["sprout-mcp"]
}
}
}
How It Works
Haiku (seed) → Sonnet (watered) → Opus (sprouted)
Draft Fact-check Verify
$0.005/M $0.015/M $0.075/M
- Seed — Haiku drafts content cheaply (summarization, extraction, first passes)
- Water — Sonnet reviews and fact-checks the seeds
- Sprout — Opus deep-verifies only what passed Sonnet's review
Instead of running everything through Opus at $75/M output tokens, most work stays at Haiku's $5/M. Only the final verification — typically 10-20% of total work — touches Opus.
Tools (13)
| Tool | Description |
|---|---|
submit_chunk |
Store content with provenance (model, task type, sources) |
get_review_queue |
List chunks needing review, filtered by confidence/project |
mark_reviewed |
Promote (seed→watered→sprouted) or reject chunks |
recommend_model |
Get model recommendation for a task type |
get_stats |
Dashboard of chunk counts, confidence levels, token usage |
export_chunks |
Export verified chunks as JSON |
opus_test |
Generate structured review summary for batch verification |
schedule_task |
Schedule tasks to run at a specific time or delay |
list_scheduled |
View pending scheduled tasks |
cancel_scheduled |
Cancel a pending scheduled task |
configure_routing |
Add/update routing rules at runtime |
get_cost_report |
Estimated spend per model with real pricing |
retry_on_error |
Track failed attempts with backoff guidance |
Configuration
Environment Variables
| Variable | Default | Description |
|---|---|---|
SPROUT_DB_PATH |
~/.sprout/sprout.db |
SQLite database location |
SPROUT_CONFIG |
(none) | Path to JSON config file for custom routes and pricing |
SPROUT_MAX_RETRIES |
3 |
Max retry attempts before giving up |
SPROUT_RETRY_BACKOFF |
2.0 |
Exponential backoff base (seconds) |
Custom Config File
Create a JSON file and point SPROUT_CONFIG at it:
{
"routes": {
"code_review": { "tier": "sonnet", "reason": "Code analysis needs reasoning" },
"translation": { "tier": "haiku", "reason": "Straightforward language task" }
},
"pricing": {
"custom-model": 10.00
}
}
Default Routing Table
| Task Type | Tier | Why |
|---|---|---|
biography_synthesis |
haiku | Factual summarization |
council_description |
haiku | Historical summarization |
document_synopsis |
haiku | Content summarization |
json_validation |
haiku | Structural verification |
summarization |
haiku | General summarization |
data_extraction |
haiku | Structured extraction |
fact_check_first_pass |
sonnet | Cross-reference claims |
code_review |
sonnet | Code analysis |
fact_check_final |
opus | Deep factual verification |
theological_analysis |
opus | Domain expertise required |
complex_analysis |
opus | Deep reasoning required |
Unknown task types default to haiku — start cheap, escalate if needed.
Example Workflow
You: Use recommend_model for "biography_synthesis"
Sprout: biography_synthesis → haiku-4.5 (Factual summarization)
You: Use submit_chunk to store the Haiku output
Sprout: Stored chunk abc12345 [seed] for person-001.biography
You: Use get_review_queue to see what needs fact-checking
Sprout: 1 chunk pending review
You: Use mark_reviewed to promote after Sonnet fact-checks it
Sprout: Chunk abc12345 → watered (verified by sonnet-4.6)
You: Use get_cost_report
Sprout: haiku-4.5: ~1,300 tokens (1 chunk) — $0.0065
Total: $0.0065
Development
git clone https://github.com/mepsopti/sprout-mcp.git
cd sprout-mcp
uv sync --extra dev
uv run pytest
Support
If Sprout saves you money on your AI bill, consider buying me a coffee:
License
MIT
mcp-name: io.github.mepsopti/sprout-mcp
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.