{
  "info": {
    "name": "CommCare — mcp.ai",
    "description": "REST API for the CommCare MCP. Set {{apiKey}} to a workspace key (sk_live_…) created at https://mcp.ai/settings/api-keys.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiKey}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.mcp.ai/api/commcare",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "sk_live_...",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "commcare_create_lookup_table",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/lookup/table",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "lookup",
            "table"
          ]
        },
        "description": "Tool to create a new lookup table in a CommCare domain. Use when you need to set up reference data structures like product catalogs, price lists, or configuration tables. Requires 'Edit Apps' permissi",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"tag\": \"\",\n  \"domain\": \"\",\n  \"fields\": \"\",\n  \"is_global\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "commcare_create_web_user_invitation",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/web/user/invitation",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "web",
            "user",
            "invitation"
          ]
        },
        "description": "Tool to create an invitation for a new web user in CommCare. Use when you need to invite a user with specific role and permissions. Requires 'Edit Web Users & Edit Access API' permissions.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"role\": \"\",\n  \"email\": \"\",\n  \"domain\": \"\",\n  \"profile\": \"\",\n  \"user_data\": {},\n  \"tableau_role\": \"\",\n  \"tableau_groups\": \"\",\n  \"primary_location_id\": \"\",\n  \"assigned_location_ids\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "commcare_list_reports",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/reports",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "reports"
          ]
        },
        "description": "Tool to retrieve available reports configured in a CommCare project. Use when you need to discover what reports exist before downloading report data via the Download Report Data API.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"project\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "commcare_single_sign_on",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/single/sign/on",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "single",
            "sign",
            "on"
          ]
        },
        "description": "Tool to validate login credentials and retrieve user profile for a mobile worker or web user. Use when you need to authenticate a user and obtain their profile information including roles, permissions",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"domain\": \"\",\n  \"password\": \"\",\n  \"username\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "commcare_submit_form_odk_compatible",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/submit/form/odk/compatible",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "submit",
            "form",
            "odk",
            "compatible"
          ]
        },
        "description": "Tool to submit form data using ODK-compatible endpoint for Android client compatibility. Use when submitting XForm data to CommCare. Requires properly formatted XML with metadata including unique inst",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"domain\": \"\",\n  \"xml_form_data\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "commcare_submit_form_to_app",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/submit/form/to/app",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "submit",
            "form",
            "to",
            "app"
          ]
        },
        "description": "Tool to submit an XForm to a specific CommCare application. Use when you need to submit form data and tag it with a specific application ID. The form is submitted as XML following the OpenRosa standar",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"domain\": \"\",\n  \"form_xml\": \"\",\n  \"application_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    }
  ]
}