Cursor / Claude から使う(MCP 連携)
Cursor / Claude から使う(MCP 連携)
iknow.dev は MCP(Model Context Protocol) に対応しています。Cursor / Claude などの MCP クライアントから iknow.dev のナレッジを直接参照・編集できるため、ブラウザを開かずに IDE や AI チャット上で iknow.dev のナレッジを呼び出せます。
このページは MCP 連携の 入口から仕組みまで を 1 ページにまとめたものです。まず「MCP とは」「接続する」で使い始め、内部の仕組みを知りたいときは末尾の「技術リファレンス(仕組み)」を参照してください。
MCP とは(30秒で理解する)
MCP は、AI クライアント(Cursor / Claude など)が外部のデータソース(iknow.dev など)にツール越しにアクセスするための共通プロトコルです。iknow.dev では MCP サーバーが用意されているので、ユーザーは AI クライアントに 「iknow.dev に接続する」 設定をするだけで、対話の中で次のような操作ができます。
- 自分のエージェントのナレッジを検索する
- ナレッジ本文を取得する
- ナレッジを新規作成・追記・更新する(オーナーのみ)
- タイトル・タグ・関連ナレッジのリンクを更新する(オーナーのみ)
- 新規エージェントを作成する(認証ユーザー全員)
- セクションコメントを追加する(メンバー以上)
接続先の URL(3 モード)
接続先は 3 種類あり、用途に応じて選びます。スコープはナレッジ単位ではなく エージェント単位 です。
| モード | URL | 認証 | 対象 |
|---|---|---|---|
| Orchestration(横断利用) | /mcp |
OAuth | 自分がアクセスできる すべてのエージェント を横断利用 |
| Single Agent(シングル接続) | /mcp/{agentCode} |
OAuth | 指定 1 エージェントに固定。オーナー / メンバー向け |
| Public Read-only(匿名読取) | /mcp/public/{agentCode} |
不要 | 指定 1 エージェント(パブリックのみ)。匿名で読み取り専用 |
迷ったら
/mcp(横断利用) がおすすめです。1 回登録するだけで、アクセスできる全エージェントを切り替えながら使えます。特定 1 エージェントに絞りたいときだけ/mcp/{agentCode}を使います。
Cursor からワンクリックで接続する
最も簡単な方法です。手動でコピーする必要はありません — 自動設定されます。
- ブラウザで iknow.dev にログインし、ユーザーメニュー → アカウント設定を開きます。
- 「エージェント連携」 セクションの 「Cursorへインストール」 ボタンを押します。
- OAuth クライアントが自動発行され、ブラウザが Cursor を起動して、オーケストレーション MCP(
/mcp)がmcp.jsonに 自動登録 されます(Client ID / Client Secret もディープリンク経由で Cursor 側に渡されます)。
ワンクリック登録が接続するのは、横断利用できるオーケストレーション
/mcpです。特定 1 エージェントに絞りたい場合は手動接続で/mcp/{agentCode}を指定してください。
Claude から接続する(カスタムコネクタ)
Claude では、発行直後に表示される 3 項目を コピーしてカスタムコネクタに設定 します。
- アカウント設定で 「Claudeへインストール」 を押します。
- 発行直後に その場で一度だけ 表示される次の 3 項目を必ずコピー します(後から再表示不可)。
- リモート MCP サーバー URL —
https://{ドメイン}/mcp - OAuth Client ID
- OAuth Client Secret
- リモート MCP サーバー URL —
- Claude の カスタムコネクタ(MCP コネクタ) 設定画面に、コピーした 3 項目を貼り付け、あわせて次も設定します。
| 項目 | 値 |
|---|---|
| サーバー URL | 手順 2 でコピーしたリモート MCP サーバー URL(通常 https://{ドメイン}/mcp) |
| 認証方式 | OAuth 2.0(Authorization Code) |
| Client ID / Client Secret | 手順 2 でコピーした値 |
| トークン URL | https://{ドメイン}/oauth/token |
| 認可 URL | https://{ドメイン}/oauth/authorize |
| スコープ | mcp:use |
- Claude から初回接続すると iknow.dev の認可画面が開き、認可するとアクセストークンが発行されます。
⚠ Client Secret は発行直後の画面でのみ表示されます。Claude のカスタムコネクタ設定に貼り付ける前に、必ずコピーして保存してください。紛失した場合は古いクライアントを削除し、新規発行してください。
ナレッジの登録と管理(対話で操作する)
ブラウザのナレッジエディターを開かなくても、Cursor や Claude のチャットから 自然言語で指示するだけ で、自分がオーナーのエージェントのナレッジを登録・更新できます。AI が内部で MCP ツール(search-knowledge → get-knowledge → create-knowledge など)を呼び出すため、ユーザーがツール名を覚える必要はありません。
| やりたいこと | 対話例 |
|---|---|
| ナレッジを新規登録 | 「〇〇エージェントに、△△についてのナレッジを作って」 |
| 既存ナレッジを更新 | 「『MCP 連携』のナレッジを、最新の手順に合わせて更新して」 |
| 内容を追記 | 「このナレッジに、Claude Desktop からの接続手順を追記して」 |
| タイトル・タグを変更 | 「このナレッジのタグに MCP を追加して」 |
| 関連ナレッジをリンク | 「このナレッジとナレッジエディターの使い方を関連付けて」 |
| ナレッジを検索 | 「〇〇について書いてあるナレッジを探して」 |
| テーブル形式の行を更新 | 「経費一覧のうち旅費の行だけ金額を修正して」 |
| エージェントを新規作成 | 「新しいエージェントを作って」 |
登録・更新の流れ(AI が実行する内部手順)
- 対象エージェントを選ぶ — 横断接続(
/mcp)の場合、get-reference name=agentsでアクセス可能なエージェント一覧を確認し、agent_codeを指定します。 - 既存ナレッジを確認 — 新規作成前に
search-knowledgeで同テーマの既存ページがないか探します(あればappend-knowledgeやupdate-knowledgeの方が望ましい)。 - 内容を書き込む — 形式に応じてツールを使い分けます(下表)。
- 変更意図(intent) — すべての書き込み操作には 変更の意図(コミットメッセージ相当、最大 1000 文字)が必須です。AI が自動で付与し、ナレッジエディターの変更履歴に記録されます。
| やりたいこと | 使うツール |
|---|---|
| 新規作成 | create-knowledge |
| 本文末尾に追記 | append-knowledge |
| 本文を丸ごと書き換え | update-knowledge |
| タイトル・タグ・番号(no)の変更 | update-knowledge-meta |
| 関連ナレッジのリンク作成/解除 | update-knowledge-meta の link_to / unlink_from |
| テーブル形式 JSON の行追加・更新・削除 | write-json-rows |
| 削除 | delete-knowledge(ユーザーから明示指示があった場合のみ) |
| エージェント新規作成 | create-agent(agent_code 不要。呼び出し本人が単独オーナー) |
記法・詳細仕様
- 本文は Markdown または テーブル形式 JSON(配列の配列)です。HTML は使えません。
- ツールの引数や詳細な使い分けは
get-reference name=mcp-tools-guideで取得できます。 - Markdown 記法・テーブル JSON の仕様は
get-reference name=markdown-guideを参照してください。
できること(ツール一覧と権限)
利用ユーザーの権限によって使えるツールが切り替わります。
| ツール | できること | 匿名 | メンバー | オーナー |
|---|---|---|---|---|
get-reference |
エージェント一覧・ツールガイド・記法ガイドを取得(最初に呼ぶべき) | ✓ | ✓ | ✓ |
search-knowledge |
ナレッジを検索(keyword / semantic / hybrid) | ✓ | ✓ | ✓ |
list-knowledge |
ナレッジ一覧を取得 | ✓ | ✓ | ✓ |
get-knowledge |
ナレッジ本文+関連ナレッジ一覧を取得 | ✓ | ✓ | ✓ |
query-json-rows |
テーブル形式 JSON の行を読み取り・集計 | ✓ | ✓ | ✓ |
add-comment |
セクションコメントを追加 | — | ✓ | ✓ |
create-knowledge |
ナレッジを新規作成 | — | — | ✓ |
append-knowledge |
ナレッジ本文に追記 | — | — | ✓ |
update-knowledge |
ナレッジを更新 | — | — | ✓ |
update-knowledge-meta |
タイトル・タグ等のメタ更新+関連ナレッジのリンク作成/解除 | — | — | ✓ |
write-json-rows |
テーブル形式の行を追加・更新・削除 | — | — | ✓ |
delete-knowledge |
ナレッジを削除(ソフトデリート) | — | — | ✓ |
create-agent |
新規エージェントを作成(本人がオーナー) | — | ✓ | ✓ |
パブリックエージェントの参照系ツールは匿名でも使えますが、プライベートエージェントの参照にはメンバー以上が必要です。書き込みツールはすべて オーナー専用 で、権限がないと 403 になります。エージェント一覧で自分の役割を確認してください。
*
create-agentは接続中エージェントの役割に依存せず、認証済みユーザー(メンバー・オーナー)なら誰でも実行できます(匿名/mcp/publicには非公開)。
Web 画面との使い分け
| やりたいこと | おすすめ |
|---|---|
| IDE 内でコードを書きながらナレッジ化 | MCP(Cursor) |
| 対話しながらまとめて登録・更新 | MCP(Cursor / Claude) |
| ファイル・Qiita・GitHub から一括インポート | Web(ナレッジ一覧) |
| セクション分割・AI 修正・コメント確認 | Web(ナレッジエディター) |
| 変更履歴の詳細確認 | Web(ナレッジエディター) |
困ったとき
| 症状 | 確認 |
|---|---|
| 接続時に 401 | アクセストークン期限切れの可能性。クライアントを再認可 |
| 書き込みツールが 403 | オーナー権限が必要。エージェント一覧で自分の役割を確認 |
| Client Secret を紛失 | 該当クライアントを削除し、新規発行(Claude は再コピーが必要) |
| パブリック接続で 404 | プライベートエージェントには匿名接続不可。OAuth 接続(/mcp または /mcp/{agentCode})を使う |
技術リファレンス(仕組み)
ここからは MCP サーバーの内部仕様です。通常の利用では読む必要はありません。iknow.dev の MCP サーバーは Laravel MCP(laravel/mcp v0)で実装しています。
3 つの接続モードの詳細
Orchestration — POST /mcp
| 項目 | 内容 |
|---|---|
| 認証 | OAuth(Bearer) |
| 利用者 | オーナー・メンバー |
| 特徴 | 1 接続で利用可能な全エージェントを横断利用 |
| ルーティング | ツール呼び出しごとに agent_code でルーティング(同一 MCP セッション内では一度指定すれば省略可) |
| 向いている用途 | Cursor / Claude へ 1 回登録するだけで済む |
Single Agent — POST /mcp/{agentCode}
| 項目 | 内容 |
|---|---|
| 認証 | OAuth(Bearer) |
| 利用者 | オーナー・メンバー |
| 特徴 | URL パスでエージェント固定 |
| セッション | 開始時にツールを絞り込み |
| 制約 | agent_code 引数を併用する場合は URL の {agentCode} と一致必須 |
Public Read-only — POST /mcp/public/{agentCode}
| 項目 | 内容 |
|---|---|
| 認証 | 認証ヘッダ不要 |
| 利用者 | 匿名 |
| 特徴 | パブリックエージェントの読取のみ |
| 制約 | プライベートエージェントは 404。書き込みツールは公開しない |
オーケストレーション利用フロー(/mcp)
- OAuth 認可 — クライアントは
/mcpを 1 回だけ登録・認可する get-reference name=agents— アクセス可能なエージェント一覧を取得- LLM がエージェント選択 — LLM 自身が最適なエージェントを判断する(サーバーは自動選択しない)
agent_codeを渡してツール実行 —search-knowledge/get-knowledge/create-knowledgeなどにagent_codeを指定(横断接続では初回必須・同一セッション内で記憶され省略可)- 都度ロール認可 —
agent_codeから Agent を解決し owner / member を判定。許可外はエラー
get-reference name=agents agent_code=<code> の戻り値(JSON 例):
{
"agents": [{
"name": "...",
"code": "agent-code",
"description": "...",
"role": "owner|member|null",
"allowed_tools": ["..."],
"knowledge_count": 42,
"top_tags": ["..."],
"recent_titles": ["..."]
}],
"total_count": 1
}
認可レイヤーと実装
ツールはロール別の許可セットで認可します(IknowServer::$tools で公開ツールを定義)。
| 分類 | ツール | オーナー | メンバー | 匿名 |
|---|---|---|---|---|
| 参照系 | get-knowledge / get-reference / list-knowledge / query-json-rows / search-knowledge |
✓ | ✓ | ✓(パブリックのみ) |
| メンバー書込 | add-comment |
✓ | ✓ | — |
| 更新系(オーナー専用) | create-knowledge / append-knowledge / update-knowledge / update-knowledge-meta / write-json-rows / delete-knowledge |
✓ | — | — |
| エージェント作成 | create-agent(認証ユーザー全員。エージェント単位の権限に非依存) |
✓ | ✓ | — |
- リンクの作成・解除 —
update-knowledge-metaのlink_to/unlink_fromで実施(無向・untyped・冪等) - 削除 —
delete-knowledgeはオーナー専用のソフトデリート(RESTDELETE /api/v1/knowledge/{id}と同一挙動)
OAuth 認証フロー
- クライアント発行 — アカウント設定の「MCP OAuth」または「Cursor / Claude へインストール」ボタンで
client_id/client_secretを作成 - 認可コード取得 —
GET /oauth/authorizeでユーザーが認可。scope はmcp:use固定 - アクセストークン —
POST /oauth/tokenで Bearer トークンを取得(Expert 単位に発行) - MCP に接続 —
Authorization: Bearer <token>で/mcpまたは/mcp/{agentCode}を呼び出す
匿名アクセス: /mcp/public/{agentCode} は認証不要。プライベートエージェントには 404 を返します。