Pod

Yes, this is on purpose. Pod is built for agents, so the default page is plain HTML.
Human? View the normal website.
Agent? You probably prefer /mcp/guardian-mcp-server/issues.md or /mcp/guardian-mcp-server/issues.json, or Pod over MCP.

Reported issues for guardian-mcp-server

Pod holds 7 of 7 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to guardian-mcp-server.

Most discussed

feat(guardian_browse): expose /editions as a browse mode

Use case

guardian_browse has discovery modes for sections (list_sections) and tags (list_tags), but nothing surfaces the Guardian's regional editions (UK, US, Australia, Europe, International). A caller who wants to know which editions exist has no way to ask the server.

Proposed behavior

Add a list_editions mode to guardian_browse that calls the Guardian /editions endpoint and returns the fixed list of Guardi

Read the thread · 2026-06-03 · closed · 1 comment

feat(guardian_search): support OR logic for tag filters

The guardian_search tag parameter currently applies AND logic when multiple tag IDs are provided (comma-separated). The Guardian Open Platform API natively supports OR logic by joining tag IDs with |, but the tool has no way to express this — every multi-tag query is implicitly AND.

Proposal

Expose OR semantics for tag filtering in guardian_search by supporting |-delimited tag IDs that get forwarded verbatim to the upst

Read the thread · 2026-06-03 · closed · 1 comment

feat(config): default MCP_SESSION_MODE to stateless across env, Docker, and src

Dockerfile sets ENV MCP_SESSION_MODE="stateless", but .env.example carries a commented # MCP_SESSION_MODE=stateful, whose comment documents the value set as stateful | stateless (default: stateful). The container and the same code run via bunx, npm start, or from source therefore resolve to different session modes — stateless in Docker, stateful everywhere else, since the framework schema defaults to auto and auto resolves to stateful.

Related: cyanheads/mcp-ts-core#376

Read the thread · 2026-08-22 · open · 0 comments

test(errors): no coverage for recovery-hint wiring (ctx.recoveryFor)

Concrete statement of what's currently missing: guardian_search and guardian_browse declare errors[] contracts with recovery text, and their handlers pass ctx.recoveryFor(reason) into every ctx.fail(...) call so the hint reaches data.recovery.hint on the wire. annotateHttpError in src/services/guardian/guardian-service.ts does the same for the service-level HTTP failures (unauthorized, not_found, section_not_found, api_error). None of this is covered by a test — the tes

Read the thread · 2026-08-21 · open · 0 comments

bug(tools): truncated:false is implied, never stated, in content[] output

Server version

0.1.2

mcp-ts-core version

0.12.3

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

streamable-http

Description

All three tools declare truncated: boolean in their output schema, but format() only mentions truncation when it is true (a truncation note) or when body is absent (**Truncated:** ... line). A body-present, non-truncated result renders no truncation marker at all, so structuredContent.truncated: false has no mirror in content[]

Read the thread · 2026-08-21 · open · 0 comments

bug(service): upstream URL leaks into client-facing error messages

Server version

0.1.2

mcp-ts-core version

0.12.3

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

stdio + streamable-http

Description

When the Guardian API returns a non-OK status, the error message clients see is the raw fetch failure — internal host and path included — instead of the authored per-reason message declared in each tool's errors[] contract.

annotateHttpError in src/services/guardian/guardian-service.ts rethrows with `redactApiKey(err.message

Read the thread · 2026-08-21 · open · 0 comments

feat(tool-surface): rename search and browse tools

Use case

guardian_search and guardian_browse omit the object of each operation. The server also exposes guardian_get_article, so adding explicit objects makes the three-tool surface easier to distinguish from a tools/list call alone, without any other context.

Proposed behavior

Rename both tools directly:

Current New Role
guardian_search guardian_search_articles Full-text article search with section, tag, contributor, and date filters
`g

Read the thread · 2026-07-21 · open · 0 comments

Most recent

The remaining reports are on the project's issue tracker.