yoheitabo/scrapbox-ai-assistant
3.2
If you are the rightful owner of scrapbox-ai-assistant and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Scrapbox AI Assistant is an MCP server designed to integrate Scrapbox data with Claude Code, enabling advanced knowledge management and creative support through AI.
Tools
3
Resources
0
Prompts
0
🤖 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
詳細なデモ手順は をご覧ください。
🛠️ 実際のデータでのセットアップ
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 - 詳細は ファイルをご覧ください。
🙏 謝辞
- Scrapbox - 素晴らしい知識管理プラットフォーム
- Claude Code - AI駆動の開発環境
- Model Context Protocol - AI統合の標準化
📞 サポート
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: Wiki
⚠️ 注意: このツールは個人の知識管理を支援する目的で開発されています。個人データの取り扱いには十分ご注意ください。