mcpField
H
handset

handset

ローカル
docs.handset.devコミュニケーション19 週間前に更新

handset について

handsetは、Handset APIを使って製品にSMS機能を組み込むためのオープンソースReactコンポーネントとフックを提供します。コンポーネントは編集可能なソースとしてプロジェクトに追加でき、バックエンドのプロキシでAPIキーをクライアントから隠します。

主な機能

  1. 01レスポンシブな受信トレイとメッセージスレッド
  2. 02SMS分割数とUnicode検出に対応した入力欄
  3. 03会話、スレッド、入力用のReactフック
  4. 04APIリクエスト用のNext.jsプロキシルート
  5. 05プロジェクトのTailwindトークンに沿うソースコンポーネント

活用シーン

  1. 01製品にSMS受信トレイとスレッドを追加
  2. 02Reactフックで独自のメッセージ画面を構築
  3. 03Handset APIキーをバックエンドに保持
  4. 04SMS作成中に分割数を確認

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"handset-hq-handset": {
"command": "npx",
"args": [
"-y",
"@handset/mcp"
],
"env": {
"HANDSET_API_KEY": "<HANDSET_API_KEY>",
"HANDSET_ALLOW_LIVE": "<HANDSET_ALLOW_LIVE>"
}
}
}
}
起動コマンドnpx -y @handset/mcp
設定が必要な環境変数
HANDSET_API_KEYシークレットHandset API key. Use a test-mode key (hs_test_…) — simulated carrier, free. Live keys are refused unless HANDSET_ALLOW_LIVE=1.
HANDSET_ALLOW_LIVESet to 1 to permit a live-mode key (the agent can then text and call real people at real cost).

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@handset/mcp0.1.1

ツール

15

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
limitintegerいいえ

詳細

Handset UI

午後のうちに、製品にテキストメッセージ機能を組み込めます。

組み込み型メッセージング向けのオープンソース React コンポーネントです。 Handset API を基盤としています。shadcn 方式で配布します。CLI がソースコードをリポジトリにコピーし、Tailwind トークンでスタイルを設定します。自由に変更できます。

# 1. Point the shadcn CLI at the Handset registry
npx shadcn@latest registry add @handset=https://ui.handset.dev/r/{name}.json

# 2. Install a complete texting surface + the server proxy route
npx shadcn@latest add @handset/messaging @handset/next-routes

環境変数に HANDSET_API_KEY を設定し、生成されたルートの resolveTenantId() をセッションに接続して、次のようにレンダリングします。

import { HandsetProvider } from "@handset/react";
import { Messaging } from "@/components/handset/messaging";

export default function MessagesPage() {
  return (
    <HandsetProvider>
      <div className="h-[600px]">
        <Messaging />
      </div>
    </HandsetProvider>
  );
}

レジストリに含まれるもの

項目内容
@handset/messaging2ペインのテキストメッセージ画面 — モバイルにも対応した受信トレイ+スレッド
@handset/inbox会話リスト:プレビュー、相対時刻、STOP バッジ、無限スクロール
@handset/threadメッセージ履歴:配信状態、オプトアウト処理、接続済みのメッセージ作成欄
@handset/composerSMS セグメント数のリアルタイム表示と Unicode 検出に対応した下書きボックス
@handset/next-routesNext.js プロキシルート — API キーがブラウザーに渡ることはありません

アーキテクチャ

shadcn と Radix の組み合わせのように、2つのレイヤーで構成されています。

  • @handset/react(npm、バージョン管理あり)— ヘッドレスフック: useConversations、useThread、useComposer に加え、セグメント計算と小さな クライアントを提供します。ロジックは当社が保守します。必要に応じて、お好みの UI をご用意ください。
  • レジストリ(apps/www/registry)— ビジュアル コンポーネントをソースコードとしてプロジェクトにコピーします。

コンポーネントが API キーを保持することはありません。お客様のバックエンドにあるプロキシルート(@handset/next-routes が追加)を呼び出します。サーバーが Handset キーを保持し、既存のセッション認証によって、サインインした各ユーザーがどのテナントを表示できるかを決定します。残りの処理は Handset API が担います。電話番号、配信、スレッド化、10DLC 準拠、STOP/HELP などに対応しています。

開発

pnpm install
pnpm --filter @handset/react build   # hooks package
pnpm dev                             # docs site + live demo at localhost:3000
pnpm registry:build                  # compile registry.json → public/r/*.json

ドキュメントサイトはモック Handset API(apps/www/app/api/handset)を提供しているため、セットアップ不要でデモを動作させられます。

要件

  • React 18 以降(コンポーネントは React 19/Tailwind v4/shadcn CLI ≥ 3 を対象としています)
  • 実際のトラフィックには Handset のアカウントが必要です — デモはアカウントなしでもモックデータで動作します

ロードマップ

ROADMAP.md をご覧ください — リリース済みのコンポーネント、今後の予定(通話の要約、MMS 添付ファイル、各種フレームワーク向けプロキシ)、および対象外の項目を掲載しています。実際のユースケースを伴う Issue は、項目の優先順位を上げる参考になります。

ライセンス

MIT © Handset HQ, Inc.

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。