🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Claude Code Agent

by @enderfga

Integrates MCP tool servers for orchestration, state persistence with IndexedDB/localStorage, and session sync across devices in OpenClaw/Clawdbot.

Versionv0.2.0
Downloads4,258
TERMINAL
clawhub install claude-code-skill

πŸ“– About This Skill

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
  • βš™οΈ 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");