CiteWire

io.github.Openly-Useful由 GitHub 帳號 Openly-Useful 發布v0.2.0更新於 Oct 24, 2026

Attribution-first MCP server for free news sources and free article APIs.

發布方自己的服務:Wire Cash: bank wire fees and transfer costs

概覽

AI 產生的概覽

CiteWire 是本地、唯讀的 MCP 伺服器,讓助理取得公開新聞與研究的中繼資料或相容新聞平台的資料,並保留原始出處。

可以做什麼
  • 透過 GDELT 檢索全球新聞文章中繼資料與詞語前後文片段
  • 跨 arXiv、OpenAlex、Crossref、Semantic Scholar、Europe PMC 與 dblp 檢索學術與預印本中繼資料
  • 檢索 DEV 已發表文章中繼資料,並讀取 Hacker News 項目
  • 列出、取得並瀏覽所接入相容新聞平台的項目、主題與署名政策
  • 提供選用的本機唯讀來源政策與權利評估基礎功能
適用情境
適合需要查找新聞或學術文獻並標明原始出版者的情境,也適合新聞平台營運者把現有唯讀 API 開放給代理程式使用。它不是爬蟲,也不是全文擷取服務。
執行需求
需要 Node.js 18 或更新版本;以本機 stdio 程序執行(或指定連接埠的無狀態 HTTP),透過 npx 並指定設定檔路徑啟動。JSON 設定用來啟用平台(名稱、網站 URL、API 基底)和/或各提供者,提供者預設關閉。Crossref 需要部署者自己的聯絡信箱。需要能連線到所選提供者。
安裝前請注意
只有設定中啟用的工具才會提供,空白設定不會提供任何工具。Crossref 會把設定的聯絡信箱透過 mailto 參數與 User-Agent 傳送給 Crossref。各提供者的條款與使用限制仍然適用,應自行確認。選用的社群政策層僅以影子模式運作,一律回報 publishable: false。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 CiteWire,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

CiteWire

[npm] [CI] [license]

citewire.org · Openly Useful

Attribution-first MCP infrastructure for news and research discovery.

CiteWire gives agents structured, read-only access to news and research metadata while preserving credit and traffic for the original publisher. It can expose a compatible news platform as typed MCP tools, query optional public provider APIs, or do both in one server.

The Community edition is useful on its own. It includes the MCP core, stdio and HTTP transports, the generic platform adapter, and every provider adapter in this repository under the MIT license. Commercial product direction is additive and focused on managed operations, personalization, workflows, collaboration, retained history, and support. See Product tiers.

What CiteWire is for

  • News platform operators can expose a compatible read API through news.list, news.get, news.topics, and news.about.
  • Researchers and agent builders can enable only the public news and research providers they want to query.
  • Self-hosters can run the same server over stdio, stateless HTTP, or inside a Node serverless function.
  • Provider contributors can add a focused adapter without introducing a runtime dependency.

CiteWire is not a full-text ingestion service, crawler, publisher, editorial system, or rights-clearance service. It does not store or republish article bodies. Provider reachability does not replace review of the provider's current terms for your use case.

Quick start

Requirements: Node.js 18 or newer. Community is an ESM-only Node package; it does not provide a CommonJS entry point.

Create citewire.config.json with one provider enabled:

json
{  "providers": {    "openalex": { "enabled": true }  }}

Run the server over stdio:

sh
npx -y citewire --config citewire.config.json

stdio is the default transport and is the usual choice when an MCP client launches citewire as a local process.

MCP client configuration

Use an absolute config path because clients do not always launch from the project directory:

json
{  "mcpServers": {    "citewire": {      "command": "npx",      "args": [        "-y",        "citewire",        "--config",        "/absolute/path/to/citewire.config.json"      ]    }  }}

HTTP transport

Run the stateless HTTP transport on port 8722:

sh
npx -y citewire --config citewire.config.json --http 8722

The local endpoint accepts JSON-RPC over POST /. It does not offer sessions or an event stream.

Two ways to use it

1. Wrap a compatible news platform

Declare a platform with a display name, site URL, and read API base:

json
{  "platform": {    "name": "Example Industry News",    "siteUrl": "https://news.example",    "apiBase": "https://news.example/api/v1/news"  }}

That configuration exposes four tools:

ToolPurpose
news.listList items newest first, with optional topic, industry, text, date-window, and pagination filters.
news.getGet one item by slug, including attribution and related coverage returned by the platform.
news.topicsRead the platform's active topic taxonomy.
news.aboutRead static platform facts and the attribution policy.

The required HTTP surface is documented in the platform read-API contract.

2. Enable public provider tools

Provider adapters are included in Community and are disabled by default. A provider becomes active only when its config entry sets enabled to true.

json
{  "providers": {    "gdelt-doc": { "enabled": true },    "arxiv": { "enabled": true },    "crossref": {      "enabled": true,      "mailto": "[email protected]"    }  }}

Crossref requires the deployer's own contact email so requests can identify the operator to its polite pool. citewire sends that address only to Crossref in the request mailto parameter and User-Agent. Do not copy the example address.

The current adapters are:

ProviderToolsFocus
GDELT DOC 2.0gdelt.searchWorldwide news article metadata
GDELT Context 2.0gdelt.contextSnippet-level context around a term
arXivarxiv.searchPreprint metadata
OpenAlexopenalex.searchScholarly works, authors, and venues
Crossrefcrossref.searchDOI registration metadata
Semantic Scholarsemanticscholar.searchPapers and author graph metadata
Europe PMCeuropepmc.searchLife-sciences literature metadata
dblpdblp.searchComputer-science bibliography records
Hacker Newshackernews.top, hackernews.itemStories and items from the official API
DEVdevto.searchPublished DEV article metadata

Read Providers before enabling one. That document records the endpoint, documentation, free-access basis, and known courtesy limits for each adapter. The provider's own documentation remains the source of truth.

Configuration behavior

  • platform is optional.
  • providers is optional.
  • A provider omitted from the config remains disabled.
  • An empty config is valid and exposes no tools.
  • Invalid config fails at startup with the field named in the error.
  • tools/list is the authoritative tool list for a running deployment because enabled tools depend on that deployment's config.

A deployment can combine a platform and provider tools:

json
{  "platform": {    "name": "Example Industry News",    "siteUrl": "https://news.example",    "apiBase": "https://news.example/api/v1/news"  },  "providers": {    "openalex": { "enabled": true }  }}

Optional Community policy foundation

CiteWire can expose a local, read-only foundation for source policy, rights evaluation, and shadow inclusion scoring:

json
{  "community": {    "enabled": true,    "classifierMode": "shadow",    "thresholds": {      "adjacent_min": 0.5,      "standard_min": 0.6    }  }}

Every bundled source remains disabled by default. This setting performs no network calls, loads no credentials, and cannot publish. Credential-based rights checks accept opaque secret-manager references in memory but never return those references. The classifier is forced to shadow mode and always reports publishable: false until a separately reviewed editorial system and evaluation corpus exist.

Read Source registry and rights for the runtime validation, fail-closed policy, canonical MCP tools and resources, and current limitations.

Design boundaries

  • MIT and zero dependency. The package uses Node built-ins and has no runtime or development dependencies.
  • Node ESM. Community supports Node.js 18 or newer through ESM. It does not provide CommonJS compatibility or a CommonJS build.
  • Read only. The included tools query platform and provider read surfaces.
  • Stateless. The Community server has no accounts, sessions, saved searches, or retained history.
  • Attribution first. Results preserve source metadata and links supplied by the upstream platform or provider.
  • Config driven. A deployer decides which tools are present. Nothing turns itself on.
  • Storage free. The core does not retain provider responses or source content.

These boundaries are maintained through the project governance policy.

Ecosystem and product documentation

  • Product tiers defines the permanent Community value and the additive commercial boundary.
  • Distribution contains the exact registry and catalog checklist. Unperformed submissions are marked PENDING.
  • Governance explains decisions, provider stewardship, compatibility, and licensing.
  • Providers documents each upstream provider.
  • Platform contract defines the compatible news read API.
  • Contributing covers setup, tests, provider additions, and pull request expectations.
  • Releasing defines package and registry release controls.
  • Support, Security, and the Code of Conduct define community operating channels.

Project origin

citewire is built and maintained by Openly Useful. The public platform contract is generic and can wrap any compatible read API.

Contributing

Run the test suite with npm test. No install step is required. See CONTRIBUTING.md before proposing a provider or a change to a public contract.

License

Community is MIT licensed. See LICENSE.

來源:README.md,提交 596e1a9

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.2.0最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

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

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

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

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

其他 Wire 整合