Chomp フードデータベース API ドキュメント MCP サーバー

中級

これはEngineering, AI RAG分野の自動化ワークフローで、8個のノードを含みます。主にHttpRequestTool, McpTriggerなどのノードを使用。 MCPサーバー経由でAIエージェントにChomp食品データベース(4つの食品操作)を公開

前提条件
  • ターゲットAPIの認証情報が必要な場合あり
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "id": "Cx9PYI2OK1XjhT1M",
  "meta": null,
  "name": "Chomp Food Database API Documentation MCP Server",
  "tags": [],
  "nodes": [
    {
      "id": "a41b49f5-0c55-41dd-a365-efc324769a94",
      "name": "セットアップ手順",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1380,
        -240
      ],
      "parameters": {
        "color": 4,
        "height": 1060,
        "content": "### ⚙️ Setup Instructions\n\n1. **Import Workflow**: \nLoad this workflow into your n8n instance\n\n2. **Configure Authentication**: \nSet up apiKey credentials\n   - Type: API Key in query\n   - Key name: api_key\n\n3. **Activate Workflow**:\nEnable the workflow to start the MCP server\n\n4. **Get MCP URL**: \nCopy the webhook URL from the MCP trigger\n\n5. **Connect AI Agent**:\nUse the MCP URL in your AI agent configuration\n\n\n### 💡 Usage Notes\n• Parameters are auto-populated by AI using $fromAI() expressions\n• With 4 API endpoints available as tools\n• Responses maintain original API structure\n\n\n### 🛠️ Customization\n• Add data transformation nodes if needed\n• Implement custom error handling\n• Add logging or monitoring nodes\n\n• Modify parameter defaults in any HTTP request node as needed\n\n### 💬 Need Help?\nPing me on [discord](https://discord.me/cfomodz) for integration guidance and custom automations. Check the [n8n documentation](https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolmcp/) for more information."
      },
      "typeVersion": 1
    },
    {
      "id": "460cd144-05a1-4a07-a85b-2e38db8e8667",
      "name": "ワークフロー概要",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1120,
        -240
      ],
      "parameters": {
        "width": 420,
        "height": 920,
        "content": "## 🛠️ Chomp Food Database API Documentation MCP Server ✅ 4 operations\n\n### About\nThis API requires an API key, which you can get by subscribing at [https://chompthis.com/api](https://chompthis.com/api/). After obtaining your key, authorize it in the interface and use the endpoints by providing required parameters. Examples and API key management are available in the provided links.\n\n### 🔧 How it Works\n\nThis workflow converts the Chomp Food Database API Documentation API into an MCP-compatible interface for AI agents.\n\n• **MCP Trigger**: Serves as your server endpoint for AI agent requests\n• **HTTP Request Nodes**: Handle API calls to https://chompthis.com/api/v2\n• **AI Expressions**: Automatically populate parameters via `$fromAI()` placeholders\n• **Native Integration**: Returns responses directly to the AI agent\n\n\n### 📋 Available Operations (4 endpoints)\n\n**Food (4 operations)**\nGet Branded Food by Barcode, Get Branded Food by Name, Search Branded Food Items, Search Food Ingredients\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "ea577bfd-b64b-4639-9392-18084021124d",
      "name": "Chomp Food Database API Documentation MCP Server",
      "type": "@n8n/n8n-nodes-langchain.mcpTrigger",
      "position": [
        -620,
        -240
      ],
      "webhookId": "00375c14-b231-47a1-9287-79dadac3ae5c",
      "parameters": {
        "path": "chomp-food-database-api-documentation-mcp"
      },
      "typeVersion": 1
    },
    {
      "id": "6c006134-5479-4b7c-8381-9d624746a857",
      "name": "付箋",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -660,
        -100
      ],
      "parameters": {
        "color": 2,
        "width": 900,
        "height": 200,
        "content": "## Food"
      },
      "typeVersion": 1
    },
    {
      "id": "7a034d06-0488-4c5a-95db-945d1deb547a",
      "name": "バーコードでブランド食品を取得",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -520,
        -60
      ],
      "parameters": {
        "url": "=https://chompthis.com/api/v2/food/branded/barcode.php",
        "options": {},
        "sendQuery": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "queryAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "code",
              "value": "={{ $fromAI('code', '#### UPC/EAN barcode **Example** > ```&code=0842234000988```', 'string') }}"
            }
          ]
        },
        "toolDescription": "Get a branded food item using a barcode\n\nParameters:\n- Query parameters:\n  • code (required) - #### UPC/EAN barcode **Example** > ```&code=0842234000988```"
      },
      "typeVersion": 4.2
    },
    {
      "id": "610ac60c-53eb-4e2d-b74c-9b2af52e502e",
      "name": "名前でブランド食品を取得",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -320,
        -60
      ],
      "parameters": {
        "url": "=https://chompthis.com/api/v2/food/branded/name.php",
        "options": {},
        "sendQuery": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "queryAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "name",
              "value": "={{ $fromAI('name', '#### Search for branded food items using a general food name keyword. This does not have to exactly match the \"official\" name for the food. **Example** > ```&name=Starburst```', 'string') }}"
            },
            {
              "name": "limit",
              "value": "={{ $fromAI('limit', '#### Set maximum number of records you want the API to return. The default value is \"**10**.\" **Example** > ```&limit=10```', 'number') }}"
            },
            {
              "name": "page",
              "value": "={{ $fromAI('page', '#### This is how you paginate the search result. By default, you will see the first 10 records. You must increment the page number to access the next 10 records, and so on. The default value is \"**1**.\" **Example** > ```&page=1```', 'number') }}"
            }
          ]
        },
        "toolDescription": "Get a branded food item by name\n\nParameters:\n- Query parameters:\n  • name (required) - #### Search for branded food items using a general food name keyword. This does not have to exactly match the \"official\" name for the food. **Example** > ```&name=Starburst```\n  • limit (optional) - #### Set maximum number of records you want the API to return. The default value is \"**10**.\" **Example** > ```&limit=10```\n  • page (optional) - #### This is how you paginate the search result. By default, you will see the first 10 records. You must increment the page number to access the next 10 records, and so on. The default value is \"**1**.\" **Example** > ```&page=1```"
      },
      "typeVersion": 4.2
    },
    {
      "id": "48be4792-8bcb-4afb-a5d1-9bb894c81547",
      "name": "ブランド食品アイテムを検索",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -120,
        -60
      ],
      "parameters": {
        "url": "=https://chompthis.com/api/v2/food/branded/search.php",
        "options": {},
        "sendQuery": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "queryAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "allergen",
              "value": "={{ $fromAI('allergen', '#### Filter the search to only include branded foods that contain a specific allergen. **Example** > ```&allergen=Peanuts``` **Important Note**: This parameter cannot be used alone. It must be paired with at least 1 additional parameter.', 'string') }}"
            },
            {
              "name": "brand",
              "value": "={{ $fromAI('brand', '#### Filter the search to only include branded foods that are owned by a specific brand. **Example** > ```&brand=Starbucks```', 'string') }}"
            },
            {
              "name": "category",
              "value": "={{ $fromAI('category', '#### Filter the search to only include branded foods from a specific category. **Example** > ```&category=Plant Based Foods```', 'string') }}"
            },
            {
              "name": "country",
              "value": "={{ $fromAI('country', '#### Filter the search to only include branded foods that are sold in a specific country. **Example** > ```&country=United States``` **Important Note**: This parameter cannot be used alone. It must be paired with at least 1 additional parameter.', 'string') }}"
            },
            {
              "name": "diet",
              "value": "={{ $fromAI('diet', '#### Filter the search to only include branded foods that are considered compatible with a specific diet. **Important Note**: This parameter cannot be used alone. It must be paired with at least 1 additional parameter.', 'string') }}"
            },
            {
              "name": "ingredient",
              "value": "={{ $fromAI('ingredient', '#### Filter the search to only include branded foods that contain a specific ingredient. **Example** > ```&ingredient=Salt```', 'string') }}"
            },
            {
              "name": "keyword",
              "value": "={{ $fromAI('keyword', '#### Filter the search to only include branded foods that are associated with a specific keyword. **Example** > ```&keyword=Organic``` **Important Note**: This parameter cannot be used alone. It must be paired with at least 1 additional parameter.', 'string') }}"
            },
            {
              "name": "mineral",
              "value": "={{ $fromAI('mineral', '#### Filter the search to only include branded foods that contain a specific mineral. **Example** > ```&mineral=Potassium```', 'string') }}"
            },
            {
              "name": "nutrient",
              "value": "={{ $fromAI('nutrient', '#### Filter the search to only include branded foods that contain a specific nutrient. **Example** > ```&nutrient=Caffeine``` **Important Note**: This parameter cannot be used alone. It must be paired with at least 1 additional parameter.', 'string') }}"
            },
            {
              "name": "palm_oil",
              "value": "={{ $fromAI('palm_oil', '#### Filter the search to only include branded foods that contain a specific ingredient made using palm oil. **Example** > ```&palm_oil=E160a Beta Carotene```', 'string') }}"
            },
            {
              "name": "trace",
              "value": "={{ $fromAI('trace', '### Filter the search to only include branded foods that contain a specific trace ingredient. **Example** > ```&trace=Tree Nuts``` **Important Note**: This parameter cannot be used alone. It must be paired with at least 1 additional parameter.', 'string') }}"
            },
            {
              "name": "vitamin",
              "value": "={{ $fromAI('vitamin', '#### Filter the search to only include branded foods that contain a specific vitamin. **Example** > ```&vitamin=Biotin```', 'string') }}"
            },
            {
              "name": "limit",
              "value": "={{ $fromAI('limit', '#### Set maximum number of records you want the API to return. The default value is \"**10**.\" **Example** > ```&limit=10```', 'number') }}"
            },
            {
              "name": "page",
              "value": "={{ $fromAI('page', '#### This is how you paginate the search result. By default, you will see the first 10 records. You must increment the page number to access the next 10 records, and so on. The default value is \"**1**.\" **Example** > ```&page=1```', 'number') }}"
            }
          ]
        },
        "toolDescription": "Get data for branded food items using various search parameters\n\nParameters:\n- Query parameters:\n  • allergen (optional) - #### Filter the search to only include branded foods that contain a specific allergen. **Example** > ```&allergen=Peanuts``` **Important Note**: This parameter cannot be used alone. It must be paired with at least 1 additional parameter.\n  • brand (optional) - #### Filter the search to only include branded foods that are owned by a specific brand. **Example** > ```&brand=Starbucks```\n  • category (optional) - #### Filter the search to only include branded foods from a specific category. **Example** > ```&category=Plant Based Foods```\n  • country (optional) - #### Filter the search to only include branded foods that are sold in a specific country. **Example** > ```&country=United States``` **Important Note**: This parameter cannot be used alone. It must be paired with at least 1 additional parameter.\n  • diet (optional) - #### Filter the search to only include branded foods that are considered compatible with a specific diet. **Important Note**: This parameter cannot be used alone. It must be paired with at least 1 additional parameter.\n  • ingredient (optional) - #### Filter the search to only include branded foods that contain a specific ingredient. **Example** > ```&ingredient=Salt```\n  • keyword (optional) - #### Filter the search to only include branded foods that are associated with a specific keyword. **Example** > ```&keyword=Organic``` **Important Note**: This parameter cannot be used alone. It must be paired with at least 1 additional parameter.\n  • mineral (optional) - #### Filter the search to only include branded foods that contain a specific mineral. **Example** > ```&mineral=Potassium```\n  • nutrient (optional) - #### Filter the search to only include branded foods that contain a specific nutrient. **Example** > ```&nutrient=Caffeine``` **Important Note**: This parameter cannot be used alone. It must be paired with at least 1 additional parameter.\n  • palm_oil (optional) - #### Filter the search to only include branded foods that contain a specific ingredient made using palm oil. **Example** > ```&palm_oil=E160a Beta Carotene```\n  • trace (optional) - ### Filter the search to only include branded foods that contain a specific trace ingredient. **Example** > ```&trace=Tree Nuts``` **Important Note**: This parameter cannot be used alone. It must be paired with at least 1 additional parameter.\n  • vitamin (optional) - #### Filter the search to only include branded foods that contain a specific vitamin. **Example** > ```&vitamin=Biotin```\n  • limit (optional) - #### Set maximum number of records you want the API to return. The default value is \"**10**.\" **Example** > ```&limit=10```\n  • page (optional) - #### This is how you paginate the search result. By default, you will see the first 10 records. You must increment the page number to access the next 10 records, and so on. The default value is \"**1**.\" **Example** > ```&page=1```"
      },
      "typeVersion": 4.2
    },
    {
      "id": "b2c44ba5-871b-4e25-a8e3-1c1beff57036",
      "name": "食品原材料を検索",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        80,
        -60
      ],
      "parameters": {
        "url": "=https://chompthis.com/api/v2/food/ingredient/search.php",
        "options": {},
        "sendQuery": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "queryAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "find",
              "value": "={{ $fromAI('find', 'Search our database for a single ingredient or a specific set of ingredients. **Example #1: Single Ingredient** > ```&find=raw broccoli``` **Example #2: Set of Ingredients** > ```&find=raw broccoli,buttermilk waffle,mashed potatoes``` **Important Notes** * Comma-separated lists cannot contain more than **10 ingredients**. You must perform additional API calls if you are looking up more than 10 ingredients.', 'string') }}"
            },
            {
              "name": "limit",
              "value": "={{ $fromAI('limit', '#### Set maximum number of records you want the API to return, per search term. The default value is \"**1**.\" **Example** > ```&limit=3```', 'number') }}"
            }
          ]
        },
        "toolDescription": "Get raw/generic food ingredient item(s)\n\nParameters:\n- Query parameters:\n  • find (required) - Search our database for a single ingredient or a specific set of ingredients. **Example #1: Single Ingredient** > ```&find=raw broccoli``` **Example #2: Set of Ingredients** > ```&find=raw broccoli,buttermilk waffle,mashed potatoes``` **Important Notes** * Comma-separated lists cannot contain more than **10 ingredients**. You must perform additional API calls if you are looking up more than 10 ingredients.\n  • limit (optional) - #### Set maximum number of records you want the API to return, per search term. The default value is \"**1**.\" **Example** > ```&limit=3```"
      },
      "typeVersion": 4.2
    }
  ],
  "active": false,
  "shared": [
    {
      "role": "workflow:owner",
      "project": {
        "id": "G5fce9xGuBAsWBXe",
        "icon": null,
        "name": "David Ashby <david.ashby.lds@gmail.com>",
        "type": "personal",
        "createdAt": "2025-06-04T02:55:02.013Z",
        "updatedAt": "2025-06-04T02:56:01.361Z",
        "projectRelations": [
          {
            "role": "project:personalOwner",
            "user": {
              "id": "715c1c00-cb48-4712-9a32-f1f4b6db2b30",
              "role": "global:owner",
              "email": "david.ashby.lds@gmail.com",
              "disabled": false,
              "lastName": "Ashby",
              "settings": {
                "npsSurvey": {
                  "responded": true,
                  "lastShownAt": 1749357655581
                },
                "userActivated": true,
                "userActivatedAt": 1749075994495,
                "easyAIWorkflowOnboarded": true,
                "firstSuccessfulWorkflowId": "3N3vVikZb3MckFYm"
              },
              "createdAt": "2025-06-04T02:55:01.745Z",
              "firstName": "David",
              "isPending": false,
              "updatedAt": "2025-06-08T04:40:58.399Z",
              "mfaEnabled": false,
              "personalizationAnswers": {
                "version": "v4",
                "personalization_survey_n8n_version": "1.95.3",
                "personalization_survey_submitted_at": "2025-06-04T02:56:07.075Z"
              }
            },
            "userId": "715c1c00-cb48-4712-9a32-f1f4b6db2b30",
            "createdAt": "2025-06-04T02:55:02.013Z",
            "projectId": "G5fce9xGuBAsWBXe",
            "updatedAt": "2025-06-04T02:55:02.013Z"
          }
        ]
      },
      "createdAt": "2025-07-01T23:49:47.220Z",
      "projectId": "G5fce9xGuBAsWBXe",
      "updatedAt": "2025-07-01T23:49:47.220Z",
      "workflowId": "Cx9PYI2OK1XjhT1M"
    }
  ],
  "pinData": {},
  "settings": {
    "timezone": "America/New_York"
  },
  "createdAt": "2025-07-01T23:49:47.218Z",
  "updatedAt": "2025-07-01T23:49:58.000Z",
  "versionId": "c551b946-8f90-41c3-a297-8727c2600585",
  "isArchived": false,
  "staticData": null,
  "connections": {
    "b2c44ba5-871b-4e25-a8e3-1c1beff57036": {
      "ai_tool": [
        [
          {
            "node": "ea577bfd-b64b-4639-9392-18084021124d",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "610ac60c-53eb-4e2d-b74c-9b2af52e502e": {
      "ai_tool": [
        [
          {
            "node": "ea577bfd-b64b-4639-9392-18084021124d",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "48be4792-8bcb-4afb-a5d1-9bb894c81547": {
      "ai_tool": [
        [
          {
            "node": "ea577bfd-b64b-4639-9392-18084021124d",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "7a034d06-0488-4c5a-95db-945d1deb547a": {
      "ai_tool": [
        [
          {
            "node": "ea577bfd-b64b-4639-9392-18084021124d",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  },
  "triggerCount": 0
}
よくある質問

このワークフローの使い方は?

上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。

このワークフローはどんな場面に適していますか?

中級 - エンジニアリング, AI RAG検索拡張

有料ですか?

このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。

関連ワークフロー

api.clarify.io MCPサーバー
Clarify APIとAIエージェント統合による音声・動画データ検索・分析
Http Request Tool
Mcp Trigger
Http Request Tool
Mcp Trigger
27 ノードDavid Ashby
エンジニアリング
大学フットボール データ API MCPサーバー
カレッジフットボール分析プラットフォームによる包括のデータAPIアクセス
Http Request Tool
Mcp Trigger
Http Request Tool
Mcp Trigger
83 ノードDavid Ashby
エンジニアリング
Lyft MCP サーバー
MCPを使用した完全なLyft API統合(16種の操作をサポート)
Http Request Tool
Mcp Trigger
Http Request Tool
Mcp Trigger
25 ノードDavid Ashby
エンジニアリング
[eBay] フィード API MCP サーバー
MCPサーバーに基づく、eBay Feed APIの完全統合(AIアジェント向け)
Http Request Tool
Mcp Trigger
Http Request Tool
Mcp Trigger
31 ノードDavid Ashby
エンジニアリング
[eBay] 商品订阅源サービスMCPサーバー
AIエージェント用eBay商品フィードサービスのAPIゲートウェイ
Http Request Tool
Mcp Trigger
Http Request Tool
Mcp Trigger
11 ノードDavid Ashby
エンジニアリング
アメリカ EPA 執行・コンプライアンス歴オンライン(ECHO)プレミアム版 - クリーン ウォーター法(CWA)Rest Services MCP サーバ
EPAクリーンウォーター法案データアクセスとコンプライアンス監視API統合
Http Request Tool
Mcp Trigger
Http Request Tool
Mcp Trigger
43 ノードDavid Ashby
エンジニアリング
ワークフロー情報
難易度
中級
ノード数8
カテゴリー2
ノードタイプ3
難易度説明

経験者向け、6-15ノードの中程度の複雑さのワークフロー

作成者
David Ashby

David Ashby

@cfomodz

A hacker by nature, programmer by trade ⚒️ I'm looking to collaborate on things that save human labor 📫 How to reach me Github👇 -> Discord

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34