プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Decompose

作者:echology-ioバージョン 0.1.1i★ –iパソコンで動く
レジストリ名io.github.echology-io/decompose

インストール

概要

作者による説明(英語の原文)

Decompose text into classified semantic units. Authority, risk, attention. No LLM.

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: 検索・AIの記憶

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • レジストリには、入力が必要なキーは載っていません。

必要なもの

  • PyPIPythonのuvのインストール(uvxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

{
  "mcpServers": {
    "decompose": {
      "command": "uvx",
      "args": [
        "decompose-mcp"
      ]
    }
  }
}

ターミナルでこれを実行します

claude mcp add decompose -- uvx decompose-mcp

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "decompose": {
      "command": "uvx",
      "args": [
        "decompose-mcp"
      ]
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "decompose": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "decompose-mcp"
      ]
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント echology-io で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

検索・AIの記憶のほかのサーバーとの比較i

  • このカテゴリのほかの7249件のうち0%よりスターが多い
  • このカテゴリのほかの7249件のうち3%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの7249件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Decomposeは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(0.1.1)がレジストリに届いたのは9 か月前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。

代わりに使えるものは?

同じカテゴリには:Context7, Codebase Memory, Exa

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Context7

作者:upstash

Up-to-date docs for AI agents

パソコンでもクラウドでも★ 64,224MIT今日更新
インストール

Codebase Memory

作者:DeusData

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

パソコンで動く★ 48,148MIT20 日前更新
インストール

Exa

作者:exa-labs

Connect AI agents to Exa for web search, content fetching, and multi-step research.

クラウドで動く★ 5,213MIT先月更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

Decompose

Stop prompting. Start decomposing.

Deterministic text classification for AI agents. Decompose turns any text into classified, structured semantic units — instantly. No LLM. No setup. One function call.


Before: your agent reads this
The contractor shall provide all materials per ASTM C150-20. Maximum load

shall not exceed 500 psf per ASCE 7-22. Notice to proceed within 14 calendar days of contract execution. Retainage of 10% applies to all payments. For general background, the project is located in Denver, CO...

After: your agent reads this
[

{ "text": "The contractor shall provide all materials per ASTM C150-20.", "authority": "mandatory", "risk": "compliance", "type": "requirement", "irreducible": true, "attention": 8.0, "entities": ["ASTM C150-20"] }, { "text": "Maximum load shall not exceed 500 psf per ASCE 7-22.", "authority": "prohibitive", "risk": "safety_critical", "type": "constraint", "irreducible": true, "attention": 10.0, "entities": ["ASCE 7-22"] } ]

Every unit classified. Every standard extracted. Every risk scored. Your agent knows what matters.


Install

pip install decompose-mcp

Use as MCP Server

Add to your agent's MCP config (Claude Code, Cursor, Windsurf, etc.):

{

"mcpServers": { "decompose": { "command": "uvx", "args": ["decompose-mcp", "--serve"] } } }

Your agent gets two tools:

  • `decompose_text` — decompose any text
  • `decompose_url` — fetch a URL and decompose its content
OpenClaw

Install the skill from ClawHub or configure directly:

{

"mcpServers": { "decompose": { "command": "python3", "args": ["-m", "decompose", "--serve"] } } }

Or install the skill: clawdhub install decompose-mcp

Use as CLI

# Pipe text

cat spec.txt | decompose --pretty

Inline

decompose --text "The contractor shall provide all materials per ASTM C150-20."

Compact output (smaller JSON)

cat document.md | decompose --compact

Use as Library

from decompose import decompose_text, filter_for_llm

result = decompose_text("The contractor shall provide all materials per ASTM C150-20.")

for unit in result["units"]: print(f"[{unit['authority']}] [{unit['risk']}] {unit'text'}...")

Pre-filter for LLM context — keep only high-value units

filtered = filter_for_llm(result, max_tokens=4000) print(f"{filtered'meta'}% token reduction") llm_input = filtered["text"] # Ready for your LLM


What Each Field Means

FieldValuesWhat It Tells Your Agent
authoritymandatory, prohibitive, directive, permissive, conditional, informationalIs this a hard requirement or background?
risksafety_critical, security, compliance, financial, contractual, advisory, informationalHow much does this matter?
typerequirement, definition, reference, constraint, narrative, dataWhat kind of content is this?
irreducibletrue/falseMust this be preserved verbatim?
attention0.0 - 10.0How much compute should the agent spend here?
entitiesstandards, codes, regulationsWhat formal references are cited?
actionabletrue/falseDoes someone need to do something?

What to Build With This

Decompose is not the destination. It's the step before the LLM that most developers skip — not because it's hard, but because nobody showed them it exists. Documents have structure. That structure is classifiable. And classification should happen before reasoning.

Without:  document → chunk → embed → retrieve → LLM → answer  (100% of tokens)

With: document → decompose → filter/route → LLM → answer (20-40% of tokens)

Filter: built-in LLM pre-filter

filter_for_llm() keeps mandatory, safety-critical, financial, and compliance units — drops boilerplate before it reaches your LLM or vector store.

from decompose import decompose_text, filter_for_llm

result = decompose_text(open("contract.md").read()) filtered = filter_for_llm(result, max_tokens=4000)

filtered["text"] = high-value units only, ready for LLM

filtered"meta" = how much was dropped (typically 60-80%)

Or use the units directly for embedding

for unit in filtered["units"]: embed_and_store(unit["text"], metadata={ "authority": unit["authority"], "risk": unit["risk"], "attention": unit["attention"], })

Route: risk-based processing

Safety-critical content goes to one chain. Financial content goes to another. Boilerplate gets skipped.

from decompose import decompose_text

result = decompose_text(spec_text)

for unit in result["units"]: if unit["risk"] == "safety_critical": safety_chain.process(unit) # Full analysis + human review elif unit["risk"] == "financial": audit_chain.process(unit) # Flag for finance team elif unit["attention"] < 0.5: pass # Skip boilerplate else: general_chain.process(unit) # Standard LLM analysis

Measure: token cost reduction
from decompose import decompose_text

result = decompose_text(spec_text) total = len(result["units"]) high = [u for u in result["units"] if u["attention"] >= 1.0]

print(f"{len(high)}/{total} units need LLM analysis") print(f"{100 - len(high) * 100 // total}% token reduction")

See examples/ for runnable scripts.


Why No LLM?

Decompose runs on pure regex and heuristics. No Ollama, no API key, no GPU, no inference cost.

This is intentional:

  • Fast: <500ms for a 50-page spec
  • Deterministic: Same input always produces same output
  • Offline: Works air-gapped, on a plane, on CI
  • Composable: Your agent's LLM reasons over the structured output — decompose handles the preprocessing

The LLM is what *your agent* uses. Decompose makes whatever model you're running work better.


Built by Echology

Decompose is built by Echology and extracted from AECai, a document intelligence platform for Architecture, Engineering, and Construction firms. The classification patterns, entity extraction, and irreducibility detection are battle-tested against thousands of real AEC documents — specs, contracts, RFIs, inspection reports, pay applications.

Decompose earned its independence — it started as AECai's text classification module, proved general enough to work across domains (insurance, trading, regulatory), and was released standalone. Free, MIT-licensed.

Case Study: Open Scripture Intelligence

The same chunking and entity extraction patterns that classify engineering specs also structure the Bible. Open Scripture Intelligence uses Decompose's Markdown-aware chunker and regex entity extraction to transform 31,100 verses into a knowledge graph with 344,799 cross-reference edges and semantic embeddings — proving the methodology is domain-agnostic.

Blog

License: MIT — Copyright (c) 2025-2026 Echology, Inc.

PopNxに聞く