Documentación · MCP
Servidor MCP
Conecta Huginnova a Claude, ChatGPT, Cursor o cualquier cliente que hable el Model Context Protocol. Tu asistente podrá responder «¿por qué ChatGPT recomienda a mi competidor?» con tus datos reales, y actuar: 32 herramientas, los mismos datos que la app y la API.
Conectar
La URL del servidor es http://localhost:3000/api/mcp (Streamable HTTP). Las aplicaciones que permiten iniciar sesión (ChatGPT, Claude) se conectan sin clave; el resto usa una clave de API.
ChatGPT, Claude (web, escritorio y móvil) y otras aplicaciones con inicio de sesión
Añade un conector personalizado con la URL del servidor. La aplicación abre una página donde inicias sesión, eliges el espacio de trabajo y decides si solo lectura o lectura y cambios. Sin claves que copiar.
- Claude: Personalizar → Conectores → + Añadir → Añadir conector personalizado, pega la URL y continúa. En Team y Enterprise lo añade un propietario en Configuración de la organización → Conectores y cada persona pulsa Conectar.
- ChatGPT: Ajustes → Aplicaciones y conectores → Configuración avanzada → activa el modo desarrollador y luego Crear, pega la URL y elige OAuth.
- Desconéctalo desde la aplicación, o para todos en Integraciones → API y automatizaciones → Aplicaciones conectadas.
Con una clave de API (Claude Code, Cursor, VS Code, Claude Desktop): créala en Integraciones → API y automatizaciones y úsala en tu cliente:
Claude Code
claude mcp add --transport http huginnova http://localhost:3000/api/mcp \ --header "Authorization: Bearer TU_CLAVE_DE_API"
Cursor · .cursor/mcp.json
{
"mcpServers": {
"huginnova": {
"url": "http://localhost:3000/api/mcp",
"headers": {
"Authorization": "Bearer TU_CLAVE_DE_API"
}
}
}
}VS Code · .vscode/mcp.json
{
"servers": {
"huginnova": {
"type": "http",
"url": "http://localhost:3000/api/mcp",
"headers": {
"Authorization": "Bearer TU_CLAVE_DE_API"
}
}
}
}Claude Desktop · claude_desktop_config.json
{
"mcpServers": {
"huginnova": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"http://localhost:3000/api/mcp",
"--header",
"Authorization:${AUTH}"
],
"env": {
"AUTH": "Bearer TU_CLAVE_DE_API"
}
}
}
}Autenticación
Dos formas, ambas como Authorization: Bearer …: una conexión OAuth (aplicaciones con inicio de sesión) o una clave de API. Las conexiones y claves de solo lectura pueden usar todas las herramientas de consulta; el acceso completo permite además las de cambios. El servidor MCP está incluido en todos los planes. Límite: 120 peticiones por minuto por conexión o clave.
OAuth, para desarrolladores
OAuth 2.1 tal como lo describe la especificación de autorización de MCP. Una petición sin token recibe un 401 cuya cabecera WWW-Authenticate apunta a los metadatos del recurso protegido; desde ahí, los metadatos del servidor de autorización en /.well-known/oauth-authorization-server. Las aplicaciones se identifican con un Client ID Metadata Document (un client_id https) o se registran con Dynamic Client Registration. Solo código de autorización con PKCE (S256), y el resource debe ser la URL del servidor MCP. Permisos: read y write (la persona puede conceder menos de lo pedido). Los tokens de acceso duran una hora; los de refresco rotan en cada uso, y reutilizar uno antiguo cierra la conexión.
Herramientas
Todas reciben un project_id de list_projects, salvo list_projects y list_alerts. * obligatorio.
Marcas y competidores
list_projectsconsultaLas marcas del espacio de trabajo, con su mercado y motores.
get_visibilityconsultaVisibilidad, cuota de voz, citas, posición y tono frente a competidores; cambio, por motor y evolución.
project_id*daysenginelist_competitorsconsultaLos competidores que sigues, con sus webs.
project_id*get_recommended_competitorsconsultaMarcas que recomienda la IA y que no sigues.
project_id*dayslimitcursorget_brand_recognitionconsultaSi ChatGPT y Gemini te reconocen como marca.
project_id*
Prompts y respuestas
list_promptsconsultaLos prompts que sigues, primero donde más pierdes.
project_id*dayslimitcursorget_prompt_suggestionsconsultaPreguntas sugeridas: demanda real, huecos de tu web, competidores, búsquedas de la IA.
project_id*limitcursorsearch_answersconsultaRespuestas de IA como lista resumida y filtrable.
project_id*engineprompt_idsinceuntilmentions_brandcompetitor_idlimitcursorget_answerconsultaUna respuesta de IA entera, con todas sus marcas y fuentes.
project_id*answer_id*
Fuentes
top_sourcesconsultaLos dominios que más cita la IA y de quién son.
project_id*daystop_pagesconsultaLas páginas exactas que más cita la IA.
project_id*dayslimitcursorget_source_gapsconsultaWebs que cita la IA y donde no sales.
project_id*dayslimitcursor
Qué hacer
get_action_planconsultaAcciones priorizadas con el porqué y el cómo.
project_id*statuslimitcursorget_geo_opportunitiesconsultaPreguntas que ganaría un artículo.
project_id*limitcursorlist_articlesconsultaArtículos del GEO Writer y si están publicados.
project_id*limitcursorget_articleconsultaUn artículo entero: análisis, markdown y JSON-LD.
project_id*article_id*get_outreachconsultaEmails preparados para que te mencionen en webs citadas.
project_id*limitcursor
Percepción, web y tráfico
get_reputationconsultaCómo te describe la IA: puntuaciones, fortalezas, debilidades, afirmaciones erróneas.
project_id*get_site_readinessconsultaSi los rastreadores de IA pueden leer tu web y qué arreglar.
project_id*get_signalsconsultaBúsquedas de la IA detrás de tus prompts, shopping, anuncios, resultados locales, Reddit y YouTube.
project_id*daysget_ai_trafficconsultaVisitas desde asistentes de IA y actividad de rastreadores.
project_id*dayslist_alertsconsultaAlertas tras cada actualización.
project_idunread_onlylimitcursor
Cambios (acceso completo)
add_promptscambiaSeguir preguntas nuevas.
project_id*prompts*tagsadd_suggested_promptcambiaSeguir una pregunta sugerida.
project_id*suggestion_id*dismiss_suggested_promptcambiaDejar de sugerir una pregunta.
project_id*suggestion_id*set_prompt_activecambiaPausar o reanudar un prompt.
project_id*prompt_id*active*add_competitorcambiaSeguir a un competidor.
project_id*name*websiteremove_competitoreliminaDejar de seguir a un competidor.
project_id*competitor_id*track_recommended_brandcambiaSeguir una marca que recomienda la IA.
project_id*name*ignore_recommended_brandcambiaIgnorar una marca que recomienda la IA.
project_id*name*set_action_statuscambiaMarcar una acción como hecha (u otro estado).
project_id*action_id*status*mark_alerts_readcambiaMarcar alertas como leídas.
alert_idproject_id
Prompts
Preguntas listas que tu cliente muestra en su menú («/» en Claude), en el idioma de tu espacio de trabajo. Los nombres de marca y competidor se autocompletan al escribir; la marca es opcional si solo sigues una.
weekly_reportInforme semanal de visibilidad en IA: dónde estás, qué ha cambiado y por qué, prioridades.
what_to_do_this_weekQué hacer esta semana: los tres cambios con más probabilidades de meterte en más respuestas.
why_competitor_winsPor qué gana un competidor: las respuestas y fuentes reales que lo explican, y qué cambiar.
Cómo son los resultados
Páginas. Las listas devuelven items, total y next_cursor. Pasa next_cursor como cursor para la página siguiente; en la última es null. Las listas de más reciente a más antiguo (respuestas, alertas) usan la fecha y el id de cada fila, así que si entran datos nuevos mientras paginas no se repite ni se salta nada.
Resumen y detalle. search_answers devuelve un resumen por respuesta (motor, prompt, fecha, marcas nombradas y posiciones, dominios citados y el fragmento sobre ti). Lee una entera con get_answer; los artículos funcionan igual con list_articles y get_article.
Porcentajes. La visibilidad, las citas y similares son proporciones de respuestas de 0 a 1, con su intervalo de confianza del 95 %. Con pocas respuestas hay incertidumbre: los cambios vienen marcados como significativos o no.
Formato. Cada resultado llega como texto JSON y como structuredContent. Los errores que puedes corregir (un argumento mal, un límite del plan, algo que no existe) vuelven como error de la herramienta con el motivo.
Preguntas de ejemplo
- “¿Qué visibilidad tiene mi marca en las respuestas de IA este mes, y frente a quién?”
- “¿Por qué ChatGPT recomienda a mi competidor principal y no a nosotros? Enséñame las respuestas.”
- “¿En qué webs debería conseguir que me mencionen primero, y qué dicen?”
- “¿Qué ha cambiado desde la semana pasada y qué debería hacer?”
- “Añade estas cinco preguntas a los prompts que sigo.”
- “Marca como hecho el arreglo de los datos estructurados.”
Seguridad
Las conexiones y las claves pertenecen a un espacio de trabajo y solo ven sus datos. El servidor nunca inicia trabajo de pago (actualizaciones, artículos, emails): eso se queda en la app. Puedes desconectar una aplicación o revocar una clave en Integraciones cuando quieras; deja de funcionar al instante, y quien sale del espacio de trabajo pierde las aplicaciones que conectó.