@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
WebPinch incluye un servidor MCP (@webpinch/mcp) que expone tus tareas, proyectos, auditorías de sitio 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.
Qué incluye
- 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 (triaje, resumen de auditoría, estado semanal)
- Verificaciones de alcance previas al vuelo para que los intentos de escritura fallen rápido 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.
Edita ~/.claude.json y añade (o fusiona con) tu bloque mcpServers:
{
"mcpServers": {
"webpinch": {
"command": "npx",
"args": ["-y", "@webpinch/mcp"],
"env": {
"WEBPINCH_TOKEN": "wp_pat_...",
"WEBPINCH_API_URL": "https://www.webpinch.com"
}
}
}
}
Reinicia completamente Claude Code (sal, no solo 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), cambia command / args por node /absolute/path/to/mcp-server/src/index.js.
Variables de entorno
| Var | Predeterminado | Notas |
|---|---|---|
WEBPINCH_TOKEN | (obligatorio) | Tu token de wp_pat_… |
WEBPINCH_API_URL | https://www.webpinch.com | URL base de la instancia de WebPinch |
WEBPINCH_TRANSPORT | stdio | Establécelo en http para autoalojar mediante Streamable HTTP — consulta Transporte HTTP alojado |
PORT | 8787 | Solo se usa cuando WEBPINCH_TRANSPORT=http |
El token se lee al iniciar el 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 | Devuelve |
|---|---|---|
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/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 lista nunca incluyen descriptionHtml ni registros de actividad completos: llama a la herramienta get_* correspondiente cuando necesites detalle.
Verificació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 de alcance del lado del servidor sigue siendo la fuente de verdad: la verificación previa es puramente una optimización de UX para darle 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 Crawl, Enlaces, SEO, Verificaciones generales |
El informe de auditoría en Markdown es la forma más amigable de alimentar los resultados de auditoría a 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? (predeterminado 24).
Extrae tareas creadas en las últimas N horas, revisa cada una para contexto (descripción, captura, reportador) y propone prioridad + asignado + una justificación de una oración como tabla markdown. No muta nada: revisa antes de aplicar.
summarize_audit
Argumentos: projectId.
Obtiene la auditoría más reciente del proyecto, categoriza los hallazgos (Crítico / Alto / Medio / Bajo) y escribe una lista de correcciones con URLs afectadas y correcciones de una oración. Termina con una sección "Top 3 acciones para esta semana".
weekly_status
Argumentos: orgSlug?.
Extrae estadísticas y actividad reciente, redacta una nota de estado de < 200 palabras en Markdown: qué hay de nuevo, qué está en riesgo, progreso por proyecto, qué vence pronto.
Transporte HTTP alojado
La especificación MCP admite tanto transporte stdio (proceso por cliente) como Streamable HTTP (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 es por solicitud mediante el encabezado Authorization en lugar de una variable de entorno, por lo que el mismo endpoint sirve a cada usuario: el token decide lo que puedes ver. El endpoint es sin 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 predeterminado correcto 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. |
WEBPINCH_TOKEN is required | 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 verificación previa pase | La caché de whoami está obsoleta porque re-creaste el token a mitad de sesión. Reinicia completamente el cliente MCP. |
Project has no URL configured en start_audit | Establece la URL del proyecto en Dashboard → Project Settings. |
| 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
Última actualización el