mcpField
S
SmartMemory

SmartMemory

ローカル
github.com/MauriceIsraelメモリ・ナレッジ318 週間前に更新

SmartMemory について

SmartMemoryは、LLMによる抽出と監査可能なRDFナレッジグラフ、明示的なルールを組み合わせた実験的なMCPサーバーです。追跡可能な記憶と推論を試す研究・学習向けで、製品環境での利用を想定していません。

主な機能

  1. 01出典情報付きの事実をRDFグラフに保存
  2. 02SPARQLとOWLのルールで結論を導出
  3. 03曖昧な事実を人が確認するフロー
  4. 04自然言語やPDFから事実を抽出
  5. 05グラフを確認するダッシュボード

活用シーン

  1. 01MCP対応アシスタントに追跡可能な長期記憶を付与
  2. 02ポリシーPDFから抽出したルールを確認・承認
  3. 03試作環境でニューロシンボリック推論を検証

MCP 対応

会話モードではMCPクライアントに設定するMCPサーバーとして動作し、アシスタントに記憶と論理的推論を提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

🧠 SmartMemory

LLM に構造化された検証可能な記憶を与えます — 会話を、AI が推論できるナレッジグラフに変換します。

自然な対話を通じて AI アシスタントにビジネスルールを教える MCP サーバーです。

ライセンス:MIT Python 3.11+ Model Context Protocol ニューロシンボリック ステータス:概念実証 PR を歓迎します

注意

概念実証です。 SmartMemory は、LLM がナレッジグラフとどのように連携してルールを学習・適用できるかを探るために構築された、ニューロシンボリックアーキテクチャの実験的な実装です。本番環境での使用を意図していません — 研究や学習のための場としてご利用ください。


SmartMemory を使う理由

LLM は非常に流暢に話しますが、本当の記憶はありません。会話が続くうちに忘れてしまい、何かを結論づけた理由を説明できず、検証されていないことも平気で述べてしまいます。

SmartMemory は、欠けている要素であるシンボリックな脳を補います。

  • 伝えた事実は、出典情報とともに監査可能なナレッジグラフ(RDF)に保存されます。
  • ロジックは、重みの中に隠すのではなく、明示的で検査可能なルール(SPARQL/OWL)として記録されます。
  • 新たな結論は導出され、追跡可能で、取り消し可能です。また、曖昧な結論は検証のためにあなたに差し戻されます。

その結果、ただ正しそうに聞こえるだけでなく、推論過程を示せるアシスタントが実現します。


できること

SmartMemory は AI アシスタントを、次の機能を備えたドメインエキスパートに変えます。

  • 非同期推論 — 会話を遅らせることなく、バックグラウンドで推論を実行します(InferenceManager)。
  • 不確実性への対応 — 曖昧な事実があると、人間参加型の検証ワークフローが開始されます。
  • 高度な NLP 抽出 — 複雑な文、照応関係、Turtle 形式の直接入力に対応します。
  • 出典情報と監査 — 保存されるすべての事実に、その出所(UUID、ソース、タイムスタンプ)が保持されます。
  • 動的なルールエンジン — 新しい SPARQL ルールをその場で学習し、適用します。

仕組み

flowchart LR
    A["Natural-language<br/>conversation"] -->|LLM extraction| B["Facts"]
    B --> C[("Knowledge Graph<br/>RDF / Turtle")]
    C -->|SPARQL / OWL rules| D["Inference engine"]
    D -->|new deductions| C
    D -->|ambiguous?| E["Human-in-the-loop<br/>validation"]
    E -->|approve rule / fact| C
    C -->|provenance + audit| F["Verifiable answers"]

LLM は言語皮質(理解と抽出)として機能し、ナレッジグラフとルールエンジンはシンボリックメモリ(保存、ロジック、証明)として機能します。どちらか一方だけでは不十分ですが、組み合わせることでニューロシンボリックになります。


2 つの利用方法

💬 対話モード — 「脳」🏗️ 監督モード — 「工場」
対象LLM クライアント(Claude Desktop など)を使う個人チーム、開発者、ヘビーユーザー
目的会話しながら、アシスタントに事実を記憶させ、ロジックを学習させる文書(PDF)から数千ものルールを抽出し、グラフを可視化する
方法MCP サーバーとして設定するDocker でダッシュボード一式をデプロイする
セットアップセットアップへ移動 ↓セットアップへ移動 ↓

クイックスタート

やりたいこと…移動先
5 分で起動するクイックスタートガイド
高度なデモを試すデモ手順
内部の仕組みを理解するアーキテクチャ · ニューロシンボリックの原則
プロバイダーを設定する設定リファレンス
問題を解決するトラブルシューティング
ドキュメントをすべて見るドキュメント一覧

モード 1 — 対話モードのセットアップ(MCP)

LLM に長期記憶と論理的な推論能力を与えます。

オプション A — Docker(推奨)🐳

Python は不要です。イメージは GitHub Container Registry で公開されています。

Claude Desktop — ~/Library/Application Support/Claude/claude_desktop_config.json を編集します。

{
  "mcpServers": {
    "smart-memory": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "ghcr.io/mauriceisrael/smart-memory:latest"]
    }
  }
}

同じブロックは、どの MCP クライアントでも使えます(例:Cline)。クライアントの mcp_settings.json を指定するだけです。クライアントを再起動すれば完了です。✅

オプション B — ローカルサーバー(ソースから)🔒

開発者やプライバシーを重視するユーザーに最適です。

git clone https://github.com/MauriceIsrael/SmartMemory
cd SmartMemory
python3 -m venv venv
source venv/bin/activate
pip install -e .

次に、Claude Desktop からローカルインストールを指定します。

{
  "mcpServers": {
    "smartmemory": {
      "command": "/absolute/path/to/SmartMemory/venv/bin/python",
      "args": ["-m", "smart_memory.server"]
    }
  }
}

Claude を再起動して、次のように試してください:「ボブを知っています。彼は車で通勤します。投票できますか?」 — 以下のデモをご覧ください。


モード 2 — 監督セットアップ(Docker)

ウェブダッシュボードとAPI サーバーを実行します。ナレッジグラフの可視化、PDF からのルール抽出、チームで共有するメモリーのホスティングに最適です。

# Dashboard mode — example with Mistral
docker run -p 8080:8080 \
  -e LLM_PROVIDER=mistral \
  -e LLM_MODEL=mistral-large-latest \
  -e LLM_API_KEY=your-api-key \
  -v $(pwd)/brain:/app/data \
  ghcr.io/mauriceisrael/smart-memory:latest dashboard
# Dashboard mode — example with a local model (Ollama)
docker run -p 8080:8080 \
  -e LLM_PROVIDER=ollama \
  -e LLM_MODEL=llama3 \
  -e LLM_BASE_URL=http://172.17.0.1:11434 \
  -v $(pwd)/brain:/app/data \
  ghcr.io/mauriceisrael/smart-memory:latest dashboard

ウェブサーバーを起動するには dashboard を追加してください。指定しない場合、コンテナは MCP モードで起動します。-v ボリュームには、ナレッジグラフとルールが保持されます。ダッシュボードは http://localhost:8080 で開きます。


LLM の設定

SmartMemory は、自然言語やドキュメントから事実やルールを抽出するために LLM を使用します。ダッシュボードの管理ページまたは環境変数(-e LLM_PROVIDER=…)で設定してください。

プロバイダーモデルの例備考
Mistralmistral-large-latest、mistral-small-latestヨーロッパのプロバイダー、La Plateforme API
Ollama(ローカル、無料)llama3、qwen2.5-coder、mistralオフラインで動作
OpenAIgpt-4、gpt-3.5-turbo
Anthropicclaude-3-5-sonnet
Googlegemini-1.5-pro

→ 設定ガイド全文

ドキュメントからルールを抽出する
  1. PDF をアップロードします(例:Company_Policy.pdf)。
  2. プロバイダーを選択します。ドキュメントを読み取るには、サーバーに API キー(またはローカルの Ollama)が必要です。
  3. 確認して承認します。システムがルールを提案するので、ダッシュボードからまとめて承認します。

インタラクティブデモ — 事実からルールへ

会話モードでの動作:

> I know Bob
LLM: ✦ I've recorded the fact: I know Bob.

> He goes to work by car
LLM: ✦ Noted: Bob goes to work by car.

> Can Bob vote?
LLM: ✦ I can't conclude yet — but since he drives, he is likely an adult.
     May I add the rule "Drivers are adults"?

> yes
LLM: ✨ Rule 'drivers_are_adults' added.
     May I also add "Adults can vote"?

> yes
LLM: ✨ Rule 'adults_can_vote' added.
     ✦ Therefore, yes — Bob can vote. (derived from 2 rules)

すべてのステップが保存され、出所が記録され、再生できます。それが重要なのです。


技術スタック

  • バックエンド: Python 3.11+、RDFLib、FastAPI
  • フロントエンド: SvelteKit、TypeScript、TailwindCSS
  • 推論: ニューロシンボリック(LLM + SPARQL / OWL)
  • プロトコル: Model Context Protocol(MCP)
  • パッケージングとデプロイ: Docker、GitHub Container Registry、Google Cloud Run

ロードマップ

  • ドキュメントの取り込み対象を拡大(DOCX、HTML、ウェブページ)
  • グラフの可視化を強化し、ルールの競合を検出
  • 最初のタグ付きリリース(v0.1.0)

アイデアや貢献を歓迎します。CONTRIBUTING.mdをご覧ください。


ライセンス

MIT — LICENSEをご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。