TOMAPE
БесплатноНе проверенToken-optimized multi-agent orchestration MCP server that owns session state, compacts context between agent hops, routes work to smaller models when safe, and
Описание
Token-optimized multi-agent orchestration MCP server that owns session state, compacts context between agent hops, routes work to smaller models when safe, and reports estimated token savings.
README
Token-optimized multi-agent orchestration exposed as an MCP server. TOMAPE owns session state, compacts context between agent hops, routes work to smaller models when safe, and reports estimated token savings.
Features
- Session-owning orchestrator — clients send tasks, not full transcripts
- Context compaction — structured handoff state between planner/worker/reviewer hops (typically 3–5× compression)
- Dynamic routing — rule-based small/large model selection with escalation
- Token metrics — per-hop breakdown and estimated baseline savings
- Dual transport — stdio (Cursor/Claude Desktop) and HTTP (hosted teams)
- API key auth — Bearer token authentication for HTTP mode
- MCP resources — inspect handoff state and hop logs per session
Quick Start
Full walkthrough: docs/SETUP.md
Prerequisites
- Python 3.11+
- uv (recommended)
Install
git clone https://github.com/sudharsanbabu83/TOMAPE.git
cd TOMAPE
uv sync --extra dev
cp .env.example .env
uv run tomape init-db
Add your LLM API key to .env (see Model configuration).
Run locally (mock — no API key)
# Windows PowerShell
$env:TOMAPE_MOCK_LLM="1"; uv run tomape serve --transport stdio
# macOS / Linux
TOMAPE_MOCK_LLM=1 uv run tomape serve --transport stdio
Run locally (live LLM)
uv run tomape serve --transport stdio
Run (HTTP — hosted)
uv run tomape serve --transport http --port 8080
Health check: GET http://localhost:8080/health
Cursor MCP Setup
Copy an example config into your project:
Platform Template macOS / Linux examples/cursor-mcp.json Windows examples/cursor-mcp.windows.json mkdir -p .cursor cp examples/cursor-mcp.json .cursor/mcp.json # adjust for your OSEdit
.cursor/mcp.json:- Set
cwdto your TOMAPE repo root (required so config and.envload) - Add
OPENAI_API_KEYorANTHROPIC_API_KEYinenv - On Windows, use the full path to
uv.exeifuvis not on PATH
- Set
Restart Cursor and confirm the
tomapeMCP server is connected.
Example config (macOS / Linux)
{
"mcpServers": {
"tomape": {
"command": "uv",
"args": ["run", "tomape", "serve", "--transport", "stdio"],
"cwd": "/path/to/TOMAPE",
"env": {
"OPENAI_API_KEY": "your-key",
"TOMAPE_MOCK_LLM": "0"
}
}
}
}
MCP Tools
| Tool | Description |
|---|---|
submit_task |
Start a session (task, constraints, budget_tokens, profile, compaction_policy) |
continue_session |
Follow-up without resending history |
get_session_status |
Poll running/completed/failed status |
get_result |
Final output + token_report |
cancel_session |
Abort a session |
get_token_report |
Token metrics and savings |
MCP Resources
| Resource | Description |
|---|---|
session://{session_id}/handoff |
Current compact handoff JSON |
session://{session_id}/logs |
Truncated raw output per hop |
Example prompts (in Cursor)
Use TOMAPE submit_task: summarize the benefits of context compaction. Budget 5000 tokens. Profile economy.
Use TOMAPE get_result for session sess_abc123
Token report
get_result and get_token_report return a token_report with:
total_tokens— tokens used in the sessionbudget_tokens— session capestimated_baseline— estimated cost without compactionsavings_percent— reduction vs baselinehops[]— per-hop model, tokens, andcompaction_ratio
HTTP API
Authenticate with Authorization: Bearer <api-key>.
# List tools
curl -H "Authorization: Bearer dev-key-change-me" http://localhost:8080/tools
# Submit task
curl -X POST http://localhost:8080/tools/call \
-H "Authorization: Bearer dev-key-change-me" \
-H "Content-Type: application/json" \
-d '{"name":"submit_task","arguments":{"task":"Classify these items: apple, car, dog","profile":"economy","budget_tokens":5000}}'
Docker
cd docker
TOMAPE_API_KEYS=dev-key-change-me OPENAI_API_KEY=sk-... docker compose up --build
Configuration
- Environment: .env.example
- Policies: config/default.yaml
Model configuration
Default models (OpenAI via LiteLLM):
| Tier | Model |
|---|---|
| small | openai/gpt-4o-mini |
| large | openai/gpt-4o |
Switch to Anthropic or any LiteLLM-supported provider by editing config/default.yaml and setting the matching API key in .env.
Profiles
| Profile | Behavior |
|---|---|
economy |
Small models, aggressive compaction, no escalation |
balanced |
Small default, escalate on failure |
quality |
Large models, light compaction |
Compaction policies
| Policy | Best for |
|---|---|
default |
General tasks |
code-agent |
Coding, file edits, test output |
research-agent |
Search, sources, key findings |
Development
uv run pytest
uv run ruff check tomape tests
Set TOMAPE_MOCK_LLM=1 to run without API keys.
Architecture
Client → MCP (stdio/HTTP) → Orchestrator → Router → LLM
↓
Compaction → Session Store → Metrics
Internal agents: Planner → Worker (per step) → Reviewer
License
MIT
Установка TOMAPE
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/sudharsanbabu83/TOMAPEFAQ
TOMAPE MCP бесплатный?
Да, TOMAPE MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для TOMAPE?
Нет, TOMAPE работает без API-ключей и переменных окружения.
TOMAPE — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить TOMAPE в Claude Desktop, Claude Code или Cursor?
Открой TOMAPE на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
автор: modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
автор: xuzexin-hzCompare TOMAPE with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории ai
