Slipbox MCP Server
Slipbox MCP Server

AIアシスタントにナレッジ管理の積極的な役割を与えましょう。SlipboxはMCPサーバーで、MCP互換のエージェントをZettelkastenのパートナーに変えます——アトミックノートの作成、セマンティックリンクの形成、創発的クラスターの検出、既存ナレッジからの洞察の統合を行います。
アイデアを入力すれば、構造化されたナレッジが出力されます。エージェントがフォーマット、リンク、統合を処理します。
このメソッドに初めて触れる方は、Introduction to the Zettelkasten Methodから始めてください。アトミックノートとリンク思考の背後にある理由がわかります。Slipboxがどのようにエージェントにこのメソッドを教え込むかは、接続時に自動的に配信されるサーバーインストラクションをお読みください。
Claudeで構築・テスト済み。あらゆるMCPクライアント(Claude Desktop、Claude Code、OpenCode、Copilot、またはMCPに対応した任意のツール)で動作します。
プレーンファイル、ロックインゼロ。 ノートはYAMLフロントマター付きのMarkdownです——Obsidian、Foam、Logseq、または任意のエディタで読めます。SQLiteデータベースはインデックスであり、真実の源泉ではありません。削除していつでもファイルから再構築できます。
19のMCPツール — ノート、リンク、検索、グラフ分析、クラスター管理用
6つのワークフロープロンプト(対応スキル付き)— Zettelkastenメソッドをエンコードし、セッションごとに再学習する必要がありません
BM25全文検索 — SQLite FTS5によるタイトルとコンテンツの横断検索
クラスター検出 — 創発的なトピックグループを見つけ、ストラクチャーノートを足場にします
7種類の型付きリンク(reference、extends、refines、contradicts、questions、supports、related)
Python 3.10+ | macOS または Linux

ウォークスルー
![]()
Related MCP server: vault-master-mcp
クイックスタート
1. インストール
pipx install slipbox-mcp
# or, with uv:
uv tool install slipbox-mcpこれにより、slipbox-mcpランチャーがPATH(~/.local/bin内)に配置されます。この単一コマンドがMCPサーバー全体です:クローン不要、PYTHONPATH不要、ハードコードされたvenv Pythonパスも不要です。以下のすべてがこれを使用します。インストールせずに試す場合は、uvx slipbox-mcpが使い捨て環境でサーバーを実行します。
(Slipbox自体を開発していますか?開発セクションでクローン+編集可能インストールのセットアップを参照してください。)
2. データディレクトリを選ぶ
1つの変数SLIPBOX_BASE_DIRですべてを設定します:ノートは<base>/data/notesに、SQLiteインデックスは<base>/data/db/zettelkasten.dbに配置されます。サーバーは初回実行時に所有者のみ(0700)の権限でこれらを作成します。
SLIPBOX_BASE_DIR(または以下の個別のSLIPBOX_NOTES_DIR / SLIPBOX_DATABASE_PATHパス)を、共有やシステムの場所ではなく、自分が管理する専用データディレクトリに向けてください。これらのパスはそのまま使用されます:サーバーはその配下でノートツリーとインデックスを管理し、インデックスを再構築する際はノートディレクトリを真実の源泉として扱います。
# Example: use any absolute path you like
/Users/yourname/.local/share/mcp/slipbox完全な絶対パスを使用してください。先頭の
~はMCPクライアントの設定ファイル内では展開されず、リテラルな~ディレクトリが作成されます。
3. MCPクライアントに接続
Claude Code(ファイル編集不要の単一コマンド):
claude mcp add slipbox \
--env SLIPBOX_BASE_DIR=/Users/yourname/.local/share/mcp/slipbox \
-- slipbox-mcpClaude Desktop(設定ファイルを編集):
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonLinux:
~/.config/claude/claude_desktop_config.json
{
"mcpServers": {
"slipbox": {
"command": "slipbox-mcp",
"env": {
"SLIPBOX_BASE_DIR": "/Users/yourname/.local/share/mcp/slipbox"
}
}
}
}DesktopのPATHに関する注意: macOS Desktopアプリは
~/.local/binをPATHに常に継承するとは限らないため、裸の"slipbox-mcp"が解決されない場合があります。サーバーが起動しない場合は、"command": "slipbox-mcp"をwhich slipbox-mcpで表示される絶対パス(通常は/Users/yourname/.local/bin/slipbox-mcp)に置き換えてください。
その他のMCPクライアント: slipbox-mcpをサーバーコマンドとして登録し、環境にSLIPBOX_BASE_DIRを設定してください。コマンドとenvはどこでも同じです。
SLIPBOX_BASE_DIRの代わりに、絶対パスを個別に設定します。オプションのSLIPBOX_LOG_LEVELはDEBUG、INFO、WARNING、ERRORのいずれかです。
"env": {
"SLIPBOX_NOTES_DIR": "/Users/yourname/.local/share/mcp/slipbox/notes",
"SLIPBOX_DATABASE_PATH": "/Users/yourname/.local/share/mcp/slipbox/data/db/zettelkasten.db",
"SLIPBOX_LOG_LEVEL": "INFO"
}4. 再起動して確認
クライアントを再起動します(Claude Codeは次回起動時にリロードされます。Claude Desktopは終了して再度開いてください)。
エージェントに聞いてみましょう:
「何かについてテストノートを作成して」
「slipboxでtestを検索して」
「孤立ノートを見つけて」
動作例
上記のヒーローがコアループです。以下がエージェントが行うその他の動作です。
プロアクティブメンテナンス
エージェントはセッション開始時にslipbox://maintenance-statusリソースを読み取り、整理が必要なクラスターを表面化します。

全文検索
slipbox_search_notesによるノート横断のBM25ランキング検索。

ナレッジグラフ:中心ノート
slipbox_find_central_notesはグラフの構造的アンカー——他のすべてが周回するノート——を表面化します。

ノート分析
analyze_noteプロンプトはアトミック性を評価し、既存グラフ内の実際の接続を見つけ、タグを提案し、明確さのために書き直します。

ソース分解
knowledge_creationプロンプトは記事を適切な引用とリンク付きのアトミックな文献ノートに分割します。

クラスター検出
slipbox_get_cluster_reportはストラクチャーノートを欠いた共起タグのグループを見つけます。サイズ、孤立率、リンク密度、新しさでスコアリングされます。

ストラクチャーノート作成
slipbox_create_structure_from_clusterはストラクチャーノートの足場を作り、全メンバーノートをリンクし、クラスターを却下します。

孤立ノート
slipbox_find_orphaned_notesは未統合のナレッジ——接続または削除の候補——を表面化します。

類似ノート
slipbox_find_similar_notesは共有タグ、共通リンク、コンテンツの重複から類似性を計算します。

グラフ走査
slipbox_get_linked_notesはハブノートからの型付きリンクをリンクタイプごとにグループ化して表示します。

ナレッジ統合
knowledge_synthesisプロンプトは未接続の領域間の橋渡しを見つけ、既存ナレッジから統合ノートを提案します。

ロックインゼロ:Obsidianのプレーンファイル
ノートはプレーンなMarkdownです。Obsidianでボールトを開けばすべてが機能します——レンダリングされたコンテンツ、バックリンク、ナレッジグラフ。
Obsidianの型なし組み込みグラフではなく、型付きリンクを色でレンダリングするグラフが必要な場合は、コンパニオンプラグイン**Slipbox Semantic Graphをインストールしてください——人間が読めるタイトルと色分けされたセマンティックリンクタイプを備えたフォース指向ビューです。0.1.0リリースから手動でインストールします:main.js、manifest.json、styles.cssを<vault>/.obsidian/plugins/slipbox-graph/にコピーし、設定 → コミュニティプラグインで有効にします。(公式ディレクトリに承認されれば、設定 → コミュニティプラグイン → 参照 → 「Slipbox Semantic Graph」の検索からもインストールできるようになります。)サーバーが書き込むのと同じフロントマターidと## Linksセクションを読み取るため、追加設定は不要です。Open semantic graphコマンド(コマンドパレット)またはgit-fork**リボンアイコンでビューを開きます。

上部の凡例は各色をリンクタイプ(extends、refines、supports、contradicts、questions、related)に対応付けます。ストラクチャーノートに焦点を当てると、そのコンステレーションが見えてきます。ここでは、Contract Testing Knowledge Mapとそのメンバーノートが周回しています:

オプション:自動クラスター検出
クラスター分析はすべてのノートをスキャンし、類似度スコアを計算します。毎日(午前6時)実行すると結果が事前計算され、slipbox_get_cluster_report()が即座に返ります。スケジュールがない場合、クラスター検出はオンデマンドで実行され、大規模なコレクションでは遅くなります。
一括インポート後、大規模な再編成後、または即時の結果が必要なときに手動で実行してください。
クラスター検出のインストール(macOS)
chmod +x scripts/install-cluster-detection.sh
./scripts/install-cluster-detection.shインストーラーはPython/venvパスを検出し、LaunchAgentのplistを生成してロードします。
手動テスト(ファイルウォッチャー)
source .venv/bin/activate
python scripts/detect_clusters.py出力は~/.local/share/mcp/slipbox/cluster-analysis.jsonに保存されます。
クラスター検出のアンインストール
./scripts/install-cluster-detection.sh --uninstallオプション:自動インデックス用のmacOSファイルウォッチャー
MCPサーバーは高速検索用のデータベースインデックスを維持します。Obsidian(または任意のエディタ)でノートを編集すると、slipbox_rebuild_indexを実行するまでデータベースが古くなります。
ファイルウォッチャーはバックグラウンドデーモンとして実行され、ノートディレクトリを監視し、.mdファイルが変更されるとインデックスを自動的に再構築します。
Obsidianでノートを頻繁に編集しながらClaudeも使用する場合に使用してください。
ファイルウォッチャーのインストール(macOS)
chmod +x scripts/install-file-watcher.sh
./scripts/install-file-watcher.shインストーラーはPython/venvパスを検出し、必要に応じてwatchdogをインストールし、LaunchAgentをロードします。ログイン時に起動し、クラッシュした場合は再起動します。
手動テスト
source .venv/bin/activate
python scripts/watch_notes.pyノートファイルを編集します。ウォッチャーの出力に「rebuilding index...」と表示されるはずです。
ステータス確認
launchctl list | grep slipbox.watcher
# View logs
tail -f ~/.local/share/mcp/slipbox/watcher.logファイルウォッチャーのアンインストール
./scripts/install-file-watcher.sh --uninstall推奨システムプロンプト
Slipboxはベースラインを自動的に配信します:すべてのクライアントは接続時にサーバーインストラクションを受け取り、ツールの適切な使い方——ノートタイプ、リンクのセマンティクス、品質基準、検索前作成などのコアワークフロー——をカバーします。これらを自分で追加する必要はありません。
docs/SYSTEM_PROMPT.mdはその上のオプトインレイヤーです:サーバーが単独で主張すべきではない自律性とイニシアチブの指示です。エージェントのプリファレンスまたはシステムプロンプトに追加して、以下を有効にします:
会話中の自動ナレッジキャプチャ
会話開始時のクラスター創発検出
ツールリファレンス
コアノート操作
ツール | 説明 |
| アトミックノートを作成(fleeting/literature/permanent/structure/hub) |
| IDまたはタイトルでノートを取得 |
| 既存ノートを更新 |
| ノートを削除 |
リンク
ツール | 説明 |
| ノート間のセマンティックリンクを作成 |
| リンクを削除 |
| 特定のリンクを削除(リンクが存在しない場合はエラー) |
| ノートにリンクされた/からのノートを取得 |
検索と発見
Tool | Description |
| テキスト(BM25ランキング)、タグ、または種類で検索 |
| 指定したノートに類似するノートを検索 |
| 最も接続されているノートを検索 |
| 接続されていないノートを検索 |
| 日付範囲でノートを一覧表示 |
| すべてのタグを一覧表示 |
クラスター分析
Tool | Description |
| 構造ノートが必要な未処理クラスターを取得 |
| クラスターから構造ノートを作成 |
| クラスター分析を再生成 |
| 提案からクラスターを完全に除外 |
メンテナンス
Tool | Description |
| ファイルからデータベースインデックスを再構築 |
プロンプトリファレンス
MCPプロンプトは、ツェッテルカステン法を組み込んだ再利用可能なワークフローテンプレートで、毎回のセッションで説明し直す必要がありません。
Prompt | Description | Use When |
| 情報を3〜5個のアトミックノートに処理する | 記事、アイデア、ノートを追加するとき |
| 大量の情報を5〜10個のノートに処理する | 書籍や長編コンテンツを処理するとき |
| 既存知識への接続をマッピングする | トピック間の関連を探るとき |
| 高次の洞察を生み出す | アイデア間の橋渡しを見つけるとき |
| スリップボックスに適したノートか評価する | 新しいノートまたは既存ノートを見直すとき |
| 未処理のメンテナンス事項を明らかにする | 作業セッションの開始時 |
呼び出し方: スラッシュコマンドとスキル
各ワークフローには2つの方法が用意されています:
MCPプロンプト: 実行中のサーバーによって提供されます。
スキル: 同じワークフローを実行し、自然言語によるトリガーを追加するスタンドアロンバンドル (
skills/<name>/) です。
6つのスキルのうち5つは、サーバーが使用するのと同じ PROMPT_* テンプレートから生成されます (src/slipbox_mcp/server/descriptions.py)。コミットされた skills/ がこれらのテンプレートから逸脱しているとCIは失敗します。6つ目の cluster-maintenance は、そのMCPプロンプトが再利用可能なワークフローではなく実行時にレンダリングされるステータスメッセージであるため、scripts/build_skills.py に直接記載されています。
スラッシュコマンドは確実な方法です。Claude Code は MCP プロンプトを /mcp__<server>__<prompt> として表示します。ピッカーを開くには /mcp__slipbox-mcp__ と入力してください:
/mcp__slipbox-mcp__knowledge_creation
/mcp__slipbox-mcp__knowledge_exploration
/mcp__slipbox-mcp__knowledge_synthesis
/mcp__slipbox-mcp__knowledge_creation_batch
/mcp__slipbox-mcp__analyze_note
/mcp__slipbox-mcp__cluster_maintenance(インストールされたスキルは、ディレクトリ名で独自のスラッシュコマンドも公開します。例: /slipbox-analyze-note。)
自然言語は、対応するスキルがインストールされていれば機能します。やりたいことを説明するだけです:
Analyze this note for my slipbox: [paste note]
Add this to my slipbox: [paste article]
Synthesize my notes on attention and memory.散文によるトリガーは、スキルがインストールされ、そのフレーズがスキルの説明と一致している場合に機能します。発火しない場合はスラッシュコマンドにフォールバックしてください。モデルに「use the analyze_note prompt」と名前で指示しても機能しません。モデルはMCPプロンプトを名前で呼び出せないためです。スラッシュコマンドを使うか、自然言語からスキルをトリガーさせてください。
スキルのインストール
Claude Code は、スキルを .claude/skills/(プロジェクト単位)または ~/.claude/skills/(グローバル)から発見します。裸のトップレベル skills/ からは発見しません。必要なスキルをディスカバリパスにシンボリックリンクまたはコピーしてください(例: このプロジェクトの場合):
mkdir -p .claude/skills
ln -s ../../skills/slipbox-analyze-note .claude/skills/slipbox-analyze-note
# ...or copy the directories, or symlink all sixClaude Desktop では、各スキルが .skill バンドルである必要があります。ビルドしてからアップロードしてください:
python scripts/build_skills.py # writes dist/*.skill設定 → スキル → スキルをアップロード と移動し、dist/ から必要なバンドルを選択してください。それぞれがスラッシュコマンドと自然言語トリガーの両方としてインストールされます。
descriptions.py でプロンプトテンプレートを編集した後、ビルドを再実行してスキルを再生成してください。
リンクタイプ
Type | Use When | Inverse |
| 一般的な「関連情報」のつながり | reference |
| 別のアイデアに基づいて構築する | extended_by |
| 明確化または改善する | refined_by |
| 反対の見解 | contradicted_by |
| 疑問を提起する | questioned_by |
| 証拠を提供する | supported_by |
| 緩いつながりのテーマ的関連 | related |
ノートタイプ
Type | Purpose |
| 素早いメモ、未処理の考え |
| 引用付きの情報源からのアイデア |
| 自分の言葉で洗練されたアイデア |
| 特定のトピックに関する7〜15個の関連ノートを整理するマップ |
| 構造ノートにリンクするドメイン概要。広範な知識領域をナビゲートするための入り口 |
構造ノート vs. ハブノート: 構造ノートは、単一のトピックを中心にパーマネントノートのクラスターを整理します。ノート自体の一階層上の、厳選されたマップです。ハブノートは、さらに一階層上で動作します。知識ドメイン全体にわたって構造ノート(および場合によっては主要なパーマネントノート)にリンクします。構造ノートが「Xについて何を知っているか?」に答えるのに対し、ハブノートは「このドメイン全体の知識がどのように整理されているか?」に答えます。ほとんどのツェッテルカステンは、少数のハブノートだけで十分です。
ファイル形式
ノートはYAMLフロントマター付きのMarkdownファイルとして保存されます:
---
id: "20251217T172432480464000"
title: "Poetry Revision Principles"
type: structure
tags:
- poetry
- revision
- craft
created: "2025-12-17T17:24:32"
updated: "2025-12-17T17:24:32"
---
# Poetry Revision Principles
Content here...
## Links
- reference [[20250728T125429845760000]] Member of structureこれらのファイルは、任意のテキストエディタまたはObsidianで直接編集できます。外部で編集した後は slipbox_rebuild_index を実行してください。
アップグレード
新しいバージョンを取得したら、Claude Desktop を再起動してください。リリースノートにデータベースの変更が記載されている場合は、slipbox_rebuild_index を一度実行して既存のデータベースを最新の状態にしてください。
FTS5検索へのアップグレード(FTS5リリース以降の任意のバージョン): 全文検索インデックスは、サーバーが新しいデータベースに対して起動すると自動的に作成されます。既存のデータベースの場合、FTS5テーブルは最初の起動時に作成されますが、以下を実行するまで空のままです:
slipbox_rebuild_indexこれにより、既存のノートからBM25インデックスが生成されます。これが完了するまで、検索結果は関連性順にランク付けされません。
トラブルシューティング
Claude Desktop でサーバーが読み込まれない
ランチャーが解決されることを確認します:
which slipbox-mcpがパス(通常は~/.local/bin/slipbox-mcp)を表示するはずです。ターミナルでは解決されるのにDesktopで起動できない場合、GUIアプリがPATH上で
~/.local/binを認識していません。"command": "slipbox-mcp"を手順1の絶対パスに置き換えてください。Claude Desktop のログでエラーを確認してください。
slipbox-mcp: command not found
コンソールスクリプトがインストールされていないか、PATHにありません。pipx install --editable . --force で再インストールし、which slipbox-mcp で確認してください。pipx のbinディレクトリがPATHにない場合は、pipx ensurepath を実行してシェルを再起動してください。
ノートディレクトリがリテラルで ~/... を指す
ノートディレクトリがCWD相対の ./~/... になってしまった場合、JSON設定で ~ を使用したことが原因です。Claude Desktop は ~ を展開しません。完全な絶対パスに置き換えてください。
検索結果が返らない
FTS5インデックスが生成されていない可能性があります。
slipbox_rebuild_indexを一度実行して既存のノートをインデックス化してください。最近Claudeの外部でノートを編集した場合、インデックスが古くなっている可能性があります。
slipbox_rebuild_indexを実行してください。
slipbox_list_notes_by_date が空の結果を返す
start_date が end_date より後の場合、一致するノートがなく、空の結果が返されます。これは期待される動作であり、エラーではありません。
データベースの同期がずれている
MCPサーバーの外部でノートが編集された場合:
slipbox_rebuild_indexクラスター検出が実行されていない
launchctl list | grep slipbox.cluster-detection
# Should show: - 0 com.slipbox.cluster-detection
# Check logs
cat /tmp/slipbox-clusters.log
# Reinstall if needed
./scripts/install-cluster-detection.sh --uninstall
./scripts/install-cluster-detection.shファイルウォッチャーが実行されていない
launchctl list | grep slipbox.watcher
# Should show: - 0 com.slipbox.watcher
# Check logs
cat ~/.local/share/mcp/slipbox/watcher.log
# Reinstall if needed
./scripts/install-file-watcher.sh --uninstall
./scripts/install-file-watcher.shZETTELKASTEN_* 環境変数からのアップグレード
以前に ZETTELKASTEN_NOTES_DIR、ZETTELKASTEN_DATABASE_PATH、またはその他の ZETTELKASTEN_* 変数を使用していた場合、それらは読み取られません。対応する SLIPBOX_* に名前を変更してください:
Old | New |
|
|
|
|
|
|
|
|
|
|
サーバーは古い名前を検出すると警告をログに記録しますが、自動的に移行はしません。
クラスターレポートのパスは設定不可
クラスター分析レポートは、SLIPBOX_BASE_DIR や SLIPBOX_NOTES_DIR に関係なく、常に ~/.local/share/mcp/slipbox/cluster-analysis.json に書き込まれます。非デフォルトのパスを使用している場合でも、クラスターレポートはデフォルトの場所に置かれます。
インストールスクリプトはmacOS専用
scripts/install-cluster-detection.sh と scripts/install-file-watcher.sh のスクリプトは、macOSにしか存在しない launchctl と ~/Library/LaunchAgents/ を使用します。Linuxでは、同等のsystemdユニットまたはcronジョブを手動で作成する必要があります。関連するREADMEセクションの手動テストコマンドを参照して、基盤となるPythonスクリプトがお使いのプラットフォームで動作することを確認してください。
デフォルトパスは作業ディレクトリ相対
SLIPBOX_NOTES_DIR と SLIPBOX_DATABASE_PATH が設定されていない場合、サーバーは現在の作業ディレクトリ相対で data/notes と data/db/zettelkasten.db をデフォルトにします。Claude Desktop 経由で実行する場合、CWDが想定と異なることがあります。これを避けるには、常に claude_desktop_config.json に絶対パスを設定してください。
開発
セットアップ
git clone https://github.com/jamesfishwick/slipbox-mcp.git
cd slipbox-mcp
uv venv && uv pip install -e ".[dev]"テスト
このプロジェクトには3段階のテストがあります:
層 | 件数 | 速度 | コスト | コマンド |
ユニット + 統合 | 219 | ~2秒 | 無料 |
|
ツール契約テスト | 22 | ~0.5秒 | 無料 |
|
LLM評価 | 28 | ~10分 | 約$3-5 |
|
# Default: runs unit + contract tests (CI runs this)
pytest
# Run everything except LLM evals
pytest tests/ evals/tool_contracts/
# Run LLM evals (requires claude CLI authenticated)
pytest evals/llm/ -v
# Run LLM evals with a specific model
EVAL_MODEL=sonnet pytest evals/llm/ -v
# Lint
ruff check src/ evals/ユニットテストは内部ロジックをカバーします -- サービス、リポジトリ、モデル、パース処理。
ツール契約テストは、LLMが見るMCPツールの出力形式を検証します -- パース可能な構造、チェーン(作成 -> 検索 -> 取得)、役立つエラーメッセージなど。これらは決定的で、LLMを呼び出しません。
LLM評価は、MCPサーバーを接続した claude CLI を介してLLMにプロンプトを送信し、データベースの状態(作成されたノート、作成されたリンク、適用されたタグ)を検査して結果を採点します。これにより、ツールの説明が与えられたときにLLMが実際にツールを正しく使用するかどうかをテストします。
CI/CD
ブランチ保護: main への直接プッシュはブロックされます。すべての変更はPRを経由します。
ワークフロー | トリガー | ランナー | 内容 |
| すべてのPR + mainへのpush | GitHubホステッド | ユニットテスト + コントラクトテスト、ruff lint + format |
| オプトイン(ラベルまたは手動) | セルフホステッド | claude CLIによるLLM評価28件 |
|
| GitHubホステッド | release-please PR。マージ時にビルド + PyPIへ公開 |
LLM評価スイートは高コスト(約$3〜5、約10分)で、セルフホステッドランナー上で実行されるため、自動で実行されることは決してありません。パスベースのトリガーでは、実際のプロンプト変更と見た目だけの再フォーマットを区別できません。プロンプトやツール説明のセマンティクスを変更するときは、意図的に実行してください:
PRに
run-llm-evalsラベルを追加します。ラベルが付いている間、実行され、pushのたびに再実行されます。またはActionsタブから手動でトリガーします(
workflow_dispatch)。またはランナーなしでローカル実行します:
pytest evals/llm/ -v。
ラベルも手動ディスパッチもなければ、ジョブはスキップされます(ランナーは割り当てられず、コストもかかりません)。
評価セットアップのカスタマイズ
セルフホステッドランナーが不要な場合: .github/workflows/llm-evals.ymlを削除し、プロンプト変更をマージする前にローカルでpytest evals/llm/ -vを実行してください。
すべてのPRでLLM評価を自動実行したい場合: 関連するpaths:フィルタ付きのpull_requestトリガーを追加し、ジョブのif:からラベルゲートを外してください。ただし、フォーマットのみの編集による偶発的なトリガーが発生することを想定してください。
デフォルトの評価モデルを変更する場合: 環境変数またはワークフローファイルでEVAL_MODELを設定してください。デフォルトは速度/コストの観点からhaikuです。
セルフホステッドランナーをセットアップする場合:
# Get a registration token
gh api repos/OWNER/REPO/actions/runners/registration-token -X POST -q '.token'
# Download and configure
mkdir -p ~/.github-runners/slipbox-mcp && cd ~/.github-runners/slipbox-mcp
curl -sL -o actions-runner.tar.gz https://github.com/actions/runner/releases/latest/download/actions-runner-osx-arm64-2.325.0.tar.gz
tar xzf actions-runner.tar.gz
./config.sh --url https://github.com/OWNER/REPO --token <TOKEN> --unattended
nohup ./run.sh &PyPIへのリリース
リリースは自動化されています。Releaseワークフロー(.github/workflows/release.yml)は、mainへのpushのたびにrelease-pleaseを実行し、PyPIのTrusted Publishing(OIDC)経由で公開します。そのため、APIトークンはリポジトリシークレットに保存されません。
フロー(バージョンを手作業で編集したり、タグをpushしたりすることはありません):
Conventional Commitメッセージで
mainに変更を取り込みます(feat:→ マイナーバンプ、fix:→ パッチ、feat!:/BREAKING CHANGE:→ メジャー)。リポジトリのコミットフックはこの形式をすでに強制しています。release-pleaseは常設の**「release PR」**を開いたままにし、次のバージョンバンプ(
src/slipbox_mcp/__init__.py内)と、それらのコミットから生成されるCHANGELOG.mdエントリを蓄積します。リリースの準備ができたら、release PRをマージします。 それによりリリースタグ(
v<version>)が付き、同じワークフロー実行内でsdist + wheelのビルド、twine checkの実行、PyPIへの公開が行われます。
つまり、リリースの作成はワンクリックです:ボットのPRをマージするだけ。他には何もありません。
コミットタイプがバージョンを決定します。したがって正確にタイプしてください。 バンプは、前回リリース以降のConventional Commitプレフィックスから機械的に計算され、変更の規模からは計算されません。feat:/fix:は出荷されるパッケージへの変更のために予約し、それ以外にはリリース対象外のタイプを使用してください:
プレフィックス | バージョンへの影響 | 使用目的 |
| minor(1.3.0 → 1.4.0) | パッケージの新しい実行時機能 |
| patch(1.3.0 → 1.3.1) | パッケージのバグ修正 |
| major(1.3.0 → 2.0.0) | 後方互換性のない変更 |
| なし | ドキュメント、ツール、CI、パッケージング、内部のみの変更 |
リリース対象外のコミットだけのバッチでは、release PRは一切生成されません。release-pleaseが読み取るのはスカッシュマージのタイトルなので、PRタイトルのプレフィックスが重要です。かけた労力ではなく、パッケージが得るものに基づいてラベルを付けてください。
一度だけのセットアップ(このリポジトリでは実施済み。フォーク用に文書化):
PyPIで、プロジェクト
slipbox-mcpのpending trusted publisherを登録します:Owner:jamesfishwick· Repository:slipbox-mcp· Workflow:release.yml· Environment:release。4つすべてが正確に一致する必要があります。GitHubで、
releaseという名前の環境を作成します(Settings → Environments)。デプロイ参照を制限する場合は、タグルールv*を追加します(同名のブランチルールはタグに一致しません)。
バージョンは
src/slipbox_mcp/__init__.py内で一度だけ定義されます(release-pleaseがバンプし、# x-release-please-versionマーカーがどの行かを示します)。pyproject.toml(dynamic = ["version"])とサーバーのserver_versionはどちらもそこから読み取るため、同期を保つものは何もありません。release-pleaseが作成するタグは、構造上常にパッケージバージョンと一致します。
公開せずにビルドをリハーサルするには、手動で実行します:python -m build && twine check dist/*(アップロードをドライランするには、TestPyPIトークンを使ってtwine upload --repository testpypi dist/*を実行します)。
共有プロンプト定数
すべてのツール説明とプロンプトテンプレートはsrc/slipbox_mcp/server/descriptions.pyにあります。MCPサーバーと評価テストの両方がこの単一の情報源からインポートします。プロンプトを変更した場合、評価テストは新しい文言でもLLMが正しく動作するかどうかをテストします。
デバッグログ
SLIPBOX_LOG_LEVEL=DEBUG python -c "from slipbox_mcp.main import main; main()"CLIツール
slipboxコマンドは、機械的な操作のためのターミナルアクセスを提供します:
slipbox status # Overview of notes, tags, orphans, pending clusters
slipbox search <query> # Find notes by text
slipbox clusters # Show pending structure note candidates
slipbox orphans # List unconnected notes
slipbox rebuild # Rebuild index (add --clusters to refresh cluster analysis)
slipbox export <id> # Export note markdown to stdout
slipbox tags # List all tags with usage countsインストール:pipx install --editable .(slipboxがPATHに追加されます)
実験的:エージェントメモリとしてのSlipbox
未検証の仮説であり、推奨されるセットアップではありません。上記のすべては、エージェントがあなたの知識を管理するのに役立ちます。これはそれを逆転させます:エージェントは、ネイティブメモリやルールファイルの代わりに、セッションをまたいだ独自の永続メモリとしてslipboxを使用します。
モデルはセッション間でメモリを持たないため、slipboxはあるセッションが次のセッションに残せる唯一のチャネルです。エージェントは、まっさらな後続セッション向けのブリーフィング(失敗とその理由、繰り返し発生する制約、修正、苦労して得た事実)を書き、agent-memoryタグを付け、行動する前にそのタグを検索します。狙いは、接続されたメモリがフラットなルールファイルに勝るということです。なぜなら、たどって取得できるからです。
先に知っておくべき3つのこと:名前空間の分離はタグの規約であり、強制されないため、別のslipboxインスタンスに対して実行してください。「メモリ」は誤称であり、ノート自体以外は永続しません。そして、成長の規律は未証明の部分であり、最初の実行ではスプロールが発生することを想定してください。詳細な解説と注意事項:Slipbox as Agent Self-Memory。
ドキュメント
ドキュメント | 内容 |
ノートIDの形式、5つのノートタイプ、およびこのメソッドの1ページのチートシート。 | |
エージェントを介さず、Obsidianで同じワークフローを手動で実行する方法。 | |
Slipboxのリンクが | |
同じボールトを読み書きできる他のツール。 | |
オプトインの自律レイヤー:自動キャプチャ、クラスター検出、エージェントメモリ実験。 | |
ツールの使用例を示す実施済みセッション。 |
コントリビューション
セットアップ手順、コーディング標準、変更の提出方法についてはCONTRIBUTING.mdを参照してください。
ロードマップ
計画中の機能と今後の方向性についてはROADMAP.mdを参照してください。
スポンサー
slipbox-mcpが役に立つなら、プロジェクトへのスポンサー登録を検討してください。
ライセンス
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseCqualityFmaintenanceAn MCP server that integrates the zk note-taking system with LLMs, enabling users to search, read, create, and manage notes. It provides tools for link analysis, tag management, and complex note queries to interact with local knowledge bases.51MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that treats Obsidian vaults as knowledge graphs, enabling AI agents to traverse wikilinks, assemble token-budgeted context, and search with backlink awareness.31MIT
- AlicenseNot gradedqualityAmaintenanceA local-first MCP server that gives AI assistants long-term memory by storing, searching, and recalling notes as Markdown files on your machine.15MIT
- AlicenseNot gradedqualityDmaintenanceA lightweight MCP server that enables AI assistants to securely read, create, and modify notes in an Obsidian vault, with support for semantic search and web scraping.2,472MIT
Related MCP Connectors
Markdown-based note-taking with a hosted MCP server. Your notes serve you and your AI.
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Serve a folder of Markdown notes as an MCP server: hybrid search, reading, and sourced answers.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/jamesfishwick/slipbox-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server