ABI Superpower: MCP
Exposes the MCP server and tool surface as a superpower.
Actions
serve
Start MCP server on stdio:
./mcp/launcher.sh stdio
tools
List all 12 frozen tools:
printf '%s\n' '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | ./target/debug/abi-mcp
call
Invoke a tool with arguments:
printf '%s\n' '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"ai_complete","arguments":{"input":"hello"}}}' | ./target/debug/abi-mcp
auth
The automatically attempted custom loopback listener can require an exact
bearer token configured before launch:
ABI_MCP_HTTP_TOKEN=local-secret ./target/debug/abi-mcp
health
There is no dedicated health command. Use a JSON-RPC ping or initialize
request over stdio; the HTTP listener is only a custom compatibility surface.
Frozen Tool Surface (12 tools)
ai_run - AI inference with profile routing
ai_complete - Completion with metadata
ai_learn - SEA self-learning completion
ai_train - Train agent profile
wdbx_query - Vector store query
scheduler_stats - Scheduler task counts
scheduler_info - Compatibility alias
connector_test - Local connector validation
gpu_status - GPU backend report
plugin_list - Bundled plugins
wdbx_stats - WDBX statistics
plugin_run - Execute plugin
Implementation
Maps to:
crates/abi-mcp/src/main.rs - JSON-RPC 2.0 server
crates/abi-mcp/src/handlers.rs - 12 tool implementations
crates/abi-mcp/src/http.rs - Custom loopback HTTP compatibility path
crates/abi-mcp/src/middleware.rs - Arg validation, size limits
Build and protocol boundary
The twelve handlers are built into abi-mcp; the historical feat-ai,
feat-wdbx, feat-metrics, and feat-tui switches do not exist in this Rust
workspace. The loopback listener is attempted at process startup and bind
failure leaves stdio running. GET /sse opens a persistent MCP 2024-11-05
HTTP+SSE session (responses to POST /message?sessionId=<id> arrive as SSE
message events); POST /message without a session keeps the one-shot
direct-reply mode. It is not Streamable HTTP (2025-03-26).
Client-side: registered consistently (see mcp skill + post-cleanup global configs).