> ## 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.

# Prompts de recetario

> Prompts de copiar y pegar para agentes de codificación de IA, en pares .env y MCP equivalentes.

Hoy funcionan dos vías de integración, y cada una tiene su propio tipo de prompt. Elige la que se ajuste a tu configuración - no necesitas ambas.

* **Vía `.env`** - funciona con *cualquier* agente, sin instalación. Tú creas el formulario en el panel, colocas el `access_key` en `.env` y le pides a tu agente que integre el snippet usándolo.
* **Vía MCP** - sin fricción tras una instalación única. Tu agente está conectado al [servidor MCP](/docs/agents/mcp-server) y provisiona el formulario él mismo mediante [`create_form`](/docs/agents/create-form), sin visitar el panel en absoluto.

Cada prompt de abajo apunta a una capacidad realmente disponible - nada aquí describe una API REST, un componente que aún no existe, o un paso de CAPTCHA.

## Formulario de contacto

**Vía `.env`** - crea primero el formulario en el [panel](https://app.formpaste.com), coloca `FORM_PASTE_ACCESS_KEY=fp_...` en `.env`, luego escribe:

```
Create a contact form using the access key in .env
```

**Vía MCP** - con el servidor MCP conectado (ver [Instalación](/docs/agents/mcp-server#install-one-command)):

```
Create a contact form for my site
```

El agente llama a `create_form`, recibe un `access_key` y un snippet ya integrado, y pega el snippet en tu proyecto. Si el correo de destino es nuevo, te indicará que revises tu bandeja de entrada para obtener un código de verificación - ver [create\_form → Verificación de destino](/docs/agents/create-form#destination-verification-two-outcomes) para entender por qué ese paso no se puede automatizar.

## Formulario de feedback

```
Create a feedback form using the access key in .env
```

```
Create a feedback form for my site
```

Misma mecánica que el formulario de contacto - esto solo le indica al agente qué campos tienen sentido (texto de feedback, valoración opcional) en lugar de nombre/correo/mensaje.

## Alta en el boletín

```
Create a newsletter signup form using the access key in .env
```

```
Create a newsletter signup form for my site
```

Un formulario mínimo (correo + enviar) - útil para probar el flujo de redirección tras el envío; ver [Redirecciones](/docs/features/redirects) si quieres que los visitantes lleguen a una página de "gracias por suscribirte".

## Específico de framework

Indica el framework y Formpaste renderiza el snippet de ese framework en lugar de HTML plano:

```
Create a contact form for my Next.js app using the access key in .env
```

```
Create a contact form for my Astro site
```

Nombres de framework compatibles: HTML, React, Next.js, Astro, Vue, Svelte - ver [Snippets por framework](/docs/framework-snippets) para ver cómo luce cada uno.

## Revisar envíos

Solo MCP (esto necesita una llamada real a la herramienta, no solo un snippet para pegar):

```
Has anyone submitted my contact form today?
```

El agente llama a [`list_submissions`](/docs/agents/list-submissions) y resume el resultado. Por defecto solo ve metadatos (recuentos, marcas de tiempo, estado) - no verá el contenido de los mensajes ni los correos de los visitantes a menos que lo pidas específicamente, por ejemplo:

```
Show me the last 5 messages from my contact form, including what people wrote.
```

Esa formulación es lo que debería llevar al agente a pasar `includeContent: true` - ver [list\_submissions → postura sobre PII](/docs/agents/list-submissions#metadata-only-by-default-the-pii-posture) para entender por qué eso es opt-in en vez de la opción predeterminada.

## Verifica tu trabajo

Una vez que un formulario está creado e integrado, haz que el agente demuestre que está activo antes de continuar.

**Crear, integrar y verificar de extremo a extremo:**

```
Using the Formpaste MCP server, create a contact form, wire the snippet into my site,
then send a test submission and confirm the form is receiving.
```

**Confirmar que un formulario existente está integrado correctamente:**

```
Using the Formpaste MCP server, read back my contact form's config and check the
destination is verified, then send a test submission to confirm it is live.
```

**Listar mis formularios:**

```
Using the Formpaste MCP server, list my forms and tell me which ones have unread
submissions.
```

## Por qué los prompts, no los docs, son la unidad de integración

El prompt - no el endpoint - es lo que los desarrolladores realmente copian y comparten. Cada prompt anterior es una instrucción real y funcional contra una capacidad ya disponible: sin llamadas REST ficticias, sin componentes que aún no existen, sin paso de CAPTCHA que configurar. Si un prompt de aquí alguna vez deja de funcionar contra la versión actual, eso es un error de documentación - abre un issue en lugar de asumir que tu agente hizo algo mal.

<CardGroup cols={2}>
  <Card title="Servidor MCP" icon="server" href="/docs/agents/mcp-server">
    Pasos de instalación para la vía MCP.
  </Card>

  <Card title="Inicio rápido" icon="rocket" href="/docs/quickstart">
    La versión manual, sin agente, del mismo flujo.
  </Card>
</CardGroup>
