Scrapbox AI Assistant
Enables AI-powered knowledge management and creative support by connecting Scrapbox data to Claude. Supports advanced search, relationship analysis between pages, theme extraction, and literary analysis of personal knowledge bases.
README
🤖 Scrapbox AI Assistant
Scrapbox を Claude Code で活用するための 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 データの準備
- Scrapbox の「設定」→「ページデータ」→「ページをエクスポート」
- JSON ファイルをダウンロード
./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-config.jsonも Git 管理から除外されます - デモ用サンプルデータは安全な架空データです
保護されるファイル
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
新機能の追加
- 型定義:
src/types.tsに必要な型を追加 - データ処理:
src/scrapbox-client.tsに処理ロジック実装 - 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 }
]
}
]
}));
🤝 コントリビューション
このプロジェクトへの貢献を歓迎します!
貢献方法
- Issue の報告: バグ報告や機能要望
- Pull Request: コード改善や新機能の追加
- ドキュメント: 使用例や説明の改善
- フィードバック: 使用感や改善提案
開発に参加する
# フォークしてクローン
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 ファイルをご覧ください。
🙏 謝辞
- Scrapbox - 素晴らしい知識管理プラットフォーム
- Claude Code - AI駆動の開発環境
- Model Context Protocol - AI統合の標準化
📞 サポート
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: Wiki
⚠️ 注意: このツールは個人の知識管理を支援する目的で開発されています。個人データの取り扱いには十分ご注意ください。
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。