agent_bootstrap
[DEPRECATED -- use agent_handshake instead] Generic agent onboarding. Returns default config for unknown agents.
Search a shared store of skills, protocols and truth patches, keep episodic memory of past attempts, and tell other agent instances what you have claimed.
LABSCO SUMMARY
Both search modes exist on purpose: keyword search for terms you already know, semantic search for a question phrased as a question, and a stack filter on each so a FastAPI answer does not arrive for a React problem. episodic_store is what makes episodic_search worth anything later — it records the task type and whether the attempt succeeded, not just what happened. The coordination pool assumes you are not alone: pool_signal marks a topic claimed or blocked so a second instance can see it before starting. agent_bootstrap is deprecated and points at agent_handshake.
A knowledge and coordination layer for agents: a searchable document store, a vector-backed episodic memory, and a pool that other instances read to see what is already taken.
Nothing — no account, no key. agent_handshake is the intended first call: it takes your model, context window, platform, languages and frameworks and hands back a configuration matched to them.
Follow the published steps — pip install midos-mcp
USE CASES
The documents are written for this system, so the search that finds them matters more than a web lookup would.
A reflection is only worth storing if it says whether the attempt succeeded; that is what makes the later similarity search useful.
Claims and blocks are announced rather than discovered, which is the difference between coordination and collision.
Whole-file retrieval returns too much context; splitting on function and class boundaries is what makes a hit precise.
Context window and platform change what is sensible to send; declaring them once produces defaults for the rest of the session.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
agent_bootstrap[DEPRECATED -- use agent_handshake instead] Generic agent onboarding. Returns default config for unknown agents.
agent_handshakePersonalized agent onboarding. Declare your environment and get optimal config.
Call this FIRST when connecting to MidOS. Pass as much info as you know. Unknown fields can be left empty -- you'll get sensible defaults.
Args: model: Your model ID (e.g. 'claude-opus-4-6', 'gemini-2.5-pro', 'opus') context_window: Your context window in tokens (e.g. 200000). 0 = auto-detect from model. client: Your CLI/IDE (e.g. 'claude-code', 'cursor', 'windsurf', 'cline') languages: Comma-separated languages (e.g. 'python,typescript') frameworks: Comma-separated frameworks (e.g. 'fastapi,react') platform: Your OS (e.g. 'windows', 'linux', 'macos') project_goal: What you're working on (e.g. 'manga engine with SVG rendering')
chunk_codeParse code file into semantic chunks (functions, classes, methods) for better RAG retrieval.
Args: file_path: Path to code file to chunk
episodic_searchSearch episodic memory for similar past experiences using vector similarity.
Args: query: Search query describing the experience/task limit: Maximum results (default: 5)
episodic_storeStore a new episodic memory/reflection for future learning.
Args: task_type: Type of task: CODE, RESEARCH, DEBUG, REVIEW input_preview: Brief description of the input/context success: Whether the task was successful
get_eurekaGet a specific EUREKA breakthrough document.
Args: name: EUREKA name (e.g., 'EUREKA_CACHE_SEMANTICA' or 'ATOM_001')
get_protocolGet a specific protocol document.
Args: name: Protocol name (e.g., 'PROTOCOL_NEURAL_LINK')
get_skillGet a specific skill/capability document by name.
Args: name: Skill name (e.g., 'RAG_SYSTEMS_2026_SOTA')
get_truthGet a specific truth patch document.
Args: name: Truth patch name (e.g., 'AGENT_MITIGATIONS_CONTEXT_OVERFLOW')
hive_statusGet current status of the Midos hive system.
list_skillsList all available skills/capabilities.
Args: filter: Optional filter for skill names stack: Optional stack filter, comma-separated (e.g. 'python,react'). Skills with matching compatibility.json are prioritized.
memory_statsGet statistics about the Midos memory system (LanceDB chunks, cache status).
pool_signalSignal an action to the multi-instance coordination pool.
Args: action: Action type: 'completed', 'blocked', 'claimed', 'signaling' topic: Topic/task name summary: Brief description of the action affects: Files/resources affected (optional)
pool_statusGet multi-instance coordination pool status and recent activity.
project_statusLive MidOS system status + quick-start guide for your agent.
Call this anytime to get:
This is your /status command. Use it to orient yourself and teach your agent how to leverage MidOS.
research_youtubeQueue a YouTube video for research. Midos will transcribe and extract insights.
Args: url: YouTube URL to research priority: Priority: 'high', 'normal', 'low'
search_knowledgeSearch the Midos knowledge base for relevant information.
Args: query: Search query (keywords or topic) max_results: Maximum results to return (default: 5)
semantic_searchSemantic search using LanceDB vectors (Gemini embeddings). More intelligent than keyword search.
Args: query: Natural language query (e.g., 'how to implement RAG pipelines') top_k: Number of results (default: 5) stack: Optional stack filter, comma-separated (e.g. 'python,fastapi'). Results mentioning these are boosted.
BEFORE YOU INSTALL
18 tools when we connected. The documentation lists 34 tools on the free Dev tier and 68 on Pro ($10 a month); an invalid or expired key silently falls back to Dev. The knowledge base is not in the pip package: clone MidOSresearch/midos and set MIDOS_ROOT to that folder, as in the install steps.
Python 3.10+
CONTEXT COST
Rated by the size of the 18 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
pip install midos-mcpIf you installed via pip, auto-detect won't find the knowledge base. Clone the repo and point MIDOS_ROOT to it:
git clone https://github.com/MidOSresearch/midos.git
export MIDOS_ROOT=<YOUR_MIDOS_ROOT>Check the setup — it shows the detected root and knowledge counts:
midos-mcp healthmidos-mcp config --generate claude<YOUR_MIDOS_ROOT> is the full path of the midos folder you cloned (the one containing knowledge/ and modules/). An export in your terminal does not reach a server your MCP client launches, so check that the entry the config command generates carries MIDOS_ROOT; if it does not, add it to that entry's "env" section with the same full path.
midos-mcp config --generate cursor<YOUR_MIDOS_ROOT> is the full path of the midos folder you cloned (the one containing knowledge/ and modules/). An export in your terminal does not reach a server your MCP client launches, so check that the entry the config command generates carries MIDOS_ROOT; if it does not, add it to that entry's "env" section with the same full path.
midos-mcp config --generate cline<YOUR_MIDOS_ROOT> is the full path of the midos folder you cloned (the one containing knowledge/ and modules/). An export in your terminal does not reach a server your MCP client launches, so check that the entry the config command generates carries MIDOS_ROOT; if it does not, add it to that entry's "env" section with the same full path.
midos-mcp config --generate windsurf<YOUR_MIDOS_ROOT> is the full path of the midos folder you cloned (the one containing knowledge/ and modules/). An export in your terminal does not reach a server your MCP client launches, so check that the entry the config command generates carries MIDOS_ROOT; if it does not, add it to that entry's "env" section with the same full path.
midos-mcp config --generate continue<YOUR_MIDOS_ROOT> is the full path of the midos folder you cloned (the one containing knowledge/ and modules/). An export in your terminal does not reach a server your MCP client launches, so check that the entry the config command generates carries MIDOS_ROOT; if it does not, add it to that entry's "env" section with the same full path.
midos-mcp config --generate zed<YOUR_MIDOS_ROOT> is the full path of the midos folder you cloned (the one containing knowledge/ and modules/). An export in your terminal does not reach a server your MCP client launches, so check that the entry the config command generates carries MIDOS_ROOT; if it does not, add it to that entry's "env" section with the same full path.
midos-mcp config --generate opencode<YOUR_MIDOS_ROOT> is the full path of the midos folder you cloned (the one containing knowledge/ and modules/). An export in your terminal does not reach a server your MCP client launches, so check that the entry the config command generates carries MIDOS_ROOT; if it does not, add it to that entry's "env" section with the same full path.
midos-mcp config --generate http<YOUR_MIDOS_ROOT> is the full path of the midos folder you cloned (the one containing knowledge/ and modules/). An export in your terminal does not reach a server your MCP client launches, so check that the entry the config command generates carries MIDOS_ROOT; if it does not, add it to that entry's "env" section with the same full path.