プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Guardian MCP Server

作者:cyanheadsバージョン 0.2.0i★ –iパソコンで動く
レジストリ名io.github.cyanheads/guardian-mcp-server

インストール

概要

作者による説明(英語の原文)

Guardian Open Platform: search and retrieve full article text from The Guardian archive.

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio, Streamable HTTP
  • カテゴリ: 検索・AIの記憶
  • 入力が必要なもの:GUARDIAN_API_KEY

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • 自分で入力するもの: GUARDIAN_API_KEY, MCP_LOG_LEVEL

必要なもの

  • npmNode.jsのインストール(npxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

{
  "mcpServers": {
    "guardian": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/guardian-mcp-server"
      ],
      "env": {
        "GUARDIAN_API_KEY": "your-value",
        "MCP_LOG_LEVEL": "your-value"
      }
    }
  }
}

ターミナルでこれを実行します

claude mcp add guardian --env GUARDIAN_API_KEY=your-value --env MCP_LOG_LEVEL=your-value -- npx -y @cyanheads/guardian-mcp-server

動かす前に、空欄の値を入力してください。

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "guardian": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/guardian-mcp-server"
      ],
      "env": {
        "GUARDIAN_API_KEY": "your-value",
        "MCP_LOG_LEVEL": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "guardian": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/guardian-mcp-server"
      ],
      "env": {
        "GUARDIAN_API_KEY": "your-value",
        "MCP_LOG_LEVEL": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

自分で入力する値

  • GUARDIAN_API_KEY 必須 env
    API key for The Guardian Open Platform (https://open-platform.theguardian.com/).
  • MCP_LOG_LEVEL env
    Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント cyanheads で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

検索・AIの記憶のほかのサーバーとの比較i

  • このカテゴリのほかの5717件のうち0%よりスターが多い
  • このカテゴリのほかの5717件のうち63%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの5717件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Guardian MCP Serverは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

入力が必要なもの:GUARDIAN_API_KEY

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(0.2.0)がレジストリに届いたのは23 日前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。

代わりに使えるものは?

同じカテゴリには:Context7, Codebase Memory, Exa

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Context7

Up-to-date docs for AI agents

作者:upstash広く使われている↓ 97.3万/週★ 6.4万一昨日更新

パソコンでもクラウドでも

Codebase Memory

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

作者:DeusData広く使われている↓ 1.8万/週★ 4.8万22 日前更新

パソコンで動く

Exa

Connect AI agents to Exa for web search, content fetching, and multi-step research.

作者:exa-labs広く使われている★ 52132 か月前更新

クラウドで動く✓ exa.ai

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

@cyanheads/guardian-mcp-server Search, browse, and retrieve full article text from The Guardian's journalism archive (1999–present) via MCP. STDIO or Streamable HTTP. 3 Tools


Overview

The Guardian's journalism archive, 1999 to today. Search full text, browse by section or tag, and fetch individual articles.

Tools
ToolDescription
guardian_search_articlesFull-text search across The Guardian's archive with optional section, tag, contributor, and date filters
guardian_get_articleFetch a single Guardian article by ID with body text and metadata
guardian_browse_contentBrowse by section or tag, or discover available sections and tags, across four modes

Capability reference

guardian_search_articles tool
  • Boolean query syntax (AND/OR/NOT, quoted phrases), optional section/tag/contributor and from_date/to_date (YYYY-MM-DD) filters; order_by: relevance (default), newest, or oldest; page + page_size (1–50, default 10)
  • Articles carry metadata, HTML-stripped body text and a truncated flag; results include total, page, pages, page_size, and order_by
  • Fails with no_results or invalid_date (dates must be real calendar dates)
  • tag accepts comma (AND), pipe | (OR), hyphen - (NOT), and parentheses, e.g. environment/climate-crisis|environment/flooding. Wrap an OR expression in parentheses when also passing contributor.

guardian_get_article tool
  • Required article_id: the path-slug id returned by guardian_search_articles or guardian_browse_content
  • Returns HTML-stripped body text, metadata, contributors, pillar/section classification, and truncated
  • Fails with not_found

guardian_browse_content tool
  • Four mode values: section_latest (requires section_id), tag_latest (requires tag_id), list_sections, list_tags; page + page_size (1–50, default 10) for articles and tags
  • list_tags filters by optional query and tag_type (keyword, contributor, blog, series, tone, type, publication, newspaper-book, newspaper-book-section); output carries mode, total, and the matching results/sections/tags array
  • Fails with missing_section_id, missing_tag_id, section_not_found, or tag_not_found. tag_id accepts the same boolean expressions as search's tag.

All three tools also fail with status-specific HTTP errors. Not retryable: unauthorized (401), access_denied (403), request_rejected (400), validation_failed (422), invalid_request, request_conflict, request_not_found, and api_unsupported (501). Retryable: api_timeout (408/425/504), rate_limited (429), and api_error (other 5xx). Each error carries a recovery hint.


Features

Built on @cyanheads/mcp-ts-core: stdio and Streamable HTTP transports, pluggable auth (none / jwt / oauth), swappable storage (in-memory, filesystem, Supabase, Cloudflare KV/R2/D1), structured logging with optional OpenTelemetry tracing.

Guardian-specific:

  • Wraps the Guardian Open Platform API with a free non-commercial developer key
  • Full body text extraction — HTML stripped, not just headlines or abstracts
  • Contributor ID discovery via guardian_browse_content mode list_tags with tag_type=contributor
  • Section and tag taxonomy browsing (list_sections, list_tags) for filter discovery before searching
  • Free tier: 5,000 requests/day, 12 calls/second — the server applies no additional throttling

Agent-friendly output:

  • Search and article-returning browse modes cap previews at 2,000 words and set truncated; call guardian_get_article for the full text
  • Typed error reasons across all three tools, each paired with a recovery hint
  • total / page / pages on every paginated response so callers can track result scope

Getting started

Add the following to your MCP client configuration file. Register for a free Guardian Open Platform API key at open-platform.theguardian.com/access.

{

"mcpServers": { "guardian-mcp-server": { "type": "stdio", "command": "bunx", "args": ["@cyanheads/guardian-mcp-server@latest"], "env": { "MCP_TRANSPORT_TYPE": "stdio", "MCP_LOG_LEVEL": "info", "GUARDIAN_API_KEY": "your-api-key" } } } }

Or with npx (no Bun required):

{

"mcpServers": { "guardian-mcp-server": { "type": "stdio", "command": "npx", "args": ["-y", "@cyanheads/guardian-mcp-server@latest"], "env": { "MCP_TRANSPORT_TYPE": "stdio", "MCP_LOG_LEVEL": "info", "GUARDIAN_API_KEY": "your-api-key" } } } }

Or with Docker:

{

"mcpServers": { "guardian-mcp-server": { "type": "stdio", "command": "docker", "args": [ "run", "-i", "--rm", "-e", "MCP_TRANSPORT_TYPE=stdio", "-e", "GUARDIAN_API_KEY=your-api-key", "ghcr.io/cyanheads/guardian-mcp-server:latest" ] } } }

For Streamable HTTP, set the transport and start the server:

MCP_TRANSPORT_TYPE=http MCP_HTTP_PORT=3010 GUARDIAN_API_KEY=your-api-key bun run start:http

Server listens at http://localhost:3010/mcp

Prerequisites
Installation
  1. Clone the repository:
git clone https://github.com/cyanheads/guardian-mcp-server.git
  1. Navigate into the directory:
cd guardian-mcp-server
  1. Install dependencies:
bun install
  1. Configure environment:
cp .env.example .env

Edit .env and set GUARDIAN_API_KEY


Configuration

VariableDescriptionDefault
GUARDIAN_API_KEYRequired. Free developer key from open-platform.theguardian.com/access.—
MCP_TRANSPORT_TYPETransport: stdio or http.stdio
MCP_HTTP_PORTPort for HTTP server.3010
MCP_SESSION_MODEHTTP session mode: stateless, stateful, or auto (resolves to stateful). The server declares stateless; an exported value overrides it.stateless
MCP_AUTH_MODEAuth mode: none, jwt, or oauth.none
MCP_LOG_LEVELLog level (RFC 5424).info
LOGS_DIRDirectory for log files (Node.js only). /logs
LOG_TOOL_FAILURE_PAYLOADSLog failed tool arguments and results, redacted by key name and capped by LOG_TOOL_FAILURE_PAYLOAD_MAX_BYTES (default 16384). Secrets in free-form values remain visible.false
STORAGE_PROVIDER_TYPEStorage backend.in-memory
OTEL_ENABLEDEnable OpenTelemetry instrumentation (spans, metrics, completion logs).false
OTEL_EXPORTER_OTLP_ENDPOINTBase OTLP URL; traces use /v1/traces, metrics use /v1/metrics.—
OTEL_EXPORTER_OTLP_LOGS_ENDPOINTOpt-in OTLP log endpoint, used as-is.—

See .env.example for the full list of optional overrides.


Running the server

Local development
  • Build and run:
  # One-time build

bun run rebuild

Run the built server

bun run start:stdio

or

bun run start:http

  • Run checks and tests:
  bun run devcheck   # Lint, format, typecheck, security

bun run test # Vitest test suite bun run lint:mcp # Validate MCP definitions against spec

Docker
docker build -t guardian-mcp-server .

docker run --rm -e GUARDIAN_API_KEY=your-api-key -p 3010:3010 guardian-mcp-server

The Dockerfile defaults to HTTP transport, stateless session mode, and logs to /var/log/guardian-mcp-server. OpenTelemetry peer dependencies are installed by default — build with --build-arg OTEL_ENABLED=false to omit them.


Project structure

DirectoryPurpose
src/index.tscreateApp() entry point — registers tools and initializes the Guardian service.
src/configServer-specific environment variable parsing (GUARDIAN_API_KEY).
src/mcp-server/toolsTool definitions (*.tool.ts): guardian_search_articles, guardian_get_article, guardian_browse_content.
src/services/guardianGuardian Open Platform API client, normalization, and type definitions.
tests/Unit and integration tests.
docs/Design document and directory tree.

Development guide

See CLAUDE.md / AGENTS.md for development guidelines and architectural rules. The short version:

  • Handlers throw, framework catches — no try/catch in tool logic
  • Use ctx.log for request-scoped logging, ctx.state for tenant-scoped storage
  • Register new tools in the createApp() tools array in src/index.ts
  • Wrap external API calls: validate raw → normalize to domain type → return output schema; never fabricate missing fields

Contributing

Issues are welcome. Run checks and tests before submitting:

bun run devcheck

bun run test


License

Apache-2.0 — see LICENSE for details.


*Powered by The Guardian.*

PopNxに聞く