Document MCP integration for both Pi and Claude Code
This commit is contained in:
@@ -40,19 +40,15 @@ Es ist also nicht mehr nur ein Mensch, der mit einer KI chattet, sondern Pi ents
|
||||
## Ein Blick unter die Haube
|
||||
|
||||
### Die Extension (Pi-Seite)
|
||||
Für alle, die es technisch interessiert: Die Extension ist in TypeScript geschrieben. Beim Start einer Pi-Session (via `session_start` Event) baut Pi eine `StreamableHTTPClientTransport`-Verbindung zu deiner NanoClaw-Instanz auf.
|
||||
Pi hat von Haus aus keine native MCP-Unterstützung für Tools. Deshalb habe ich die Extension `nanoclaw-mcp-ext` entwickelt. Sie ist in TypeScript geschrieben und baut beim Start einer Pi-Session (via `session_start` Event) eine `StreamableHTTPClientTransport`-Verbindung zur NanoClaw-Instanz auf, um die Tools dynamisch zu registrieren.
|
||||
|
||||
```typescript
|
||||
// Ein kleiner Auszug, wie Pi die Carson-Tools lädt:
|
||||
const client = new Client(
|
||||
{ name: "pi-mcp-client", version: "1.0.0" },
|
||||
{ capabilities: { tools: {} } }
|
||||
);
|
||||
|
||||
// Ein kleiner Auszug, wie Pi die Tools meines KI-Agenten lädt:
|
||||
const client = new Client({ name: "pi-mcp-client", version: "1.0.0" }, { capabilities: { tools: {} } });
|
||||
await client.connect(transport);
|
||||
const { tools } = await client.listTools();
|
||||
|
||||
// Alle Tools, die Carson anbietet, werden für Pi verfügbar gemacht
|
||||
// Alle Tools werden für Pi verfügbar gemacht
|
||||
for (const tool of tools) {
|
||||
pi.registerTool({
|
||||
name: tool.name,
|
||||
@@ -62,6 +58,20 @@ for (const tool of tools) {
|
||||
}
|
||||
```
|
||||
|
||||
### Integration in Claude Code
|
||||
Im Gegensatz zu Pi unterstützt `claude` das Model Context Protocol bereits nativ. Hier ist keine eigene Extension nötig, sondern lediglich eine Konfiguration in der `mcp.json`. Ich habe dort einfach den Endpunkt meines KI-Agenten hinterlegt, und schon greift auch `claude` direkt darauf zu:
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"nanoclaw": {
|
||||
"command": "bash",
|
||||
"args": ["-c", "curl -s -H \"Authorization: Bearer $NANOCLAW_MCP_TOKEN\" http://localhost:3002/mcp"]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Die Serverseite (NanoClaw-Seite)
|
||||
Das Herzstück der Kommunikation liegt in der `mcp-server.ts` innerhalb der NanoClaw-Instanz. Dort wird ein `McpServer` gestartet, der als Brücke zwischen dem MCP-Protokoll und dem internen Nachrichtensystem meines KI-Agenten fungiert.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user