Skip to main content
Glama
danielma-tic

Fillout.io MCP Server

by danielma-tic

Fillout.io MCP サーバー

Fillout.io API 用の MCP サーバー。フォーム管理、応答処理、分析を可能にします。

トークンの設定

  1. Fillout.io API キーを取得します:

    • Fillout.ioアカウントにログインしてください

    • アカウント設定→APIとWebhooksへ移動

    • 「新しいAPIキーを作成」をクリックします

    • 新しいAPIキーをコピーします

  2. APIキー情報:

    • プロダクションキーはfo_live_で始まります

    • テストキーはfo_test_で始まります

    • テストキーはテストフォームでのみ機能します

    • APIキーを使用すると、アカウント内のすべてのリソースにアクセスできます。

  3. 設定内のyour-fillout-api-key API キーに置き換えます。

⚠️ セキュリティに関する注意事項:

  • APIキーを安全かつ非公開に保つ

  • 開発にはテストキーを使用する

  • 環境変数にキーを保存する

  • 定期的にキーをローテーションする

  • バージョン管理にキーをコミットしない

Related MCP server: Loxo MCP Server

トークンのトラブルシューティング

よくあるエラーメッセージ

  1. 「無効なAPIキーが提供されました」または「認証に失敗しました」

    • 原因: API キーが見つからない、形式が正しくない、または無効です

    • 解決

      • キーがfo_live_またはfo_test_で始まることを確認します

      • 余分なスペースや文字がないか確認する

      • 環境変数が正しく設定されていることを確認する

      • 必要に応じて新しいキーを作成します

  2. 「ライブフォームで使用されるテストモードキー」

    • 原因: テストキー ( fo_test_ ) を本番フォームで使用しています

    • 解決

      • 実稼働フォームにライブキーを使用する

      • 開発用のテストフォームを作成する

      • 適切なキータイプに切り替える

  3. 「レート制限を超えました」

    • 原因: APIリクエストが多すぎる

    • 解決

      • リクエストスロットリングを実装する

      • ダッシュボードで使用状況を確認する

      • リクエストパターンを最適化する

検証手順

  1. APIキーの形式を確認してください:

    # Key should:
    - Start with 'fo_live_' or 'fo_test_'
    - Be approximately 50 characters
    - Contain only letters, numbers, and underscores
  2. テスト API キー:

    curl -H "Authorization: Bearer your-api-key" \
      https://api.fillout.com/v1/api/forms

特徴

フォーム管理

  • すべてのフォームを一覧表示する

  • フォームの詳細を取得する

  • 新しいフォームを作成する

  • フォームを削除する

  • フォーム設定を更新する

レスポンス処理

  • フォームの回答を送信する

  • フォームの送信を取得する

  • フィルター応答

  • 回答をエクスポートする

分析

  • 回答率

  • 完了時間

  • 提出傾向

ツール

  1. list_forms

    • アクセス可能なすべてのフォームを取得する

    • パラメータ:

      • limit (オプション): 返されるフォームの数

      • offset (オプション): ページネーションオフセット

    • 戻り値: フォームオブジェクトの配列

  2. get_form

    • 詳細なフォーム情報を取得する

    • パラメータ:

      • formId (文字列): フォーム識別子

    • 戻り値: 質問と設定を含むフォームの詳細

  3. create_form

    • 新しいフォームを作成する

    • パラメータ:

      • name (文字列): フォーム名

      • description (オプションの文字列): フォームの説明

      • questions (配列):質問オブジェクトの配列

        • type : 質問の種類(例:'ShortAnswer'、'MultipleChoice')

        • name : 質問テキスト

        • required : 質問が必須かどうか

        • choices : 複数選択の質問の選択肢の配列

    • 戻り値: 作成されたフォームオブジェクト

  4. get_form_responses

    • フォームの送信を取得する

    • パラメータ:

      • formId (文字列): フォーム識別子

      • filters (オプション): レスポンスフィルター

      • pageSize (オプション): ページあたりの結果数

      • afterDate (オプション): 提出日でフィルタリング

      • beforeDate (オプション): 提出日でフィルタリング

      • status (オプション): 完了ステータスでフィルタリング

    • 戻り値: フォームの回答の配列

  5. submit_form_response

    • 新しい回答を送信する

    • パラメータ:

      • formId (文字列): フォーム識別子

      • responses (配列):回答の配列

        • questionId : 質問識別子

        • value : 応答値

      • calculations (オプション): カスタム計算

    • 返品: 提出確認

設定

Claude Desktopでの使用

Dockerの設定

{
  "mcpServers": {
    "fillout": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "FILLOUT_API_KEY",
        "mcp/fillout"
      ],
      "env": {
        "FILLOUT_API_KEY": "your-fillout-api-key"
      }
    }
  }
}

NPX構成

{
  "mcpServers": {
    "fillout": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-fillout"
      ],
      "env": {
        "FILLOUT_API_KEY": "your-fillout-api-key"
      }
    }
  }
}

建物

前提条件

  • Node.js 18以降

  • npmまたはyarn

  • Docker(オプション)

地域開発

# Install dependencies
npm install

# Run in development mode
npm run dev

# Build for production
npm run build

Dockerビルド

# Build image
docker build -t mcp/fillout .

# Run container
docker run -e FILLOUT_API_KEY=your-key mcp/fillout

フォームの作成

const form = await client.createForm({
  name: "Customer Feedback",
  description: "Please share your experience",
  questions: [
    {
      type: "ShortAnswer",
      name: "What did you like most?",
      required: true
    },
    {
      type: "MultipleChoice",
      name: "Would you recommend us?",
      required: true,
      choices: ["Yes", "No", "Maybe"]
    }
  ]
});

回答の提出

const response = await client.submitFormResponse(formId, {
  responses: [
    {
      questionId: "q1",
      value: "Great customer service!"
    },
    {
      questionId: "q2",
      value: "Yes"
    }
  ]
});

エラー処理

サーバーは、一般的な問題に関する詳細なエラー メッセージを提供します。

try {
  const forms = await client.listForms();
} catch (error) {
  if (error instanceof AuthenticationError) {
    // Handle invalid API key
  } else if (error instanceof FilloutError) {
    // Handle API-specific errors
  } else {
    // Handle unexpected errors
  }
}

ライセンス

このプロジェクトはMITライセンスの下で提供されています。詳細はLICENSEファイルをご覧ください。

-
security - not tested
-
license - not tested
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/danielma-tic/fillout-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server