Perigon

io.github.goperigon由 GitHub 帳號 goperigon 發布v1.0.0更新於 Oct 27, 2026

Official Perigon news API: articles, stories, companies, journalists, monitors, and stats.

已驗證Streamable HTTP可網頁執行網頁搜尋與抓取溝通與協作資料與分析

概覽

AI 產生的概覽

Perigon 官方託管的 MCP 伺服器,讓助理檢索即時新聞、查詢實體、讀取監控器,並對報導資料進行分析。

可以做什麼
  • 檢索文章、新聞故事聚類、故事歷史、語意新聞、維基百科,以及記者、媒體來源、人物、公司和主題,並取得附引用的 AI 摘要
  • 依名稱查詢某公司、人物或地區的最新報導
  • 取得報導統計:隨時間變化的情感傾向、發文量、熱門實體,以及報導量激增的人物或公司
  • 讀取與管理監控器:列出監控器、取得事件、電子報和摘要、設定狀態;建立或更新監控器為需明確啟用的工具
  • 操作平台物件,如關注清單、來源分組、通知聯絡點和文章重新整理工作
  • 在 Signal Insights 工作區中進行分析:匯出事件、執行 Python、繪製圖表,以及讀取、寫入、grep 或取代檔案
適用情境
當助理需要最新新聞報導、實體或記者調查、趨勢與情感統計,或對主題和事件進行監控時適用;適合希望使用託管端點而非本機套件的情境。
執行需求
遠端 Streamable HTTP 端點 mcp.perigon.io(舊版用戶端可用 SSE 路徑)。必須驗證:使用 OAuth 登入,需為組織中至少具備 User 角色的已驗證 Perigon 使用者;或使用 Perigon API 金鑰,以 Authorization Bearer 標頭送出。可用工具取決於金鑰的權限範圍,可透過 tools 查詢參數縮小工作階段的工具集。
安裝前請注意
OAuth 方式的用量會計入你的組織帳單,API 金鑰的權限範圍與配額同樣適用。伺服器提供寫入操作:建立和更新監控器、關注清單與來源分組,以及設定監控器狀態,其中封存無法透過公開 API 復原。Signal Insights 工具會執行 Python 和 shell 指令並在工作區寫入檔案,應視該沙箱為可修改自身檔案。寫入用戶端設定的 API 金鑰屬於需保護的機密。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Perigon,將其新增到工作區。
  2. 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.goperigon%2Fperigon-mcp-server/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。

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

README

[Perigon logo]

Perigon MCP

Perigon's hosted MCP server for real-time news, entities, and monitors.

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


Quick start

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

Try it in the playground (requires a signed-in Perigon dashboard session). Human-oriented setup: perigon.io/docs/api/mcp. Install with an agent: pass perigon.io/mcp.md to your AI client and follow the steps (OAuth sign-in, no API key in chat).

OAuth (recommended)

Add the server URL only. On first connect, the client discovers OAuth metadata and opens Perigon sign-in. See Authentication.

Native Streamable HTTP:

json
{  "mcpServers": {    "perigon": {      "url": "https://mcp.perigon.io/v1/mcp",      "type": "http"    }  }}

mcp-remote (clients without native HTTP):

json
{  "mcpServers": {    "perigon": {      "command": "npx",      "args": ["-y", "mcp-remote@latest", "https://mcp.perigon.io/v1/mcp"]    }  }}

Claude Code:

bash
claude mcp add --transport http perigon https://mcp.perigon.io/v1/mcp

Then run /mcp in Claude Code and choose Authenticate when prompted.

Codex CLI — add to ~/.codex/config.toml:

toml
[mcp_servers.perigon]url = "https://mcp.perigon.io/v1/mcp"

Then run codex mcp login perigon.

API key (scripts and pinned keys)

Use when the client cannot complete OAuth or you need a fixed key in config. Keys from perigon.io/dev/keys.

Native Streamable HTTP:

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

mcp-remote:

json
{  "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:

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

SSE at /v1/sse exists for legacy clients. Use Streamable HTTP for new integrations.


Authentication

The MCP endpoint accepts Authorization: Bearer credentials in two forms:

MethodBearer valueBest for
OAuthMCP access token from the Perigon authorization flowDesktop and IDE MCP clients; access follows your org membership
API keyPerigon API key from the developer dashboardScripts, mcp-remote, or configs that pin a key
OAuth

Hosted discovery (production):

  • Protected resource: https://mcp.perigon.io/.well-known/oauth-protected-resource (alias: https://mcp.perigon.io/.well-known/oauth-protected-resource/v1/mcp)
  • Authorization server metadata: https://mcp.perigon.io/.well-known/oauth-authorization-server

Clients discover the authorization, token, and registration endpoints from the authorization server metadata (PKCE required).

The client completes the standard authorization-code flow with PKCE, then sends the resulting access token on every MCP request.

  • Sign-in requires a verified Perigon user with at least User role in the organization.
  • Usage is billed to your organization. No API key is needed in the client.
  • Revoking MCP access or removing a member takes effect on the next request.

Unauthenticated requests receive 401 with a WWW-Authenticate header pointing at the protected-resource metadata URL.

API key

Create or copy a key at perigon.io/dev/keys and set it in the client’s Authorization header (see Quick start examples). Scopes and quotas follow that key.


Choosing tools

Append ?tools= to the MCP URL to limit the session. ?tool= is an alias and wins if both are present.

https://mcp.perigon.io/v1/mcp?tools=search_news_articles,search_news_storieshttps://mcp.perigon.io/v1/mcp?tools=researchhttps://mcp.perigon.io/v1/mcp?tools=research,create_monitorhttps://mcp.perigon.io/v1/mcp?tools=all
  • Comma-separated tool names, profile aliases, or a mix.
  • The filter intersects with what your credentials allow (API key scopes or your org’s MCP access for OAuth). It cannot expand access.
  • Omit the parameter or pass an empty value → default set (opt-in tools stay off; smaller tool list for token savings).
  • Pass all → scope-allowed default tools plus every opt-in catalogue tool (monitor write, platform helpers, get_source_by_id, get_top_topics, get_story_stats, and the rest). Scope-gated search tools still require the matching permission.
  • Unknown names are dropped. If every name is unknown, the default set is used.
ProfileTools
researchsearch_news_articles, search_news_stories, search_story_history, search_vector_news, summarize_news, search_journalists, search_sources, search_people, search_companies, search_topics, the five stats tools, get_top_topics, get_source_by_id, get_api_access. Not Wikipedia, and not the company / person / location shortcuts.
monitoringAll monitor tools (including create_monitor / update_monitor) plus every Signal Insights tool.
platformwatchlists, create_watchlist, update_watchlist, source_groups, create_source_group, update_source_group, contact_points, article_refresh, get_api_access.
minimalsearch_news_articles, the five stats tools, get_api_access.

get_story_stats is not in any profile. Request it by name. Requires the CLUSTERS scope.


Tools

Availability:

  • Default — registered when ?tools= is omitted (and the key has the listed scope, if any).
  • Scope — registered only when the key has that permission.
  • Opt-in — omitted from the default set. Request by name, profile, or ?tools=all. Registration is not the same as API access.
Search
ToolAvailabilityDescription
search_news_articlesDefaultKeyword and filter search over individual articles, including Boolean queries.
search_news_storiesScope: CLUSTERSClustered headlines that group related articles into one narrative.
search_story_historyScope: CLUSTERSTimestamped snapshots of how a story cluster changed.
search_vector_newsScope: VECTOR_SEARCH_NEWSSemantic search over recent articles.
summarize_newsScope: SEARCH_SUMMARYAI summary of matching articles, with citations.
search_journalistsScope: JOURNALISTSJournalist and reporter profiles.
search_sourcesScope: SOURCESNews publications and outlets.
search_peopleScope: PEOPLEPublic-figure profiles.
search_companiesScope: COMPANIESCompany profiles (domain, ticker, industry).
search_topicsScope: TOPICSPerigon topic taxonomy for exact topic filters.
search_wikipediaScope: WIKIPEDIAKeyword search of Wikipedia pages.
search_vector_wikipediaScope: VECTOR_SEARCH_WIKIPEDIASemantic search of Wikipedia pages.
Shortcuts

Each tool looks up an entity, then searches recent articles about it.

ToolAvailabilityDescription
get_company_newsScope: COMPANIESRecent articles about a company looked up by name.
get_person_newsScope: PEOPLERecent articles about a person looked up by name.
get_location_newsScope: LOCATIONSRecent articles for a city, state, or country.
Stats

Always on for any valid key. Prefer these over counting search results by hand.

ToolAvailabilityDescription
get_avg_sentimentDefaultAverage sentiment (positive / negative / neutral) bucketed over time.
get_article_countsDefaultArticle publication volume bucketed over time.
get_top_entitiesDefaultMost-mentioned topics, people, companies, cities, journalists, or sources.
get_top_peopleDefaultPeople whose coverage is spiking versus a baseline.
get_top_companiesDefaultCompanies whose coverage is spiking versus a baseline.
Access
ToolAvailabilityDescription
get_api_accessDefaultThis key's scopes, organization, quota, and entitlement behavior. Does not count against request quota. Call once per session, or after a 403.
Monitors

Read tools are default. Write tools are opt-in because the shared monitor schema is large.

ToolAvailabilityDescription
list_monitorsDefaultList and filter monitors by UUID, name, status, or EVENT / MENTIONS / TOPIC.
get_monitorDefaultFull monitor configuration.
get_monitor_eventsDefaultStructured events from EVENT and MENTIONS monitors.
get_monitor_newslettersDefaultScheduled briefings, typically from TOPIC monitors.
get_monitor_summariesDefaultRolling AI-generated monitor summary history.
set_monitor_statusDefaultActivate, pause, or archive a monitor. Archiving cannot be reversed through the public API.
create_monitorOpt-inCreate a DRAFT or ACTIVE monitor. Defaults to DRAFT.
update_monitorOpt-inPartial update; omitted fields are preserved.

schedulePolicy hours and days are wall-clock times in timezoneId, matching Delivery settings in the Perigon product. The public API stores those intervals in UTC; this server converts on read and write. A daily 3:00 AM America/Chicago briefing is returned and accepted as hour: 3, not hour: 8. get_monitor also includes a human-readable Schedule: line. Monthly schedules preserve configured daysOfMonth (including day 31). Complex monitors with more than 24 intervals fall back to a lossy weekly conversion on read so returned schedules remain updatable through MCP; writes that would exceed 24 intervals after conversion are rejected instead of approximated.

Platform

All of these are opt-in. get_source_by_id and get_top_topics are also in research. get_story_stats is name-only.

ToolAvailabilityDescription
get_source_by_idOpt-inOne news source by exact ID or domain.
get_top_topicsOpt-inTopics whose coverage is spiking versus a baseline.
get_story_statsOpt-in; Scope: CLUSTERSStory-level publication volume or velocity over time.
watchlistsOpt-inList, get, or resolve organization watchlists.
create_watchlist / update_watchlistOpt-inCreate or partially update a watchlist.
source_groupsOpt-inList, get, or resolve custom source-group bundles.
create_source_group / update_source_groupOpt-inCreate or partially update a source group.
contact_pointsOpt-inList or get monitor notification channels (email / webhook).
article_refreshOpt-inCheck a refresh job or peek cached data for up to 100 article IDs. Read-only.
Signal Insights

Registered for every session unless ?tools= excludes them.

The monitoring profile includes this set. There is no Signal Insights-only profile; pass the tool names if you want only these.

ToolAvailabilityDescription
signal_insights_create_workspaceDefaultCreate a workspace. Call once at the start of a conversation.
signal_insights_search_signalsDefaultSearch signals by name or objective.
signal_insights_read_signalDefaultSignal metadata (classification, schema or newsletter counts).
signal_insights_list_newslettersDefaultNewsletter titles and excerpts for a TOPIC signal.
signal_insights_read_newsletterDefaultFull newsletter content as markdown.
signal_insights_export_eventsDefaultExport EVENT / MENTIONS events into your workspace. Returns a preview and file path.
signal_insights_execute_codeDefaultRun Python analysis in your workspace (pandas, numpy, matplotlib).
signal_insights_preview_chartDefaultRender charts in the interactive chart viewer.
signal_insights_shellDefaultRun shell commands in your workspace.
signal_insights_list_filesDefaultList files in the workspace.
signal_insights_read_fileDefaultRead a workspace file.
signal_insights_write_fileDefaultWrite a workspace file.
signal_insights_grepDefaultRegex search over file contents.
signal_insights_str_replaceDefaultFind and replace a string in a file.

Prompts and resources

Hosts that support MCP prompts can invoke these playbooks:

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

On-demand reference resources:

  • perigon://reference/fields — response field semantics
  • perigon://reference/chaining — cross-endpoint research playbooks
  • perigon://reference/entitlements — this session's scope-to-behavior map
  • perigon://reference/charts — Signal Insights chart formatting rules

MCP Apps viewers (registered when any Signal Insights tool is active):

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

Monitors Insights workflow

  1. Call signal_insights_create_workspace once at the start of a conversation.
  2. Pass the returned workspace ID to every later analysis tool.
  3. Durable files live under artifacts/ (exports and query results go there automatically). Put user-facing deliverables in artifacts/output/. File and shell tools can write elsewhere in the workspace, but only artifacts/ is backed by persistent storage.
  4. After a sandbox restart, the workspace ID stays valid. The Jupyter kernel and in-memory Python state reset; files under artifacts/ remain. Other workspace paths may be empty on a fresh sandbox.

Prompting tips

Give the model the current date (or a date tool). Some models otherwise treat their knowledge cutoff as "today" and fetch stale news.

Examples:

  • Top 5 political headlines in the United States from today.
  • Latest tech news from California this week.
  • Find journalists covering renewable energy, then show their recent articles.
  • Search for Tesla, then find recent stories about them.
  • List my active event monitors and show the latest events from one of them.
  • Create a draft monitor for executive departures in semiconductors.

ChatGPT plugin skills

Workflow instructions for OpenAI’s plugin format live under skills/. Each skill is a folder with a SKILL.md file (YAML name + description, then procedure)—see Skills and Build skills.

SkillDirectoryTrigger
News researchskills/news-research/Headlines, entities, trends, journalists, cited briefings
Monitor Insightsskills/monitor-insights/Monitors, events, newsletters, Signal Insights analysis

Point the plugin manifest at "skills": "./skills/". You can import skills from the deployed MCP server via Scan Tools in the submission portal, or ship this directory in the plugin package.


MCP Registry

Registry name: io.github.goperigon/perigon-mcp-server.

server.json is the source of truth. A published version is immutable. Bump version in server.json and republish after any listing change.


Local development

This repo uses Bun. Copy .dev.vars.example to .dev.vars (gitignored) and fill in values.

VariableRequiredDescription
ANTHROPIC_API_KEYYesMust be set for the worker to start; any non-empty value works. A real key is only needed for playground chat (/v1/api/chat).
PERIGON_API_KEYPlaygroundPlayground default key when testing with a manual API key.
PERIGON_API_URLOptionalPerigon API base URL. Defaults in wrangler.jsonc for local dev.
PERIGON_APP_URLOptionalApp base URL for the OAuth consent page linked from discovery metadata.
MCP_PUBLIC_URLOptionalPublic MCP origin used in OAuth metadata (defaults to local dev URL).

The dev server binds to local-mcp.perigon.io (see vite.config.ts). Add this line to /etc/hosts so that hostname resolves on your machine:

txt
127.0.0.1 local-mcp.perigon.io
zsh
bun ibun devbun test

bun dev serves the MCP worker and the playground at https://local-mcp.perigon.io:5173.


Contributing and maintainers

Open a GitHub issue or pull request for bugs, missing tools, or use cases. Someone at Perigon will review it.

Report security issues privately. See SECURITY.md. Do not open a public issue.

Maintained by the Perigon team.


License

Apache-2.0

來源:README.md,提交 c554c95

工具

0
該伺服器需要登入,因此 SourceWeft 無法在沒有帳號的情況下讀取其工具,也未收錄。已連接帳號所能看到的內容可能因帳號及其權限而異。

版本歷史

1
  1. v1.0.0最新Sep 24, 2026

評分

已滿足適用檢查項的 85%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分