> ## Documentation Index
> Fetch the complete documentation index at: https://formpaste.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Servidor MCP

> Deja que un agente cree formularios, obtenga snippets y lea envíos directamente - sin visitar el panel.

<Info>**Gratis** - el servidor MCP no está limitado por plan. Cualquier cuenta puede usarlo.</Info>

Formpaste incluye un **servidor MCP** remoto - esta es la vía de integración [nativa para agentes de IA](https://formpaste.com/features/ai/) real. No hay una "Forms API" o "Provisioning API" REST aparte; un agente que quiera crear o gestionar formularios de forma programática lo hace a través de estas herramientas MCP, igual que una persona lo hace desde el panel.

## Endpoint

```
POST https://api.formpaste.com/mcp
```

MCP remoto sin estado sobre Streamable HTTP - sin negociación de sesión/SSE que gestionar. Cada solicitud lleva su propia autenticación y recibe una respuesta autocontenida.

## Autenticación

Cada solicitud necesita un **token de API de cuenta** (`fpat_…`) como encabezado Bearer estándar:

```
Authorization: Bearer fpat_YOUR_TOKEN
```

Este es el *único* token Bearer en Formpaste. No tiene relación con el `access_key` de un formulario (usado por [`POST /submit`](/docs/quickstart), no por `/mcp`) - consulta [Access key vs. token de API](/docs/agents/api-tokens#access-key-vs-api-token) si no tienes claro cuál necesitas.

Genera un token desde el panel en **Settings → API & MCP** - consulta [Tokens de API](/docs/agents/api-tokens) para más detalles, incluido el hecho de que se muestra exactamente una vez.

Los tokens pueden tener **alcance limitado**: un token completo puede usar todas las herramientas, un token de configuración puede hacer todo excepto leer envíos (`list_submissions`). Consulta [Tokens de API](/docs/agents/api-tokens).

Un token ausente o revocado no produce un 401 genérico; la llamada a la herramienta devuelve un error MCP accionable:

```
unauthorized: invalid or revoked API token - generate one in Settings → API tokens.
```

## Instalación (un comando)

Formpaste es un servidor remoto, así que la mayoría de los clientes MCP (Claude Code, Cursor, Claude Desktop) se conectan a él mediante [`mcp-remote`](https://www.npmjs.com/package/mcp-remote) en lugar de un proceso local. Añade esto a la configuración MCP de tu cliente, sustituyendo tu propio token:

```json theme={null}
{
  "mcpServers": {
    "formpaste": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://api.formpaste.com/mcp",
        "--header",
        "Authorization: Bearer fpat_YOUR_TOKEN"
      ]
    }
  }
}
```

Reinicia tu agente/cliente después de guardar la configuración. Debería mostrar `formpaste` como servidor MCP conectado con **seis herramientas** disponibles.

Para instrucciones específicas por cliente (Claude Code, Codex, Cursor, Claude Desktop, VS Code), consulta [Instalación](/docs/agents/install).

## Las seis herramientas

| Tool                                                   | Purpose                                                                                                            |
| ------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ |
| [`create_form`](/docs/agents/create-form)                   | Crea un formulario y devuelve su `access_key` + un snippet ya conectado.                                           |
| [`get_snippet`](/docs/agents/get-snippet)                   | Obtiene un snippet conectado para un framework, opcionalmente con un `access_key` real ya insertado.               |
| [`list_forms`](/docs/agents/list-forms)                     | Lista tus formularios con ids, access keys y contadores - para descubrir ids o confirmar que un formulario existe. |
| [`get_form`](/docs/agents/get-form)                         | Lee la configuración de un formulario para verificar su conexión. Nunca devuelve el secreto del webhook.           |
| [`send_test_submission`](/docs/agents/send-test-submission) | Guarda un envío de prueba para demostrar que un formulario está activo. Sin email, sin impacto en la cuota.        |
| [`list_submissions`](/docs/agents/list-submissions)         | Lee los envíos de un formulario - metadatos por defecto, contenido completo si se activa.                          |

Tres de estas - `list_forms`, `get_form` y `send_test_submission` - permiten a un agente verificar su propio trabajo: descubrir ids, releer la configuración de un formulario y demostrar que está recibiendo envíos. Esa es toda la superficie de herramientas. No existe `update_form`, `delete_form` ni un CRUD genérico - no están implementados. Si necesitas cambiar el destino de un formulario, los dominios permitidos u otras opciones, hazlo desde el panel.

## Para qué sirve

El servidor MCP existe para que un agente (Claude Code, Cursor o cualquier otro que hable MCP) pueda completar una tarea completa como "añade un formulario de contacto a este sitio" sin que salgas de tu editor: llama a `create_form`, obtiene de vuelta un `access_key` y un snippet conectado, pega el snippet en tu proyecto y, si quieres que compruebe las respuestas más tarde, llama a `list_submissions`. Consulta [Prompts del recetario](/docs/agents/cookbook-prompts) para prompts listos para usar que llevan esto de principio a fin.

Si prefieres no instalar nada, la vía `.env` también funciona: crea el formulario tú mismo desde el panel, pon el `access_key` en `.env` y pide a tu agente que conecte el snippet usándolo. No se requiere conexión MCP - consulta los prompts de la vía `.env` en el [recetario](/docs/agents/cookbook-prompts).

<CardGroup cols={2}>
  <Card title="Instalación" icon="download" href="/docs/agents/install">
    Configuración específica por cliente para cada cliente MCP.
  </Card>

  <Card title="create_form" icon="wand-magic-sparkles" href="/docs/agents/create-form">
    Aprovisiona un formulario y recibe de vuelta un snippet conectado.
  </Card>

  <Card title="list_forms" icon="list" href="/docs/agents/list-forms">
    Descubre ids de formularios y confirma que un formulario existe.
  </Card>

  <Card title="get_form" icon="magnifying-glass" href="/docs/agents/get-form">
    Lee la configuración de un formulario para verificar su conexión.
  </Card>

  <Card title="send_test_submission" icon="paper-plane" href="/docs/agents/send-test-submission">
    Demuestra que un formulario está activo con un envío de prueba.
  </Card>

  <Card title="Solución de problemas" icon="wrench" href="/docs/agents/troubleshooting">
    Resuelve problemas de conexión, autenticación y alcance.
  </Card>
</CardGroup>
