Skip to main content
Glama
HiroakiKatoh

Deep Impact Mapper

by HiroakiKatoh

Deep Impact Mapper (DIM)

社内文書・メールの「業務文脈を整理する頭脳」 — 編集波及の特定に加え、複数文書の名寄せ・矛盾検出・鮮度判定・フィードバック反映を提供する MCP サーバー(Azure MCP SaaS 対応)

Legal Impact Mapper (LIM) の派生版。法律文書の代わりに、社内メール・会議依頼・アジェンダ・資料を対象にします。

概要

このツールがやること:

  • メール・会議依頼・アジェンダ・資料をノードとエッジのグラフに構造化

  • 1箇所の編集を検出し、依存グラフを辿って影響範囲を自動伝播

  • 複数文書の同一人物・案件を名寄せして統合(merge_content_graphs

  • 情報同士の矛盾・新旧関係を検出(detect_conflicts

  • 「この情報はもう古くないか」を判定(assess_freshness

  • 本人の承認・修正・否認をノードのライフサイクルに反映(record_feedback

代表例:

開始時刻 14:00 → 16:00 に変更
  → 参加メンバーが変わる
    → アジェンダの進行が変わる
      → 資料(Q2実績スライド)の内容修正が必要
メール(7/1: 期限は水曜) + アジェンダ(7/8: 期限は金曜)
  → 名寄せで「同一案件の期限」と特定
    → 新旧関係を確定(金曜が最新、水曜は stale)
      → 古い記載箇所のみが編集対象に

このツールがやらないこと:

  • 文書の自動生成・自動修正

  • 要約

  • ポリシー判断・法的助言

インストール

git clone https://github.com/HiroakiKatoh/DeepImpactMapper.git
cd DeepImpactMapper
npm install
npm run build

設定

環境変数

主要なもののみ。全一覧は .env.example を参照。

変数名

必須

説明

ANTHROPIC_API_KEY

Yes*

Anthropic API キー(DIM_LLM_PROVIDER=anthropic 時)

DIM_LLM_PROVIDER

No

anthropic(デフォルト)/ azure-openai(BYOキー対応)

DIM_MODEL

No

使用モデル(デフォルト: claude-sonnet-4-20250514

DIM_STUB_LLM

No

1 でスタブモード(API 不要)

DIM_STORAGE

No

memory(デフォルト)/ file / cosmos

Cursor での設定(ローカル stdio)

.cursor/mcp.json:

{
  "mcpServers": {
    "deep-impact-mapper": {
      "command": "node",
      "args": ["path/to/Deep_Impact_Mapper/dist/server.js"],
      "env": {
        "ANTHROPIC_API_KEY": "sk-ant-xxxxx"
      }
    }
  }
}

リモート接続(Streamable HTTP / SaaS モード)

npm run start:http   # http://localhost:3000/mcp
{
  "mcpServers": {
    "deep-impact-mapper": {
      "url": "https://<host>/mcp",
      "headers": { "Authorization": "Bearer <APIキー>" }
    }
  }
}

Azure へのデプロイ(Container Apps + Cosmos DB)は infra/README.md を参照。

提供ツール

ツール

説明

LLM使用

extract_content_graph

テキストを ContentGraph に構造化(判断経緯・観測日時・根拠付き)

あり

update_content_node

ノードの内容を変更

なし

analyze_impact

変更の影響範囲を分析

あり

merge_content_graphs

複数文書のグラフを名寄せ統合

あり

detect_conflicts

矛盾・新旧関係を検出(supersedes エッジ自動追記)

あり(無効化可)

assess_freshness

情報の鮮度(fresh/stale/unverified)を判定

なし

record_feedback

本人の承認/修正/否認を status に反映

なし

save_graph / load_graph / list_graphs

グラフの永続化と graph_id 参照

なし

使い方の流れ

単一文書の編集波及:
  extract_content_graph → update_content_node → analyze_impact

複数文書の文脈整理(難所B):
  extract_content_graph ×N → merge_content_graphs → detect_conflicts
    → assess_freshness → record_feedback

開発

npm install
npm run build
npm test        # 単体・統合テスト
npm run eval    # golden set 10件の評価ハーネス(スタブモードで無料実行可)
npm run dev

LIM との関係

DIM は Legal Impact Mapper をベースに、社内コミュニケーション向けにドメインモデルとプロンプトを差し替えた派生版です。詳細は MEMO.md を参照。

ライセンス

ISC