mcpField
T
The Pensieve MCP Server

The Pensieve MCP Server

ローカル
design.august.styleメモリ・ナレッジ284 週間前に更新

The Pensieve MCP Server について

The Pensieve MCP Serverは、Markdownファイルを整理して自然言語で検索するためのRAGベースの知識管理MCPサーバーです。LLMで関連情報を検索して文脈に沿った回答を作り、メタデータ付きのリソースとして知識を公開します。

主な機能

  1. 01Markdownファイルで知識を保存
  2. 02memory:// URIでリソースを公開
  3. 03メタデータによる分類と検索
  4. 04自然言語で質問
  5. 05LLMによる検索と回答生成

活用シーン

  1. 01個人やチームのメモを検索
  2. 02分類済みファイルから関連情報を探す
  3. 03保存資料に基づく文脈付き回答を生成

MCP 対応

memory:// URIで知識リソースを公開し、クライアントが自然言語で知識を検索できるask_pensieveツールを提供します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

Pensieve MCP サーバー

頭の中にある余分な考えをすくい取り、盆に注ぎ、好きなときにじっくり眺めるだけです。こうして形にしておけば、パターンやつながりを見つけやすくなります。

これは、RAG ベースのナレッジ管理システムを実装した TypeScript ベースの MCP サーバーです。次の機能を提供し、MCP の基本的な概念を実演します。

  • URI とメタデータを備えた、保存済みナレッジを表すリソース
  • ナレッジを検索するための自然言語インターフェース
  • LLM を活用した分析と応答の生成

機能

リソース
  • memory:// URI を使ってナレッジにアクセス
  • 構造化されたナレッジを含む Markdown ファイル
  • 分類と検索のためのメタデータ
ツール
  • ask_pensieve - 保存済みナレッジに問い合わせます
    • 自然言語での質問を受け付けます
    • LLM を使用して、関連情報を分析、取得します
    • 保存済みナレッジに基づく、文脈に即した回答を提供します

開発

依存関係をインストールします:

npm install

サーバーをビルドします:

npm run build

自動再ビルドを有効にして開発する場合:

npm run watch

ナレッジの整理

ルートディレクトリにある Markdown ファイルとしてナレッジを保存します:

  1. ファイル名にはわかりやすいカテゴリを使用します(例:skills-javascript.md)
  2. 1 ファイルにつき 1 つのトピックを扱います
  3. 関連するメタデータ(日付、ソースなど)を含めます
  4. 明確で、よく構成された内容にします

インストール

Claude Desktop で使用するには、サーバーの設定を追加します:

MacOS の場合:~/Library/Application Support/Claude/claude_desktop_config.json Windows の場合:%APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "The Pensieve": {
      "command": "/path/to/The Pensieve/build/index.js"
    }
  }
}
デバッグ

MCP サーバーは stdio 経由で通信するため、デバッグが難しい場合があります。MCP Inspector の使用をおすすめします:

npm run inspector

Inspector により、ブラウザーでデバッグツールにアクセスするための URL が表示されます。

async function handleQuestion(question: string) { // 1. 質問を分析 const analysis = await server.request(SamplingCreateMessageRequestSchema, { messages: [{ role: "user", content: { type: "text", text: question } }], systemPrompt: "あなたは Pensieve です。質問を分析し、取得すべきナレッジを判断してください。", includeContext: "none" });

// 2. 既存の RAG クエリを使用(動作確認済みのコード) const results = await ragPipeline.semanticSearch(analysis.content.text);

// 3. 回答を作成 const response = await server.request(SamplingCreateMessageRequestSchema, { messages: [{ role: "user", content: { type: "text", text: 次のナレッジを使って回答してください:${results.map(r => r.payload.full_text).join('\n')} } }], systemPrompt: "あなたは Pensieve です。保存済みナレッジに基づいて、わかりやすく回答してください。", includeContext: "none" });

return response.content.text; }

const documentGuide = `Pensieve 用のドキュメントを準備するには:

  1. ファイルをルートディレクトリに置きます
  2. ファイル名にはわかりやすいカテゴリを使用します(例:skills-javascript.md)
  3. 1 ファイルにつき 1 つのトピックを扱います
  4. 明確で、よく構成された内容にします
  5. 関連するメタデータ(日付、ソースなど)を含めます`;

{ uri: "memory://knowledge/skills-javascript.md", mimeType: "text/markdown", // Markdown ファイルを使用するため name: "JavaScript スキル", description: "JavaScript 開発に関するナレッジ" }

コメント

MCP は初めてですか?

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

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