MCP
Model Context Protocol (MCP) connects Veyyon to external tools and data. Veyyon is both an MCP
client (consumes configured servers) and can run as an MCP server (veyyon acp / SDK paths).
Responsibility
- Discover MCP servers from project and user config files
- Connect over stdio or HTTP (streamable HTTP / SSE-style transports)
- Register tools as namespaced names (
mcp__<server>__<tool>) - Handle OAuth for remote servers and persist credentials per profile
Implementation (TypeScript)
| Module | Role |
|---|---|
packages/coding-agent/src/mcp/ | Config load, manager, OAuth, tool wiring |
packages/coding-agent/src/discovery/mcp-json.ts | Standalone mcp.json discovery |
packages/coding-agent/src/modes/controllers/mcp-command-controller.ts | /mcp TUI commands |
Primary config files:
- Project:
.veyyon/mcp.json - User:
~/.veyyon/agent/mcp.json(profile-scoped when using--profile)
Veyyon also ingests MCP definitions from other tools (.cursor/mcp.json, .vscode/mcp.json,
Claude/Codex/Gemini configs) when discovery is enabled.
Engineering detail:
docs/mcp-config.md,
docs/mcp-runtime-lifecycle.md,
docs/mcp-protocol-transports.md.