{
  "$schema": "https://raw.githubusercontent.com/modelcontextprotocol/modelcontextprotocol/main/schema/draft/server-card.json",
  "name": "formswrite",
  "title": "Formswrite",
  "kind": "product",
  "description": "Turn documents into forms and quizzes and manage them from an AI assistant: convert a Google Doc, a PDF or a file from your computer, or create a form from a specification, edit the questions, export to Google Forms, Moodle, Canvas, Kahoot and 36 more formats, and publish a hosted form.",
  "icon": "https://formswrite.com/android-icon-192x192.png",
  "websiteUrl": "https://formswrite.com",
  "documentationUrl": "https://formswrite.com/mcp-server",
  "privacyPolicyUrl": "https://formswrite.com/privacy-policy",
  "termsOfServiceUrl": "https://formswrite.com/terms-of-service",
  "supportUrl": "https://formswrite.com/contact-us",
  "supportEmail": "support@formswrite.com",
  "version": "1.0.0",
  "url": "https://mcp.formswrite.com/mcp",
  "serverUrl": "https://mcp.formswrite.com/mcp",
  "serverInfo": {
    "name": "formswrite",
    "title": "Formswrite",
    "version": "1.0.0"
  },
  "instructions": "Formswrite turns documents into forms and quizzes and manages them for the connected Formswrite account. Use search to find a form by name and fetch to read one in full. To build a form, call convert_document with a Google Doc, a public file URL, a file uploaded through create_upload_url or pasted text, and poll get_job until it completes; or write the questions yourself with create_form_from_spec; or start empty with create_form. Read the questions with get_form_data, edit with modify_questions and update_form_metadata, then export_form to Google Forms, Moodle, Canvas, Kahoot, Quizizz and 36 more formats, and publish_form to open a hosted form to responses. get_account_info shows which account is connected. Every tool acts only on the connected account's own forms.",
  "transport": {
    "type": "streamable-http",
    "endpoint": "https://mcp.formswrite.com/mcp"
  },
  "capabilities": {
    "tools": {}
  },
  "tools": [
    {
      "name": "search",
      "title": "Search forms",
      "description": "Find forms and quizzes in the connected account by name.",
      "annotations": {
        "title": "Search forms",
        "readOnlyHint": true
      }
    },
    {
      "name": "fetch",
      "title": "Read one form",
      "description": "Read one form in full: title, instructions, questions, options and answer key.",
      "annotations": {
        "title": "Read one form",
        "readOnlyHint": true
      }
    },
    {
      "name": "get_account_info",
      "title": "Get connected account",
      "description": "Show which Formswrite account is connected and its plan.",
      "annotations": {
        "title": "Get connected account",
        "readOnlyHint": true
      }
    },
    {
      "name": "convert_document",
      "title": "Convert document to form",
      "description": "Convert a Google Doc, a public file, a file from your computer or pasted text into a form or quiz, optionally exporting it in the same call.",
      "annotations": {
        "title": "Convert document to form",
        "readOnlyHint": false
      }
    },
    {
      "name": "create_upload_url",
      "title": "Get upload URL for a local file",
      "description": "Get a one-time upload URL for a file on your computer, to convert with convert_document.",
      "annotations": {
        "title": "Get upload URL for a local file",
        "readOnlyHint": false
      }
    },
    {
      "name": "list_jobs",
      "title": "List forms",
      "description": "List the forms and conversions in the connected account, newest first.",
      "annotations": {
        "title": "List forms",
        "readOnlyHint": true
      }
    },
    {
      "name": "get_job",
      "title": "Get conversion job",
      "description": "Check the status and result of one conversion.",
      "annotations": {
        "title": "Get conversion job",
        "readOnlyHint": true
      }
    },
    {
      "name": "get_form_data",
      "title": "Get form questions",
      "description": "Read the questions and settings of a form, paginated.",
      "annotations": {
        "title": "Get form questions",
        "readOnlyHint": true
      }
    },
    {
      "name": "create_form",
      "title": "Create form",
      "description": "Create a new empty form.",
      "annotations": {
        "title": "Create form",
        "readOnlyHint": false
      }
    },
    {
      "name": "create_form_from_spec",
      "title": "Create form from a specification",
      "description": "Create a complete form in one call from a title and a list of questions with options, answer keys and points, optionally exporting or publishing it.",
      "annotations": {
        "title": "Create form from a specification",
        "readOnlyHint": false
      }
    },
    {
      "name": "modify_questions",
      "title": "Modify questions",
      "description": "Add, edit, delete or reorder the questions of a form.",
      "annotations": {
        "title": "Modify questions",
        "readOnlyHint": false
      }
    },
    {
      "name": "export_form",
      "title": "Export form",
      "description": "Export a form to Google Forms, Moodle, Canvas, Kahoot, Quizizz and 36 more formats.",
      "annotations": {
        "title": "Export form",
        "readOnlyHint": false
      }
    },
    {
      "name": "publish_form",
      "title": "Publish form",
      "description": "Publish a Formswrite-hosted form and open it to responses.",
      "annotations": {
        "title": "Publish form",
        "readOnlyHint": false
      }
    },
    {
      "name": "update_form_metadata",
      "title": "Update form title and introduction",
      "description": "Change the title or the introduction of a form.",
      "annotations": {
        "title": "Update form title and introduction",
        "readOnlyHint": false
      }
    }
  ],
  "authentication": {
    "type": "oauth2",
    "resource_metadata": "https://mcp.formswrite.com/.well-known/oauth-protected-resource",
    "scopes": [
      "forms:read",
      "forms:write",
      "jobs:read"
    ],
    "description": "Connect with OAuth 2.1 (authorization code with PKCE); the user signs in to Formswrite and approves access. See https://formswrite.com/mcp-server.",
    "alternatives": [
      {
        "type": "http",
        "scheme": "bearer",
        "description": "A Formswrite API token from https://formswrite.com/dashboard/settings/api, for scripts."
      }
    ]
  }
}