MCP 技術リファレンス
トランスポートの詳細、静的認証情報、機能の境界、またはプロトコルのトラブルシューティングが必要な場合は、このページを使用します。最短の個人設定を行うには、次のことから始めます。 Kanera を AI エージェントに接続する.
接続方法
| 接続 | 認証 | 効果的なアクセス |
|---|---|---|
| インタラクティブOAuth | ブラウザのサインインと同意 | 読み取りおよび書き込みツール機能を備えた接続ユーザーとして機能します。クライアントはアクションの可用性と承認を制御します。 Kanera はユーザーの取締役の役割を強制します。ワークスペース管理アクセス権を受け取ることはありません。 |
| デバイスの認証 | あらゆるデバイスのブラウザで承認される短いユーザー コード | インタラクティブ OAuth とまったく同様に、承認ユーザーとして機能します。ワークスペース管理アクセス権を受け取ることはありません。 |
| 無人エージェント | OAuth client_credentials | 管理者が選択した読み取り、書き込み、または管理の最大値に制限されたワークスペース サービス ID を使用します。管理者は現在、デフォルトの MCP サーバーにツールを追加していません。 REST を直接管理するには、別のワークスペースまたはボード API キーを使用します。 |
| 個人用APIキー | 静的ベアラートークン | アクセス可能なボード全体でその所有者として機能します。デフォルトの MCP は引き続き仕事に重点を置いています。直接の REST リクエストは、所有者のサポートされているアクセス許可を個別に継承します。 |
| ワークスペースまたはボードの API キー | 静的ベアラートークン | 標準のワークスペースまたはスタンドアロン ボードとその読み取り、書き込み、または管理スコープに固定されたままになります。管理者は、デフォルトの MCP に構成ツールを追加しません。 |
参照 AIエージェントを接続する インタラクティブ OAuth、同意、取り消し、無人エージェント、および承認フローの場合。
ホスト型エンドポイント
Kanera がホストする MCP エンドポイントは次のとおりです。
https://mcp.kanera.app/mcp
サービスの健全性チェックは次のとおりです。
https://mcp.kanera.app/health
OAuth 対応クライアントは、MCP エンドポイントを直接追加し、ブラウザで認証を完了できます。 API キーを使用するクライアントは、API キーをベアラー トークンとして送信します。
Authorization: Bearer kanera_live_...
チームが独自の住所でKaneraを実行している場合も、同じ /mcp そして /health そこにパスが適用されます。以下に表示されている正確な MCP アドレスをコピーします。 プロファイル設定 -> API キー そのKaneraで。
プロトコルのバージョン
ホストされたエンドポイントは、現在の MCP プロトコルと、Claude、Codex、Cursor、Copilot、Gemini CLI、OpenCode が現在使用している以前のリビジョンの両方を同じサーバーから提供します。古いクライアントには、以前と同じツール、リソース、プロンプトが表示されます。現在のプロトコルのクライアントも取得します イベントのサブスクリプション。ツール スキーマは両方に対して同じ JSON スキーマ言語で公開されるため、クライアントには異なるコントラクトが表示されません。 kanera mcp over stdio は両方を受け入れます。
OAuth トークンの安全性
OAuth 対応クライアントは、セキュリティの詳細を自動的に処理します。 Kanera 接続用に発行されたトークンは、Kanera によって示された MCP アドレスでのみ機能します。一般のパブリック API 認証情報として再利用することはできません。
カスタム OAuth クライアントを構築している場合は、その正確な MCP アドレスを resource 認可中およびすべてのトークン交換中。以下のデバイス認証の例は、それが属する場所を示しています。 REST API を直接呼び出す統合には、個人、ワークスペース、またはボード API キーを使用します。
CLI およびヘッドレス クライアントのデバイス認証
ターミナル ツール、SSH セッション、使用可能なブラウザを持たないマシンなど、ブラウザ リダイレクトを受信できないクライアントは、OAuth デバイス認証許可 (RFC 8628) を使用して接続できます。クライアントは短いコードを表示し、ユーザーは任意のデバイスのブラウザでそれを承認し、クライアントはトークンを受け取るまでポーリングを行います。
結果は、インタラクティブ OAuth と同じ ID になります。接続は読み取りおよび書き込みツール機能を備えた承認ユーザーとして機能しますが、Kanera はすべてのボードでそのユーザーの役割を強制し続けます。ワークスペース管理アクセス権を受け取ることはありません。デバイス要求を承認するには、エージェント接続を許可するプランが必要です。これは、他のエージェント接続と同じ要件です。
Kaneraがその流れを宣伝する /.well-known/oauth-authorization-server:
| メタデータフィールド | 値 |
|---|---|
device_authorization_endpoint | https://api.kanera.app/oauth/device/code |
grant_types_supported | 含まれるもの urn:ietf:params:oauth:grant-type:device_code |
デバイスクライアントを登録する
クライアントを次の場所に登録します /oauth/register デバイスグラントタイプを指定します。デバイス専用のクライアントにはリダイレクトURIは不要です。 redirect_uris クライアントも使用する場合にのみ必要です authorization_code.
curl -X POST https://api.kanera.app/oauth/register \
-H 'content-type: application/json' \
-d '{
"client_name": "Acme CLI",
"grant_types": ["urn:ietf:params:oauth:grant-type:device_code", "refresh_token"]
}'
Kanera は、デバイス許可タイプに登録されていないクライアントのデバイス フローを拒否します。
デバイスコードをリクエストする
curl -X POST https://api.kanera.app/oauth/device/code \
-d client_id=kanera_client_... \
-d resource=https://mcp.kanera.app/mcp \
-d 'scope=kanera:read kanera:write offline_access'
resource は必須であり、MCP アドレスと一致する必要があります。 Kanera は、ユーザーが承認したすべてのデバイス要求を正規化します。 kanera:read kanera:writeを省略したクライアントを含む scope または読み取りのみを要求します。 Kanera は、クライアントが refresh_token 付与タイプ。 offline_access 受け入れられますが、必須ではありません。のみ kanera:read, kanera:write、そして offline_access 受け入れられます。
| 応答フィールド | 意味 |
|---|---|
device_code | ポーリング時にクライアントが送り返すシークレット。 |
user_code | ユーザーが入力したショートコード (次のような形式) ABCD-2345. |
verification_uri | の /oauth/device Kanera Web アドレスのページ。 |
verification_uri_complete | クエリ文字列にコードが事前に入力されている同じページ。 |
expires_in | 600。リクエストは発行後 10 分で期限切れになります。 |
interval | 5。ポーリング間の最小秒数。 |
リクエストを承認する
- クライアントは、
user_codeそしてverification_uri、または開きますverification_uri_complete直接的に。 - ユーザーはそのアドレスを開いて、Kanera にサインインしていない場合はサインインします。
- このページではクライアントに名前を付け、端末に対してチェックできるようにコードを表示し、クライアントが実行できることをリストします。
- 選択する アクセスを許可する 接続を承認します。選択する 拒否する それを拒否します。
トークンのポーリング
curl -X POST https://api.kanera.app/oauth/token \
-d grant_type=urn:ietf:params:oauth:grant-type:device_code \
-d device_code=kanera_device_... \
-d client_id=kanera_client_... \
-d resource=https://mcp.kanera.app/mcp
以下の速度でポーリングを行う interval。リクエストが完了するまで、トークンエンドポイントは戻ります。 400 標準のOAuthエラーを返します:
| エラー | 意味 | クライアントがすべきこと |
|---|---|---|
authorization_pending | まだ誰もリクエストを承認または拒否していません。 | 現在の間隔でポーリングを続けます。 |
slow_down | クライアントは間隔よりも速くポーリングしました。 | Kaneraはインターバルに5秒を追加します。今後は、より長い間隔を使用してください。 |
access_denied | その人はその要求を拒否した。 | ポーリングを停止し、新しいリクエストを開始します。 |
expired_token | コードの有効期限が切れているか、そのトークンがすでに発行されています。 | 新しいリクエストを開始します。 |
invalid_grant | デバイス コードが不明であるか、別のクライアントに属しています。 | 新しいリクエストを開始します。 |
承認後、エンドポイントは他のすべての付与と同じペイロードを返します。 kanera_mcp_... 15 分間有効なアクセス トークンに加えて、クライアントが refresh_token 付与タイプ。デバイスコードは使い捨てなので、繰り返し交換すると返却されます expired_token。更新リクエストには同じものを含める必要があります resource.
他のすべてのエージェント接続が管理されるデバイス接続を管理または取り消します。 プロファイル設定 -> API キー.
APIキーを作成する
ローカル標準入出力、静的ベアラー トークンのみを受け入れるクライアント、またはカスタムのサーバー側統合には API キーを使用します。
個人用APIキー
- 開く プロファイル設定.
- に行く APIキー.
- 個人用の API キーを作成します。
- 選択してください 読み取り専用 または 読み書き。無人エージェントの正しいデフォルトは読み取り専用です。Kanera は API でのすべての変更を拒否するため、クライアントのツール権限だけがエージェントと作業の間に立ちはだかるわけではありません。読み取り専用キーで接続されたクライアントには読み取りツールのみが提供されるため、実行できない変更を計画することはありません。
- クライアントを識別するオプションのプライベート ラベルを追加します。
- シークレットが表示されたらコピーします。
個人キーには次のようなプレフィックスが付きます。 kanera_u_live_...。一度表示されると、選択したスコープに制限された所有者として機能します。 AI クライアントの資格情報ストアまたはサーバーのシークレット マネージャーにのみ保存してください。
ワークスペースまたはボードの API キー
- 標準ワークスペースまたはスタンドアロン ボードを開きます。
- に行く 設定 -> API.
- APIキーを作成します。
- ワークフローに適合する最小のスコープを選択します。
- シークレットが表示されたらコピーします。
| 範囲 | 助成金 |
|---|---|
| 読む | Kaneraを変更せずに検査、検索、集計、レポートを実行します。 |
| 書く | カード、チェックリスト、コメント、課題、ラベル、カスタム フィールド値、メモなどのボード コンテンツを作成および更新します。 |
| 管理者 | サポートされている直接パブリック API 管理を実行します。デフォルトの MCP サーバーは引き続き作業に重点を置き、ワークスペース、ボード、リスト、ラベル、フィールド、オプション、保持、または順序付けの管理ツールを公開しません。 |
ローカルの標準入出力クライアントに接続する
最も単純なローカル標準入出力サーバーは次のとおりです。 Kanera CLI。それをインストールし、一度ログインし、クライアントに次の場所を指定します。 kanera mcp;保存された資格情報を使用して標準入出力上で同じツール層を提供するため、2 番目の場所で構成する 2 番目のキーはありません。
npm install --global @kanera/cli
kanera auth login
{
"mcpServers": {
"kanera": {
"command": "kanera",
"args": ["mcp"]
}
}
}
使用する npx @kanera/cli mcp 何もインストールしたくない場合は、グローバルインストールの代わりに、 "args": ["mcp", "--profile", "agent"] 名前付きプロファイルを選択します。
保存されたプロファイルではなく環境を通じて資格情報を提供するには (CI またはサンドボックス エージェントでの通常の選択です)、CLI とスタンドアロン MCP パッケージの両方で次のようになります。
| 環境変数 | 目的 |
|---|---|
KANERA_API_KEY | 個人、ワークスペース、またはボードの API キー。 |
KANERA_PUBLIC_API_URL | Kanera パブリック API オリジン (たとえば、 https://api.kanera.app. |
{
"mcpServers": {
"kanera": {
"command": "npx",
"args": ["-y", "@kanera/cli", "mcp"],
"env": {
"KANERA_API_KEY": "kanera_u_live_...",
"KANERA_PUBLIC_API_URL": "https://api.kanera.app"
}
}
}
}
MCP プロセスをローカルで実行する必要がまったくない場合は、ホストされた HTTP エンドポイントを使用します。
リソース
Kanera は、4 つの構造化された JSON リソース テンプレートを提供します。
| リソース | URI | 含まれています |
|---|---|---|
| 標準ワークスペース | kanera://workspace/{workspaceId} | 資格情報に表示される、制限されたワークスペース構成と共有リスト、ラベル、フィールド、テンプレート、自動化、およびメンバーシップ |
| ボード | kanera://board/{boardId} | カードを使用しない、標準ワークスペースまたはスタンドアロン ボードの境界付きメタデータと可視構成 |
| カード | kanera://card/{cardId} | ラベル、譲受人、チェックリスト、添付ファイル、リンクされたメモなどのカードの詳細 |
| 注記 | kanera://note/{noteId} | 目に見える個人またはチームのメモ |
個人メモは、接続されているユーザーにのみ公開されます。別のワークスペース メンバーまたはワークスペース サービス資格情報がそれらを読み取ることができることを暗示しないでください。
カードリファレンス
MCP カードの名前付きフィールド cardId または cardIds 次のいずれかの参照を受け入れます。
- などの人間カードキー
PROJ-123これには、以前のワークスペース接頭辞を使用する正確なキーが含まれます。 - 正規のKaneraカードURL。
- パブリック API によって返されるカード UUID。
プロンプトとユーザー向けの応答でヒューマン キーを使用します。 Kanera は、既存のパブリック API オペレーションを呼び出す前に UUID に解決するため、認可、アクティビティ、監査動作は変わりません。解決されたキーは接続に対して数分間記憶されるため、複数ステップのタスクにわたってキーを繰り返しても検索は繰り返されません。接続しているユーザーが複数の組織で同じキーを確認できる場合は、正規のカード URL を使用して目的の組織を明確に識別します。
カードの結果には、人間が判読できる現在のキーが含まれます。の kanera://card/{cardId} リソース URI は引き続き UUID を使用します。人間のキーとリンクは MCP ツールの入力に適用されます。
能力グループ
ライブ ツール スキーマは、名前、入力、安全性の注釈、および制限の権限を持ちます。サーバーは現在以下をカバーしています:
| エリア | 可能な操作 |
|---|---|
| 発見 | 動作中のセッションを検査し、標準ワークスペースとアクセス可能なボードをページングし、制限されたワークスペースまたはボード構成を読み取り、ボードとメンバーをページングします。 |
| 構成境界 | ターゲット作業に必要なリスト、ラベル、フィールド、オプション、メンバー、権限を読み取ります。作成、編集、並べ替え、保持、およびその他のリスト/ワークスペース管理操作はKaneraインターフェイスに残り、MCPツールではありません。 |
| 検索 | ライブカード、メモ、コメント、添付ファイル名を検索するか、Kanera の公式ドキュメントを検索します。 |
| カード | 概要または完全なコンテンツの読み取り、最大 200 枚の選択したカードの制限されたチェックリスト/コメント コンテンツの取得、互換性のあるボード間の作成、更新、移動、並べ替え、コピー、移動、アーカイブ、アーカイブ解除、完了、再オープン、および添付ファイルとカバーの管理 |
| カード関係 | 個々のリンクを読む cards.get、でチェーンを探索します cards.dependency_graph、追加または削除します blocks, blocked_by、または relates_to とのリンク cards.set_relations |
| 添付ファイル | 添付ファイルの内容を読み取る cards.get_attachment (画像は画像として、テキスト ファイルはページ化されたテキストとして);エージェント自身のディスクからファイルを添付します。 cards.create_upload_link、エージェントがアップロードするワンタイム URL を返します。 curl -T |
| 基板セパレーター | タイトル付きの、オプションで色付きの区切り文字を作成します。外観を更新します。カード、セパレーター、またはリストの端を基準にしてそれらを移動します。セパレーターを基準にしてカードを配置します。カードを変更せずに区切り文字を削除します |
| バルクカードの仕事 | 各スキーマで公開されているボードレベルのバッチ制限を使用して、選択したカードのカスタム フィールドを完了、日付、ラベル付け、割り当て、移動、アーカイブ、コピー、または設定します |
| 課題とフィールド | 担当者またはラベルを置換し、サポートされているカスタムフィールド値を設定またはクリアします |
| コメント | ページ、オプションの添付ファイルの追加、対象となるコメントの編集、削除、冪等な反応の追加または削除 |
| チェックリスト | カードのチェックリストを ID を含むネストされたツリーとして読み取ります。 1 つのアトミック呼び出しで、項目、担当者、期日、および 1 レベルのサブチェックリストを含むチェックリストを作成します。選択した位置に 1 つ以上の項目を追加します。項目ごとに異なる変更を加えて 1 つ以上の項目を更新します。すべての項目に 1 人の譲受人または期限を設定します。名前の変更、並べ替え、移動、削除。バッチは何かが書き込まれる前に完全に検証され、エラーは正確なフィールド名を示します |
| 次の優先事項 | 読み取り可能な個人およびチームメイトのキューを検出し、正確なランク順序を読み取り、資格情報とワークスペース権限で許可されている場合に割り当てられたアクティブなカードを追加、移動、または削除します。 |
| エージェントの実行 | 飛行中の作業をカードで発表します runs.start、進行状況とハートビートを報告します runs.update、ターミナルステータスで実行を閉じ、すでに実行されているものを確認します runs.list |
| 仕事と報告 | 期限切れ、未割り当て、非アクティブ、および最後に移動したフィルターを使用して、制限された個人カードまたは表示されているチーム カードをクエリします。 1 回の通話で接続ユーザーの 1 日を読み取ります work.my_day;タイムラインのスケジュールとクロスボードロールアップを検査します work.portfolio_summary;アクセス可能な掲示板全体で個人的な立場の証拠を生成します |
| 活動と完成した作品 | ページボードのアクティビティとカード履歴、読み取り完了履歴と作業完了記録 |
| ノート | ページメモのメタデータ、全コンテンツの読み取り、個人またはチームのメモの作成、更新、リンク、小さなファイルの添付、コピー、並べ替え |
| スクラッチパッド | 「…を思い出させてください」アイテムをプライベートにキャプチャ スクラッチパッド ボードを選択せずに受信箱に入れ、ページをリストして読み、項目にチェックを入れます。ブラウザのサインインまたは個人キーが必要です |
を参照してください。 生成された MCP ツール インベントリ 登録されているツール名ごとに。
カード関係
cards.get カードのものが含まれます relations そして hiddenBlockerCount. cards.set_relations 同じワークスペース内の関係を追加または削除します。
{
"cardId": "WEB-18",
"direction": "blocked_by",
"otherCardIds": ["MKT-42", "MKT-43"],
"remove": false
}
direction です blocks, blocked_by、または relates_to、から読む cardIdさんの側。 otherCardIds カード参照は 1 枚または最大 50 枚まで受け付けます。 remove デフォルトは false です。追加はべき等であり、ターゲットごとにコミットされます。部分的な成功が返される failed エントリやその他の notAttemptedCardIds 結果として生じる関係の横に。最後の読み取りが失敗した場合、 addedCardIds そして relationsUnavailable 保存された内容を報告します。すべての変更試行が拒否されると、呼び出しはエラーになります。ターゲットごとの削除コミットも: removedCardIds 成功した削除をすべて保存します failed, notAttemptedCardIds、または relationsUnavailable 詳細。 notFoundCardIds 見ることも見つけることもできない関係に名前を付けます。それらは放っておかれます。
書き込み可能な認証情報には編集アクセス権が必要です cardId ブロックされたカード、および他のカードへの読み取りアクセス。サイクル、セルフリンク、クロスワークスペースリンク、および新しいブロッカーとしての完成したカードは拒否されます。読み取りではアクセスできないカードの詳細は省略されますが、隠れたアクティブなブロッカーはカウントされます。使用する filters: { blockedOnly: true } 次を使用: work.query_cards ブロックされたオープンカードの場合、または atRiskOnly: true 目に見えるブロッカーが期限を過ぎている、または期限が過ぎているオープンカードの場合。 work.portfolio_summary 両方のカウントを報告します。購読する card.blocked そして card.unblocked トランジション用。これらのイベントは、設定された自動化とは独立して機能します。
MCP を介して完了すると、対話型のブロックされた作業の警告は表示されません。仕事の準備ができているかどうかを判断するときは、まず人間関係を読んでください。ブロックされたエージェントの実行 (runs.update 次を使用: status: "blocked") はその実行について説明しますが、カードの依存関係は作成されません。参照 カードの関係とブロック.
依存関係グラフ
cards.dependency_graph カードをブロックするもの、カードが保持するもの、およびボードまたはワークスペース全体でどの作業が接続されているかを答えます。次のうちの 1 つだけを渡します cardId (キー、UUID、または正規 URL)、 boardId、または workspaceId:
{ "cardId": "MKT-42" }
ツールは展開された状態で戻ります cards, edges、そして truncated。カードには、キー、タイトル、URL、ソースボード/リスト名、 inScope、利用可能な日付、ラベル、担当者が表示されます。 openBlockerCount 呼び出し元には見えないアクティブなブロッカーが含まれます。 offMapBlockerCount このマップに存在しないアクティブなブロッカーをカウントします。存在するゼロ以外のオプション値のみが含まれます。あ blocks エッジはから実行されます sourceCardId 次へ: targetCardId.
カードスコープも戻ってきます focus: blockedBy そして blocks 直接接続です。 upstream そして downstream 推移的なカード ID は最も近いものから順に並べられます。 relatedTo コンテキストリンクをリストします。 onMap: false 要求されたカードが完了したか、アーカイブされたか、無関係であるか、グラフに存在しないことを意味します。存在しないことは、カードに関係がないことを証明するものではありません。
グラフは、読み取り可能な開いたカードを介してブロッキング リンクを双方向にたどります。完了した前提条件が表示される場合がありますが、それらを通過する走査は続行されません。隠されたカードは名前が付けられずにカウントされたり、他の作品への橋渡しに使用されたりすることはありません。関連する近隣ノードは、スコープのオープン シードから 1 ホップ先に含まれます。 400 枚のカードとセットで応答が停止します truncated;範囲を狭めて詳細を確認します。これは読み取りツールです。使用する cards.set_relations リンクを編集し、 依存関係イベント 変更を監視します。
日付
日付入力を受け入れます YYYY-MM-DD または、Kanera プロフィールから自分のタイムゾーンで解決された日常のフレーズ: today, tomorrow 1pm, friday (次の金曜日、今日を含む)、 next friday (それから一週間後)、 in 2 weeks, next month, end of week, end of month、または oct 12. session.get あなたのを返します timeZone そして today そのため、エージェントは問題が解決した日付を示すことができます。 Kanera の期日では、正確な時刻ではなくタイム スロットが使用されるため、時刻は一致するスロットを選択します。最大 09:00 です。 朝、13:00まで 午後、17:00まで 仕事の終わり、その後は終日スロットです。Kaneraが読めないフレーズは、推測ではなく受け入れられた形式で拒否されます。
結果の順序
各リスト ツールの説明には、結果が返される順序が記載されています。たとえば、コメントとアクティビティの場合は「新しい順」、リストとチェックリストの表示順序、期限の早いものから順に表示されます。 work.query_cards デフォルトでは。
タイムラインのスケジュールと開始日
使用する work.schedule ちょうど1つの boardId または workspaceId。と同じ営業日エンジンを読み取ります。 タイムラインビュー、ボード全体でアクセス可能な接続されたチェーンに従い、完了したカードとアクセスできないカードを除外します。表示フィルターによって計算は変更されません。
| 結果 | 意味 |
|---|---|
cards[].plannedStart, plannedEnd, durationDays | 計画された日付範囲と、それに含まれる月曜日から金曜日までの期間。 |
earliestStart, earliestFinish, latestStart, latestFinish | 依存関係が制約された日付と、チェーンの終了を保持する最新の日付。 |
slackDays, critical | 稼働日に余裕があり、接続された作業に余裕がないかどうか。 Null Slack は、計算に日付アンカーがないことを意味します。 |
conflicts[] | 競合するオープンブロッカー、 blockerId, edgeId, kind、および営業日 days. |
criticalEdgeIds | スケジュール クリティカル パス上の関係。 |
summary | スケジュール済み/スケジュール外、競合数とクリティカル数、日付範囲、 projectedFinish, latestDue、および営業日 slipDays 最も遅い期日に対して。 |
パス startDateLocalDate 次へ: cards.create, cards.update 内側 changes、または の各エントリ cards.bulk_create。使用する YYYY-MM-DD または、ユーザーのゾーンで解決される、サポートされている相対日付フレーズ。 null 既存の開始をクリアします。開始には時間枠がなく、期限を過ぎて開始することはできません。これらの書き込みには編集アクセスが必要であり、後続の日付は自動的に移動されません。
仮想スケジュールの入力はありません。現在のスケジュールからの変更を提案し、保存された変更が意図されている場合にのみ適用して再読み込みします。参照 具体的な計画の例 そして イベントペイロードをスケジュールする。無効化された計画機能が戻る TIMELINE_DISABLED または DEPENDENCIES_DISABLED それらを必要とする操作のために。
イベントのサブスクリプション
現在の MCP プロトコル上のクライアントは、 card.created, card.updated, card.moved、そして comment.created ワークスペース、ボード、またはカードで、 priorities.changed 接続されているユーザー自身の Up next キューの場合、および my_day.ready 平日の朝のブリーフィング ping の場合は、制御されている検証済みの HTTPS コールバックで各発生を受信します。サブスクリプションは接続に属し、更新ごとに最大 24 時間持続し、配信のたびに ID の現在のアクセスに対して再チェックされます。参照 イベントを購読する カタログ、検証、署名、再試行、エラー コードについて。
組み込みプロンプト
| プロンプト | 使用する |
|---|---|
summarize_board_status | 1 つのボードを検査し、進捗状況、阻害要因、古い作業、および次のアクションを要約します。 |
prepare_standup_update | 個人の現在の仕事とページ分割された職歴をアクセス可能なボード全体で組み合わせて、スタンドアップの草案を作成します。 |
draft_card_from_notes | カードを作成せずに、メモを読み、カードのタイトルとマークダウンの説明を下書きします。 |
通常の会話プロンプトは、AI クライアントが MCP プロンプト テンプレートを公開していない場合でも機能します。
セキュリティと破壊的操作
- インタラクティブなデバイスコード OAuth は常に許可します
kanera:readそしてkanera:write;offline_accessはオプションのままです。 MCP クライアントはツールの可用性と承認を制御し、Kanera はボードの役割を強制します。管理ツールは、ユーザーが対応する管理者ロールを保持している場合にのみ機能します。組織管理者はワークスペースとスタンドアロン ボードを作成でき、ワークスペース管理者はボードを追加して自動化を管理できます。 - すべての OAuth フローは、その承認、コード、リフレッシュ ファミリー、およびアクセス トークンを正規の MCP にバインドします。
resource. - 生
kanera_mcp_...アクセス トークンは MCP エンドポイントによってのみ受け入れられ、MCP エンドポイントによって拒否されます。/api/v1; MCP サービスは、パブリック API 呼び出しに対して別の分有効の内部委任資格情報を使用します。 - デバイス認証では、同じスコープと同じ制限が使用されます。デバイス コードは 10 分後に有効期限が切れ、交換は 1 回だけ可能で、クライアントによって表示されたコードを確認したサインイン ユーザーによってのみ承認されます。
- 無人エージェントとワークスペース キーは、構成されたスコープで制限されます。
- 個人キーは所有者の現在の権限を継承するため、ユーザーのアカウントと同様に保護する必要があります。
- 読み取りスコープの API キーと無人サービス資格情報は、保護されたミューテーションを呼び出すことができません。
- API キーと MCP アクティビティは、その代理ユーザーまたは統合 ID とともに記録されます。インタラクティブな OAuth エージェントは、ユーザーのために動作するエージェントとして記録されます。コメントとアクティビティ行にはエージェントの名前が含まれ、次のように表示されます。
via <agent>、ユーザーは、エージェントが行ったことを自分のアクションとして抑制されるのではなく、通知されます。スクリプトで使用される個人 API キーは、引き続きその所有者として機能します。 - OAuth を切断するか、無人エージェントを削除すると、そのアクティブな資格情報が取り消されます。
- クライアントごとに個別の認証情報を使用して、ある接続を他の接続に影響を与えることなく取り消すことができます。
Kanera MCP は削除できません:
- ボード
- リスト
- ラベルまたはカスタムフィールド
- ノート
- メモの添付ファイル
これらはKaneraで手動で削除してください。 MCP は、カードをアーカイブまたはアーカイブ解除し、リスト内のアクティブなカードをアーカイブできます。
MCP を介した管理は、ワークスペースとスタンドアロン ボードの作成 (対話型 OAuth 許可または書き込み可能な個人キーを使用する組織管理者)、ワークスペースへのボードの追加、自動化の作成、編集、有効化、および削除 (ワークスペース管理者) に限定されます。 MCP は、ワークスペース、ボード、リスト、ラベル、フィールド、オプション、メンバー、または保持設定を編集、並べ替え、または削除することはできません。これらの操作はKaneraインターフェイスに残ります。サポートされている REST エンドポイントは、意図的に構築された統合に引き続き利用できます。
MCP は以下を完全に削除できます。
- 代理ユーザーが作成したコメント
- チェックリストとその項目
- チェックリスト項目
これらのツール スキーマは破壊的としてマークされています。これらは明示的なリクエストの後にのみ使用し、呼び出す前にターゲットを確認してください。
トラブルシューティング
| 問題 | 何を確認するか |
|---|---|
| クライアントが接続できません | 正確なものを使用してください /mcp 以下に示すように、接続先のKaneraのURL プロファイル設定 -> API キー. |
| クライアントはKaneraを開く代わりにトークンを要求します | リモート MCP OAuth はサポートされていません。 API キーまたはサポートされているクライアントを使用します。 |
| クライアントにはリダイレクト先のブラウザがありません | 使用する デバイスの認証 クライアントがサポートしている場合は API キー、サポートしていない場合は API キー。 |
ポーリングが返され続ける slow_down | ポーリングは、 interval デバイス コードとともに返され、それぞれの後に長い間隔が適用されます。 slow_down. |
| デバイス ページで無効なコードまたは期限切れのコードが報告される | コードは 10 分間持続し、1 回だけ機能します。コードを確認し、最初にサインインしてから、クライアントに新しいコードを要求します。 |
トークンエンドポイントが戻ります invalid_target | 正確な MCP アドレスを送信してください プロファイル設定 -> API キー として resource 認可中およびすべてのトークン交換中。 |
| API キーが見つからないと報告されています | セット KANERA_API_KEY 標準出力または送信用 Authorization: Bearer ... HTTP経由で。 |
リクエストが返される 401 | 資格情報が見つからないか、形式が間違っているか、期限切れであるか、取り消されているか、または正しくコピーされていません。 OAuth を再起動するか、API キーを置き換えます。 |
リクエストが返される 403 | 個人用 OAuth の場合、代理ユーザーがターゲット ボードのオブザーバーではなく編集者であることを確認します。 API キーまたは無人エージェントの場合は、資格情報が書き込み可能であることも確認します。 |
| エージェントは読み取りはできますが、編集はできません | MCP クライアントで書き込みアクションを許可し、動作中の ID にボード編集者アクセス権があることを確認します。サービス接続と API キーの場合は、書き込み可能な資格情報も使用します。既存の個人 OAuth 接続は再接続する必要はありません。 |
| エージェントがボードを見つけることができません | 完全なボード検出を使用します。ボードはスタンドアロンである場合もあれば、明示的なゲスト メンバーシップを通じてのみ利用できる場合もあります。 |
| エージェントはワークスペースを管理できません | MCP は、ワークスペースとボードの作成と自動化の管理のみをカバーし、代理 ID が管理者である場合のみをカバーします。ワークスペースをスコープとした読み取り専用の資格情報では、ワークスペースを作成できません。その他の管理には、Kanera インターフェイスまたはサポートされているパブリック REST エンドポイントを使用します。 |
| コーディングエージェントはツールを持っていますが、それをうまく活用していません | 公式をインストールする Kaneraエージェントスキル. |
| 新規または変更されたツールが表示されない | クライアントで MCP サーバーを更新または再スキャンして、現在のスキーマを取得します。更新アクションがない場合はクライアントを再起動します。通常、OAuth 再認証は必要ありません。 |
| クライアントはイベントをサブスクライブできません | イベントには主催者が必要です /mcp 現在の MCP プロトコル上のエンドポイントとクライアント。スタジオ kanera mcp サーバーがそれらを提供することはありません。参照 イベントを購読する コールバックエラーとスコープエラーの場合。 |
