Overview
TheLoom.MCP.Server module uses the jido_mcp library to implement the MCP protocol. It publishes all 11 core Loom tools, allowing external clients to discover and invoke them through a standardized interface.
Configuration
Enable the MCP server in your.loom.toml configuration file:
Published Tools
The MCP server exposes the following Loom tools:- FileRead - Read file contents
- FileWrite - Write or create files
- FileEdit - Edit files with find-replace
- FileSearch - Search for files by pattern
- ContentSearch - Search file contents with regex
- DirectoryList - List directory contents
- Shell - Execute shell commands
- Git - Run git operations
- DecisionLog - Log AI decisions to the graph
- DecisionQuery - Query the decision graph
- SubAgent - Spawn sub-agents for complex tasks
External MCP clients can discover all available tools and their schemas through the standard MCP
tools/list request.API Reference
enabled?/0
Check if the MCP server should be started based on configuration.Returns
true if mcp.server_enabled = true in .loom.toml, otherwise false.child_specs/1
Generate child specs for the MCP server processes to include in a supervision tree.Server options:
transport: :stdio | {:streamable_http, opts}- Communication transport (default::stdio)
List of child specifications for the MCP server processes.
The Loom application automatically includes these child specs when
enabled?/0 returns true. You typically don’t need to call child_specs/1 directly.Transport Modes
STDIO Transport
The default transport mode communicates via standard input/output. This is the standard mode for MCP servers.- Integrating with editors that spawn MCP servers as child processes
- Using Claude Desktop or similar MCP clients
- Following the standard MCP server pattern
HTTP Transport
Streamable HTTP transport enables HTTP-based communication.- Building web-based integrations
- Connecting from remote clients
- Requiring RESTful access patterns
Integration Examples
Claude Desktop
Add Loom as an MCP server in your Claude Desktop configuration:VS Code (Cline Extension)
Configure Loom in the Cline MCP settings:Cursor
Add to your Cursor MCP server configuration:Zed
Configure in Zed’s MCP settings:MCP Protocol Details
Capabilities
Loom’s MCP server declares the following capabilities:Tool Discovery
Clients can request the tool list: Request:Tool Invocation
Clients invoke tools using thetools/call method:
Request:
Error Handling
MCP errors follow the JSON-RPC 2.0 error format:Common Error Codes
| Code | Meaning | Description |
|---|---|---|
| -32700 | Parse error | Invalid JSON |
| -32600 | Invalid request | Malformed request object |
| -32601 | Method not found | Unknown method |
| -32602 | Invalid params | Invalid method parameters |
| -32603 | Internal error | Server-side error |
Security Considerations
Extending the Server
You can create custom MCP servers with different tool sets:Monitoring
Monitor MCP server activity through Loom’s telemetry events:Troubleshooting
Server Not Starting
-
Check configuration:
-
Verify
.loom.tomlcontains: - Check application logs for startup errors
Tool Invocation Fails
- Verify tool name matches exactly (case-sensitive)
- Check parameter schema matches tool requirements
- Review error response for validation details
Connection Issues (HTTP Mode)
- Verify port is not already in use
- Check firewall settings
- Ensure HTTP transport is configured in
child_specs/1