Concierge Agent Protocol について
Concierge Agent Protocolは、企業への問い合わせ窓口と、それを呼び出すクライアントを構築するJavaScriptパッケージ群です。クライアント、MCPツール、窓口サーバー、モデルやllms.txt、MCPツールから回答関数を作る機能を備えます。
主な機能
- 01企業窓口の検出と質問
- 02スレッド形式の質問とログイン
- 03サーバー側でのスレッドと上限管理
- 04llms.txtとMCPツールによる回答関数の構築
活用シーン
- 01企業の商品やサービスについて訪問者から質問を受ける
- 02企業への問い合わせをMCPクライアントのツールとして公開
- 03既存のボットを企業窓口に接続
- 04窓口の設定と返信の分離を検証
MCP 対応
@conciergeprotocol/mcpはクライアントをcap_discover、cap_ask、cap_checkの3つのMCPツールとして公開します。企業はagent.txtを窓口として公開し、利用するMCPサーバーは窓口の背後に置きます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
3掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| domain | string | はい | 会社のドメイン。例:cosmicjs.com |
詳細
JavaScript 向け Concierge Agent Protocol
CAP の窓口を利用する側と提供する側の両方のパッケージです。@conciergeprotocol/client は窓口にアクセスします。@conciergeprotocol/mcp はそのクライアントを 3 つのツールとして公開するため、Claude、Cursor、その他の MCP ホストから企業に問い合わせることができます。@conciergeprotocol/server は 1 つの answer 関数から窓口を実行します。@conciergeprotocol/agent はモデル、llms.txt ファイル、MCP ツールからこの関数を構築します。
プロトコルについては conciergeprotocol.org をご覧ください。企業は agent.txt を公開します。訪問者向けに MCP サーバーを公開するわけではありません。MCP サーバーがある場合でも、窓口の内側に置かれます。
インストール
npm install @conciergeprotocol/client
MCP サーバーはコマンドとして動作します。インストールするか、以下のブロックのように npx で実行してください。
npm install @conciergeprotocol/mcp
クライアント
import { createClient } from '@conciergeprotocol/client'
const cap = createClient({ from: 'agent:my-assistant' })
const answer = await cap.ask('example.com', 'Do you have a free plan?')
console.log(answer.reply)
追加の質問では、新しい質問だけを送信します。
const thread = cap.thread('example.com')
await thread.ask('What do you sell?')
const price = await thread.ask('How much is the cheapest paid plan?')
サイトに窓口がない場合、discover は null を返します。同じ場合に ask は NoDoorError をスローします。これは、代わりにサイトを閲覧するための合図です。
ask は最大 2 分間待機します。企業がまだ回答中の場合、メッセージは status: 'working' と reply なしの状態で返されます。get でもう一度読み取ります。
アカウントに関する質問には login を使用します。クライアントは企業のページを開き、finishLogin は次回の ask に使うトークンを保存します。トークンは、createClient に渡したトークンストアに保持されます。
MCP
Cursor、Claude Desktop、VS Code では、同じブロックを使用します。VS Code では .vscode/mcp.json に記述します。Cursor と Claude Desktop では、MCP 設定ファイルに記述します。
{
"mcpServers": {
"cap": {
"command": "npx",
"args": ["-y", "@conciergeprotocol/mcp"],
"env": { "CAP_FROM": "agent:my-assistant" }
}
}
}
CAP_FROM の既定値は agent:cap-mcp です。ツールは cap_discover、cap_ask、cap_check です。サーバーは MCP レジストリに io.github.conciergeprotocol/mcp として登録されています。cap_ask は 60 秒間待機します。企業がまだ回答中の場合、メッセージ ID を返し、モデルは推測せずに cap_check を呼び出します。
窓口を実行する
answer は企業独自の関数です。サーバーはスレッドを保持し、ある問い合わせ元への返信が別の問い合わせ元に見えないようにし、1 日あたりのメッセージ上限を適用します。
import { createAnswer } from '@conciergeprotocol/agent'
import { createCapServer } from '@conciergeprotocol/server'
const answer = await createAnswer({
model: 'anthropic/claude-sonnet-4.5',
instructions: 'You answer for Harbor Goods. Link to the page.',
sources: [{ type: 'llms', url: 'https://harborgoods.example/llms.txt' }],
})
const cap = await createCapServer({
agent: { name: 'Harbor Goods', chat: 'https://harborgoods.example/chat' },
answer,
})
await cap.listen(8088)
すでにボットを導入している企業は、エージェントパッケージを使わずに、独自の answer を渡すことができます。npx cap-check http://127.0.0.1:8088 は agent.txt を読み取り、質問を 1 つ送信し、2 人目の問い合わせ元が返信を読めないことを確認します。
リリース
変更セットを追加してから、main にマージします。
bun run changeset
Package Checks はプッシュのたびに実行されます。main で成功すると、公開ワークフローがバージョンプルリクエストを作成するか、両方のパッケージを公開してリリースにタグを付けます。2 つのパッケージは同じバージョンを維持します。npm への公開が成功すると、同じワークフローでサーバーが MCP レジストリに登録されます。リポジトリには NPM_TOKEN シークレットが必要です。
ライセンス
Apache 2.0
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。