{
  "schemaVersion": "1.0",
  "item": {
    "slug": "decompose-mcp",
    "name": "Decompose Mcp",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/echology-io/decompose-mcp",
    "canonicalUrl": "https://clawhub.ai/echology-io/decompose-mcp",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/decompose-mcp",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=decompose-mcp",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "claw.json"
    ],
    "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. 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. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "slug": "decompose-mcp",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-02T09:39:08.316Z",
      "expiresAt": "2026-05-09T09:39:08.316Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=decompose-mcp",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=decompose-mcp",
        "contentDisposition": "attachment; filename=\"decompose-mcp-0.1.2.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "decompose-mcp"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/decompose-mcp"
    },
    "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/decompose-mcp",
    "agentPageUrl": "https://openagent3.xyz/skills/decompose-mcp/agent",
    "manifestUrl": "https://openagent3.xyz/skills/decompose-mcp/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/decompose-mcp/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. 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. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Decompose",
        "body": "Decompose any text or URL into classified semantic units. Each unit gets authority level, risk category, attention score, entity extraction, and irreducibility flags. No LLM required. Deterministic. Runs locally."
      },
      {
        "title": "1. Install",
        "body": "pip install decompose-mcp"
      },
      {
        "title": "2. Configure MCP Server",
        "body": "Add to your OpenClaw MCP config:\n\n{\n  \"mcpServers\": {\n    \"decompose\": {\n      \"command\": \"python3\",\n      \"args\": [\"-m\", \"decompose\", \"--serve\"]\n    }\n  }\n}"
      },
      {
        "title": "3. Verify",
        "body": "python3 -m decompose --text \"The contractor shall provide all materials per ASTM C150-20.\""
      },
      {
        "title": "decompose_text",
        "body": "Decompose any text into classified semantic units.\n\nParameters:\n\ntext (required) — The text to decompose\ncompact (optional, default: false) — Omit zero-value fields for smaller output\nchunk_size (optional, default: 2000) — Max characters per unit\n\nExample prompt: \"Decompose this spec and tell me which sections are mandatory\"\n\nReturns: JSON with units array. Each unit contains:\n\nauthority — mandatory, prohibitive, directive, permissive, conditional, informational\nrisk — safety_critical, security, compliance, financial, contractual, advisory, informational\nattention — 0.0 to 10.0 priority score\nactionable — whether someone needs to act on this\nirreducible — whether content must be preserved verbatim\nentities — referenced standards and codes (ASTM, ASCE, IBC, OSHA, etc.)\ndates — extracted date references\nfinancial — extracted dollar amounts and percentages\nheading_path — document structure hierarchy"
      },
      {
        "title": "decompose_url",
        "body": "Fetch a URL and decompose its content. Handles HTML, Markdown, and plain text.\n\nParameters:\n\nurl (required) — URL to fetch and decompose\ncompact (optional, default: false) — Omit zero-value fields\n\nExample prompt: \"Decompose https://spec.example.com/transport and show me the security requirements\""
      },
      {
        "title": "What It Detects",
        "body": "Authority levels — RFC 2119 keywords: \"shall\" = mandatory, \"should\" = directive, \"may\" = permissive\nRisk categories — safety-critical, security, compliance, financial, contractual\nAttention scoring — authority weight x risk multiplier, 0-10 scale\nStandards references — ASTM, ASCE, IBC, OSHA, ACI, AISC, AWS, ISO, EN\nFinancial values — dollar amounts, percentages, retainage, liquidated damages\nDates — deadlines, milestones, notice periods\nIrreducibility — legal mandates, threshold values, formulas that cannot be paraphrased"
      },
      {
        "title": "Use Cases",
        "body": "Pre-process documents before sending to your LLM — save 60-80% of context window\nClassify specs, contracts, policies, regulations by obligation level\nExtract standards references and compliance requirements\nRoute high-attention content to specialized analysis chains\nBuild structured training data from raw documents"
      },
      {
        "title": "Performance",
        "body": "~14ms average per document on Apple Silicon\n1,000+ chars/ms throughput\nZero API calls, zero cost, works offline\nDeterministic — same input always produces same output"
      },
      {
        "title": "Security & Trust",
        "body": "Text classification is fully local. The decompose_text tool performs all processing in-process with no network I/O. No data leaves your machine.\n\nURL fetching performs outbound HTTP requests. The decompose_url tool fetches the target URL, which necessarily involves network I/O to the specified host. This is why the skill declares the network permission in claw.json. If you do not need URL fetching, you can use decompose_text exclusively with no network access required.\n\nSSRF protection. URL fetching blocks private/internal IP ranges before connecting: 0.0.0.0/8, 10.0.0.0/8, 100.64.0.0/10, 127.0.0.0/8, 169.254.0.0/16, 172.16.0.0/12, 192.168.0.0/16, ::1/128, fc00::/7, fe80::/10. The implementation resolves the hostname via DNS before connecting and checks all returned addresses against the blocklist. See src/decompose/mcp_server.py lines 19-49.\n\nNo API keys or credentials required. No external services are contacted except when using decompose_url to fetch user-specified URLs.\n\nSource code is fully auditable. The complete source is published at github.com/echology-io/decompose. The PyPI package is built from this repo via GitHub Actions (publish.yml) using PyPI Trusted Publishers (OIDC), so the published artifact is traceable to a specific commit."
      },
      {
        "title": "Resources",
        "body": "Source Code (GitHub) — full source, auditable\nPyPI — published via Trusted Publishers\nDocumentation\nBlog: When Regex Beats an LLM\nBlog: Why Your Agent Needs a Cognitive Primitive"
      }
    ],
    "body": "Decompose\n\nDecompose any text or URL into classified semantic units. Each unit gets authority level, risk category, attention score, entity extraction, and irreducibility flags. No LLM required. Deterministic. Runs locally.\n\nSetup\n1. Install\npip install decompose-mcp\n\n2. Configure MCP Server\n\nAdd to your OpenClaw MCP config:\n\n{\n  \"mcpServers\": {\n    \"decompose\": {\n      \"command\": \"python3\",\n      \"args\": [\"-m\", \"decompose\", \"--serve\"]\n    }\n  }\n}\n\n3. Verify\npython3 -m decompose --text \"The contractor shall provide all materials per ASTM C150-20.\"\n\nAvailable Tools\ndecompose_text\n\nDecompose any text into classified semantic units.\n\nParameters:\n\ntext (required) — The text to decompose\ncompact (optional, default: false) — Omit zero-value fields for smaller output\nchunk_size (optional, default: 2000) — Max characters per unit\n\nExample prompt: \"Decompose this spec and tell me which sections are mandatory\"\n\nReturns: JSON with units array. Each unit contains:\n\nauthority — mandatory, prohibitive, directive, permissive, conditional, informational\nrisk — safety_critical, security, compliance, financial, contractual, advisory, informational\nattention — 0.0 to 10.0 priority score\nactionable — whether someone needs to act on this\nirreducible — whether content must be preserved verbatim\nentities — referenced standards and codes (ASTM, ASCE, IBC, OSHA, etc.)\ndates — extracted date references\nfinancial — extracted dollar amounts and percentages\nheading_path — document structure hierarchy\ndecompose_url\n\nFetch a URL and decompose its content. Handles HTML, Markdown, and plain text.\n\nParameters:\n\nurl (required) — URL to fetch and decompose\ncompact (optional, default: false) — Omit zero-value fields\n\nExample prompt: \"Decompose https://spec.example.com/transport and show me the security requirements\"\n\nWhat It Detects\nAuthority levels — RFC 2119 keywords: \"shall\" = mandatory, \"should\" = directive, \"may\" = permissive\nRisk categories — safety-critical, security, compliance, financial, contractual\nAttention scoring — authority weight x risk multiplier, 0-10 scale\nStandards references — ASTM, ASCE, IBC, OSHA, ACI, AISC, AWS, ISO, EN\nFinancial values — dollar amounts, percentages, retainage, liquidated damages\nDates — deadlines, milestones, notice periods\nIrreducibility — legal mandates, threshold values, formulas that cannot be paraphrased\nUse Cases\nPre-process documents before sending to your LLM — save 60-80% of context window\nClassify specs, contracts, policies, regulations by obligation level\nExtract standards references and compliance requirements\nRoute high-attention content to specialized analysis chains\nBuild structured training data from raw documents\nPerformance\n~14ms average per document on Apple Silicon\n1,000+ chars/ms throughput\nZero API calls, zero cost, works offline\nDeterministic — same input always produces same output\nSecurity & Trust\n\nText classification is fully local. The decompose_text tool performs all processing in-process with no network I/O. No data leaves your machine.\n\nURL fetching performs outbound HTTP requests. The decompose_url tool fetches the target URL, which necessarily involves network I/O to the specified host. This is why the skill declares the network permission in claw.json. If you do not need URL fetching, you can use decompose_text exclusively with no network access required.\n\nSSRF protection. URL fetching blocks private/internal IP ranges before connecting: 0.0.0.0/8, 10.0.0.0/8, 100.64.0.0/10, 127.0.0.0/8, 169.254.0.0/16, 172.16.0.0/12, 192.168.0.0/16, ::1/128, fc00::/7, fe80::/10. The implementation resolves the hostname via DNS before connecting and checks all returned addresses against the blocklist. See src/decompose/mcp_server.py lines 19-49.\n\nNo API keys or credentials required. No external services are contacted except when using decompose_url to fetch user-specified URLs.\n\nSource code is fully auditable. The complete source is published at github.com/echology-io/decompose. The PyPI package is built from this repo via GitHub Actions (publish.yml) using PyPI Trusted Publishers (OIDC), so the published artifact is traceable to a specific commit.\n\nResources\nSource Code (GitHub) — full source, auditable\nPyPI — published via Trusted Publishers\nDocumentation\nBlog: When Regex Beats an LLM\nBlog: Why Your Agent Needs a Cognitive Primitive"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/echology-io/decompose-mcp",
    "publisherUrl": "https://clawhub.ai/echology-io/decompose-mcp",
    "owner": "echology-io",
    "version": "0.1.2",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/decompose-mcp",
    "downloadUrl": "https://openagent3.xyz/downloads/decompose-mcp",
    "agentUrl": "https://openagent3.xyz/skills/decompose-mcp/agent",
    "manifestUrl": "https://openagent3.xyz/skills/decompose-mcp/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/decompose-mcp/agent.md"
  }
}