フォーム ID

MCP サーバー

Claude Code、Cursor、VS Code などの AI エージェントから、Ikiform の MCP サーバー経由でフォーム、送信データ、Webhook を管理できます。

Ikiform はリモートの Model Context Protocol サーバーを提供しています。AI エージェントに接続すると、エージェントがワークスペースのフォームの作成、配線、設定、送信データの読み取りと仕分け、Webhook のセットアップとデバッグを、REST API と同じシークレットキーとスコープで行えます。

URLhttps://ikiform.com/mcp
トランスポートStreamable HTTP、ステートレス、POST による JSON-RPC
認証Authorization: Bearer ik_sk_...
レート制限キーごとに 1 分あたり 100 リクエスト。REST API と共有

キーを作成する

ダッシュボードで シークレット キーを作成し、エージェントに必要なスコープだけを付与します。どのツールも、キーを所有するワークスペースに対して動作します。キーはリポジトリに含めず、環境変数かクライアントのシークレット入力を使ってください。

スコープツール
forms:readlist_forms、get_form、form_id を指定した connect_form
forms:writecreate_form, update_form, set_form_fields, delete_form
submissions:readlist_submissions, get_submission
submissions:writemark_spam, mark_not_spam, delete_submission
webhooks:readlist_webhook_endpoints, list_deliveries
webhooks:writecreate_webhook_endpoint と update_webhook_endpoint(submissions:read も必要)、roll_webhook_secret、delete_webhook_endpoint、send_test_event、replay_failed_deliveries
コードでフォームを接続するだけなら、forms:read と forms:write で足ります。読み取り専用で仕分けるなら submissions:read を使います。必要なスコープなしでツールを呼び出すと、不足しているスコープを示す forbidden エラーが返ります。

クライアントを接続する

claude mcp add --transport http ikiform https://ikiform.com/mcp \
  --header "Authorization: Bearer ik_sk_..."

Cursor では、環境変数 IKIFORM_API_KEY を設定します。VS Code は初回にキーを尋ね、安全に保存します。カスタムヘッダー付きのリモート HTTP サーバーに対応したクライアントなら、どれも同じ方法で使えます。

Ikiform は公式 MCP Registry に io.github.preetsuthar17/ikiform として登録されています。Claude Code では、Ikiform プラグインでサーバーとフォーム接続用のスキルを追加できます。claude plugin marketplace add preetsuthar17/ikiform-plugin を実行し、続けて claude plugin install ikiform@ikiform を実行してください。

ツール

ID の形式は、フォームが frm_...、送信データが sub_...、Webhook エンドポイントが whk_...、配信が dlv_... です。一覧はデフォルトで 25 件、最大 100 件を返します。has_more が true のときは、next_cursor を cursor として渡してください。

ツールできること
list_formsフォームを新しい順に一覧。ID、名前、ステータス、送信数、エンドポイント付き
get_formフォームのエンドポイント、フィールド、ハニーポットのフィールド、許可ドメイン、リダイレクト URL、コードスニペット、設定手順
create_form名前からフォームを作成。許可ドメインとリダイレクト URL は任意
update_formフォームの一時停止と再開、名前、許可ドメイン、リダイレクト URL、スパムチェック、レート制限、メール通知の変更
set_form_fields送信データのバリデーションに使うフィールドスキーマの公開、または削除
delete_formフォームを削除。エンドポイントは送信を受け付けなくなります
list_submissions送信データを新しい順に一覧。フォーム、ステータス(received または spam)、日付で絞り込み可能
get_submission1 件の送信データと、そのフィールド、メタデータ、スパムスコア
mark_spam, mark_not_spam送信データをスパムに移す、またはスパムから戻す。対応する Webhook も送信
delete_submission送信データを完全に削除。元に戻せません
list_webhook_endpointsエンドポイントの URL、ステータス、イベント、失敗状態。シークレットは返しません
create_webhook_endpointエンドポイントを追加し、署名シークレットを 1 回だけ返します
update_webhook_endpointエンドポイントの URL、フォーム、イベント、カスタムヘッダーの変更、またはオンとオフの切り替え
roll_webhook_secret新しい署名シークレットを返します。古いものは 24 時間使えます
delete_webhook_endpointエンドポイントとその配信履歴を削除
list_deliveriesエンドポイントの最近の配信。ステータス、試行回数、最後のエラー付き
send_test_event有効なエンドポイントに、署名付きの endpoint.test イベントを送信
replay_failed_deliveries直近 24h、3d、7d に失敗した配信を再送

サーバーは connect_form プロンプトも提供しています。プロジェクトにフォームを接続する手順で、form_id を渡すとフォームのエンドポイントとフィールドが埋め込まれます。

頼めること

  • 「このプロジェクトのお問い合わせフォームを Ikiform に接続して」
  • 「ウェイトリストフォームの先週のスパムを見せて。本物らしいものは元に戻して」
  • 「Webhook が失敗するのはなぜ?ハンドラーを直して、テストを送ってから、今日失敗した分を再送して」
  • 「新しいウェイトリストの登録を /api/ikiform の API ルートに送って、シークレットは .env に入れて」
  • 「古いお問い合わせフォームを一時停止して、新しいほうで人間確認をオンにして」

フォームや送信データ、エンドポイントの削除、配信の再送、フィールドスキーマの公開、許可ドメイン、スパム設定、レート制限の変更の前には、エージェントがあなたに確認するべきです。Claude Code プラグインのスキルは、そうするよう指示しています。署名シークレットと Turnstile シークレットは、コードではなく環境変数に入れてください。

ダッシュボードのみ

API キー、メンバー、通知の宛先、請求はダッシュボードで管理します。そのため、キーが漏えいしても、キーの作成、人の招待、新しいアドレスへのメール送信、お金の使用はできません。