コンテンツにスキップ

Claude Code Plugin

Hashee Claude Code Pluginにより、Claude CodeがModel Context Protocol(MCP)を通じてHasheeの会話とやり取りできます。Claude Codeエージェントはコーディング環境内からメッセージの送信、ファイルのアップロード、返信のストリーミング、アーティファクトの送信が可能です。

MCPとは

Model Context Protocol(MCP)はAnthropicが策定した、AIツールを外部サービスに接続するための標準です。stdio ベースの通信プロトコルを使用し、ツールは呼び出し可能な関数として登録されます。

仕組み

Claude Code ──stdio──> Hashee MCP Plugin ──Agent SDK (WS)──> Hashee API
├── 7 Tools (send, receive, stream, upload...)
├── Channel Push (Hasheeからの受信メッセージをClaude Codeへ)
└── Permission Relay (Hasheeアプリからの承認/拒否)

プラグインはAgent SDK経由でWebSocketでHasheeに接続し、MCP経由で7つのツールをClaude Codeに公開します。

利用可能なツール

ツールパラメータ説明
hashee_send_messageconversation_id, textAgent SDK経由でテキストメッセージを送信
hashee_get_messagesconversation_id, limit?最近のメッセージを取得(デフォルト20、最大50)
hashee_list_conversations(なし)エージェントのアクティブな会話一覧
hashee_typingconversation_idタイピングインジケーターを送信
hashee_send_artifactconversation_id, artifact, title, summary?A2Hアーティファクトを送信(フォーム、ステータス、エラーカード)
hashee_stream_replyconversation_id, text返信をストリーム(100文字チャンク、30msインターバル)
hashee_send_fileconversation_id, file_path, content_type?ローカルファイルをアップロード(最大100MB、自動MIME検出)

セットアップ

1. .mcp.jsonの設定

プロジェクトのMCP設定にHasheeサーバーを追加します:

{
"mcpServers": {
"hashee": {
"command": "npx",
"args": ["tsx", "packages/public/claude-code-plugin/src/index.ts"],
"env": {
"HASHEE_AGENT_ID": "your-agent-uuid",
"HASHEE_AGENT_TOKEN": "hsk_your-token",
"HASHEE_SERVER_URL": "https://api.hashee.ai",
"HASHEE_ALLOWED_USERS": "user-id-1,user-id-2"
}
}
}
}

2. 環境変数

変数必須デフォルト説明
HASHEE_AGENT_IDはいAgent UUID
HASHEE_AGENT_TOKENはいエージェント認証トークン
HASHEE_ALLOWED_USERSはいカンマ区切りのユーザーIDホワイトリスト
HASHEE_SERVER_URLいいえhttps://api.hashee.aiAPIベースURL
HASHEE_CONNECTION_MODEいいえwebsocketwebsocket または longpoll

3. Claude Codeを起動

Claude CodeはMCPサーバーを自動的に検出し、Hasheeツールを利用可能にします。

チャネルプッシュ

Hasheeの受信メッセージはチャネル通知としてClaude Codeにプッシュされます。HASHEE_ALLOWED_USERSリストに含まれるユーザーからのメッセージのみが転送されます。

プラグインはコンテンツをサニタイズ(チャネルインジェクション防止のためXMLエスケープ)し、10,000文字で切り詰めます。

パーミッションリレー

プラグインはClaude CodeとHasheeアプリ間の双方向パーミッションリレーをサポートします:

  1. Claude Codeがパーミッション(例:コマンドの実行)をリクエスト
  2. プラグインが承認/拒否ボタン付きのアーティファクトをHasheeアプリに送信
  3. ユーザーがHasheeアプリで応答
  4. 判断がClaude Codeにリレーバック

リクエストは60秒後に自動拒否されます。

セキュリティ

レイヤー仕組み
送信者ホワイトリストHASHEE_ALLOWED_USERSのみチャネルにプッシュ可能
XMLサニタイズチャネルインジェクション攻撃を防止
コンテンツ切り詰め10,000文字制限
ファイルパス制限send_fileは作業ディレクトリ内のファイルのみ許可
パーミッションタイムアウト60秒後に自動拒否
エージェント認証すべてのREST呼び出しにBearerトークン

次のステップ