Official MCP server for the Perigon API, providing tools for searching news articles, stories, journalists, sources, people, companies, topics, Wikipedia, sentiment analysis, entity statistics, monitoring, and platform management.
The Perigon MCP server provides 40 tools with comprehensive naming and clear action verbs (search_, get_, list_, create_, update_, set_). Descriptions are present and generally well-written (120-180 chars average, falling within the 10-1024 char baseline). However, critical gaps exist: (1) Input schemas are severely incomplete, most tools show only 1-3 parameters in the provided spec, while real-world usage likely requires many more filter/option parameters not documented here; (2) Output schemas are entirely undocumented, no tool shows what fields are returned, making it impossible for LLMs to plan downstream calls; (3) Parameters lack type information in many cases (e.g., 'size' is shown as 'number' but no min/max bounds); (4) Error handling guidance is absent, no tool documents recovery paths or what errors are possible; (5) Pagination is mentioned in rubric baseline (pattern:paginated-result) but undocumented for list tools like list_monitors, search_journalists, search_sources. The server excels at naming convention (verb_noun pattern observed across all 40 tools) and provides domain context in descriptions, but falls short on schema completeness and LLM-operability dimensions critical to production use.
Check the article ingestion freshness and last update timestamp for the Perigon index.
List or get by UUID your organization's contact points — email or webhook delivery channels for monitor notifications.
Create a new monitor for continuously detecting events, mentions, or scheduled topic briefings.
Create a new custom source group — a curated bundle of publisher domains.
Create a new watchlist of people and/or companies.
Report this API key's scopes, organization, usage quota, and the entitlement behavior those scopes imply.
Output schemas completely undocumented, no tool specifies what fields are returned, making it impossible for LLMs to extract the right data or plan downstream tool calls.
Input parameters lack bounds and validation constraints, 'size' and 'page' parameters shown as bare 'number' type with no documented min/max, allowing LLMs to pass absurd values (negative, zero, or millions) that may break API calls.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 68 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Get article publication volume bucketed over time to analyze coverage trends by hour, day, week, or month.
Get average sentiment scores (positive, negative, neutral) bucketed over time for articles matching your filters.
Quick shortcut to get recent news about a specific company by name. Looks up company details then finds recent articles automatically.
Quick shortcut to get recent news for a geographic location — city, state, or country. Auto-detects location type and applies the right filters.
Retrieve the complete configuration for one monitor by UUID, including its query, schema, schedule, and delivery contact points.
Retrieve structured matches emitted by an EVENT or MENTIONS monitor, with extracted schema data and matched entities.
Retrieve scheduled briefings generated by a TOPIC monitor, with newsletter content and citations.
Retrieve the rolling history of AI-generated summaries produced as a monitor processes matching content.
Quick shortcut to get recent news about a specific person by name. Looks up the person's profile then finds recent articles automatically.
Look up one news source by its exact ID or domain for full detail — paywall status, alt names, and location.
Get story-level (clustered headline) publication volume or velocity over time.
Identify companies whose news coverage is spiking relative to a baseline period. Returns spike scores and mention counts.
Get the most frequently mentioned topics, people, companies, cities, or sources in articles matching your filters.
Identify people whose news coverage is spiking — mentioned significantly more in a recent window than a prior baseline period.
Identify topics whose news coverage is spiking relative to a baseline period.
List and search your Perigon monitors to discover UUIDs, statuses, or find monitors by name or classification.
Search corporations and businesses by name, industry, stock ticker, or domain for company profiles and metadata.
Search 230k+ journalist and reporter profiles by name, publication, topic, region, or posting activity.
Search and filter individual news articles from 200k+ global sources by keyword, topic, source, location, sentiment, or time range. Supports Boolean query syntax.
Search clustered news stories that group related articles across multiple sources into a single narrative. Returns story summaries, sentiment analysis, and article counts.
Search 650k+ public figures, politicians, celebrities, and executives for biographical information by name or occupation.
Search 200k+ news publications and media outlets by name, domain, location, audience size, or publishing volume.
Track how a news story has evolved over time with timestamped snapshots, summaries, key points, and changelogs.
Browse and search the Perigon topic taxonomy to discover available topic filters for use in other search tools.
Semantic search over recent news using natural language and vector embeddings — ideal for conceptual or conversational queries instead of exact keywords.
Semantic search over Wikipedia using natural language and vector embeddings — finds pages by meaning even without exact keyword matches.
Search Wikipedia pages with keyword queries for factual background, encyclopedia-style lookups, or structured Wikipedia data.
Activate, pause, or archive a monitor's lifecycle. Archiving cannot be reversed through the public API.
List, get by ID, or resolve by name your organization's custom source-group bundles.
Generate an AI-powered summary of news coverage matching your filters, with supporting article citations and configurable summarization controls.
Partially update a monitor's query, schema, schedule, entity groups, or contact points.
Partially update an existing source group's name, description, or domains.
Partially update an existing watchlist's name, description, people, or companies.
List, get by ID, or resolve by name your organization's watchlists of people and companies.
Pagination pattern undocumented for list/search tools, list_monitors, search_journalists, search_sources, and search_* tools that return multiple items do not document pagination strategy (offset, cursor, limit), making it unclear to LLMs how to fetch large result sets without context window explosion.
Error handling completely absent, no tool documents what errors are possible, when they are retryable, or what recovery steps exist. Tools like create_monitor and update_monitor (WRITE operations) provide no guidance on failure modes or confirmation patterns.
Many tool descriptions are under 100 characters and lack context about WHEN to use the tool vs similar ones, e.g., get_monitor (60 chars: 'Retrieve the complete configuration for one monitor by UUID') vs get_monitor_events vs get_monitor_newsletters vs get_monitor_summaries all blur together. LLMs cannot disambiguate when to call which.
Parameter descriptions too generic, many lack the format, range, or allowed-value guidance LLMs need. E.g., 'splitBy' parameter in get_avg_sentiment and get_article_counts just says 'Time bucket granularity (DAY, WEEK, MONTH, etc.)' but does not list all valid enums or state whether it is required.
Destructive and reversible operations lack confirmation/dry-run patterns, set_monitor_status can 'archive' (described as non-reversible), and update_* tools can overwrite state, but no tool offers a preview, confirmation step, or undo mechanism to prevent accidental data loss.
Natural-language identifiers not documented, tools like get_monitor and get_source_by_id require UUIDs/IDs, but no tool clarifies whether human-readable names (e.g., monitor name, source domain) are accepted as alternatives, forcing extra lookup calls.