citewire

citewire

An attribution-first MCP server that provides tools to search and cite news and research metadata from free APIs and news platforms, without storing or republishing content.

Category
访问服务器

README

citewire

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

Why it exists

Agents need to read news and research metadata, but the publishers who create that work keep the rights and the traffic. citewire reads the metadata and links straight back to the original article, so an agent can list, search, and cite a story without the content ever being copied, stored, or republished. The name is the whole idea: cite plus wire.

What it does

citewire has two jobs.

  1. Serve a news platform. Any site that exposes a compatible read API (list, detail, topics) becomes a set of typed MCP tools (news.list, news.get, news.topics, news.about) by declaring one small JSON block. The tools are a mechanical projection of the HTTP surface, so they cannot drift from the API they wrap. See docs/platform-contract.md.
  2. Query free article APIs. Ten open news and research APIs are available as pass-through tools. Nothing is stored and nothing is republished; each tool returns metadata and links to the original. Every provider is disabled by default. Enabling one is your deliberate act, and reviewing that provider's terms for your use is your responsibility. See docs/providers.md.

Quick start

Run over stdio (the default transport, and how MCP clients launch the server):

npx citewire --config citewire.config.json

Wire it into Claude Desktop (claude_desktop_config.json) or Claude Code (.mcp.json):

{
  "mcpServers": {
    "citewire": {
      "command": "npx",
      "args": ["citewire", "--config", "citewire.config.json"]
    }
  }
}

Use an absolute path for --config if the client does not launch from your project directory.

Serve over Streamable HTTP instead of stdio (default port 8722, JSON-RPC over POST /):

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

Configuration

A deployment is described entirely by a small JSON file: an optional platform to wrap, and the providers you choose to enable. This example wraps the Karaya Group Industry News platform and enables one provider, OpenAlex:

{
  "platform": {
    "name": "Karaya Group Industry News",
    "siteUrl": "https://karaya.group",
    "apiBase": "https://karaya.group/api/v1/news"
  },
  "providers": {
    "openalex": { "enabled": true }
  }
}

Omit the platform block to run providers only. Omit providers, or leave a provider out of it, and that provider stays disabled. A bad config fails loudly at startup with an error that names the offending field.

Platform tools

These four tools exist only when a platform block is configured.

Tool Purpose
news.list List items newest first. Filters: topic, industry, q, days, cursor, page_size.
news.get One item by slug, with attribution and related coverage.
news.topics The active taxonomy topics (slug, label, description).
news.about Static facts about the server and platform, including the attribution policy.

Providers

Ten free APIs. None requires an API key. Every one ships disabled. Provider tools are namespaced under a short prefix; the authoritative list for a given deployment is whatever the running server advertises through tools/list. Full detail, endpoints, and free-access terms are in docs/providers.md.

Provider Tool Queries Key required Default
GDELT DOC 2.0 gdelt.search Worldwide news article metadata none disabled
GDELT Context 2.0 gdelt.context Snippet-level context around a search term none disabled
arXiv arxiv.search Preprint metadata across physics, CS, math, and more none disabled
OpenAlex openalex.search Scholarly works, authors, and venues none disabled
Crossref crossref.search DOI registration metadata none disabled
Semantic Scholar semanticscholar.search Papers and author graph none disabled
Europe PMC europepmc.search Life-sciences and biomedical literature none disabled
dblp dblp.search Computer-science bibliography none disabled
Hacker News hackernews.top, hackernews.item HN stories and items (Firebase API) none disabled
DEV devto.search Published DEV articles none disabled

Design

  • Zero runtime dependencies. ESM, Node >= 18. Nothing to audit but the source in this repo.
  • Hand-written JSON-RPC. The MCP core is a small dispatcher, not a wrapped SDK.
  • Stateless. No sessions and no stored state. Each request is handled on its own.
  • Transport-agnostic core. createCitewire(config) builds one server; stdio and Streamable HTTP both pump messages through it. The HTTP handler is plain Node and also mounts inside a serverless function.
  • Storage is out of scope. citewire never stores or republishes content. It reads metadata and links to the original. That boundary is the point of the project, not a limitation of it.

Deployments

Karaya Group's Industry News platform (karaya.group/industry-news) is the first production deployment. It serves citewire at https://karaya.group/mcp.

Contributing

See CONTRIBUTING.md. Tests run with npm test (node --test, no install required).

License

MIT. See LICENSE.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选