{
  "schemaVersion": "1.0",
  "item": {
    "slug": "openclaw-mcp-plugin",
    "name": "Mcp Integration",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/lunarpulse/openclaw-mcp-plugin",
    "canonicalUrl": "https://clawhub.ai/lunarpulse/openclaw-mcp-plugin",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/openclaw-mcp-plugin",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=openclaw-mcp-plugin",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "config/openclaw.plugin.json",
      "docs/API.md",
      "docs/CONFIGURATION.md",
      "docs/EXAMPLES.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/openclaw-mcp-plugin"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/openclaw-mcp-plugin",
    "agentPageUrl": "https://openagent3.xyz/skills/openclaw-mcp-plugin/agent",
    "manifestUrl": "https://openagent3.xyz/skills/openclaw-mcp-plugin/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/openclaw-mcp-plugin/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Overview",
        "body": "Use the MCP integration plugin to discover and execute tools provided by external MCP servers. This skill enables you to access legal databases, query APIs, search databases, and integrate with any service that provides an MCP interface.\n\nThe plugin provides a unified mcp tool with two actions:\n\nlist - Discover available tools from all connected servers\ncall - Execute a specific tool with parameters"
      },
      {
        "title": "1.1 Check Available Tools",
        "body": "Always start by listing available tools to see what MCP servers are connected and what capabilities they provide.\n\nAction:\n\n{\n  tool: \"mcp\",\n  args: {\n    action: \"list\"\n  }\n}\n\nResponse structure:\n\n[\n  {\n    \"id\": \"server:toolname\",\n    \"server\": \"server-name\",\n    \"name\": \"tool-name\", \n    \"description\": \"What this tool does\",\n    \"inputSchema\": {\n      \"type\": \"object\",\n      \"properties\": {...},\n      \"required\": [...]\n    }\n  }\n]"
      },
      {
        "title": "1.2 Understand Tool Schemas",
        "body": "For each tool, examine:\n\nid: Format is \"server:toolname\" - split on : to get server and tool names\ndescription: Understand what the tool does\ninputSchema: JSON Schema defining parameters\n\nproperties: Available parameters with types and descriptions\nrequired: Array of mandatory parameter names"
      },
      {
        "title": "1.3 Match Tools to User Requests",
        "body": "Common tool naming patterns:\n\nsearch_* - Find or search operations (e.g., search_statute, search_users)\nget_* - Retrieve specific data (e.g., get_statute_full_text, get_weather)\nquery - Execute queries (e.g., database:query)\nanalyze_* - Analysis operations (e.g., analyze_law)\nresolve_* - Resolve references (e.g., resolve_citation)"
      },
      {
        "title": "2.1 Validate Parameters",
        "body": "Before calling a tool:\n\nIdentify all required parameters from inputSchema.required\nVerify parameter types match schema (string, number, boolean, array, object)\nCheck for constraints (minimum, maximum, enum values, patterns)\nEnsure you have necessary information from the user"
      },
      {
        "title": "2.2 Construct Tool Call",
        "body": "Action:\n\n{\n  tool: \"mcp\",\n  args: {\n    action: \"call\",\n    server: \"<server-name>\",\n    tool: \"<tool-name>\",\n    args: {\n      // Tool-specific parameters from inputSchema\n    }\n  }\n}\n\nExample - Korean legal search:\n\n{\n  tool: \"mcp\",\n  args: {\n    action: \"call\",\n    server: \"kr-legal\",\n    tool: \"search_statute\",\n    args: {\n      query: \"연장근로 수당\",\n      limit: 5\n    }\n  }\n}"
      },
      {
        "title": "2.3 Parse Response",
        "body": "Tool responses follow this structure:\n\n{\n  \"content\": [\n    {\n      \"type\": \"text\",\n      \"text\": \"JSON string or text result\"\n    }\n  ],\n  \"isError\": false\n}\n\nFor JSON responses:\n\nconst data = JSON.parse(response.content[0].text);\n// Access data.result, data.results, or direct properties"
      },
      {
        "title": "3.1 Chain Tool Calls",
        "body": "For complex requests, execute multiple tools in sequence:\n\nExample - Legal research workflow:\n\nSearch - search_statute to find relevant laws\nRetrieve - get_statute_full_text for complete text\nAnalyze - analyze_law for interpretation\nPrecedents - search_case_law for related cases\n\nEach step uses output from the previous step to inform the next call."
      },
      {
        "title": "3.2 Maintain Context",
        "body": "Between tool calls:\n\nExtract relevant information from each response\nUse extracted data as parameters for subsequent calls\nBuild up understanding progressively\nPresent synthesized results to user"
      },
      {
        "title": "4.1 Common Errors",
        "body": "\"Tool not found: server:toolname\"\n\nCause: Server not connected or tool doesn't exist\nSolution: Run action: \"list\" to verify available tools\nCheck spelling of server and tool names\n\n\"Invalid arguments for tool\"\n\nCause: Missing required parameter or wrong type\nSolution: Review inputSchema from list response\nEnsure all required parameters provided with correct types\n\n\"Server connection failed\"\n\nCause: MCP server not running or unreachable\nSolution: Inform user service is temporarily unavailable\nSuggest alternatives if possible"
      },
      {
        "title": "4.2 Error Response Format",
        "body": "Errors return:\n\n{\n  \"content\": [{\"type\": \"text\", \"text\": \"Error: message\"}],\n  \"isError\": true\n}\n\nHandle gracefully:\n\nExplain what went wrong clearly\nDon't expose technical implementation details\nSuggest next steps or alternatives\nDon't retry excessively"
      },
      {
        "title": "Step 1: Discover tools",
        "body": "{tool: \"mcp\", args: {action: \"list\"}}\n\nResponse shows kr-legal:search_statute with:\n\nRequired: query (string)\nOptional: limit (number), category (string)"
      },
      {
        "title": "Step 2: Execute search",
        "body": "{\n  tool: \"mcp\",\n  args: {\n    action: \"call\",\n    server: \"kr-legal\",\n    tool: \"search_statute\",\n    args: {\n      query: \"연장근로 수당\",\n      category: \"노동법\",\n      limit: 5\n    }\n  }\n}"
      },
      {
        "title": "Step 3: Parse and present",
        "body": "const data = JSON.parse(response.content[0].text);\n// Present data.results to user\n\nUser-facing response:\n\nFound 5 Korean statutes about overtime pay:\n\n1. 근로기준법 제56조 (연장·야간 및 휴일 근로)\n   - Overtime work requires 50% premium\n   \n2. 근로기준법 제50조 (근로시간)\n   - Standard working hours: 40 hours per week\n\nWould you like me to retrieve the full text of any statute?"
      },
      {
        "title": "List Tools",
        "body": "{tool: \"mcp\", args: {action: \"list\"}}"
      },
      {
        "title": "Call Tool",
        "body": "{\n  tool: \"mcp\",\n  args: {\n    action: \"call\",\n    server: \"server-name\",\n    tool: \"tool-name\",\n    args: {param1: \"value1\"}\n  }\n}"
      },
      {
        "title": "Essential Patterns",
        "body": "Tool ID parsing: \"server:toolname\" → split on : for server and tool names\n\nParameter validation: Check inputSchema.required and inputSchema.properties[param].type\n\nResponse parsing: JSON.parse(response.content[0].text) for JSON responses\n\nError detection: Check response.isError === true"
      },
      {
        "title": "Core Documentation",
        "body": "Plugin README: README.md - Installation and configuration\nReal Example: REAL_EXAMPLE_KR_LEGAL.md - Working kr-legal setup\nAPI Reference: API.md - Technical API details\nConfiguration: CONFIGURATION.md - Server configuration guide\nTroubleshooting: TROUBLESHOOTING.md - Common issues and solutions"
      },
      {
        "title": "Usage Examples",
        "body": "Examples Collection: EXAMPLES.md - 13 real-world examples including:\n\nLegal research workflows\nDatabase queries\nWeather service integration\nMulti-step complex workflows\nError handling patterns\n\nRemember: Always start with action: \"list\" when uncertain about available tools."
      }
    ],
    "body": "MCP Integration Usage Guide\nOverview\n\nUse the MCP integration plugin to discover and execute tools provided by external MCP servers. This skill enables you to access legal databases, query APIs, search databases, and integrate with any service that provides an MCP interface.\n\nThe plugin provides a unified mcp tool with two actions:\n\nlist - Discover available tools from all connected servers\ncall - Execute a specific tool with parameters\nProcess\n🔍 Phase 1: Tool Discovery\n1.1 Check Available Tools\n\nAlways start by listing available tools to see what MCP servers are connected and what capabilities they provide.\n\nAction:\n\n{\n  tool: \"mcp\",\n  args: {\n    action: \"list\"\n  }\n}\n\n\nResponse structure:\n\n[\n  {\n    \"id\": \"server:toolname\",\n    \"server\": \"server-name\",\n    \"name\": \"tool-name\", \n    \"description\": \"What this tool does\",\n    \"inputSchema\": {\n      \"type\": \"object\",\n      \"properties\": {...},\n      \"required\": [...]\n    }\n  }\n]\n\n1.2 Understand Tool Schemas\n\nFor each tool, examine:\n\nid: Format is \"server:toolname\" - split on : to get server and tool names\ndescription: Understand what the tool does\ninputSchema: JSON Schema defining parameters\nproperties: Available parameters with types and descriptions\nrequired: Array of mandatory parameter names\n1.3 Match Tools to User Requests\n\nCommon tool naming patterns:\n\nsearch_* - Find or search operations (e.g., search_statute, search_users)\nget_* - Retrieve specific data (e.g., get_statute_full_text, get_weather)\nquery - Execute queries (e.g., database:query)\nanalyze_* - Analysis operations (e.g., analyze_law)\nresolve_* - Resolve references (e.g., resolve_citation)\n🎯 Phase 2: Tool Execution\n2.1 Validate Parameters\n\nBefore calling a tool:\n\nIdentify all required parameters from inputSchema.required\nVerify parameter types match schema (string, number, boolean, array, object)\nCheck for constraints (minimum, maximum, enum values, patterns)\nEnsure you have necessary information from the user\n2.2 Construct Tool Call\n\nAction:\n\n{\n  tool: \"mcp\",\n  args: {\n    action: \"call\",\n    server: \"<server-name>\",\n    tool: \"<tool-name>\",\n    args: {\n      // Tool-specific parameters from inputSchema\n    }\n  }\n}\n\n\nExample - Korean legal search:\n\n{\n  tool: \"mcp\",\n  args: {\n    action: \"call\",\n    server: \"kr-legal\",\n    tool: \"search_statute\",\n    args: {\n      query: \"연장근로 수당\",\n      limit: 5\n    }\n  }\n}\n\n2.3 Parse Response\n\nTool responses follow this structure:\n\n{\n  \"content\": [\n    {\n      \"type\": \"text\",\n      \"text\": \"JSON string or text result\"\n    }\n  ],\n  \"isError\": false\n}\n\n\nFor JSON responses:\n\nconst data = JSON.parse(response.content[0].text);\n// Access data.result, data.results, or direct properties\n\n🔄 Phase 3: Multi-Step Workflows\n3.1 Chain Tool Calls\n\nFor complex requests, execute multiple tools in sequence:\n\nExample - Legal research workflow:\n\nSearch - search_statute to find relevant laws\nRetrieve - get_statute_full_text for complete text\nAnalyze - analyze_law for interpretation\nPrecedents - search_case_law for related cases\n\nEach step uses output from the previous step to inform the next call.\n\n3.2 Maintain Context\n\nBetween tool calls:\n\nExtract relevant information from each response\nUse extracted data as parameters for subsequent calls\nBuild up understanding progressively\nPresent synthesized results to user\n⚠ Phase 4: Error Handling\n4.1 Common Errors\n\n\"Tool not found: server:toolname\"\n\nCause: Server not connected or tool doesn't exist\nSolution: Run action: \"list\" to verify available tools\nCheck spelling of server and tool names\n\n\"Invalid arguments for tool\"\n\nCause: Missing required parameter or wrong type\nSolution: Review inputSchema from list response\nEnsure all required parameters provided with correct types\n\n\"Server connection failed\"\n\nCause: MCP server not running or unreachable\nSolution: Inform user service is temporarily unavailable\nSuggest alternatives if possible\n4.2 Error Response Format\n\nErrors return:\n\n{\n  \"content\": [{\"type\": \"text\", \"text\": \"Error: message\"}],\n  \"isError\": true\n}\n\n\nHandle gracefully:\n\nExplain what went wrong clearly\nDon't expose technical implementation details\nSuggest next steps or alternatives\nDon't retry excessively\nComplete Example\nUser Request: \"Find Korean laws about overtime pay\"\nStep 1: Discover tools\n{tool: \"mcp\", args: {action: \"list\"}}\n\n\nResponse shows kr-legal:search_statute with:\n\nRequired: query (string)\nOptional: limit (number), category (string)\nStep 2: Execute search\n{\n  tool: \"mcp\",\n  args: {\n    action: \"call\",\n    server: \"kr-legal\",\n    tool: \"search_statute\",\n    args: {\n      query: \"연장근로 수당\",\n      category: \"노동법\",\n      limit: 5\n    }\n  }\n}\n\nStep 3: Parse and present\nconst data = JSON.parse(response.content[0].text);\n// Present data.results to user\n\n\nUser-facing response:\n\nFound 5 Korean statutes about overtime pay:\n\n1. 근로기준법 제56조 (연장·야간 및 휴일 근로)\n   - Overtime work requires 50% premium\n   \n2. 근로기준법 제50조 (근로시간)\n   - Standard working hours: 40 hours per week\n\nWould you like me to retrieve the full text of any statute?\n\nQuick Reference\nList Tools\n{tool: \"mcp\", args: {action: \"list\"}}\n\nCall Tool\n{\n  tool: \"mcp\",\n  args: {\n    action: \"call\",\n    server: \"server-name\",\n    tool: \"tool-name\",\n    args: {param1: \"value1\"}\n  }\n}\n\nEssential Patterns\n\nTool ID parsing: \"server:toolname\" → split on : for server and tool names\n\nParameter validation: Check inputSchema.required and inputSchema.properties[param].type\n\nResponse parsing: JSON.parse(response.content[0].text) for JSON responses\n\nError detection: Check response.isError === true\n\nReference Documentation\nCore Documentation\nPlugin README: README.md - Installation and configuration\nReal Example: REAL_EXAMPLE_KR_LEGAL.md - Working kr-legal setup\nAPI Reference: API.md - Technical API details\nConfiguration: CONFIGURATION.md - Server configuration guide\nTroubleshooting: TROUBLESHOOTING.md - Common issues and solutions\nUsage Examples\nExamples Collection: EXAMPLES.md - 13 real-world examples including:\nLegal research workflows\nDatabase queries\nWeather service integration\nMulti-step complex workflows\nError handling patterns\n\nRemember: Always start with action: \"list\" when uncertain about available tools."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/lunarpulse/openclaw-mcp-plugin",
    "publisherUrl": "https://clawhub.ai/lunarpulse/openclaw-mcp-plugin",
    "owner": "lunarpulse",
    "version": "0.1.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/openclaw-mcp-plugin",
    "downloadUrl": "https://openagent3.xyz/downloads/openclaw-mcp-plugin",
    "agentUrl": "https://openagent3.xyz/skills/openclaw-mcp-plugin/agent",
    "manifestUrl": "https://openagent3.xyz/skills/openclaw-mcp-plugin/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/openclaw-mcp-plugin/agent.md"
  }
}