Skip to main content
Glama
MidOSresearch

MidOS Research Protocol

midos-mcp

MidOS MCP Community Library — Knowledge, Skills, and Research as MCP tools.

Install once, connect to any AI client.

Install

pip install midos-mcp

Requirement: MidOS knowledge base must be available locally. Set the MIDOS_ROOT environment variable to point to your MidOS installation directory (the one containing knowledge/ and modules/).

export MIDOS_ROOT=/path/to/midos

Related MCP server: Code-MCP

Quick Start

# Start server (stdio — default for Claude Code, Cursor, etc.)
midos-mcp serve

# Start with HTTP transport
midos-mcp serve --http

# Generate config for your AI client
midos-mcp config --generate claude
midos-mcp config --generate cursor

# Check health
midos-mcp health

Commands

midos-mcp serve

Start the MCP server with your preferred transport.

midos-mcp serve              # stdio (default)
midos-mcp serve --http       # Streamable HTTP on 127.0.0.1:8419
midos-mcp serve --sse        # Legacy SSE transport
midos-mcp serve --http --host 0.0.0.0 --port 9000

Flag

Transport

Use Case

--stdio

stdio

Claude Code, Cursor, Cline (default)

--http

Streamable HTTP

Web clients, remote access

--sse

Server-Sent Events

Legacy clients

midos-mcp config

Generate ready-to-paste JSON config for any supported MCP client.

midos-mcp config --generate claude    # Claude Desktop / Claude Code
midos-mcp config --generate cursor    # Cursor IDE
midos-mcp config --generate cline     # Cline (VS Code)
midos-mcp config --generate windsurf  # Windsurf IDE
midos-mcp config --generate continue  # Continue.dev
midos-mcp config --generate zed       # Zed Editor
midos-mcp config --generate opencode  # OpenCode
midos-mcp config --generate http      # Generic HTTP client

# Write to file
midos-mcp config --generate claude -o mcp-config.json

midos-mcp health

Check server health: knowledge base stats, vector store status, dependencies.

midos-mcp health          # Human-readable output
midos-mcp health --json   # JSON output for scripts

midos-mcp keys

Manage API keys for tiered access control.

midos-mcp keys generate --name "my-app" --tier dev
midos-mcp keys list
midos-mcp keys revoke midos_sk_abc

Tiers: dev (free), pro ($10/mo), admin.

Configuration

Environment Variables

Variable

Default

Description

MIDOS_ROOT

auto-detect

Path to MidOS installation (required)

MIDOS_HOST

127.0.0.1

HTTP server bind host

MIDOS_PORT

8419

HTTP server bind port

MIDOS_TRANSPORT

stdio

Default transport

Root Detection

The server locates the MidOS knowledge base:

  1. MIDOS_ROOT environment variable (recommended)

  2. Auto-detect: walks up from package location looking for CLAUDE.md + knowledge/

  3. Fallback: current working directory

If you installed via pip, auto-detect won't find the knowledge base. Either:

# Option A: Clone the repo and point to it
git clone https://github.com/MidOSresearch/midos.git
export MIDOS_ROOT=./midos

# Option B: Point to an existing MidOS directory
export MIDOS_ROOT=/path/to/your/midos

Verify with midos-mcp health — it shows the detected root and knowledge counts.

Supported Clients

Client

Config File

Transport

Claude Desktop

claude_desktop_config.json

stdio

Claude Code

.mcp.json

stdio

Cursor

.cursor/mcp.json

stdio

Cline

cline_mcp_settings.json

stdio

Windsurf

~/.codeium/windsurf/mcp_config.json

stdio

Continue.dev

~/.continue/config.json

stdio

Zed

~/.config/zed/settings.json

stdio

OpenCode

opencode.json

SSE

Optional Dependencies

# Vector store support (LanceDB + embeddings)
pip install midos-mcp[vector]

# Development tools
pip install midos-mcp[dev]

What's Inside

MidOS exposes 68 MCP tools across 2 tiers:

Tier

Tools

Access

Dev

34 tools

Free — no API key needed, full content, 500 queries/month

Pro

68 tools

$10/mo — security ops, AOTC, orchestration, maker write ops

Capabilities

  • Knowledge — Search 46K+ curated chunks across all domains (full content, no truncation)

  • Skills — 119 reusable patterns across 16+ technology stacks

  • EUREKA — 383 validated improvements with measured ROI

  • Truth — 50 verified patches and corrections

  • SOTA — 140 state-of-the-art convergence ceilings

  • Vector Search — Semantic search via LanceDB + Gemini embeddings (3072-d)

Rate Limits

Tier

Queries/month

Content

Dev

500

Full content (no truncation)

Pro

100,000

Full content + AOTC + ops packs

Invalid or expired API keys silently fall back to Dev tier.

Requirements

  • Python 3.10+

  • FastMCP 2.x

  • MidOS knowledge base (local)

License

MIT

Available Tools

18 tools
agent_bootstrapA

[DEPRECATED -- use agent_handshake instead] Generic agent onboarding. Returns default config for unknown agents.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It only mentions returning a default config but does not disclose any side effects, permissions, or whether it is a read/write operation. For a deprecated tool, minimal behavioral context is given.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Exceptionally concise: one sentence plus deprecation notice. Every word serves a purpose, with the deprecation and replacement placed front and center.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given it is deprecated and has no parameters, the description covers the basics. Output schema exists to explain return values. Slight lack: does not elaborate on use cases for unknown agents, but sufficient for a deprecated tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has zero parameters, and schema coverage is 100%. The description correctly includes no parameter details because none exist. Baseline of 4 is appropriate as description adds no unnecessary information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool is deprecated and directs to 'agent_handshake' instead. It specifies the action ('Generic agent onboarding') and output ('Returns default config for unknown agents'), making the purpose unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly marked as deprecated with a direct replacement ('use agent_handshake instead'), providing clear when-to-use and when-not-to-use guidance. Also implies it is for unknown agents, but main guidance is the deprecation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

agent_handshakeA

Personalized 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')

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNo
clientNo
platformNo
languagesNo
frameworksNo
project_goalNo
context_windowNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It states the tool returns 'optimal config' but does not disclose if it modifies state, requires permissions, or what happens on repeated calls. For a handshake/onboarding tool, the behavior is partly inferred but not fully transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: a clear lead sentence followed by a bullet-like argument list with examples. It is front-loaded with purpose and usage instruction, and every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (handshake), zero required params, an output schema (not shown but present), and many siblings, the description fully covers context: what to pass, calling order, and expected return ('optimal config'). It is complete for its role.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% (no schema descriptions), yet the description lists all 7 parameters with examples (e.g., 'model: Your model ID (e.g. 'claude-opus-4-6')'). This adds substantial meaning beyond the bare schema, though the format of defaults in examples is slightly inconsistent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it is 'Personalized agent onboarding' to 'Declare your environment and get optimal config' and instructs to 'Call this FIRST when connecting to MidOS.' This sets a specific verb+resource scope and distinguishes it from siblings by positioning it as the mandatory initial step.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Call this FIRST when connecting to MidOS' and advises to 'Pass as much info as you know' while noting 'Unknown fields can be left empty -- you'll get sensible defaults.' It does not explicitly exclude alternatives like agent_bootstrap, but the clarity of when to use (at connection start) is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

chunk_codeA

Parse code file into semantic chunks (functions, classes, methods) for better RAG retrieval.

Args: file_path: Path to code file to chunk

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It states 'parse' but does not indicate whether the tool is read-only, what file types are supported, or how errors (e.g., missing file) are handled. The purpose is clear, but behavioral details are sparse.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with one sentence and an args section. It is front-loaded with the main purpose. The structure is efficient, though it could benefit from slightly more organization (e.g., bullet points).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, the description does not need to detail return values. However, it omits important context such as supported programming languages, file size limits, and error behavior. This makes it adequate but incomplete for a code parsing tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description explains the single parameter 'file_path' as a path to a code file to chunk, adding meaning beyond the schema's type-only definition. Since schema description coverage is 0%, the description compensates well by providing context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: parsing code files into semantic chunks (functions, classes, methods) for RAG retrieval. The verb 'parse' and resource 'code file' are specific, and the tool is distinct from sibling tools like 'search_knowledge' which focus on searching.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for RAG retrieval but lacks explicit guidance on when to use or when not to use this tool. No alternatives are mentioned, and the context does not clarify when this tool is preferred over siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

episodic_storeA

Store 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

ParametersJSON Schema
NameRequiredDescriptionDefault
successNo
task_typeYes
input_previewYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must disclose behaviors. It only describes the action and parameters, but no details about side effects, overwrite or append behavior, persistence guarantees, or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: one sentence summary followed by a compact args list. No wasted words, front-loaded with purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity and presence of an output schema, the description covers basic usage but lacks key context like idempotency, concurrency behavior, or whether duplicates are allowed. It is minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description adds clear meanings for all three parameters (task_type lists allowed values, input_preview explains what it represents, success indicates outcome). This compensates well for the schema gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Store' and resource 'episodic memory/reflection', and it is distinguishable from sibling 'episodic_search' which is for retrieval.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, no exclusions or prerequisites mentioned. The description only explains what it does, not when to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_eurekaB

Get a specific EUREKA breakthrough document.

Args: name: EUREKA name (e.g., 'EUREKA_CACHE_SEMANTICA' or 'ATOM_001')

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries full burden. It only states it 'gets' a document, with no disclosure of side effects, permissions, or return behavior beyond the basic action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, front-loading the core purpose. Every sentence serves a purpose without wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool (single parameter, output schema exists), the description is mostly adequate. However, it does not explain what a 'EUREKA breakthrough document' is, which may require external knowledge.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description adds value by providing examples of the 'name' parameter (e.g., 'EUREKA_CACHE_SEMANTICA' or 'ATOM_001'), which clarifies the expected format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves a specific EUREKA document. It uses a verb+resource pattern and distinguishes from siblings like 'get_protocol' and 'get_skill'. However, 'EUREKA' is not defined, which slightly reduces clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. The description lacks explicit context for when it is appropriate or exclusion criteria for siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_protocolC

Get a specific protocol document.

Args: name: Protocol name (e.g., 'PROTOCOL_NEURAL_LINK')

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description implies a read operation but does not disclose side effects, authentication requirements, or error behavior. With no annotations, this is insufficient for a safe selection.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with one sentence and an argument section. It is front-loaded and avoids unnecessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema and only one parameter, the description is minimally adequate but does not cover scenarios like missing protocol or return format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% coverage for the 'name' parameter, but the description provides an example ('PROTOCOL_NEURAL_LINK') and states it's a protocol name. This adds some meaning beyond the schema, but not full semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get a specific protocol document,' which specifies the verb and resource. It distinguishes from sibling tools by the resource name 'protocol', but lacks additional differentiation context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'get_eureka' or 'get_skill'. The description does not mention context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_skillB

Get a specific skill/capability document by name.

Args: name: Skill name (e.g., 'RAG_SYSTEMS_2026_SOTA')

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavior. It only states retrieval by name, without mentioning error handling (e.g., if name not found), access restrictions, or data format. Minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with the core purpose. The Args section is somewhat redundant with the schema but keeps it readable. No wasted words; however, the redundancy prevents a perfect score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained. However, the description lacks context about what a skill/capability document is or contains. For a single-parameter tool, it is minimally adequate but could be more informative.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It adds an example ('RAG_SYSTEMS_2026_SOTA') and clarifies that 'name' is a skill name, but does not define valid naming conventions or document structure. Slightly better than the schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies the action 'Get' and the resource 'specific skill/capability document', clearly distinguishing it from sibling 'list_skills' which would return multiple skills. The verb and object are precise.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'list_skills'. There is no mention of prerequisites, context, or what constitutes a valid skill name, leaving the agent to infer usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_truthC

Get a specific truth patch document.

Args: name: Truth patch name (e.g., 'AGENT_MITIGATIONS_CONTEXT_OVERFLOW')

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description only says 'Get', implying a read operation. It does not disclose any behavioral traits such as authentication requirements, rate limits, side effects, or response format. Since there are no annotations to contradict, there is no contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, consisting of a single sentence and one line for the parameter. It is front-loaded and contains no redundant or extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having only one parameter and an output schema, the description is insufficient. It does not explain what a 'truth patch document' is or what the tool returns, leaving the agent without enough context to use it effectively. Sibling tools like get_eureka or get_protocol likely have similar descriptions, but this one lacks differentiation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one required string parameter 'name' with 0% description coverage. The description adds semantic value by labeling it as 'Truth patch name' and providing an example. However, it does not explain the format or constraints of the name beyond the example.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'specific truth patch document'. It provides an example parameter value, but does not distinguish it from sibling tools like get_eureka or get_protocol, which also retrieve specific documents.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives. The description does not mention conditions, exclusions, or prerequisites for using get_truth over other 'get' tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hive_statusB

Get current status of the Midos hive system.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must convey behavioral traits. 'Get current status' implies a read operation but does not explicitly state it is safe, side-effect-free, or whether authentication is needed. It adds minimal value beyond the tool name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It efficiently communicates the tool's purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless status read with an output schema, the description is sufficiently complete. It could mention the nature of the status (e.g., health metrics), but the output schema likely covers that.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters (100% schema coverage), and the baseline is 4. The description does not need to add parameter information since the schema already handles it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves the current status of the Midos hive system. It distinguishes itself from sibling status tools like pool_status and project_status by specifying 'hive system', though it could elaborate on what that encompasses.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as pool_status or project_status. The description lacks usage context or exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_skillsA

List 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
stackNo
filterNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It notes stack-based prioritization but lacks details on side effects, auth, or ordering beyond 'prioritized.'

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief but includes a structured Args section. The main purpose is front-loaded in two clear sentences, though the Args section could be more compact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema exists, the description need not cover return values. It adequately explains parameters and list behavior; missing pagination hints but acceptable for a simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description adds meaning by defining 'filter' as optional skill name filter and 'stack' as comma-separated with prioritization behavior, exceeding the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List all available skills/capabilities' uses a specific verb (List) and resource (skills/capabilities), clearly distinguishing it from sibling 'get_skill' which retrieves a single skill.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains optional filter and stack parameters but does not explicitly state when to use this tool vs alternatives like get_skill. It implies listing all, but no direct when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

memory_statsA

Get statistics about the Midos memory system (LanceDB chunks, cache status).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description indicates a read-only operation ('Get statistics'), which is appropriate for a tool with no parameters. Since no annotations are provided, the description adequately conveys the tool's safety and intent, though it could explicitly state it has no side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence of 11 words that directly states the tool's purpose. No extraneous information is included.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters and an output schema exists (not shown), the description is sufficiently complete. It identifies the two key statistics areas (LanceDB chunks, cache status). Minor improvement could be mentioning additional output details, but the schema likely covers that.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters, and schema description coverage is 100% (empty schema). The description does not need to add parameter meanings, earning a baseline score of 4 for parameterless tools.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves statistics about the Midos memory system, specifically mentioning LanceDB chunks and cache status. This verb-resource pair is distinct from sibling tools like hive_status or pool_status, which target different subsystems.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when memory system statistics are needed, but does not explicitly guide when to use this tool versus alternatives like hive_status or pool_status. No exclusions or conditionals are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pool_signalC

Signal 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)

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYes
actionYes
affectsNo
summaryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description does not disclose behavioral traits like side effects, blocking behavior, or response semantics. Only lists actions but not effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose front-loaded but the Args section adds length. Could be more compact without losing clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Missing behavioral context and usage scenarios. No output schema shown in evaluation; description does not cover return values. With no annotations, the description should provide more detail.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 0% description coverage, so the description adds meaning by explaining each parameter's role ('action type', 'topic', 'summary', 'affects'). However, lacks detailed constraints (e.g., valid action values).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool signals an action to a multi-instance coordination pool, with a specific verb and resource. It lists parameters adding clarity, but does not explicitly differentiate from sibling tools like 'pool_status' or 'hive_status'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. No context on prerequisites or typical use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pool_statusB

Get multi-instance coordination pool status and recent activity.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits fully. It only states it gets status and activity, but does not mention it is read-only, non-destructive, or any prerequisites. The agent lacks crucial behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is a single sentence, concise and front-loaded. However, it could be slightly more descriptive without being verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is minimal but an output schema exists (not shown). It mentions 'status and recent activity' which provides some context, but lacks detail on the nature of the output (e.g., health indicators).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has zero parameters, so schema coverage is 100%. Baseline is 4; no additional parameter information is needed, and description does not repeat schema content.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly specifies the tool retrieves status and recent activity of a multi-instance coordination pool, using a specific and distinguishable verb and resource. It differentiates from sibling tools like 'hive_status' by focusing on 'pool' coordination.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as 'hive_status' or 'project_status'. The description lacks context for usage or exclusion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

project_statusA

Live MidOS system status + quick-start guide for your agent.

Call this anytime to get:

  • Real-time knowledge base stats (chunks, skills, EUREKA, truth patches)

  • Vector store health

  • Available MCP tools with usage examples

  • Research queue (pending topics)

  • Tips to get the most out of MidOS

This is your /status command. Use it to orient yourself and teach your agent how to leverage MidOS.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It thoroughly describes the behavior: real-time stats, vector health, available MCP tools with examples, research queue, and tips. There is no contradiction with annotations as none exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: a title line, a bullet list of what the tool returns, and a closing sentence. Every sentence adds value, and the format is easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and the presence of an output schema (though not provided), the description is complete. It lists all the return items explicitly, making it sufficient for an agent to understand the tool's purpose and use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters (0 params), so the baseline is 4. The description does not need to explain parameters, and it provides no parameter information, which is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description is very specific: 'Live MidOS system status + quick-start guide for your agent.' It lists exactly what it returns (stats, health, tools, queue, tips) and clearly states it is a '/status command,' distinguishing it from sibling tools like hive_status and memory_stats.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Call this anytime' and 'Use it to orient yourself and teach your agent how to leverage MidOS,' providing clear guidance on when to use it. It lacks explicit 'when not to use' or alternatives, but the context is strong enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

research_youtubeB

Queue a YouTube video for research. Midos will transcribe and extract insights.

Args: url: YouTube URL to research priority: Priority: 'high', 'normal', 'low'

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
priorityNonormal

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must disclose behavioral traits. It states the tool queues a video and that transcription/insight extraction will follow, but does not specify if it's asynchronous, error handling, rate limits, or any side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with one introductory sentence and a parameter list. It avoids fluff but the parameter list could be more formally integrated with the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (2 params, no enums), the description covers basic purpose and parameters. However, it lacks behavioral details and usage guidelines, which are important for an agent to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description adds meaning by explaining the url parameter as the YouTube URL and priority as high/normal/low with a default. This is helpful beyond the schema's type and default fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool queues a YouTube video for research and that Midos will transcribe and extract insights. It uses specific verbs and resource, and distinguishes from sibling tools which are mostly about knowledge search and agent management.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for researching a YouTube video but provides no explicit guidance on when to use this tool versus alternatives, no prerequisites, and no mention of when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_knowledgeC

Search the Midos knowledge base for relevant information.

Args: query: Search query (keywords or topic) max_results: Maximum results to return (default: 5)

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It only states the tool searches, but offers no details on mutation, permissions, rate limits, or result characteristics, which is inadequate for a search tool with no annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded with the purpose, followed by a clear list of arguments. It contains no fluff, though the lack of structure for additional context is acceptable given its brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the existence of an output schema, return values need not be explained. However, the description omits context like ranking criteria or scope of the knowledge base, and fails to address the presence of multiple sibling search tools, leaving the picture incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description carries the burden but merely rephrases parameter names and types. It adds minimal value beyond the schema, lacking details like query format or the effect of max_results on output.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches the Midos knowledge base for relevant information, specifying the resource and action. However, it does not differentiate from sibling search tools like semantic_search or episodic_search, which may cause confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, nor does it mention any prerequisites or excluded scenarios. This leaves the agent without decision support.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.1/5.0
Disambiguation2/5

Multiple tools have overlapping purposes. 'get_eureka', 'get_protocol', 'get_skill', and 'get_truth' all retrieve named documents with minimal distinction. Status tools like 'hive_status', 'memory_stats', 'pool_status', and 'project_status' also overlap, with 'project_status' subsuming many others. Additionally, a deprecated 'agent_bootstrap' adds confusion.

Naming Consistency3/5

Tool names are consistently in snake_case, but the pattern is mixed: some start with verbs (get_, list_, chunk_), others with nouns (agent_, episodic_, hive_). This inconsistency makes it harder for an agent to predict tool names, though they remain readable.

Tool Count3/5

With 18 tools, the server is on the higher end of the recommended range. While each tool has a distinct function, the count feels slightly heavy for a research protocol, especially given the overlaps. It could be streamlined.

Completeness3/5

The server covers onboarding, memory, knowledge retrieval, status monitoring, and research queuing, but lacks write operations for many document types (e.g., no create/update for skills, eurekas, or protocols). The research queue only has an enqueue tool, with no management or listing beyond status.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    Enables comprehensive Stacks blockchain development with 30+ specialized tools for Clarity smart contracts, SIP compliance, security analysis, and performance optimization. Provides complete access to SIP standards, token development templates, security-first patterns with mandatory post-conditions, and full-stack dApp development guidance.
    36
    7
  • F
    license
    B
    quality
    Not graded
    maintenance
    Turns AI assistants into full-stack software engineers with 36 tools for cognitive reasoning, code validation, project scaffolding, and AI/IDE configuration generation across 130+ programming languages, databases, and frameworks.
    35
    32
  • A
    license
    A
    quality
    D
    maintenance
    Provides 634+ curated production-ready AI skills for any MCP-compatible client, covering areas like security, frontend, backend, infrastructure, AI/ML, and architecture. Enables AI agents to access best practices, patterns, and solutions across multiple domains.
    6
    8
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MidOSresearch/midos'

If you have feedback or need assistance with the MCP directory API, please join our Discord server