PolicyForge
Genera, audita y mantiene políticas de privacidad, términos, políticas de cookies, EULAs, avisos legales y BAAs de HIPAA desde tu código base, con alojamiento y seguimiento de versiones.
Documentación
Servidor MCP de PolicyForge
Genera políticas legales — políticas de privacidad, términos de servicio, políticas de cookies, políticas de reembolso, EULAs, avisos legales y Acuerdos de Asociado de Negocio HIPAA — directamente desde tus herramientas de codificación con IA (Claude Code, Cursor, Windsurf, Claude Desktop) a través del Protocolo de Contexto de Modelo.
Pídele a tu agente "genera una política de privacidad GDPR + CCPA para esta aplicación" y él completa los detalles desde tu código base, llama a PolicyForge y coloca la política directamente en tu proyecto.
Pruébalo gratis: las auditorías de cumplimiento (audit_compliance), las verificaciones de desviación
(check_policy_freshness) y la rúbrica de escaneo (get_disclosure_checklist)
son ilimitadas y nunca tocan tu cuota — comienza con
"audita nuestro cumplimiento — ¿la política de privacidad cubre todo lo que este código
realmente hace?". Y la primera vez que tu cuenta se conecta a través de MCP, obtienes
3 generaciones de políticas de bonificación además de las 2 gratuitas al mes — suficiente para generar
políticas de privacidad, términos y cookies para un nuevo proyecto en una sola conversación.
Conectar
Elige la fila que coincida con tu cliente. Si no estás seguro, comienza con A.
| Cómo inicias sesión | Mejor para | |
|---|---|---|
| A. Remoto + OAuth | Inicio de sesión en el navegador, sin clave que copiar | Clientes que admiten OAuth (Claude, ChatGPT) |
| B. Remoto + clave API | Encabezado Authorization | Cualquier cliente que pueda enviar un encabezado |
| C. Local (npx) | Variable de entorno POLICYFORGE_API_KEY | Ejecutar el servidor como un proceso local |
Los tres exponen las mismas herramientas. A y B no necesitan nada instalado.
A. Remoto con OAuth (lo más fácil)
Sin clave que copiar, sin archivo de configuración que editar. Necesitarás una cuenta de PolicyForge primero — https://policyforge.co, gratis, sin tarjeta.
1. Agrega el servidor. El -s user lo hace disponible en cada proyecto en lugar de
solo en el directorio donde lo ejecutaste:
claude mcp add -s user --transport http policyforge https://policyforge.co/api/mcp
Ten en cuenta que no hay --header. Omitirlo es lo que hace que el cliente use OAuth.
2. Reinicia tu cliente. La configuración de MCP se lee al inicio, por lo que una sesión que ya estaba en ejecución no verá el nuevo servidor.
3. Autentícate. Ejecuta /mcp, selecciona policyforge y presiona Enter:
policyforge · △ needs authentication
Tu navegador se abre, inicias sesión y apruebas, y el cliente almacena el token
él mismo. Deberías volver a /mcp mostrando ✔ connected · 16 tools.
Para confirmar desde el otro lado, aparece una clave llamada MCP · <your client> en
https://policyforge.co/api-dashboard — ese es el permiso, y eliminarlo
revoca el acceso.
Otros clientes difieren en el paso 3: algunos solicitan en el primer uso de la herramienta en lugar de ofrecer una acción de autenticación explícita.
B. Remoto con una clave API
Para clientes que aún no hacen OAuth. Crea una clave en https://policyforge.co/api-dashboard, luego:
claude mcp add --transport http policyforge https://policyforge.co/api/mcp \
--header "Authorization: Bearer pf_your_key_here"
Para clientes con configuración MCP basada en URL (Cursor, Windsurf y otros):
{
"mcpServers": {
"policyforge": {
"url": "https://policyforge.co/api/mcp",
"headers": { "Authorization": "Bearer pf_your_key_here" }
}
}
}
C. Local (npx)
¿Prefieres un proceso local? El servidor se ejecuta a través de npx — nada que instalar
globalmente. Usa una clave API del entorno, que es lo que recomienda la especificación MCP
para transportes stdio.
Claude Code
claude mcp add policyforge \
--env POLICYFORGE_API_KEY=your_key_here \
-- npx -y @policyforge/mcp@latest
Cursor / Claude Desktop / Windsurf
Agrega a tu configuración MCP (.cursor/mcp.json, claude_desktop_config.json, etc.):
{
"mcpServers": {
"policyforge": {
"command": "npx",
"args": ["-y", "@policyforge/mcp@latest"],
"env": {
"POLICYFORGE_API_KEY": "your_key_here"
}
}
}
}
En Windows, algunos clientes necesitan el comando envuelto: establece
"command": "cmd"y"args": ["/c", "npx", "-y", "@policyforge/mcp@latest"].
Consulta https://policyforge.co/mcp para instalaciones con un clic (Cursor/VS Code) e instrucciones por cliente — con tu clave API prellenada cuando has iniciado sesión.
Solución de problemas
- 401 — si te conectaste con OAuth, la autorización fue revocada o
expiró: vuelve a conectar y aprueba nuevamente. Si usaste una clave API, fue eliminada,
deshabilitada o mal escrita (las claves comienzan con
pf_) — rota o crea una en https://policyforge.co/api-dashboard y reinicia el cliente. - 402 — cuota de generación agotada. Nivel gratuito: 2 generaciones por mes
calendario, más una bonificación única de 3 generaciones adicionales en la primera conexión MCP.
Solo
generate_policy/regenerate_policyconsumen cuota — las auditorías y las verificaciones de desviación son gratuitas; pídele a tu agente que ejecuteget_usagepara ver lo que queda. - 429 — límite de velocidad de solicitudes (nivel gratuito: 10/minuto, 100/día); la respuesta
incluye
retry_after. - Servidor no listado en
/mcp— o la sesión comenzó antes de que lo agregaras (reinicia el cliente; la configuración se lee al inicio), o se agregó a un ámbito de proyecto diferente.claude mcp add -s user …lo hace disponible en todas partes. - Herramientas faltantes — reinicia el cliente después de los cambios de configuración; en Windows usa
el envoltorio
cmdanterior. - "La URI de redirección no está registrada para esta aplicación" — el cliente está usando una URL de devolución de llamada que no hemos visto. Las devoluciones de llamada de bucle local funcionan en cualquier puerto (según RFC 8252), por lo que esto debería ser raro; informa la URI exacta y se puede admitir.
Más detalles: https://policyforge.co/mcp#troubleshooting
Herramientas
| Herramienta | Qué hace |
|---|---|
generate_policy | Genera una política y devuelve su contenido Markdown + URL alojada. Consume una política de tu cuota. |
generate_baa | Genera un Acuerdo de Asociado de Negocio HIPAA entre una entidad cubierta y un proveedor que maneja PHI. Construido a partir de las cláusulas requeridas por 45 CFR 164.504(e) y validado cláusula por cláusula. Plan Pro; nunca alojado públicamente. Consume una política de tu cuota. |
regenerate_policy | Vuelve a ejecutar el motor de IA con contexto de negocio cambiado — mismo ID y URL alojada, contenido anterior guardado como versión. |
check_generation | Obtén el resultado de una generación que aún se estaba ejecutando cuando su herramienta devolvió un ID de trabajo (la generación toma 40-60s; las herramientas esperan hasta 45s). |
update_policy | Edita una política en su lugar con ediciones de buscar/reemplazar o contenido completo — mismo ID y URL alojada, por lo que los enlaces publicados siguen funcionando. |
audit_compliance | Análisis de brechas: compara lo que hace el código (tu manifiesto escaneado) con lo que divulga una política. |
check_policy_freshness | Detección de desviación: compara el escaneo actual del código base contra el manifiesto almacenado en el momento de la generación. |
list_policy_versions | Historial de versiones — se guarda una instantánea antes de cada actualización, regeneración o restauración. |
restore_policy_version | Revierte una política a cualquier versión anterior (en sí mismo reversible). |
list_policies | Lista políticas en tu cuenta (filtra por tipo/estado, pagina). |
get_policy | Obtén una sola política por ID, incluido el contenido completo. |
delete_policy | Elimina permanentemente una política (su URL alojada deja de funcionar). |
get_usage | Verifica tu nivel y la cuota de generación restante antes de generar. |
get_disclosure_checklist | La rúbrica de escaneo del código base: qué SDKs/patrones requieren divulgación y cómo los hallazgos se asignan a los campos de generate_policy. |
get_integration_guide | Instrucciones de inserción/enlace copiar-pegar para Next.js, React, HTML simple o WordPress. |
list_policy_types | Lista los tipos de políticas admitidos, tipos de negocio y jurisdicciones. |
El flujo de trabajo consciente del código base
Tu agente puede leer tu proyecto — por lo que las políticas provienen de lo que el código realmente hace, no de lo que recuerdas que hace:
get_disclosure_checklist→ el agente escanea dependencias, etiquetas de script, escrituras de cookies y hosts de salida contra la rúbrica, y construye un manifiesto de pila de lo que encontrógenerate_policycon el contexto detectado +stack_manifest(almacenado en el servidor para la detección de desviación)get_integration_guide→ el agente conecta la política alojada en tu pie de página- Más tarde, después de que la pila cambie:
check_policy_freshnessinforma la desviación,audit_compliancemuestra las brechas concretas yregenerate_policylas corrige — misma URL alojada, sin enlaces rotos, versión anterior restaurable
Entradas de generate_policy
Requerido: type, business_type, jurisdiction, company_name, contact_email
type—privacy_policy·terms_of_service·cookie_policy·refund_policy·eula·disclaimerbusiness_type—e-commerce·saas·healthcare·education·financial·fintech·real-estate·non-profit·consulting·media·mobile_app·otherjurisdiction— uno o más degdprccpapipedalgpduseucaukaubrglobal(separa con comas para combinar, p. ej.gdpr,ccpa)
Contexto opcional (mejora la salida): website_url, service_description,
data_collection[], third_party_integrations[], data_retention,
user_accounts, payments, marketing, analytics, cookies,
children_data, sells_data, target_audience[], security_measures[],
governing_law, physical_address, dpo_email, consent_tracking,
hosting_enabled.
Entradas de generate_baa
Un Acuerdo de Asociado de Negocio es un contrato entre dos partes nombradas, no una política publicada, por lo que toma su propia herramienta y sus propios campos. Plan Pro.
Requerido: acknowledge_contract (debe ser true), baa_direction,
company_name, contact_email, los nombres legales y direcciones de ambas partes,
baa_effective_date (YYYY-MM-DD), baa_services_description,
baa_phi_types[], baa_permitted_uses[], baa_governing_law_state.
baa_direction—covered_entity_to_vendor(tú eres la práctica que emite el acuerdo) obusiness_associate_to_client(tú eres el proveedor que lo ofrece a un cliente de atención médica)baa_phi_types[]— categorías de PHI involucradas. Incluir"Substance use treatment records (42 CFR Part 2)"agrega un anexo de la Parte 2baa_permitted_uses[]— cualquier cosa no listada aquí no está permitida por el acuerdo (45 CFR 164.504(e)(2)(i))
Opcional: baa_electronic_phi (predeterminado true),
baa_uses_subcontractors (predeterminado false), baa_term_type,
baa_term_end_date, baa_breach_notification_days (1–60, predeterminado 30),
baa_return_or_destroy, baa_include_indemnification,
baa_include_insurance, baa_insurance_amount.
Cada acuerdo generado se verifica contra las 15 cláusulas que 45 CFR 164.504(e) requiere antes de que se devuelva; se rechaza un borrador incompleto en lugar de entregarse. El resultado sigue siendo un borrador para que el asesor legal lo revise, y nunca se publica en una URL pública.
Configuración
Solo se necesita para el transporte local (npx). Las conexiones remotas se autentican
a través de OAuth o un encabezado Authorization en su lugar.
| Variable de entorno | Requerida | Predeterminado | Propósito |
|---|---|---|---|
POLICYFORGE_API_KEY | sí (solo local) | — | Tu clave API de PolicyForge. |
POLICYFORGE_API_URL | no | https://policyforge.co | Anula la URL base de la API (autoalojamiento/pruebas). |
Cómo funciona
Este servidor es un envoltorio delgado sobre la API REST pública de PolicyForge (/api/v1).
Cada herramienta se asigna a una solicitud HTTP autenticada, por lo que la cuota, el límite de velocidad y la
generación de políticas siguen siendo autoritativos en el servidor de PolicyForge — la capa MCP
no guarda secretos más allá de tu clave API y no tiene lógica de negocio propia.
Licencia
MIT