Search, browse, and retrieve full article text from The Guardian's journalism archive (1999–present) via MCP.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add guardian --env GUARDIAN_API_KEY='<GUARDIAN_API_KEY>' --env MCP_TRANSPORT_TYPE='<MCP_TRANSPORT_TYPE>' -- npx -y @cyanheads/guardian-mcp-server~/.codex/config.toml
[mcp_servers.guardian]
command = "npx"
args = ["-y", "@cyanheads/guardian-mcp-server"]
env = { GUARDIAN_API_KEY = "<GUARDIAN_API_KEY>", MCP_TRANSPORT_TYPE = "<MCP_TRANSPORT_TYPE>" }
# codex mcp add guardian --env GUARDIAN_API_KEY='<GUARDIAN_API_KEY>' --env MCP_TRANSPORT_TYPE='<MCP_TRANSPORT_TYPE>' -- npx -y @cyanheads/guardian-mcp-server~/.cursor/mcp.json
{
"mcpServers": {
"guardian": {
"command": "npx",
"args": [
"-y",
"@cyanheads/guardian-mcp-server"
],
"env": {
"GUARDIAN_API_KEY": "<GUARDIAN_API_KEY>",
"MCP_TRANSPORT_TYPE": "<MCP_TRANSPORT_TYPE>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"guardian": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@cyanheads/guardian-mcp-server"
],
"env": {
"GUARDIAN_API_KEY": "<GUARDIAN_API_KEY>",
"MCP_TRANSPORT_TYPE": "<MCP_TRANSPORT_TYPE>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"guardian": {
"command": "npx",
"args": [
"-y",
"@cyanheads/guardian-mcp-server"
],
"env": {
"GUARDIAN_API_KEY": "<GUARDIAN_API_KEY>",
"MCP_TRANSPORT_TYPE": "<MCP_TRANSPORT_TYPE>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"guardian": {
"command": "npx",
"args": [
"-y",
"@cyanheads/guardian-mcp-server"
],
"env": {
"GUARDIAN_API_KEY": "<GUARDIAN_API_KEY>",
"MCP_TRANSPORT_TYPE": "<MCP_TRANSPORT_TYPE>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"guardian": {
"command": "npx",
"args": [
"-y",
"@cyanheads/guardian-mcp-server"
],
"env": {
"GUARDIAN_API_KEY": "<GUARDIAN_API_KEY>",
"MCP_TRANSPORT_TYPE": "<MCP_TRANSPORT_TYPE>"
}
}
}
}Environment variables
GUARDIAN_API_KEYMCP_TRANSPORT_TYPE
Replace the placeholders with your own credentials and keep them out of version control.