@webpinch/mcp
Expone tareas, proyectos, auditorías de sitios y estadísticas de WebPinch como herramientas/recursos/prompts de MCP para Claude Code, Cursor y otros clientes MCP.
Documentación
Servidor MCP
Servidor MCP
WebPinch incluye un servidor MCP (@webpinch/mcp) que expone tus tareas, proyectos, auditorías de sitios y estadísticas a Claude Code, Cursor y cualquier otro cliente MCP.
Es un cliente ligero sobre la API REST: misma autenticación, misma autorización, mismos datos de respuesta. Donde la API REST te da endpoints HTTP crudos, MCP te da herramientas que el modelo puede llamar directamente.
Lo que obtienes
- 13 herramientas para leer y escribir tareas, proyectos, auditorías y estadísticas
- 4 recursos para datos navegables y mencionables (proyectos, tareas, informes de auditoría)
- 3 prompts para flujos de trabajo comunes (triage, resumen de auditoría, estado semanal)
- Comprobaciones de alcance previas al vuelo para que los intentos de escritura fallen rápidamente con un mensaje claro en lugar de un HTTP 403
Instalación
Necesitarás:
- Un token de acceso personal de WebPinch. Créalo en
Dashboard → API Tokens. - Node 18+ en la máquina que ejecuta el cliente MCP.
Claude CodeCursor
Edita ~/.claude.json y añádelo (o combínalo) a tu bloque mcpServers:
{ "mcpServers": { "webpinch": { "command": "npx", "args": ["-y", "@webpinch/mcp"], "env": { "WEBPINCH_TOKEN": "wp_pat_...", "WEBPINCH_API_URL": "https://www.webpinch.com" } } } }
Reinicia Claude Code por completo (sal, no simplemente cierres la ventana). Ejecuta /mcp — webpinch debería aparecer como conectado con 13 herramientas, 4 recursos, 3 prompts.
¿Desarrollo local? Reemplaza WEBPINCH_API_URL por http://localhost:3000. Si estás ejecutando el servidor MCP desde un checkout (aún no publicado en npm), intercambia command/args por node /absolute/path/to/mcp-server/src/index.js.
Variables de entorno
| Variable | Por defecto | Notas |
|---|---|---|
| WEBPINCH_TOKEN | (obligatorio) | Tu token wp_pat_… |
| WEBPINCH_API_URL | https://www.webpinch.com | URL base de la instancia de WebPinch |
| WEBPINCH_TRANSPORT | stdio | Configúralo en http para autoalojar a través de Streamable HTTP — ver transporte HTTP alojado |
| PORT | 8787 | Solo se usa cuando WEBPINCH_TRANSPORT=http |
El token se lee al inicio del servidor y nunca se registra ni se muestra en la salida de las herramientas. Los errores de red lo redactan explícitamente.
Herramientas
Lectura
| Herramienta | Argumentos | Retorna |
|---|---|---|
| whoami | — | Usuario, nombre del token + alcances, organizaciones y proyectos accesibles |
| list_projects | orgSlug? | Lista de proyectos, opcionalmente limitada a una organización |
| get_project | projectId | Detalle del proyecto, incl. columnas + miembros |
| list_tasks | projectId?, status?, priority?, assigneeId?, label?, q?, limit?, page? | Lista compacta de tareas |
| get_task | taskId | Tarea completa, incl. comentarios, listas de verificación, adjuntos, captura de pantalla/pin |
| list_audits | projectId? o orgSlug?, limit? | Resúmenes de auditoría |
| get_audit | auditId | Informe de auditoría completo |
| dashboard_stats | orgSlug? | Conteos por estado/prioridad, proyectos recientes |
Escritura
| Herramienta | Argumentos | Alcance |
|---|---|---|
| create_task | projectId, title, description?, priority?, status?, labels?, assigneeIds?, pageUrl?, dueDate? | tasks:write |
| update_task | taskId, cualquiera de title/description/status/priority/assigneeIds/labels/dueDate/dueDateComplete | tasks:write |
| comment_on_task | taskId, body | tasks:write |
| start_audit | projectId, maxDepth?, maxPages? | audits:run |
| reanalyze_audit | auditId | audits:run |
La salida se poda para eficiencia de tokens. Las herramientas de listado nunca incluyen descriptionHtml ni registros de actividad completos: llama a la herramienta get_* correspondiente cuando necesites detalle.
Comprobación previa de alcance
Las herramientas de escritura obtienen tus alcances una vez mediante whoami y los almacenan en caché. Si le pides al modelo que haga algo que tu token no puede hacer, la herramienta lanza un error antes de cualquier solicitud HTTP:
Esta acción requiere el alcance "tasks:write". Tu token no lo tiene. Crea un nuevo token con ese alcance en /dashboard/settings/api.
La aplicación del alcance del lado del servidor sigue siendo la fuente de verdad: la comprobación previa es puramente una optimización de UX para dar al modelo un mensaje de error útil en lugar de un HTTP 403 opaco.
Recursos
Los recursos son URIs que el modelo puede extraer sin que nombres una herramienta. En el selector de recursos de Claude Code / la mención @ de Cursor:
| URI | Tipo | Contenido |
|---|---|---|
| webpinch://projects | JSON | Todos los proyectos accesibles |
| webpinch://projects/{projectId}/tasks | JSON | Lista de tareas de un proyecto |
| webpinch://tasks/{taskId} | JSON | Detalle de una sola tarea |
| webpinch://audits/{auditId}/report.md | Markdown | Auditoría renderizada como informe Markdown: secciones para Rastreo, Enlaces, SEO, Comprobaciones generales |
El informe de auditoría en Markdown es la forma más amigable de alimentar resultados de auditoría en un chat: está preformateado, priorizado y es breve.
Prompts
Los prompts son instrucciones guardadas que componen herramientas. Aparecen como comandos de barra o selecciones de prompt en tu cliente.
triage_new_tasks
Argumentos: projectId?, sinceHours? (por defecto 24).
Obtiene las tareas creadas en las últimas N horas, las recorre para obtener contexto (descripción, captura de pantalla, informador) y propone prioridad + asignado + una frase de justificación como tabla Markdown. No muta nada: revisa antes de aplicar.
summarize_audit
Argumentos: projectId.
Obtiene la última auditoría del proyecto, categoriza los hallazgos (Crítico / Alto / Medio / Bajo) y escribe una lista de correcciones con URLs afectadas y correcciones de una frase. Termina con una sección "Top 3 acciones para esta semana".
weekly_status
Argumentos: orgSlug?.
Obtiene estadísticas y actividad reciente, redacta una nota de estado de menos de 200 palabras en Markdown: qué hay de nuevo, qué está en riesgo, progreso por proyecto, qué se acerca.
Transporte HTTP alojado
La especificación MCP admite tanto transporte stdio (proceso por cliente) como HTTP Streamable (alojado). WebPinch ejecuta ambos y exponen las mismas herramientas, recursos y prompts: elige el que admita tu cliente.
Usa el nuestro (sin instalación)
WebPinch aloja un endpoint MCP en https://www.webpinch.com/api/mcp. Nada que instalar y nada que mantener en ejecución: útil para clientes que aceptan una URL MCP remota, como los conectores de Claude.ai y ChatGPT.
{ "mcpServers": { "webpinch": { "url": "https://www.webpinch.com/api/mcp", "headers": { "Authorization": "Bearer wp_pat_..." } } } }
La autenticación se realiza por solicitud a través del encabezado Authorization en lugar de una variable de entorno, por lo que el mismo endpoint sirve a todos los usuarios: el token decide lo que puedes ver. El endpoint no tiene estado y está habilitado para CORS.
Un GET devuelve un pequeño documento de descubrimiento, que es una forma rápida de confirmar la accesibilidad:
`curl https://www.webpinch.com/api/mcp
{"ok":true,"name":"webpinch-mcp","version":"0.2.1","transport":"http","endpoint":"/api/mcp"}`
Autoalójalo
Si prefieres ejecutarlo dentro de tu propia red, el mismo servidor habla HTTP:
WEBPINCH_TRANSPORT=http PORT=8787 WEBPINCH_TOKEN=wp_pat_... npx -y @webpinch/mcp
Escucha en POST /mcp (y /v1/mcp para compatibilidad).
stdio sigue siendo el valor por defecto adecuado para editores locales: Claude Code, Cursor y Windsurf lanzan el proceso ellos mismos, por lo que no hay nada que alojar y el token permanece en tu configuración local.
Solución de problemas
| Síntoma | Causa probable |
|---|---|
| El servidor muestra "desconectado" en /mcp | El comando de inicio falló. Ejecuta npx -y @webpinch/mcp manualmente con las mismas variables de entorno: el mensaje de error es el error. |
| Se requiere WEBPINCH_TOKEN | La variable de entorno no la está pasando el cliente MCP. Revisa el bloque env en tu configuración: las variables de entorno de tu shell NO se heredan. |
| INSUFFICIENT_SCOPE después de que la comprobación previa pase | La caché de whoami está desactualizada porque volviste a crear el token a mitad de sesión. Reinicia completamente el cliente MCP. |
| El proyecto no tiene URL configurada en start_audit | Configura la URL del proyecto en Panel → Configuración del proyecto. |
| Las herramientas de lectura funcionan pero todo está vacío | El token es válido pero no hereda acceso a proyectos. Ejecuta whoami para verificar qué es visible. |
Ver también
Tokens de APIReferencia de la API RESTWebhooks (vista previa)
Última actualización: 6 de agosto de 2026
API RESTWebhooks