Skip to main content
Glama

🤖 Scrapbox AI Assistant

Scrapbox を Claude Code で活用するための MCP サーバ

License: MIT TypeScript MCP

あなたの Scrapbox の知識・創作・内省データを Claude Code と連携させ、AI による高度な知識管理と創作支援を実現します。

✨ 特徴

  • 🔍 知的検索: Scrapbox データの高度な検索・フィルタリング

  • 🔗 関連性分析: ページ間のつながりと知識ネットワークの可視化

  • 📝 創作支援: 文学的分析と創作継続のための AI プロンプト

  • 🎯 テーマ抽出: 大量のデータから潜在的なパターンとテーマを発見

  • 📊 大容量対応: 数万ページのデータも分割処理で高速化

  • 🛡️ プライバシー保護: 個人データの安全な管理とGit除外

🚀 クイックスタート

📦 デモでの体験

# リポジトリをクローン git clone https://github.com/yourusername/scrapbox-ai-assistant.git cd scrapbox-ai-assistant # 依存関係のインストール npm install # ビルド npm run build # デモ設定をコピー cp scrapbox-config.example.json scrapbox-config.json # デモサーバー起動 npm start

詳細なデモ手順は DEMO.md をご覧ください。

🛠️ 実際のデータでのセットアップ

1. Scrapbox データの準備

  1. Scrapbox の「設定」→「ページデータ」→「ページをエクスポート」

  2. JSON ファイルをダウンロード

  3. ./data/ ディレクトリに配置

2. 設定ファイルの作成

cp scrapbox-config.example.json scrapbox-config.json

設定例:

{ "projects": [ { "name": "my-knowledge-base", "exportDataPath": "./data/my-export.json", "description": "私の知識ベース" } ] }

3. 大容量データの分割(オプション)

# 15個のファイルに分割 node scripts/split-json.js ./data/my-export.json ./data/parts 15

🎯 主な機能

MCP リソース

  • scrapbox://projects - プロジェクト一覧

  • scrapbox://projects/{project}/pages - ページ一覧

  • scrapbox://projects/{project}/pages/{page} - 個別ページ詳細

  • scrapbox://projects/{project}/tags - タグ一覧

MCP ツール

  • search_pages - 高度な検索・フィルタリング

  • analyze_connections - ページ間関連性分析

  • extract_themes - テーマ・パターン抽出

MCP プロンプト

  • literary_analysis - 文学的分析支援

  • creative_continuation - 創作継続支援

  • knowledge_synthesis - 知識統合支援

🛡️ プライバシーとセキュリティ

⚠️ 重要な注意事項

このツールは個人的な Scrapbox データを処理します:

  • 個人データファイルは絶対に Git リポジトリにコミットしないでください

  • .gitignore

  • 設定ファイル

  • デモ用サンプルデータは安全な架空データです

保護されるファイル

data/ # 個人のScrapboxデータ scrapbox-config.json # 個人設定 *-analysis-results.json # 分析結果

🔧 Claude Code との連携

MCP サーバーの設定

Claude Code の設定に以下を追加:

{ "mcpServers": { "scrapbox": { "command": "node", "args": ["/path/to/scrapbox-ai-assistant/dist/index.js"], "env": { "SCRAPBOX_CONFIG_PATH": "/path/to/scrapbox-config.json" } } } }

使用例

知識検索

search_pages クエリ:"創作について" プロジェクト:["my-knowledge"] タグ:["詩", "エッセイ"]

関連性分析

analyze_connections プロジェクト:"knowledge-base" ページ:"哲学について" 深度:3

テーマ抽出

extract_themes プロジェクト:"reading-notes" 期間:{開始:"2024-01-01", 終了:"2024-12-31"}

文学的分析

@literary_analysis テキスト:"[創作断片]" 視点:"ポストモダン文学"

💻 開発とカスタマイズ

プロジェクト構造

src/ ├── types.ts # 型定義 ├── scrapbox-client.ts # Scrapbox API クライアント ├── mcp-server.ts # MCP サーバ実装 └── index.ts # エントリーポイント scripts/ ├── split-json.js # データ分割スクリプト └── analyze-tags.js # タグ分析スクリプト data/ ├── sample-export.json # デモ用サンプルデータ └── parts-sample/ # 分割デモデータ ├── demo-part1.json ├── demo-part2.json └── demo-part3.json

開発モード

# 開発サーバー起動 npm run dev # スタンドアロン実行 npm start # ビルド npm run build

新機能の追加

  1. 型定義: src/types.ts に必要な型を追加

  2. データ処理: src/scrapbox-client.ts に処理ロジック実装

  3. MCP エンドポイント: src/mcp-server.ts に API 追加

カスタムプロンプトの作成

// 新しいプロンプトの追加例 server.setRequestHandler(ListPromptsRequestSchema, async () => ({ prompts: [ { name: "custom_analysis", description: "カスタム分析プロンプト", arguments: [ { name: "content", description: "分析対象テキスト", required: true }, { name: "perspective", description: "分析視点", required: false } ] } ] }));

🤝 コントリビューション

このプロジェクトへの貢献を歓迎します!

貢献方法

  1. Issue の報告: バグ報告や機能要望

  2. Pull Request: コード改善や新機能の追加

  3. ドキュメント: 使用例や説明の改善

  4. フィードバック: 使用感や改善提案

開発に参加する

# フォークしてクローン git clone https://github.com/yourusername/scrapbox-ai-assistant.git cd scrapbox-ai-assistant # 依存関係をインストール npm install # 開発開始 npm run dev

ガイドライン

  • プライバシー重視: 個人データの保護を最優先

  • 型安全: TypeScript を活用した堅牢な実装

  • MCP標準準拠: Model Context Protocol の仕様に従った実装

  • テスト: 新機能には適切なテストを追加

📄 ライセンス

MIT License - 詳細は LICENSE ファイルをご覧ください。

🙏 謝辞

📞 サポート


⚠️ 注意: このツールは個人の知識管理を支援する目的で開発されています。個人データの取り扱いには十分ご注意ください。

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yoheitabo/scrapbox-ai-assistant'

If you have feedback or need assistance with the MCP directory API, please join our Discord server