Conversation
Greptile SummaryRefactored MCP implementation from TCP-based stdio bridge to direct HTTP-based FastAPI server/client architecture. The new approach simplifies the integration with Claude Code by removing the intermediate bridge layer and using HTTP JSON-RPC directly. Major Changes:
Issues Found:
Confidence Score: 3/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant Claude as Claude Code
participant Client as McpClient
participant Server as McpServer
participant Skills as Robot Skills
Note over Claude,Skills: Initialization Phase
Claude->>Server: HTTP POST /mcp (initialize)
Server-->>Claude: Server capabilities & info
Claude->>Server: HTTP POST /mcp (tools/list)
Server->>Skills: get_skills()
Skills-->>Server: List of SkillInfo
Server-->>Claude: Available tools with schemas
Note over Claude,Skills: Tool Execution Phase
Claude->>Client: Human input message
Client->>Client: Queue message
Client->>Client: LangChain agent processes
Client->>Server: HTTP POST /mcp (tools/call)
Server->>Skills: RPC call to skill
Skills-->>Server: Result or None
Server-->>Client: JSON-RPC result
Client->>Client: Append to history
Client->>Claude: Publish agent message
Note over Client,Skills: Image Handling
Skills-->>Server: Result with agent_encode()
Server-->>Client: Content with image data
Client->>Client: Add UUID, append to history
Client->>Claude: Tool response + image message
Last reviewed commit: 2fdf0cb |
|
@paul-nechifor should we just fork openclaw? Theyve build a lot of robust MCP and hosted gateway infra, runs on all architectures, etc |
2fdf0cb to
df8c8fc
Compare
I don't think we need to fork openclaw, we just want to connect it to our MCP server. And we'll want to publish a SKILL.md file to ClawHub so openclaw knows how to use our server. |
df8c8fc to
a28712f
Compare
Problem
We need to move towards greater support for MCP.
Closes DIM-533
https://linear.app/dimensional/issue/DIM-533/add-mcp-client-and-server
Solution
Agent. It has been efectivelly split betweenMcpClientandMcpServer.@skillfunctions as MCP tools./human_inputso it can be used through thehumanclilikeAgentcan.Next tasks:
Breaking Changes
None
How to Test
Run
...instead of
unitree-go2-agenticand interact with it the same way throughhumancli:start exploring, stop, move forward 2 meters, etc.