search_news_articlesLABSCO SUMMARY
Tell the agent today's date, and use the stats tools.
The README's own advice is the most useful thing on this page: without the current date, models assume their knowledge cutoff and retrieve stale news. The other habit worth forming is reaching for the stats tools instead of counting search results — sentiment and article volume are computed server-side over the same filters, which is both cheaper and correct. Archiving a monitor cannot be undone through the public API.
What it is
The official remote MCP server for Perigon's news API, maintained by Perigon's engineering team. It is large on purpose and lets you shrink it: appending ?tools= to the URL restricts a session to named tools or a curated profile, which keeps the model focused and the context small.
What you get
- Search across articles and stories —
search_news_articlesandsearch_news_stories— plus journalists, sources, people, companies and topics - Five stats tools that compute aggregates server-side rather than making you count results:
get_avg_sentimentandget_article_countsbucketed over time,get_top_entities, andget_top_peopleandget_top_companiesfor coverage spiking against a baseline get_api_access— this key's scopes, organization, usage quota and the derived behaviour, including blocked filters and date-window clamps; it does not count against quota- Monitors —
list_monitors,get_monitor,get_monitor_events,get_monitor_newsletters,get_monitor_summaries,set_monitor_status, withcreate_monitorandupdate_monitoravailable only when you opt in - Platform tools —
get_source_by_id,get_top_topics,get_story_stats,watchlists,source_groups,contact_points,article_refresh, and create/update variants for watchlists and source groups - Signal Insights, on keys with that scope —
signal_insights_create_workspaceonce per conversation, then search, read and export tools plus a persistent Python sandbox withsignal_insights_execute_code,signal_insights_preview_chart,signal_insights_shelland file tools; pandas, numpy and matplotlib come pre-installed - Six reusable prompts that encode multi-step chaining —
entity_deep_dive,narrative_trace,coverage_trend,journalist_beat_profile,competitive_landscape,spike_explainer - Reference material as on-demand resources:
perigon://reference/fields,perigon://reference/chaining,perigon://reference/entitlements,perigon://reference/charts
Requirements
A Perigon API key, sent as Authorization: Bearer. Nothing to install: add https://mcp.perigon.io/v1/mcp as a Streamable HTTP server, or reach it through npx mcp-remote@latest if your client has no native HTTP support. The SSE endpoint at /v1/sse exists for legacy clients and is not recommended for new setups. Which tools you see depends on your key's scopes — the ?tools= parameter can only narrow that set, never widen it. Profiles are research, monitoring, platform and minimal, and can be combined with individual names.
Setup effort
One command plus a key — claude mcp add --transport http perigon_news_api https://mcp.perigon.io/v1/mcp --header "Authorization: Bearer YOUR_PERIGON_API_KEY"
USE CASES
Finding out what is actually being said about a company
Search stories, then read sentiment and article volume over the same filters instead of eyeballing headlines.
Explaining a sudden spike in coverage
Use the spike prompt so the chaining is right, and read which people, companies or topics are rising against baseline.
Profiling who covers a beat
Find the journalists writing about the subject, then pull their recent articles and their outlets.
Watching for an event without checking manually
Read your monitors and their emitted events and newsletters; opt in to the create tools when you want to add one.
Keeping the tool list small in a client with a cap
Append a profile such as research or minimal to the server URL so only the relevant tools register.
41 tools
Listed in project docs. Your client may show a different list.
search_news_storiesget_avg_sentimentget_article_countsget_top_entitiesget_top_peopleget_top_companiesget_api_accesslist_monitorsget_monitorget_monitor_eventsget_monitor_newslettersget_monitor_summariesset_monitor_statuscreate_monitorupdate_monitorget_source_by_idget_top_topicsget_story_statswatchlistssource_groupscontact_pointsarticle_refreshcreate_watchlistupdate_watchlistcreate_source_groupupdate_source_groupsignal_insights_create_workspacesignal_insights_search_signalssignal_insights_read_signalsignal_insights_list_newsletterssignal_insights_read_newslettersignal_insights_export_eventssignal_insights_execute_codesignal_insights_preview_chartsignal_insights_shellsignal_insights_list_filessignal_insights_read_filesignal_insights_write_filesignal_insights_grepsignal_insights_str_replaceBEFORE YOU INSTALL
What to know first
Tools you get
41 tools named in the project's documentation.
Requires
- A client that can reach a remote MCP server over HTTP
- PERIGON_API_KEY in your environment
INSTALLATION
Connect your client
Server setup
claude mcp add
Claude Code
claude mcp add --transport http perigon_news_api https://mcp.perigon.io/v1/mcp \
--header "Authorization: Bearer <YOUR_PERIGON_API_KEY>"Hosted endpoint
https://mcp.perigon.io/v1/mcpAdd this hosted endpoint to your MCP client using the credentials listed under Requirements.
MCP Clients
Any MCP client — HTTP
{
"mcpServers": {
"perigon_news_api": {
"url": "https://mcp.perigon.io/v1/mcp",
"type": "http",
"headers": {
"Authorization": "Bearer <YOUR_PERIGON_API_KEY>"
}
}
}
}Any MCP client — mcp-remote
{
"mcpServers": {
"perigon_news_api": {
"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>"
}
}
}
}Values written as ${…} are filled in only by clients that expand variables.
Any MCP client — SSE
{
"mcpServers": {
"perigon_news_api": {
"url": "https://mcp.perigon.io/v1/sse",
"type": "sse",
"headers": {
"Authorization": "Bearer <YOUR_PERIGON_API_KEY>"
}
}
}
}Cursor — tool subset
{
"mcpServers": {
"perigon_news_api": {
"url": "https://mcp.perigon.io/v1/mcp?tools=search_news_articles,search_news_stories",
"type": "http",
"headers": {
"Authorization": "Bearer <YOUR_PERIGON_API_KEY>"
}
}
}
}