Kibela MCP Server について
Kibela MCP Serverは、Kibelaの利用者がMCPクライアントからノート、フォルダー、コメントを操作するためのサーバーです。公開GraphQL APIの一部をツールとして提供し、ノートのレビューや検索に使えるプロンプトも備えています。
主な機能
- 01ノートの検索・取得・編集
- 02ノートとフォルダーの作成
- 03ノートの移動とフォルダーへの関連付け
- 04コメントと返信の作成
- 05ノートレビュー・検索用プロンプト
活用シーン
- 01Kibela内の情報検索
- 02フォルダーとノートの整理
- 03AIを使ったKibelaノートの下書き
MCP 対応
STDIOを使うローカルサーバーとして動作し、Claude DesktopやVSCodeなどのMCPクライアントにKibelaのツールとプロンプトを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm -e KIBELA_ORIGIN -e KIBELA_ACCESS_TOKEN ghcr.io/kibela/kibela-mcp-serverKIBELA_ORIGINKIBELA_ACCESS_TOKENシークレットローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ghcr.io/kibela/kibela-mcp-serverstdioツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
概要
Kibela MCP サーバーは、現在 STDIO を使用するローカルサーバーとしてのみ利用でき、Claude Desktop や VSCode などの任意の MCP クライアントで使用できます。
MCP に適しており、一般公開されている GraphQL API のみがツールとして実装されています。
使用例
- Kibela 内の情報について質問する
- Kibela のフォルダーや記事を整理する
- AI を使って Kibela での執筆を支援する
要件
- Docker がインストールされていること
- Docker が実行中であること
- Kibela のアクセストークンが発行されていること
- MCP クライアントを実装したアプリケーションがインストールされていること
インストール
例:Claude Desktop
次の設定を claude_desktop_config.json に記述します。Kibela のオリジンとアクセストークンを環境変数として設定してください。
{
"mcpServers": {
"kibela": {
"command": "docker",
"args": [
"run",
"-i",
"-e",
"KIBELA_ORIGIN",
"-e",
"KIBELA_ACCESS_TOKEN",
"ghcr.io/kibela/kibela-mcp-server"
],
"env": {
"KIBELA_ORIGIN": "https://your-subdomain.kibe.la",
"KIBELA_ACCESS_TOKEN": "***"
}
}
}
}
Docker を使用しない場合
次に、スクリプトを実行コマンドとして設定します。このとき、スクリプトへのパスが絶対パスであることを確認してください。
{
"mcpServers": {
"kibela": {
"command": "/path/to/kibela-mcp-server/bin/cli.mjs",
"env": {
"KIBELA_ORIGIN": "https://your-subdomain.kibe.la",
"KIBELA_ACCESS_TOKEN": "***"
}
}
}
}
利用可能なツール
ノートの操作
-
search_kibela_note- ノートを検索するquery:検索キーワード(必須)resources:リソースタイプのフィルター(任意)coediting:共同編集フラグ(任意)updated:更新日の範囲(任意)groupIds:グループ ID のフィルター(任意)folderIds:フォルダー ID のフィルター(任意)likerIds:いいねしたユーザー ID のフィルター(任意)isArchived:アーカイブフラグ(任意)sortBy:並べ替え順(任意)
-
get_kibela_note_by_relay_id- Relay ID でノートを取得するid:ノートの Relay ID(必須)
-
get_kibela_note_from_path_or_url- パスまたは URL からノートを取得するpath:ノートのパスまたは URL(必須)
-
get_kibela_notes- フォルダー内のノートを取得するfolderId:フォルダー ID(必須)first:先頭から取得するレコード数(任意)last:末尾から取得するレコード数(任意)
-
create_kibela_note- 新しいノートを作成するtitle:ノートのタイトル(必須)content:ノートの内容(必須)draft:下書きフラグ(任意)groupIds:所属するグループ ID のリスト(必須)folders:フォルダー情報(任意)groupId:グループ IDfolderName:フォルダー名
-
update_kibela_note_content- ノートの内容を更新するid:ノート ID(必須)newContent:新しい内容(必須)baseContent:元の内容(必須)
フォルダー操作
-
search_kibela_folder- フォルダーを検索しますquery:検索キーワード(必須)
-
get_kibela_folder_by_relay_id- Relay ID でフォルダーを取得しますid:フォルダーの Relay ID(必須)first:先頭から取得するレコード数(任意)
-
get_kibela_folder_from_path_or_url- パスまたは URL からフォルダーを取得しますpath:フォルダーのパスまたは URL(必須)first:先頭から取得するレコード数(任意)
-
get_kibela_folders- フォルダー一覧を取得しますfirst:先頭から取得するレコード数(任意)last:末尾から取得するレコード数(任意)
-
create_kibela_folder- 新しいフォルダーを作成しますgroupId:グループ ID(必須)fullName:フォルダーの完全パス名(必須)
-
move_kibela_note_to_another_folder- ノートを別のフォルダーに移動しますid:ノート ID(必須)fromFolder:移動元のフォルダー情報(必須)groupId:グループ IDfolderName:フォルダー名
toFolder:移動先のフォルダー情報(必須)groupId:グループ IDfolderName:フォルダー名
-
attach_kibela_note_to_folder- ノートをフォルダーに関連付けますid:ノート ID(必須)folder:フォルダー情報(必須)groupId:グループ IDfolderName:フォルダー名
コメント操作
-
create_kibela_comment- ノートにコメントを作成しますcontent:コメント内容(必須)noteId:対象のノート ID(必須)
-
create_kibela_comment_reply- コメントへの返信を作成しますcontent:返信内容(必須)commentId:対象のコメント ID(必須)
その他の操作
-
get_kibela_groups- グループ一覧を取得しますfirst:先頭から取得するレコード数(任意)last:末尾から取得するレコード数(任意)
-
get_kibela_feed_sections- フィードセクション一覧を取得しますkind:フィードの種類(必須)groupId:グループ ID(必須)
利用可能なプロンプト
レビュープロンプト
入力として URL を受け取り、指定されたノートをレビューします。
入力スキーマ:
{
url: string; // URL format
}
検索プロンプト
入力としてクエリを受け取り、関連情報を検索します。
入力スキーマ:
{
query: string;
}
関連ノートプロンプト
入力として URL を受け取り、関連するノートを探索します。
入力スキーマ:
{
url: string; // URL format
}
コメント反映プロンプト
入力として URL を受け取り、そのコメントをノートに反映します。
入力スキーマ:
{
url: string; // URL format
}
カスタマイズ
以下の形式の JSON ファイルを用意すると、ツールの説明とプロンプトをカスタマイズできます。
ツールとプロンプトのキーについては、server.ts を参照してください。
{
"tools": {
"search_kibela_note": {
"description": "New description"
}
},
"prompts": {
"review": {
"prompt": "New review prompt"
}
}
}
次のようにして、コンテナにマウントします。
{
"mcpServers": {
"kibela": {
"command": "docker",
"args": [
"run",
"-i",
"-e",
"KIBELA_ORIGIN",
"-e",
"KIBELA_ACCESS_TOKEN",
"-v",
"/path/to/kibela-mcp-server-config.json:/usr/src/app/kibela-mcp-server-config.json",
"ghcr.io/kibela/kibela-mcp-server"
],
"env": {
"KIBELA_ORIGIN": "https://your-subdomain.kibe.la",
"KIBELA_ACCESS_TOKEN": "***"
}
}
}
}
開発
docker compose run mcp pnpm install
docker compose up
MCP Inspector を使ったテスト
npx @modelcontextprotocol/inspector \
-e KIBELA_ORIGIN=https://your-subdomain.kibe.la \
-e KIBELA_ACCESS_TOKEN=*** \
docker compose exec mcp bin/cli.mjs
ライセンス
このパッケージは、MIT ライセンスの条件に基づいてライセンスされています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。