Clawdbot ToolsDocumentedScanned
claude-code-skill
MCP (Model Context Protocol) integration.
Share:
Installation
npx clawhub@latest install claude-code-skillView the full skill documentation and source below.
Documentation
OpenClaw Claude Code Skill
Description
MCP (Model Context Protocol) integration for OpenClaw/Clawdbot. Use when you need to:
- Connect and orchestrate MCP tool servers (filesystem, GitHub, etc.)
- Persist state across sessions with IndexedDB/localStorage
- Sync sessions across multiple devices
Triggers: "MCP", "tool server", "sub-agent orchestration", "session sync", "state persistence", "Claude Code integration"
Installation
npm install openclaw-claude-code-skill
Core APIs
MCP Server Management
import {
initializeMcpSystem,
addMcpServer,
executeMcpAction,
getAllTools
} from "openclaw-claude-code-skill";
// 1. Initialize all configured servers
await initializeMcpSystem();
// 2. Add a new MCP server
await addMcpServer("fs", {
command: "npx",
args: ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"]
});
// 3. Get available tools
const tools = await getAllTools();
// 4. Call a tool
const result = await executeMcpAction("fs", {
method: "tools/call",
params: { name: "read_file", arguments: { path: "/tmp/test.txt" } }
});
State Persistence
import { createPersistStore, indexedDBStorage } from "openclaw-claude-code-skill";
const useStore = createPersistStore(
{ count: 0, items: [] },
(set, get) => ({
increment: () => set({ count: get().count + 1 }),
addItem: (item: string) => set({ items: [...get().items, item] })
}),
{ name: "my-store" },
indexedDBStorage // or omit for localStorage
);
// Check hydration status
if (useStore.getState()._hasHydrated) {
console.log("State restored!");
}
Session Synchronization
import { mergeSessions, mergeWithUpdate, mergeKeyValueStore } from "openclaw-claude-code-skill";
// Merge chat sessions from multiple sources
const mergedSessions = mergeSessions(localSessions, remoteSessions);
// Merge configs with timestamp-based resolution
const mergedConfig = mergeWithUpdate(localConfig, remoteConfig);
Key Functions
| Function | Purpose |
initializeMcpSystem() | Start all MCP servers from config |
addMcpServer(id, config) | Add new server dynamically |
removeMcpServer(id) | Remove a server |
pauseMcpServer(id) | Pause a server |
resumeMcpServer(id) | Resume a paused server |
executeMcpAction(id, req) | Call a tool on specific server |
getAllTools() | List all available tools |
getClientsStatus() | Get status of all MCP clients |
setConfigPath(path) | Set custom config file location |
createPersistStore() | Create Zustand store with persistence |
mergeSessions() | Merge session arrays |
mergeWithUpdate() | Merge with timestamp resolution |
mergeKeyValueStore() | Merge key-value stores |
Configuration
Create mcp_config.json:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"],
"status": "active"
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": { "GITHUB_TOKEN": "your-token" },
"status": "active"
}
}
}
Set custom config path:
import { setConfigPath } from "openclaw-claude-code-skill";
setConfigPath("/path/to/mcp_config.json");
Requirements
- Node.js 18+
- TypeScript (optional but recommended)
Links
- [GitHub]()
- [npm]()
- [MCP Specification]()