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 集成