MCP and Agent Workflows¶
otito can run as a stdio MCP server so agent hosts can ask for repository context without scraping terminal output.
Start The Server¶
The npm package is not published yet. Start from a local checkout:
From a local checkout:
The MCP server uses stdio. The agent host starts otito mcp as a child process and speaks JSON-RPC over standard input and output.
MCP Client Examples¶
Use the checkout path until npm publication. After installation, the otito binary can replace the node command below.
Generic stdio client¶
Many MCP clients use this shape:
{
"mcpServers": {
"otito": {
"command": "node",
"args": ["/absolute/path/to/otito/src/cli.js", "mcp"],
"env": {}
}
}
}
Some hosts also require an explicit "type": "stdio" field. Check the host's current MCP schema before copying a config into a shared repository.
For a local checkout instead of a global install:
{
"mcpServers": {
"otito": {
"command": "node",
"args": ["/path/to/otito/src/cli.js", "mcp"],
"env": {}
}
}
}
Keep /path/to/otito as a private local path. Do not commit machine-specific absolute paths to public documentation or shared repositories.
Claude Desktop¶
Claude Desktop uses claude_desktop_config.json with a top-level mcpServers object.
| OS | Config file |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
After editing the config, fully restart Claude Desktop. If the server does not appear, run otito doctor and otito mcp manually in a terminal first, then check the MCP logs for the host.
Reference: Model Context Protocol local server guide.
VS Code¶
VS Code stores MCP server configuration in mcp.json. Workspace-level configuration lives at .vscode/mcp.json; user-level configuration is also supported by VS Code.
VS Code uses a top-level servers object:
Useful commands from the Command Palette:
MCP: Add ServerMCP: List ServersMCP: Reset Cached ToolsMCP: Open Workspace Folder MCP ConfigurationMCP: Open User Configuration
Reference: VS Code MCP configuration reference.
Cursor¶
Cursor uses mcp.json with a top-level mcpServers object.
| Scope | Config file |
|---|---|
| Project | .cursor/mcp.json |
| Global | ~/.cursor/mcp.json |
Use a project config when otito should only be available for one workspace. Use a global config only when you want the server available across projects.
Reference: Cursor MCP docs.
MCP Tool Surface¶
Òtítọ́ exposes 13 MCP tools for deterministic repository context and merge evidence.
| Tool | Purpose |
|---|---|
repo_inspect |
Inspect repository shape, scripts, package managers, entrypoints, and git state |
repo_map |
Build a compact JSON code map with optional domain, kind, and route filters (TS/JS, Go, C#, Python, Java, Ruby, Rust) |
repo_index |
Generate local .otito/index.json files and catalog entries; dryRun:true discovers read-only |
repo_search |
Search cataloged repositories by path, route, import, export, symbol, or domain; omit query to list the catalog |
context_pack |
Build a task-aware context packet |
change_impact |
Rank files most likely to own a plain-English change request |
agent_experience |
Score Agent Experience (AX 0–100): changeability, containment, guardrails, clarity (v2.3+) |
convergence_score |
Score intent vs. execution (0–100) with a recomputable receipt (v2.3+) |
review_context |
Diff/comment review context (no verdict) |
review_gate |
PASS/WARN/FAIL merge gate — local without pr, GitHub PR gate with pr; optionally enforces a convergence floor/receipt |
review_verdict |
Composite verdict: impact + review_context + review_gate |
workspace_report |
Build product-level context across multiple repos |
repo_harness |
Generate setup, validation, runtime, and context commands |
Agent Loop¶
Host Guidance¶
Recommended agent behavior
Ask otito for context before planning broad work. Use the output to choose files to read, not as a replacement for source inspection.
Boundary
Òtítọ́ does not approve or merge code. Pair it with tests, code review, branch protection, and a human decision.
MCP safety
MCP hosts can start local processes. Only add MCP servers from trusted repositories, review command paths before enabling them, avoid putting secrets directly in config files, and keep local absolute paths out of public docs.