Formcrafts MCP by usefulapi

List forms, responses and uploaded files, and read text files in Formcrafts.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
95%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,022Tokens (tool definitions)
~1.2 KBTypical response size
Moderate attention impact (0.80% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "formcrafts": {
      "url": "https://formcrafts.usefulapi.io/mcp"
    }
  }
}

Remote endpoints

https://formcrafts.usefulapi.io/mcpstreamable-http

What it can do

Tool inventory

Tools (6)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢formcrafts_list_workspaces(limit, before, after)

List the workspaces in the Formcrafts organization (id, name, created_at). Good first call to find a workspace id for form lists. GET /v2/workspaces.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "description": "Items to return (default 10, max 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "before": {
      "description": "Only items created before this date (YYYY-MM-DD or ISO 8601). Pagination on created_at.",
      "type": "string"
    },
    "after": {
      "description": "Only items created after this date (YYYY-MM-DD or ISO 8601). Pagination on created_at.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢formcrafts_list_forms(limit, before, after)

List the forms in the organization: id, name, workspace_id, enabled, created_at and updated_at (last published). GET /v2/forms.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "description": "Items to return (default 10, max 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "before": {
      "description": "Only items created before this date (YYYY-MM-DD or ISO 8601). Pagination on created_at.",
      "type": "string"
    },
    "after": {
      "description": "Only items created after this date (YYYY-MM-DD or ISO 8601). Pagination on created_at.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢formcrafts_get_form(form_id)

Get one form: its fields (id, type, page, label, required), pages, enabled flag, response count and dates. GET /v2/forms/{id}.

Input Schema

{
  "type": "object",
  "properties": {
    "form_id": {
      "type": "string",
      "minLength": 1,
      "description": "Form id, for example abcd1234."
    }
  },
  "required": [
    "form_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢formcrafts_list_form_responses(form_id, partial, limit, before, after)

List the live responses of one form: visitor data, the answers per field (field_id, value_type, value) and timestamps. Set partial=true to return only unfinished (partial) responses. GET /v2/forms/{id}/responses.

Input Schema

{
  "type": "object",
  "properties": {
    "form_id": {
      "type": "string",
      "minLength": 1,
      "description": "Form id, for example abcd1234."
    },
    "partial": {
      "description": "true: only partial (unfinished) responses.",
      "type": "boolean"
    },
    "limit": {
      "description": "Items to return (default 10, max 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "before": {
      "description": "Only items created before this date (YYYY-MM-DD or ISO 8601). Pagination on created_at.",
      "type": "string"
    },
    "after": {
      "description": "Only items created after this date (YYYY-MM-DD or ISO 8601). Pagination on created_at.",
      "type": "string"
    }
  },
  "required": [
    "form_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢formcrafts_list_files(limit, before, after)

List the files uploaded through forms in the organization: id, name, MIME type, size and dates. GET /v2/files.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "description": "Items to return (default 10, max 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "before": {
      "description": "Only items created before this date (YYYY-MM-DD or ISO 8601). Pagination on created_at.",
      "type": "string"
    },
    "after": {
      "description": "Only items created after this date (YYYY-MM-DD or ISO 8601). Pagination on created_at.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢formcrafts_get_file_content(file_id)

Get the content of one uploaded file. Text files (text/*, JSON, XML) return up to 200 KB of text. Other types return only their MIME type and size. GET /v2/files/{id}/content.

Input Schema

{
  "type": "object",
  "properties": {
    "file_id": {
      "type": "string",
      "minLength": 1,
      "description": "File id from formcrafts_list_files."
    }
  },
  "required": [
    "file_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded6 tools