Perigon MCP Server

Servidor MCP oficial para la API de Perigon, que proporciona acceso a datos de noticias y medios en tiempo real.

Documentación

Perigon logo

Perigon MCP

El servidor MCP alojado de Perigon para noticias, entidades y monitores en tiempo real.

Deploy status License: Apache-2.0 MCP Registry version Listed on Smithery Transport: Streamable HTTP Documentation Try it in the playground


Inicio rápido

Endpoint: https://mcp.perigon.io/v1/mcp

Autenticación: Authorization: Bearer <key> — crea una clave en perigon.io/dev/keys.

Pruébalo en el playground (requiere una sesión iniciada en el panel de Perigon). Configuración específica por cliente: dev.perigon.io/docs/mcp.

HTTP Streamable nativo (recomendado):

{
  "mcpServers": {
    "perigon": {
      "url": "https://mcp.perigon.io/v1/mcp",
      "type": "http",
      "headers": {
        "Authorization": "Bearer YOUR_PERIGON_API_KEY"
      }
    }
  }
}

mcp-remote (clientes sin HTTP nativo):

{
  "mcpServers": {
    "perigon": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote@latest",
        "https://mcp.perigon.io/v1/mcp",
        "--header",
        "Authorization: Bearer ${PERIGON_API_KEY}"
      ],
      "env": {
        "PERIGON_API_KEY": "YOUR_PERIGON_API_KEY"
      }
    }
  }
}

Claude Code:

claude mcp add --transport http perigon https://mcp.perigon.io/v1/mcp \
  --header "Authorization: Bearer YOUR_PERIGON_API_KEY"

SSE en /v1/sse existe para clientes heredados. Usa HTTP Streamable para integraciones nuevas.


Elección de herramientas

Añade ?tools= a la URL de MCP para limitar la sesión. ?tool= es un alias y tiene prioridad si ambos están presentes.

https://mcp.perigon.io/v1/mcp?tools=search_news_articles,search_news_stories
https://mcp.perigon.io/v1/mcp?tools=research
https://mcp.perigon.io/v1/mcp?tools=research,create_monitor
  • Nombres de herramientas separados por comas, alias de perfiles o una mezcla.
  • El filtro se cruza con lo que los alcances de la clave ya permiten. No puede ampliar el acceso.
  • Omite el parámetro, pasa un valor vacío o pasa all → conjunto predeterminado (las herramientas opcionales permanecen desactivadas).
  • Los nombres desconocidos se descartan. Si todos los nombres son desconocidos, se usa el conjunto predeterminado.
PerfilHerramientas
researchsearch_news_articles, search_news_stories, search_story_history, search_vector_news, summarize_news, search_journalists, search_sources, search_people, search_companies, search_topics, las cinco herramientas de estadísticas, get_top_topics, get_source_by_id, get_api_access. No incluye Wikipedia, ni los accesos directos de empresa / persona / ubicación.
monitoringTodas las herramientas de monitores (incluyendo create_monitor / update_monitor) más todas las herramientas de Signal Insights.
platformwatchlists, create_watchlist, update_watchlist, source_groups, create_source_group, update_source_group, contact_points, article_refresh, get_api_access.
minimalsearch_news_articles, las cinco herramientas de estadísticas, get_api_access.

get_story_stats no está en ningún perfil. Solicítala por nombre. Aún requiere CLUSTERS al momento de la llamada; una clave sin ese alcance puede seleccionar la herramienta y luego recibir un error de permisos.

Las demás herramientas opcionales no necesitan alcance adicional. Cualquier clave válida puede solicitarlas.


Herramientas

Disponibilidad:

  • Predeterminada — registrada cuando se omite ?tools= (y la clave tiene el alcance indicado, si corresponde).
  • Alcance — registrada solo cuando la clave tiene ese permiso.
  • Opcional — omitida del conjunto predeterminado. Solicítala por nombre o perfil. El registro no es lo mismo que el acceso a la API.

Búsqueda

HerramientaDisponibilidadDescripción
search_news_articlesPredeterminadaBúsqueda por palabras clave y filtros sobre artículos individuales, incluyendo consultas booleanas.
search_news_storiesAlcance: CLUSTERSTitulares agrupados que reúnen artículos relacionados en una sola narrativa.
search_story_historyAlcance: CLUSTERSInstantáneas con marca de tiempo de cómo cambió un grupo de historias.
search_vector_newsAlcance: VECTOR_SEARCH_NEWSBúsqueda semántica sobre artículos recientes.
summarize_newsAlcance: SEARCH_SUMMARYResumen de IA de artículos coincidentes, con citas.
search_journalistsAlcance: JOURNALISTSPerfiles de periodistas y reporteros.
search_sourcesAlcance: SOURCESPublicaciones y medios de noticias.
search_peopleAlcance: PEOPLEPerfiles de figuras públicas.
search_companiesAlcance: COMPANIESPerfiles de empresas (dominio, ticker, industria).
search_topicsAlcance: TOPICSTaxonomía de temas de Perigon para filtros de temas exactos.
search_wikipediaAlcance: WIKIPEDIABúsqueda por palabras clave en páginas de Wikipedia.
search_vector_wikipediaAlcance: VECTOR_SEARCH_WIKIPEDIABúsqueda semántica en páginas de Wikipedia.

Accesos directos

Cada herramienta busca una entidad y luego busca artículos recientes sobre ella.

HerramientaDisponibilidadDescripción
get_company_newsAlcance: COMPANIESArtículos recientes sobre una empresa buscada por nombre.
get_person_newsAlcance: PEOPLEArtículos recientes sobre una persona buscada por nombre.
get_location_newsAlcance: LOCATIONSArtículos recientes para una ciudad, estado o país.

Estadísticas

Siempre activas para cualquier clave válida. Prefiérelas sobre contar resultados de búsqueda manualmente.

HerramientaDisponibilidadDescripción
get_avg_sentimentPredeterminadaSentimiento promedio (positivo / negativo / neutral) agrupado en intervalos de tiempo.
get_article_countsPredeterminadaVolumen de publicación de artículos agrupado en intervalos de tiempo.
get_top_entitiesPredeterminadaTemas, personas, empresas, ciudades, periodistas o fuentes más mencionados.
get_top_peoplePredeterminadaPersonas cuya cobertura está en aumento frente a una línea base.
get_top_companiesPredeterminadaEmpresas cuya cobertura está en aumento frente a una línea base.

Acceso

HerramientaDisponibilidadDescripción
get_api_accessPredeterminadaAlcances de esta clave, organización, cuota y comportamiento de derechos. No cuenta contra la cuota de solicitudes. Llámala una vez por sesión, o después de un 403.

Monitores

Las herramientas de lectura son predeterminadas. Las herramientas de escritura son opcionales porque el esquema compartido de monitores es grande.

HerramientaDisponibilidadDescripción
list_monitorsPredeterminadaLista y filtra monitores por UUID, nombre, estado o EVENT / MENTIONS / TOPIC.
get_monitorPredeterminadaConfiguración completa del monitor.
get_monitor_eventsPredeterminadaEventos estructurados de monitores EVENT y MENTIONS.
get_monitor_newslettersPredeterminadaInformes programados, típicamente de monitores TOPIC.
get_monitor_summariesPredeterminadaHistorial de resúmenes de monitores generados por IA de forma continua.
set_monitor_statusPredeterminadaActiva, pausa o archiva un monitor. El archivado no se puede revertir a través de la API pública.
create_monitorOpcionalCrea un monitor DRAFT o ACTIVE. El valor predeterminado es DRAFT.
update_monitorOpcionalActualización parcial; los campos omitidos se conservan.

Plataforma

Todas estas son opcionales. get_source_by_id y get_top_topics también están en research. get_story_stats es solo por nombre.

HerramientaDisponibilidadDescripción
get_source_by_idOpcionalUna fuente de noticias por ID exacto o dominio.
get_top_topicsOpcionalTemas cuya cobertura está en aumento frente a una línea base.
get_story_statsOpcional; Alcance: CLUSTERSVolumen o velocidad de publicación a nivel de historia a lo largo del tiempo.
watchlistsOpcionalLista, obtiene o resuelve listas de seguimiento de la organización.
create_watchlist / update_watchlistOpcionalCrea o actualiza parcialmente una lista de seguimiento.
source_groupsOpcionalLista, obtiene o resuelve paquetes personalizados de grupos de fuentes.
create_source_group / update_source_groupOpcionalCrea o actualiza parcialmente un grupo de fuentes.
contact_pointsOpcionalLista u obtiene canales de notificación de monitores (correo electrónico / webhook).
article_refreshOpcionalVerifica un trabajo de actualización o inspecciona datos en caché de hasta 100 IDs de artículos. Solo lectura.

Signal Insights

Registradas para cada sesión a menos que ?tools= las excluya. La API de Insights y el backend de Pokey rechazan llamadas cuando la clave no tiene acceso a Signal Insights.

El perfil monitoring incluye este conjunto. No existe un perfil solo de Signal Insights; pasa los nombres de las herramientas si quieres solo estas.

HerramientaDisponibilidadDescripción
signal_insights_create_workspacePredeterminadaCrea un espacio de trabajo. Llámala una vez al inicio de una conversación.
signal_insights_search_signalsPredeterminadaBusca señales por nombre u objetivo.
signal_insights_read_signalPredeterminadaMetadatos de señales (clasificación, esquema o recuentos de boletines).
signal_insights_list_newslettersPredeterminadaTítulos y extractos de boletines para una señal TOPIC.
signal_insights_read_newsletterPredeterminadaContenido completo del boletín como markdown.
signal_insights_export_eventsPredeterminadaExporta eventos EVENT / MENTIONS a S3. Devuelve una vista previa y la ruta del archivo.
signal_insights_execute_codePredeterminadaPython en un kernel IPython persistente (pandas, numpy, matplotlib).
signal_insights_preview_chartPredeterminadaRenderiza gráficos en el visor de gráficos interactivo.
signal_insights_shellPredeterminadaBash en el sandbox.
signal_insights_list_filesPredeterminadaLista archivos en el espacio de trabajo.
signal_insights_read_filePredeterminadaLee un archivo del espacio de trabajo.
signal_insights_write_filePredeterminadaEscribe un archivo del espacio de trabajo.
signal_insights_grepPredeterminadaBúsqueda con expresiones regulares sobre el contenido de archivos.
signal_insights_str_replacePredeterminadaBusca y reemplaza una cadena en un archivo.

Prompts y recursos

Los hosts que admiten prompts de MCP pueden invocar estos playbooks:

  • entity_deep_dive
  • narrative_trace
  • coverage_trend
  • journalist_beat_profile
  • competitive_landscape
  • spike_explainer

Recursos de referencia bajo demanda:

  • perigon://reference/fields — semántica de campos de respuesta
  • perigon://reference/chaining — playbooks de investigación entre endpoints
  • perigon://reference/entitlements — mapa de alcance a comportamiento de esta sesión
  • perigon://reference/charts — reglas de formato de gráficos de Signal Insights

Visores de MCP Apps (registrados cuando alguna herramienta de Signal Insights está activa):

  • ui://signal-insights/chart-viewer
  • ui://signal-insights/export-viewer

Flujo de trabajo de Signal Insights

  1. Llama a signal_insights_create_workspace una vez al inicio de una conversación.
  2. Pasa el ID del espacio de trabajo devuelto a cada herramienta de análisis posterior.
  3. Los archivos de signal_insights_execute_code y signal_insights_shell persisten en ese espacio de trabajo. Las exportaciones se guardan en /home/user/workspace/artifacts/ dentro del sandbox.
  4. Después de un reinicio, el UUID del espacio de trabajo anterior sigue siendo válido. El kernel es nuevo; los artefactos exportados a S3 permanecen.

Consejos de prompting

Dale al modelo la fecha actual (o una herramienta de fecha). Algunos modelos tratan su fecha límite de conocimiento como "hoy" y obtienen noticias desactualizadas.

Ejemplos:

  • Los 5 titulares políticos principales en Estados Unidos de hoy.
  • Últimas noticias tecnológicas de California esta semana.
  • Encuentra periodistas que cubran energía renovable y luego muestra sus artículos recientes.
  • Busca Tesla y luego encuentra historias recientes sobre ellos.
  • Lista mis monitores de eventos activos y muestra los últimos eventos de uno de ellos.
  • Crea un borrador de monitor para salidas de ejecutivos en semiconductores.

Registro MCP

Nombre del registro: io.github.goperigon/perigon-mcp-server.

server.json es la fuente de verdad. Una versión publicada es inmutable. Incrementa version en server.json y vuelve a publicar después de cualquier cambio en el listado.


Desarrollo local

Este repositorio usa Bun. Pon los secretos en .dev.vars.

VariableRequeridaDescripción
ANTHROPIC_API_KEYSíRequerida para cada ruta, incluyendo /v1/mcp. También usada por el chat del playground.
PERIGON_API_KEYPlaygroundClave predeterminada del playground.
POKEY_SIGNAL_INSIGHTS_BASE_URLNoURL base de Pokey para Signal Insights. El valor predeterminado es https://api.perigon.io/pokey en Wrangler. Usa http://localhost:3001 para acceder a un Pokey local.

Para usar cookies del panel de Perigon con el playground, añade esto a /etc/hosts:

127.0.0.1 local-mcp.perigon.io
bun i
bun dev
bun test

bun dev sirve el worker de MCP y el playground.


Contribución y mantenedores

Abre un issue de GitHub o un pull request para errores, herramientas faltantes o casos de uso. Alguien de Perigon lo revisará.

Mantenido por el equipo de Perigon:

  • Desarrollador principal: Vasyl Teliman (desarrollo de funciones, seguridad, servidor)
  • Diseñador principal: Galen Rutledge (desarrollo de funciones, mantenimiento continuo)
  • Desarrollo inicial: Islem Maboud (transporte, autenticación, despliegue, playground)

Licencia

Apache-2.0