{"_id":"@cyanheads/gdelt-mcp-server","_rev":"24-e2d00e92f3a0e0fc7d117b97d8ed4420","name":"@cyanheads/gdelt-mcp-server","dist-tags":{"latest":"0.6.0"},"versions":{"0.1.1":{"name":"@cyanheads/gdelt-mcp-server","version":"0.1.1","keywords":["mcp","mcp-server","model-context-protocol","gdelt","global-news","news-analytics","media-monitoring","sentiment-analysis","tv-news","event-monitoring","journalism","media-analysis"],"license":"Apache-2.0","_id":"@cyanheads/gdelt-mcp-server@0.1.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"bin":{"gdelt-mcp-server":"dist/index.js"},"dist":{"shasum":"180966402c2e4d4e9a74c61f28884e57d2c8ac39","tarball":"https://registry.npmjs.org/@cyanheads/gdelt-mcp-server/-/gdelt-mcp-server-0.1.1.tgz","fileCount":80,"integrity":"sha512-B8EQgeiPnzrTe0mGxeTfcHwT4om53unNzU+V0yJy4M1Yo7S4cSONs2/v49hyYdI5ZWrL6FJOjRks3P/kluyOiw==","signatures":[{"sig":"MEUCIDbaEmCvOBkvgw7djDbFYjdXJQU6ft53WrMFu4rsa/FKAiEAiHVBNfAlmoOVP7/hDW4gUuhQzq4plILuCyeEPz6C/hY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":231107},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"180966402c2e4d4e9a74c61f28884e57d2c8ac39","engines":{"bun":">=1.3.0","node":">=24.0.0"},"scripts":{"test":"vitest run","tree":"tsx scripts/tree.ts","build":"tsx scripts/build.ts","clean":"tsx scripts/clean.ts","start":"node dist/index.js","bundle":"npm run build && npx -y @anthropic-ai/mcpb pack . dist/gdelt-mcp-server.mcpb","format":"biome check --write --unsafe .","rebuild":"tsx scripts/clean.ts && tsx scripts/build.ts","devcheck":"tsx scripts/devcheck.ts","lint:mcp":"tsx scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"tsx scripts/list-skills.ts","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","lint:packaging":"tsx scripts/lint-packaging.ts","changelog:build":"tsx scripts/build-changelog.ts","changelog:check":"tsx scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-B8EQgeiPnzrTe0mGxeTfcHwT4om53unNzU+V0yJy4M1Yo7S4cSONs2/v49hyYdI5ZWrL6FJOjRks3P/kluyOiw==","repository":{"url":"git+https://github.com/cyanheads/gdelt-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search and analyze global news coverage and US television transcripts via the GDELT Project's real-time APIs via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","ignore":"^7.0.5","vitest":"^4.1.7","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.15"},"_npmOperationalInternal":{"tmp":"tmp/gdelt-mcp-server_0.1.1_1779765365266_0.6367087405140244","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@cyanheads/gdelt-mcp-server","version":"0.1.2","keywords":["mcp","mcp-server","model-context-protocol","gdelt","global-news","news-analytics","media-monitoring","sentiment-analysis","tv-news","event-monitoring","journalism","media-analysis"],"license":"Apache-2.0","_id":"@cyanheads/gdelt-mcp-server@0.1.2","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"bin":{"gdelt-mcp-server":"dist/index.js"},"dist":{"shasum":"fd35284008f3d2c6049e9211fd6e63842b0271b8","tarball":"https://registry.npmjs.org/@cyanheads/gdelt-mcp-server/-/gdelt-mcp-server-0.1.2.tgz","fileCount":81,"integrity":"sha512-v/3tMsMe1khq0XsuYE5jPseCrUVKSbhD1l2G+eATFZZxBbM0F0RsYhHZH5Sa8vPcAi75yrX/Rhmwq648Kn0vDg==","signatures":[{"sig":"MEUCIQDFc0a+dBI2E3npCSjn+Vx98CRp+PXIfTKwP46I9zrG/wIgWqiqXUL49NmU42f+6B4D+ggUSOLML7plJrEa+BC1f+o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":231894},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"fd35284008f3d2c6049e9211fd6e63842b0271b8","engines":{"bun":">=1.3.0","node":">=24.0.0"},"mcpName":"io.github.cyanheads/gdelt-mcp-server","scripts":{"test":"vitest run","tree":"tsx scripts/tree.ts","build":"tsx scripts/build.ts","clean":"tsx scripts/clean.ts","start":"node dist/index.js","bundle":"npm run build && npx -y @anthropic-ai/mcpb pack . dist/gdelt-mcp-server.mcpb","format":"biome check --write --unsafe .","rebuild":"tsx scripts/clean.ts && tsx scripts/build.ts","devcheck":"tsx scripts/devcheck.ts","lint:mcp":"tsx scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"tsx scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","lint:packaging":"tsx scripts/lint-packaging.ts","changelog:build":"tsx scripts/build-changelog.ts","changelog:check":"tsx scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-v/3tMsMe1khq0XsuYE5jPseCrUVKSbhD1l2G+eATFZZxBbM0F0RsYhHZH5Sa8vPcAi75yrX/Rhmwq648Kn0vDg==","repository":{"url":"git+https://github.com/cyanheads/gdelt-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search and analyze global news coverage and US television transcripts via the GDELT Project's real-time APIs via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","ignore":"^7.0.5","vitest":"^4.1.7","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.15"},"_npmOperationalInternal":{"tmp":"tmp/gdelt-mcp-server_0.1.2_1779765480222_0.9309444096864976","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@cyanheads/gdelt-mcp-server","version":"0.1.3","keywords":["mcp","mcp-server","model-context-protocol","gdelt","global-news","news-analytics","media-monitoring","sentiment-analysis","tv-news","event-monitoring","journalism","media-analysis"],"license":"Apache-2.0","_id":"@cyanheads/gdelt-mcp-server@0.1.3","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"bin":{"gdelt-mcp-server":"dist/index.js"},"dist":{"shasum":"dcd7d315a7f352b029b7656782450dd7ca597c95","tarball":"https://registry.npmjs.org/@cyanheads/gdelt-mcp-server/-/gdelt-mcp-server-0.1.3.tgz","fileCount":83,"integrity":"sha512-SehPndsS11Tm+SWREXqmBymM06B8MxjD9wkfXhA6zoGEsipwF0BxEgrAfLziMVI3MqnnXZQ5Q6q9zVMPXNHkSw==","signatures":[{"sig":"MEYCIQDHdtFD/MAxPsvVECZFOMu4dVbRvf3wxD6ai9hcWmvadAIhAPoKmpBZSYgS/7R+I19Qk4VyZoU9+U0r2pmy8OkNfa5Z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49048943},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"dcd7d315a7f352b029b7656782450dd7ca597c95","engines":{"bun":">=1.3.0","node":">=24.0.0"},"mcpName":"io.github.cyanheads/gdelt-mcp-server","scripts":{"test":"vitest run","tree":"tsx scripts/tree.ts","build":"tsx scripts/build.ts","clean":"tsx scripts/clean.ts","start":"node dist/index.js","bundle":"npm run build && npx -y @anthropic-ai/mcpb pack . dist/gdelt-mcp-server.mcpb","format":"biome check --write --unsafe .","rebuild":"tsx scripts/clean.ts && tsx scripts/build.ts","devcheck":"tsx scripts/devcheck.ts","lint:mcp":"tsx scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http node dist/index.js","list-skills":"tsx scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio node dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","lint:packaging":"tsx scripts/lint-packaging.ts","changelog:build":"tsx scripts/build-changelog.ts","changelog:check":"tsx scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-SehPndsS11Tm+SWREXqmBymM06B8MxjD9wkfXhA6zoGEsipwF0BxEgrAfLziMVI3MqnnXZQ5Q6q9zVMPXNHkSw==","repository":{"url":"git+https://github.com/cyanheads/gdelt-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search and analyze global news coverage and US television transcripts via the GDELT Project's real-time APIs via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","ignore":"^7.0.5","vitest":"^4.1.7","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.15"},"_npmOperationalInternal":{"tmp":"tmp/gdelt-mcp-server_0.1.3_1779766384905_0.27563127546912436","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@cyanheads/gdelt-mcp-server","version":"0.1.4","keywords":["mcp","mcp-server","model-context-protocol","gdelt","global-news","news-analytics","media-monitoring","sentiment-analysis","tv-news","event-monitoring","journalism","media-analysis"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/gdelt-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/gdelt-mcp-server@0.1.4","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/gdelt-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/gdelt-mcp-server/issues"},"bin":{"gdelt-mcp-server":"dist/index.js"},"dist":{"shasum":"a0294a28960a6d0eb9820bfcc9fbca519ddad4ae","tarball":"https://registry.npmjs.org/@cyanheads/gdelt-mcp-server/-/gdelt-mcp-server-0.1.4.tgz","fileCount":83,"integrity":"sha512-AbY9N2GbCjCvjVqY+cfX392bOf6jrOpcGEH8RlXhwu61ih8XBhUDeZzwFGfeiyVIlkCtdP0ckrNKgh6Km4JUFQ==","signatures":[{"sig":"MEUCIGDQyRZvQ5MDTj90uuRz9xOxtTl5JrQ0nzTN1TwY/bWFAiEA7cM6oKVbcL9ig/hHjgIl7ZI8P81E+JO+f1aFzOawnEY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":235157},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"a0294a28960a6d0eb9820bfcc9fbca519ddad4ae","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/gdelt-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/gdelt-mcp-server.mcpb","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","lint:packaging":"bun run scripts/lint-packaging.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-AbY9N2GbCjCvjVqY+cfX392bOf6jrOpcGEH8RlXhwu61ih8XBhUDeZzwFGfeiyVIlkCtdP0ckrNKgh6Km4JUFQ==","repository":{"url":"git+https://github.com/cyanheads/gdelt-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search and analyze global news coverage and US television transcripts via the GDELT Project's real-time APIs via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.7","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.15"},"_npmOperationalInternal":{"tmp":"tmp/gdelt-mcp-server_0.1.4_1779781395779_0.36664046677006734","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@cyanheads/gdelt-mcp-server","version":"0.1.5","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","gdelt","global-news","news-analytics","media-monitoring","sentiment-analysis","tv-news","event-monitoring","journalism","media-analysis"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/gdelt-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/gdelt-mcp-server@0.1.5","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/gdelt-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/gdelt-mcp-server/issues"},"bin":{"gdelt-mcp-server":"dist/index.js"},"dist":{"shasum":"474b27701af659370ac059c81a4b9f730b2c4907","tarball":"https://registry.npmjs.org/@cyanheads/gdelt-mcp-server/-/gdelt-mcp-server-0.1.5.tgz","fileCount":84,"integrity":"sha512-bez3iPUq1n1y6PBLkE/37ZT9FlyViiE6PTmUy16lXkUFGzqozIPztiPvpZ7aPCL3BI3ynQ0yHTiYW784dNpS3A==","signatures":[{"sig":"MEYCIQCR2Zo3Ymj8mHvKURT2VKiG/tSf7NlyTMU5k4HTMdvtqwIhAOLrRlMggTh1QMDzjBL0xZequQVTmFNYOQPlq4Y60o2D","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":237133},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"474b27701af659370ac059c81a4b9f730b2c4907","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/gdelt-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/gdelt-mcp-server.mcpb","format":"biome check --write --unsafe .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","lint:packaging":"bun run scripts/lint-packaging.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-bez3iPUq1n1y6PBLkE/37ZT9FlyViiE6PTmUy16lXkUFGzqozIPztiPvpZ7aPCL3BI3ynQ0yHTiYW784dNpS3A==","repository":{"url":"git+https://github.com/cyanheads/gdelt-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search and analyze global news coverage and US television transcripts via the GDELT Project's real-time APIs via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.7","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.16"},"_npmOperationalInternal":{"tmp":"tmp/gdelt-mcp-server_0.1.5_1780031550473_0.2024395125746119","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@cyanheads/gdelt-mcp-server","version":"0.1.6","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","gdelt","global-news","news-analytics","media-monitoring","sentiment-analysis","tv-news","event-monitoring","journalism","media-analysis"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/gdelt-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/gdelt-mcp-server@0.1.6","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/gdelt-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/gdelt-mcp-server/issues"},"bin":{"gdelt-mcp-server":"dist/index.js"},"dist":{"shasum":"b680cee4a7cfa0b624304633d8a8cce2a01386da","tarball":"https://registry.npmjs.org/@cyanheads/gdelt-mcp-server/-/gdelt-mcp-server-0.1.6.tgz","fileCount":85,"integrity":"sha512-dfJIEKcn+gJ7m4Bi7JP+i9biyWSFzZEMu9nml9+yn0x1ca3k6Te9g8+7ZEQVe54cTrLYme9c6icAmsbKNYyHXA==","signatures":[{"sig":"MEQCIGZSVIFmfcSYkK8QLvDQ+rE6L7tFYfHcnl9p0DX2fpRqAiAo341LpkmwCvd6OzxOp0uWN9AcXoGYVB0//gzMLDpryQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":240700},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"b680cee4a7cfa0b624304633d8a8cce2a01386da","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/gdelt-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/gdelt-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-dfJIEKcn+gJ7m4Bi7JP+i9biyWSFzZEMu9nml9+yn0x1ca3k6Te9g8+7ZEQVe54cTrLYme9c6icAmsbKNYyHXA==","repository":{"url":"git+https://github.com/cyanheads/gdelt-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search and analyze global news coverage and US television transcripts via the GDELT Project's real-time APIs via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.16"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.7","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.16"},"_npmOperationalInternal":{"tmp":"tmp/gdelt-mcp-server_0.1.6_1780134109502_0.5383517510366431","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@cyanheads/gdelt-mcp-server","version":"0.1.7","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","gdelt","global-news","news-analytics","media-monitoring","sentiment-analysis","tv-news","event-monitoring","journalism","media-analysis"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/gdelt-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/gdelt-mcp-server@0.1.7","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/gdelt-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/gdelt-mcp-server/issues"},"bin":{"gdelt-mcp-server":"dist/index.js"},"dist":{"shasum":"9399414ce8ac4c75bb29ec2ea939c30dbadd2d24","tarball":"https://registry.npmjs.org/@cyanheads/gdelt-mcp-server/-/gdelt-mcp-server-0.1.7.tgz","fileCount":86,"integrity":"sha512-7TuIe846EhsmpDFaS01sjBFdzJNH3IxpCts2Yeu7A7RBnmW74E/K/cO6eMHonm+OC1iIWTB/8e8HeP/IQFrt6Q==","signatures":[{"sig":"MEUCIQDCZ7tIEfZM4/Bqpcl0d2OghvuAcMYcyuYjuRHzbhh44QIgCnf1jBUxUfFe5Y5uxkGEo/e13U7vpv7ZbMbYK9O2Kvw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":243252},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"9399414ce8ac4c75bb29ec2ea939c30dbadd2d24","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/gdelt-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/gdelt-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-7TuIe846EhsmpDFaS01sjBFdzJNH3IxpCts2Yeu7A7RBnmW74E/K/cO6eMHonm+OC1iIWTB/8e8HeP/IQFrt6Q==","repository":{"url":"git+https://github.com/cyanheads/gdelt-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search and analyze global news coverage and US television transcripts via the GDELT Project's real-time APIs via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.8","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.16"},"_npmOperationalInternal":{"tmp":"tmp/gdelt-mcp-server_0.1.7_1780410305493_0.30521028085513446","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@cyanheads/gdelt-mcp-server","version":"0.1.8","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","gdelt","global-news","news-analytics","media-monitoring","sentiment-analysis","tv-news","event-monitoring","journalism","media-analysis"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/gdelt-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/gdelt-mcp-server@0.1.8","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/gdelt-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/gdelt-mcp-server/issues"},"bin":{"gdelt-mcp-server":"dist/index.js"},"dist":{"shasum":"32176509df315acdbf9ef29333521b3197b036c5","tarball":"https://registry.npmjs.org/@cyanheads/gdelt-mcp-server/-/gdelt-mcp-server-0.1.8.tgz","fileCount":87,"integrity":"sha512-Vl3Zho82/yd7s0bXBcLDi1J1OAkFrN02vh+paAm+3QrqUg/jD6c2a5iKpHYlfyCeOd+IOJH+RmH62TGM9DzLSQ==","signatures":[{"sig":"MEUCIDXBhx4Uhmj35RzOT0wxG1CsfA9Ege44y4xXm0qEF87lAiEA1Uk4YXa3GWIPvLLp8yDWX9546N9t8c1vKMwcsWyQ3Sk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":245940},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"32176509df315acdbf9ef29333521b3197b036c5","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/gdelt-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/gdelt-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-Vl3Zho82/yd7s0bXBcLDi1J1OAkFrN02vh+paAm+3QrqUg/jD6c2a5iKpHYlfyCeOd+IOJH+RmH62TGM9DzLSQ==","repository":{"url":"git+https://github.com/cyanheads/gdelt-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search and analyze global news coverage and US television transcripts via the GDELT Project's real-time APIs via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.8","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.16"},"_npmOperationalInternal":{"tmp":"tmp/gdelt-mcp-server_0.1.8_1780559486767_0.39579670305063863","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@cyanheads/gdelt-mcp-server","version":"0.2.0","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","gdelt","global-news","news-analytics","media-monitoring","sentiment-analysis","tv-news","event-monitoring","journalism","media-analysis"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/gdelt-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/gdelt-mcp-server@0.2.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/gdelt-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/gdelt-mcp-server/issues"},"bin":{"gdelt-mcp-server":"dist/index.js"},"dist":{"shasum":"c1b1900275fec6c23da9131efd25c81117b5f235","tarball":"https://registry.npmjs.org/@cyanheads/gdelt-mcp-server/-/gdelt-mcp-server-0.2.0.tgz","fileCount":88,"integrity":"sha512-WqQ4R03XwBicGnaBbJ4teOmPCAMFGtWcylgljq50vreyeErefKCMAsEUBYDTAhgnRGbCVlm2xfUHdbdV1QbNEg==","signatures":[{"sig":"MEUCIQDhcMTuGldPFxquPSlSX4DYwF7iB2K8RT4TvrHL1gj4OAIgREodkcnuMwiFT/ncq6xaWbCtK1EKhYWFIYWAxcQsN+Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":260113},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"c1b1900275fec6c23da9131efd25c81117b5f235","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/gdelt-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/gdelt-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-WqQ4R03XwBicGnaBbJ4teOmPCAMFGtWcylgljq50vreyeErefKCMAsEUBYDTAhgnRGbCVlm2xfUHdbdV1QbNEg==","repository":{"url":"git+https://github.com/cyanheads/gdelt-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search and analyze global news coverage and US television transcripts via the GDELT Project's real-time APIs via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.9.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.8","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.2","@biomejs/biome":"^2.4.16"},"_npmOperationalInternal":{"tmp":"tmp/gdelt-mcp-server_0.2.0_1780922711477_0.6825810517580733","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@cyanheads/gdelt-mcp-server","version":"0.2.1","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","gdelt","global-news","news-analytics","media-monitoring","sentiment-analysis","tv-news","event-monitoring","journalism","media-analysis"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/gdelt-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/gdelt-mcp-server@0.2.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/gdelt-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/gdelt-mcp-server/issues"},"bin":{"gdelt-mcp-server":"dist/index.js"},"dist":{"shasum":"bd48116ee644147ef33052d05ed8ea5a2676af17","tarball":"https://registry.npmjs.org/@cyanheads/gdelt-mcp-server/-/gdelt-mcp-server-0.2.1.tgz","fileCount":89,"integrity":"sha512-QSm3efQR72ahDOcPblO7q+EUMDbXY+S3hUawmqCQzmhSlEeiH9k4xdg26NxRQbdxhdhPzzkRgq0k19liaj3lHA==","signatures":[{"sig":"MEYCIQDlnfZOJHQuYrcvmEj4JoMKmHej6o7w57lQqn0wtDydCgIhAMjD8eTI+JFBBKGcVNxKYky8KLKjq0hgFIBGjzeLa4tg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":263033},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"bd48116ee644147ef33052d05ed8ea5a2676af17","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/gdelt-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/gdelt-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/gdelt-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-QSm3efQR72ahDOcPblO7q+EUMDbXY+S3hUawmqCQzmhSlEeiH9k4xdg26NxRQbdxhdhPzzkRgq0k19liaj3lHA==","repository":{"url":"git+https://github.com/cyanheads/gdelt-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search and analyze global news coverage and US television transcripts via the GDELT Project's real-time APIs via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.10.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.8","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^25.9.3","@biomejs/biome":"^2.4.16"},"_npmOperationalInternal":{"tmp":"tmp/gdelt-mcp-server_0.2.1_1781250414325_0.9359569242904131","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@cyanheads/gdelt-mcp-server","version":"0.2.2","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","gdelt","global-news","news-analytics","media-monitoring","sentiment-analysis","tv-news","event-monitoring","journalism","media-analysis"],"author":"cyanheads <casey@caseyjhand.com> (https://github.com/cyanheads/gdelt-mcp-server#readme)","license":"Apache-2.0","_id":"@cyanheads/gdelt-mcp-server@0.2.2","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/gdelt-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/gdelt-mcp-server/issues"},"bin":{"gdelt-mcp-server":"dist/index.js"},"dist":{"shasum":"bdd57792f1e6c32d645d013ff0270c17d693626f","tarball":"https://registry.npmjs.org/@cyanheads/gdelt-mcp-server/-/gdelt-mcp-server-0.2.2.tgz","fileCount":90,"integrity":"sha512-J3gAXMXSguahcKzslwTQ2Abq41Nb0/CWNfYdhnsYIEJHH8gFdt1YDeCrQHQYsvDGR83kE9CGOLAFQe3PF6/U5w==","signatures":[{"sig":"MEUCIG/myX+CD9QnZRrNi7+iydyFmUIHbo9vwMAKDq9eTycbAiEAnveVDHVMNp2Rx9KanbGLJsQk8ixV745oDQFMUqsVoc0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":264439},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"bdd57792f1e6c32d645d013ff0270c17d693626f","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/gdelt-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/gdelt-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/gdelt-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-J3gAXMXSguahcKzslwTQ2Abq41Nb0/CWNfYdhnsYIEJHH8gFdt1YDeCrQHQYsvDGR83kE9CGOLAFQe3PF6/U5w==","repository":{"url":"git+https://github.com/cyanheads/gdelt-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search and analyze global news coverage and US television transcripts via the GDELT Project's real-time APIs via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.10.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ignore":"^7.0.5","vitest":"^4.1.9","depcheck":"^1.4.7","tsc-alias":"^1.8.17","typescript":"^6.0.3","@types/node":"^26.0.0","@biomejs/biome":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/gdelt-mcp-server_0.2.2_1781956014676_0.6305567458603278","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@cyanheads/gdelt-mcp-server","version":"0.2.3","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","gdelt","global-news","news-analytics","media-monitoring","sentiment-analysis","tv-news","event-monitoring","journalism","media-analysis"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/gdelt-mcp-server@0.2.3","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/gdelt-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/gdelt-mcp-server/issues"},"bin":{"gdelt-mcp-server":"dist/index.js"},"dist":{"shasum":"f577e80598536d052c1dfd39e12a16dcac07533a","tarball":"https://registry.npmjs.org/@cyanheads/gdelt-mcp-server/-/gdelt-mcp-server-0.2.3.tgz","fileCount":96,"integrity":"sha512-1oTdTvWtQg30nEr7tCk4OBHM+/6nRVVfcLoQiuVPt9+A1avxW3LAs08KLX7RPdGHIQJXDeXMo8p1UTAEMdftXw==","signatures":[{"sig":"MEYCIQDKneqZ3aRXIUOd77/TR+uFOmMM2MTsAJFBWi6PWDofoAIhAKuZBhHF65kw5m/xOU7YPFuY7uwWzCK6l0iN+vRpczW4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":310447},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"f577e80598536d052c1dfd39e12a16dcac07533a","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/gdelt-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/gdelt-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/gdelt-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-1oTdTvWtQg30nEr7tCk4OBHM+/6nRVVfcLoQiuVPt9+A1avxW3LAs08KLX7RPdGHIQJXDeXMo8p1UTAEMdftXw==","repository":{"url":"git+https://github.com/cyanheads/gdelt-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search and analyze global news coverage and US television transcripts via the GDELT Project's real-time APIs via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.10.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.9.0","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.0","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/gdelt-mcp-server_0.2.3_1784161619883_0.3219629952982115","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@cyanheads/gdelt-mcp-server","version":"0.2.4","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","gdelt","global-news","news-analytics","media-monitoring","sentiment-analysis","tv-news","event-monitoring","journalism","media-analysis"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/gdelt-mcp-server@0.2.4","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/gdelt-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/gdelt-mcp-server/issues"},"bin":{"gdelt-mcp-server":"dist/index.js"},"dist":{"shasum":"8fbce67e0adea5f1641706501b141246b5d06360","tarball":"https://registry.npmjs.org/@cyanheads/gdelt-mcp-server/-/gdelt-mcp-server-0.2.4.tgz","fileCount":97,"integrity":"sha512-K3SKndFHc2efWnj0cIfs3tBc2YAvgB4iz4XQ06ZElOgrpfYfOF5ObqMGRrDbCtGSTUTvNTtWjZizoeMk5uAmlg==","signatures":[{"sig":"MEQCIALySS7C6LfjINSQPc06Q3hIRd/HPFyFKoM/6EAs4Sv5AiA+5w1VINoFGBh4950J86iUu5PLz/xpvPJ9hAvmvI+gkg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":313551},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"8fbce67e0adea5f1641706501b141246b5d06360","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/gdelt-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/gdelt-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/gdelt-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-K3SKndFHc2efWnj0cIfs3tBc2YAvgB4iz4XQ06ZElOgrpfYfOF5ObqMGRrDbCtGSTUTvNTtWjZizoeMk5uAmlg==","repository":{"url":"git+https://github.com/cyanheads/gdelt-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search and analyze global news coverage and US television transcripts via the GDELT Project's real-time APIs via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.10.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.9.0","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.0","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/gdelt-mcp-server_0.2.4_1784163788315_0.5188785560056028","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@cyanheads/gdelt-mcp-server","version":"0.2.5","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","gdelt","global-news","news-analytics","media-monitoring","sentiment-analysis","tv-news","event-monitoring","journalism","media-analysis"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/gdelt-mcp-server@0.2.5","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/gdelt-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/gdelt-mcp-server/issues"},"bin":{"gdelt-mcp-server":"dist/index.js"},"dist":{"shasum":"67d360ce69020a7434358c06e09d22809c215c2c","tarball":"https://registry.npmjs.org/@cyanheads/gdelt-mcp-server/-/gdelt-mcp-server-0.2.5.tgz","fileCount":98,"integrity":"sha512-2cHhIVNN+icgXR4XNS/OvpHqYfhdhMf2exkehveWN0XtGLQ41zE4M/GnVHRJ+Lg1IpMU+WupeXNule/pgFLahw==","signatures":[{"sig":"MEYCIQChGuSyeCg3pBhl0AAq8xfTNmki6oS039bwFlkCyr5y/QIhAPkTev2U1hdcEv9U5JOUk9pIJNi/uFBfLEZn94IP0HuH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":350053},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"67d360ce69020a7434358c06e09d22809c215c2c","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/gdelt-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/gdelt-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/gdelt-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-2cHhIVNN+icgXR4XNS/OvpHqYfhdhMf2exkehveWN0XtGLQ41zE4M/GnVHRJ+Lg1IpMU+WupeXNule/pgFLahw==","repository":{"url":"git+https://github.com/cyanheads/gdelt-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search and analyze global news coverage and US television transcripts via the GDELT Project's real-time APIs via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.10.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.9.0","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.0","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/gdelt-mcp-server_0.2.5_1784166838171_0.12420937932547127","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@cyanheads/gdelt-mcp-server","version":"0.2.6","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","gdelt","global-news","news-analytics","media-monitoring","sentiment-analysis","tv-news","event-monitoring","journalism","media-analysis"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/gdelt-mcp-server@0.2.6","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/gdelt-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/gdelt-mcp-server/issues"},"bin":{"gdelt-mcp-server":"dist/index.js"},"dist":{"shasum":"0c69c28b8a03f72398a7bb29c6035311ddc432d8","tarball":"https://registry.npmjs.org/@cyanheads/gdelt-mcp-server/-/gdelt-mcp-server-0.2.6.tgz","fileCount":99,"integrity":"sha512-GnA3E+Dj13GJfNPNbMAemmqfit87qHKcIaibxB9+7xBwG1F1yO3EKpd/kj0A8ZFITmqIhQUQvc70C1whvU6j4g==","signatures":[{"sig":"MEQCIEBpTwN473/kaygibPevt7IfWDFAJ9qxID1c3ylb1iLSAiAatDDUt19Sr51zQ63TvWlP/v/y7IgH+kbFjPuz5D1oSQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":358940},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"0c69c28b8a03f72398a7bb29c6035311ddc432d8","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/gdelt-mcp-server","scripts":{"test":"bunx vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/gdelt-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/gdelt-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run build","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-GnA3E+Dj13GJfNPNbMAemmqfit87qHKcIaibxB9+7xBwG1F1yO3EKpd/kj0A8ZFITmqIhQUQvc70C1whvU6j4g==","repository":{"url":"git+https://github.com/cyanheads/gdelt-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search and analyze global news coverage and US television transcripts via the GDELT Project's real-time APIs via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"24.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.10.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.10","depcheck":"^1.4.7","tsc-alias":"^1.9.0","typescript":"^6.0.3","@types/node":"^26.1.1","@biomejs/biome":"^2.5.0","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/gdelt-mcp-server_0.2.6_1784898370832_0.8832495043679771","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"@cyanheads/gdelt-mcp-server","version":"0.2.7","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","gdelt","global-news","news-analytics","media-monitoring","sentiment-analysis","tv-news","event-monitoring","journalism","media-analysis"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/gdelt-mcp-server@0.2.7","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/gdelt-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/gdelt-mcp-server/issues"},"bin":{"gdelt-mcp-server":"dist/index.js"},"dist":{"shasum":"f7304eceab13263f353db119cfa8b256050a6a16","tarball":"https://registry.npmjs.org/@cyanheads/gdelt-mcp-server/-/gdelt-mcp-server-0.2.7.tgz","fileCount":100,"integrity":"sha512-LgWyu4VF0+YYFlxx9xw7VWxyctQLahpMQdjYGXvKaHPoVacMUtsKCSzdY30E2Gj8VrpK47CRjZlsMoslxuwYwg==","signatures":[{"sig":"MEUCIQCBC95cQQ6st59ETyw5L8247KNhzlgj+5l4R8CKmTuXKAIgPlqykmCDf3kO5v5wjUQBgW1iDURsCKw6vPR+CCt3VXc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":362746},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"f7304eceab13263f353db119cfa8b256050a6a16","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/gdelt-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/gdelt-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/gdelt-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-LgWyu4VF0+YYFlxx9xw7VWxyctQLahpMQdjYGXvKaHPoVacMUtsKCSzdY30E2Gj8VrpK47CRjZlsMoslxuwYwg==","repository":{"url":"git+https://github.com/cyanheads/gdelt-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search and analyze global news coverage and US television transcripts via the GDELT Project's real-time APIs via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.12.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.11","depcheck":"^1.4.7","tsc-alias":"^1.9.2","typescript":"^7.0.2","@types/node":"^26.2.0","@biomejs/biome":"^2.5.9","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/gdelt-mcp-server_0.2.7_1787408034580_0.5678430129215637","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@cyanheads/gdelt-mcp-server","version":"0.3.0","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","gdelt","global-news","news-analytics","media-monitoring","sentiment-analysis","tv-news","event-monitoring","journalism","media-analysis"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/gdelt-mcp-server@0.3.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/gdelt-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/gdelt-mcp-server/issues"},"bin":{"gdelt-mcp-server":"dist/index.js"},"dist":{"shasum":"96c755b80ba142b5e2c54bbb838619042e654a3e","tarball":"https://registry.npmjs.org/@cyanheads/gdelt-mcp-server/-/gdelt-mcp-server-0.3.0.tgz","fileCount":101,"integrity":"sha512-8VqJATMduIADTKxAp75bZ0MRjecURdIPJxkQYSC1YUQTu0ZBLxROsKrjHa0kUvJAckqm8lb0EeRripOWBOPP7w==","signatures":[{"sig":"MEYCIQDKDDItdLXyj8Y1MIdMZxIIfOu7167KjrUAylnNirULNQIhAKdNm2q9daLcCHONYaOyPrIEG2BL2+SUbiWh9e+oO0xM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":375278},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"96c755b80ba142b5e2c54bbb838619042e654a3e","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/gdelt-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/gdelt-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/gdelt-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-8VqJATMduIADTKxAp75bZ0MRjecURdIPJxkQYSC1YUQTu0ZBLxROsKrjHa0kUvJAckqm8lb0EeRripOWBOPP7w==","repository":{"url":"git+https://github.com/cyanheads/gdelt-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search and analyze global news coverage and US television transcripts via the GDELT Project's real-time APIs via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.12.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.11","depcheck":"^1.4.7","tsc-alias":"^1.9.2","typescript":"^7.0.2","@types/node":"^26.4.0","@biomejs/biome":"^2.5.11","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/gdelt-mcp-server_0.3.0_1788126666972_0.27293666423460117","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@cyanheads/gdelt-mcp-server","version":"0.3.1","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","gdelt","global-news","news-analytics","media-monitoring","sentiment-analysis","tv-news","event-monitoring","journalism","media-analysis"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/gdelt-mcp-server@0.3.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/gdelt-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/gdelt-mcp-server/issues"},"bin":{"gdelt-mcp-server":"dist/index.js"},"dist":{"shasum":"b2bf63821e5dfcbfef020ab595b66290065c59b9","tarball":"https://registry.npmjs.org/@cyanheads/gdelt-mcp-server/-/gdelt-mcp-server-0.3.1.tgz","fileCount":102,"integrity":"sha512-pQzKsSN0+ocoYb6fXimdHGht3hvRUB5AXzsJBgkJVcIA1Hf3ZBRxviNGlLP/0lmqNKicUKeaNYthzkxAfoS2LQ==","signatures":[{"sig":"MEYCIQCZlRwkbh1miq+1zcTdhOc2NkzEomNKWeFuNXQNmnPC+AIhAJDQkTQzw1mr/sMMbdiuwG23czVOsU1Ckwd95x0R0pqy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":375549},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"b2bf63821e5dfcbfef020ab595b66290065c59b9","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/gdelt-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/gdelt-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/gdelt-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-pQzKsSN0+ocoYb6fXimdHGht3hvRUB5AXzsJBgkJVcIA1Hf3ZBRxviNGlLP/0lmqNKicUKeaNYthzkxAfoS2LQ==","repository":{"url":"git+https://github.com/cyanheads/gdelt-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search and analyze global news coverage and US television transcripts via the GDELT Project's real-time APIs via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.12.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.11","depcheck":"^1.4.7","tsc-alias":"^1.9.2","typescript":"^7.0.2","@types/node":"^26.4.0","@biomejs/biome":"^2.5.11","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/gdelt-mcp-server_0.3.1_1788126975035_0.6051388277155032","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@cyanheads/gdelt-mcp-server","version":"0.4.0","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","gdelt","global-news","news-analytics","media-monitoring","sentiment-analysis","tv-news","event-monitoring","journalism","media-analysis"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/gdelt-mcp-server@0.4.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/gdelt-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/gdelt-mcp-server/issues"},"bin":{"gdelt-mcp-server":"dist/index.js"},"dist":{"shasum":"67dabec6eb22abee407199eafad310f67421f2ad","tarball":"https://registry.npmjs.org/@cyanheads/gdelt-mcp-server/-/gdelt-mcp-server-0.4.0.tgz","fileCount":103,"integrity":"sha512-if9B+er0lj6z9HBn3DsS8PszC5eDxzFf1WOEAtm9vJQI3E9u/HZIDvKzXplMi/XE+VW38hTEhHY2rZzoDU9Bvg==","signatures":[{"sig":"MEUCIHCllfW5vf/io3xi1nLR79dyu1L5AujvHuKNpl99dsyJAiEAwdD9Pj0X4JnGwJ2qqV8sNHCZPLb2fbh0bOKII/JOd+c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":393376},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"67dabec6eb22abee407199eafad310f67421f2ad","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/gdelt-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/gdelt-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/gdelt-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-if9B+er0lj6z9HBn3DsS8PszC5eDxzFf1WOEAtm9vJQI3E9u/HZIDvKzXplMi/XE+VW38hTEhHY2rZzoDU9Bvg==","repository":{"url":"git+https://github.com/cyanheads/gdelt-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search and analyze global news coverage and US television transcripts via the GDELT Project's real-time APIs via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.4.3","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.12.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"ignore":"^7.0.6","vitest":"^4.1.11","depcheck":"^1.4.7","tsc-alias":"^1.9.2","typescript":"^7.0.2","@types/node":"^26.4.0","@biomejs/biome":"^2.5.11","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/gdelt-mcp-server_0.4.0_1788145309380_0.9780120615162216","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@cyanheads/gdelt-mcp-server","version":"0.4.1","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","gdelt","global-news","news-analytics","media-monitoring","sentiment-analysis","tv-news","event-monitoring","journalism","media-analysis"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/gdelt-mcp-server@0.4.1","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/gdelt-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/gdelt-mcp-server/issues"},"bin":{"gdelt-mcp-server":"dist/index.js"},"dist":{"shasum":"d721387b109dad8c157fcd0c7898080403849267","tarball":"https://registry.npmjs.org/@cyanheads/gdelt-mcp-server/-/gdelt-mcp-server-0.4.1.tgz","fileCount":104,"integrity":"sha512-81agMn5WexFru6iZ9kVBoIz8c5ToLjPNv59Q/PvJub/4OelNrAzi5dm0jjYxqzW28k+OpAnwMdTfzBgbFrNE6A==","signatures":[{"sig":"MEQCIBjEmzHoIl0mIkXWPhLSQsHta05l4kjMcAX/iIkMuG72AiBnpq3Zc3Tc/EEw46RweeCrec5n4xVrUmLFAf4OX6+8Yw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":395218},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"d721387b109dad8c157fcd0c7898080403849267","engines":{"bun":">=1.3.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/gdelt-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/gdelt-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/gdelt-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-81agMn5WexFru6iZ9kVBoIz8c5ToLjPNv59Q/PvJub/4OelNrAzi5dm0jjYxqzW28k+OpAnwMdTfzBgbFrNE6A==","repository":{"url":"git+https://github.com/cyanheads/gdelt-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search and analyze global news coverage and US television transcripts via the GDELT Project's real-time APIs via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.5.4","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.12.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"ignore":"^7.0.7","vitest":"^4.1.11","depcheck":"^1.4.7","tsc-alias":"^1.9.2","typescript":"^7.0.2","@types/node":"^26.4.0","@biomejs/biome":"^2.5.11","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/gdelt-mcp-server_0.4.1_1788398865845_0.666462047296607","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@cyanheads/gdelt-mcp-server","version":"0.4.2","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","gdelt","global-news","news-analytics","media-monitoring","sentiment-analysis","tv-news","event-monitoring","journalism","media-analysis"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/gdelt-mcp-server@0.4.2","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/gdelt-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/gdelt-mcp-server/issues"},"bin":{"gdelt-mcp-server":"dist/index.js"},"dist":{"shasum":"f01405496546f1ad6d6470df3fd773e6cf3e8fc7","tarball":"https://registry.npmjs.org/@cyanheads/gdelt-mcp-server/-/gdelt-mcp-server-0.4.2.tgz","fileCount":106,"integrity":"sha512-PlgdxGXwOk3oEnkJbgjL5dJ5OZQzMp5cW/EeaG2f/Izt5mO9H4Es/f7T5LR9wDZp4ivQi1xoXGk9oPkEcYXH7A==","signatures":[{"sig":"MEYCIQCatfHFkg1qe0nqAMP8McwCijG9QtHUK5f0vIuT3VJedgIhAOzWfsVEOA0iGp0E0e4tax4q5b7hPkHEs80DzDE5XMpZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCBPoTK/ZFw/oWzGokS3t8YUKMTwNZvRTWtudvQpxapxAIgfH+XOCCczQFgl/YLSYXulp82L1Ahu66KWQwIEqO45J0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":438648},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"f01405496546f1ad6d6470df3fd773e6cf3e8fc7","engines":{"bun":">=1.4.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/gdelt-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/gdelt-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/gdelt-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","audit:fix":"bun audit fix","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-PlgdxGXwOk3oEnkJbgjL5dJ5OZQzMp5cW/EeaG2f/Izt5mO9H4Es/f7T5LR9wDZp4ivQi1xoXGk9oPkEcYXH7A==","repository":{"url":"git+https://github.com/cyanheads/gdelt-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search and analyze global news coverage and US television transcripts via the GDELT Project's real-time APIs via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.6.5","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.13.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"ignore":"^7.0.9","vitest":"^5.0.1","depcheck":"^1.4.7","tsc-alias":"^1.9.5","typescript":"^7.0.2","@types/node":"^26.6.1","@biomejs/biome":"^2.5.14","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/gdelt-mcp-server_0.4.2_1789835920668_0.40413691342804725","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@cyanheads/gdelt-mcp-server","version":"0.4.3","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","gdelt","global-news","news-analytics","media-monitoring","sentiment-analysis","tv-news","event-monitoring","journalism","media-analysis"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/gdelt-mcp-server@0.4.3","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/gdelt-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/gdelt-mcp-server/issues"},"bin":{"gdelt-mcp-server":"dist/index.js"},"dist":{"shasum":"e34880e18408ef8ed7c9a194b9ce9f15b0641e18","tarball":"https://registry.npmjs.org/@cyanheads/gdelt-mcp-server/-/gdelt-mcp-server-0.4.3.tgz","fileCount":107,"integrity":"sha512-hL9HYB+ZlT4/2j0toCxXo+3mkKBJm9EwqVlzfXBBh88o0ExYtUxSj69tDhd/8Uj1oO5CQVZOKtsoC91a8LHUJA==","signatures":[{"sig":"MEYCIQCm2w6DDMpaQoCjOk3gOBal0XN9lA9ljofY3kEZNPhypQIhAIDZCLBFV9rTaH6VwlS4Pdao9XLWeV66s+XvXSqsRNYg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAgR9CrmANbW7wYZ1b161sVXTWpBD8LuS2m8RTpdiYlQAiB5p+KgdQe3J8g/E7hMITxLk1dMywmAz+MM1jcn19UKpg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":461152},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"e34880e18408ef8ed7c9a194b9ce9f15b0641e18","engines":{"bun":">=1.4.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/gdelt-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/gdelt-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/gdelt-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","audit:fix":"bun audit fix","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-hL9HYB+ZlT4/2j0toCxXo+3mkKBJm9EwqVlzfXBBh88o0ExYtUxSj69tDhd/8Uj1oO5CQVZOKtsoC91a8LHUJA==","repository":{"url":"git+https://github.com/cyanheads/gdelt-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search and analyze global news coverage and US television transcripts via the GDELT Project's real-time APIs via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.6.5","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.13.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"ignore":"^7.0.9","vitest":"^5.0.1","depcheck":"^1.4.7","tsc-alias":"^1.9.5","typescript":"^7.0.2","@types/node":"^26.6.2","@biomejs/biome":"^2.5.14","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/gdelt-mcp-server_0.4.3_1790097629455_0.43653629966539365","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@cyanheads/gdelt-mcp-server","version":"0.5.0","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","gdelt","global-news","news-analytics","media-monitoring","sentiment-analysis","tv-news","event-monitoring","journalism","media-analysis"],"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","_id":"@cyanheads/gdelt-mcp-server@0.5.0","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"homepage":"https://github.com/cyanheads/gdelt-mcp-server#readme","bugs":{"url":"https://github.com/cyanheads/gdelt-mcp-server/issues"},"bin":{"gdelt-mcp-server":"dist/index.js"},"dist":{"shasum":"81edb6bc5e88873a6b21d234348395d41f394b36","tarball":"https://registry.npmjs.org/@cyanheads/gdelt-mcp-server/-/gdelt-mcp-server-0.5.0.tgz","fileCount":112,"integrity":"sha512-ExhjL7AuHZZZuNdTl7SQpf1Kx4k/1RqB5fjhojHKArgf/Bo50+2gYP2lvtkq8z8mTq8REwinXFN/1oDBfYKNuA==","signatures":[{"sig":"MEQCIC4u7K1vMJZyO12xNkmbEsohyxHwTjv5fSj2oUckhAEgAiAO0Vh3AxuKDf/IPQAcEBCa3mONYv2ybUWPVdvj62pZnQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCID97uqp8fyRyaSQIkaxhYB/BD6bHjkmLRjfKg/+YkXdbAiAB47zcBZNTF8g0QUj9aBVIxQtzEOQGM7B1BMJL6PFSMA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":542522},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"81edb6bc5e88873a6b21d234348395d41f394b36","engines":{"bun":">=1.4.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"mcpName":"io.github.cyanheads/gdelt-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/gdelt-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/gdelt-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","audit:fix":"bun audit fix","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"_integrity":"sha512-ExhjL7AuHZZZuNdTl7SQpf1Kx4k/1RqB5fjhojHKArgf/Bo50+2gYP2lvtkq8z8mTq8REwinXFN/1oDBfYKNuA==","repository":{"url":"git+https://github.com/cyanheads/gdelt-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search and analyze global news coverage and US television transcripts via the GDELT Project's real-time APIs via MCP. STDIO or Streamable HTTP.","directories":{},"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.6.5","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.13.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"ignore":"^7.0.9","vitest":"^5.0.1","depcheck":"^1.4.7","tsc-alias":"^1.9.5","typescript":"^7.0.2","@types/node":"^26.6.2","markdown-it":"^15.0.2","@biomejs/biome":"^2.5.14","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/gdelt-mcp-server_0.5.0_1790275854968_0.08406163757522056","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"_id":"@cyanheads/gdelt-mcp-server@0.6.0","bin":{"gdelt-mcp-server":"dist/index.js"},"bugs":{"url":"https://github.com/cyanheads/gdelt-mcp-server/issues"},"dist":{"shasum":"16c29bf1765bd13c628bb04fe266a3e99b17cd0c","tarball":"https://registry.npmjs.org/@cyanheads/gdelt-mcp-server/-/gdelt-mcp-server-0.6.0.tgz","fileCount":121,"integrity":"sha512-98YrhZfMxj8xUJzLZsFq0IQNjmDC6PVa2LGqd/3/PZpv7nBWL8/tgX2EKJKqUqL5TqU7F0G97tFzS5nhOcFKBQ==","signatures":[{"sig":"MEQCIAqOhHqkVvCgCGWfku/SWZP06d+YTneKovkPCD3EUnWZAiBxtsjsNBcKsMIwyL94aBRiQYgCXnMRuB03Vyq4WI75gw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCmDCuWJtVvhGwryt6tgbw6tj0E+YofhG8IQCsfLWLvBgIhANMLIVCbAQ6OcCOj6TnVEF+TXrsPMkjKjJWyX9/aten9"}],"unpackedSize":581745},"main":"dist/index.js","name":"@cyanheads/gdelt-mcp-server","type":"module","types":"dist/index.d.ts","author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","shasum":"16c29bf1765bd13c628bb04fe266a3e99b17cd0c","engines":{"bun":">=1.4.0","node":">=24.0.0"},"funding":[{"url":"https://github.com/sponsors/cyanheads","type":"github"},{"url":"https://www.buymeacoffee.com/cyanheads","type":"buy_me_a_coffee"}],"license":"Apache-2.0","mcpName":"io.github.cyanheads/gdelt-mcp-server","scripts":{"test":"vitest run","tree":"bun run scripts/tree.ts","build":"bun run scripts/build.ts","clean":"bun run scripts/clean.ts","start":"bun ./dist/index.js","bundle":"bun run build && npx -y @anthropic-ai/mcpb pack . dist/gdelt-mcp-server.mcpb && bun run scripts/clean-mcpb.ts dist/gdelt-mcp-server.mcpb","format":"biome check --write .","rebuild":"bun run scripts/clean.ts && bun run scripts/build.ts","devcheck":"bun run scripts/devcheck.ts","lint:mcp":"bun run scripts/lint-mcp.ts","audit:fix":"bun audit fix","start:http":"MCP_TRANSPORT_TYPE=http bun ./dist/index.js","list-skills":"bun run scripts/list-skills.ts","publish-mcp":"mcp-publisher login github -token \"$(security find-generic-password -a \"$USER\" -s mcp-publisher-github-pat -w)\" && mcp-publisher publish","start:stdio":"MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js","audit:refresh":"rm -f bun.lock && bun install && bun audit","format:unsafe":"biome check --write --unsafe .","lint:packaging":"bun run scripts/lint-packaging.ts","release:github":"bun run scripts/release-github.ts","changelog:build":"bun run scripts/build-changelog.ts","changelog:check":"bun run scripts/build-changelog.ts --check"},"version":"0.6.0","_npmUser":{"name":"cyanheads","email":"casey@caseyjhand.com"},"homepage":"https://github.com/cyanheads/gdelt-mcp-server#readme","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","gdelt","global-news","news-analytics","media-monitoring","sentiment-analysis","tv-news","event-monitoring","journalism","media-analysis"],"_integrity":"sha512-98YrhZfMxj8xUJzLZsFq0IQNjmDC6PVa2LGqd/3/PZpv7nBWL8/tgX2EKJKqUqL5TqU7F0G97tFzS5nhOcFKBQ==","repository":{"url":"git+https://github.com/cyanheads/gdelt-mcp-server.git","type":"git"},"_npmVersion":"10.8.3","description":"Search and analyze global news coverage and US television transcripts via the GDELT Project's real-time APIs via MCP. STDIO or Streamable HTTP.","directories":{},"maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"_nodeVersion":"26.3.0","dependencies":{"zod":"^4.6.5","pino-pretty":"^13.1.3","@cyanheads/mcp-ts-core":"^0.13.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"bun@1.4.0","devDependencies":{"ignore":"^7.0.9","vitest":"^5.0.1","depcheck":"^1.4.7","tsc-alias":"^1.9.5","typescript":"^7.0.2","@types/node":"^26.6.2","markdown-it":"^15.0.2","@biomejs/biome":"^2.5.14","@socketsecurity/bun-security-scanner":"^1.1.2"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/gdelt-mcp-server_0.6.0_1790280007863_0.6845777497617562"}}},"time":{"created":"2026-05-26T03:16:05.129Z","modified":"2026-09-24T20:00:08.126Z","0.1.1":"2026-05-26T03:16:05.411Z","0.1.2":"2026-05-26T03:18:00.371Z","0.1.3":"2026-05-26T03:33:05.668Z","0.1.4":"2026-05-26T07:43:15.922Z","0.1.5":"2026-05-29T05:12:30.599Z","0.1.6":"2026-05-30T09:41:49.660Z","0.1.7":"2026-06-02T14:25:05.654Z","0.1.8":"2026-06-04T07:51:26.960Z","0.2.0":"2026-06-08T12:45:11.624Z","0.2.1":"2026-06-12T07:46:54.509Z","0.2.2":"2026-06-20T11:46:54.818Z","0.2.3":"2026-07-16T00:27:00.073Z","0.2.4":"2026-07-16T01:03:08.469Z","0.2.5":"2026-07-16T01:53:58.353Z","0.2.6":"2026-07-24T13:06:10.994Z","0.2.7":"2026-08-22T14:13:54.740Z","0.3.0":"2026-08-30T21:51:07.142Z","0.3.1":"2026-08-30T21:56:15.178Z","0.4.0":"2026-08-31T03:01:49.522Z","0.4.1":"2026-09-03T01:27:45.975Z","0.4.2":"2026-09-19T16:38:40.769Z","0.4.3":"2026-09-22T17:20:29.536Z","0.5.0":"2026-09-24T18:50:55.090Z","0.6.0":"2026-09-24T20:00:07.978Z"},"bugs":{"url":"https://github.com/cyanheads/gdelt-mcp-server/issues"},"author":"Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)","license":"Apache-2.0","homepage":"https://github.com/cyanheads/gdelt-mcp-server#readme","keywords":["mcp","mcp-server","model-context-protocol","typescript","bun","stdio","streamable-http","gdelt","global-news","news-analytics","media-monitoring","sentiment-analysis","tv-news","event-monitoring","journalism","media-analysis"],"repository":{"url":"git+https://github.com/cyanheads/gdelt-mcp-server.git","type":"git"},"description":"Search and analyze global news coverage and US television transcripts via the GDELT Project's real-time APIs via MCP. STDIO or Streamable HTTP.","maintainers":[{"name":"cyanheads","email":"casey@caseyjhand.com"}],"readme":"<div align=\"center\">\n  <h1>@cyanheads/gdelt-mcp-server</h1>\n  <p><b>Search and analyze global news coverage and US television transcripts via the GDELT Project's real-time APIs via MCP. STDIO or Streamable HTTP.</b>\n  <div>9 Tools</div>\n  </p>\n</div>\n\n<div align=\"center\">\n\n[![Version](https://img.shields.io/badge/Version-0.6.0-blue.svg?style=flat-square)](./CHANGELOG.md) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![Docker](https://img.shields.io/badge/Docker-ghcr.io-2496ED?style=flat-square&logo=docker&logoColor=white)](https://github.com/users/cyanheads/packages/container/package/gdelt-mcp-server) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^2.0.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![npm](https://img.shields.io/npm/v/@cyanheads/gdelt-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/gdelt-mcp-server) [![TypeScript](https://img.shields.io/badge/TypeScript-^7.0.2-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.4.0-blueviolet.svg?style=flat-square)](https://bun.sh/)\n\n</div>\n\n<div align=\"center\">\n\n[![Install in Claude Desktop](https://img.shields.io/badge/Install_in-Claude_Desktop-D97757?style=for-the-badge&logo=anthropic&logoColor=white)](https://github.com/cyanheads/gdelt-mcp-server/releases/latest/download/gdelt-mcp-server.mcpb) [![Install in Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en/install-mcp?name=gdelt-mcp-server&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBjeWFuaGVhZHMvZ2RlbHQtbWNwLXNlcnZlciJdfQ==) [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install_Server-0098FF?style=for-the-badge&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect?url=vscode:mcp/install?%7B%22name%22%3A%22gdelt-mcp-server%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40cyanheads%2Fgdelt-mcp-server%22%5D%7D)\n\n[![Framework](https://img.shields.io/badge/Built%20on-@cyanheads/mcp--ts--core-67E8F9?style=flat-square)](https://www.npmjs.com/package/@cyanheads/mcp-ts-core)\n\n</div>\n\n<div align=\"center\">\n\n**Public Hosted Server:** [https://gdelt.caseyjhand.com/mcp](https://gdelt.caseyjhand.com/mcp)\n\n</div>\n\n---\n\n## Overview\n\nNews and television coverage analysis from the GDELT Project's DOC and TV APIs — the last 3 months of global news in 65+ languages, and US TV transcripts from 2009 through October 2024 across 150+ stations. Search articles and clips, track coverage spikes, analyze tone, and trace how a story propagated across languages and countries. Runs as a stdio process, a local Streamable HTTP server, or the public hosted endpoint above.\n\n### Tools\n\n| Tool | Description |\n|:---|:---|\n| `gdelt_search_articles` | Search the last 3 months of global news coverage (65+ languages) with full-text and filter operators. Fetches up to 250 articles, returns as many as fit a 48,000-byte response, and hands back the date windows to re-query for the rest. |\n| `gdelt_get_coverage_timeline` | Retrieve a time series of coverage volume or average tone for a query. `volume_with_articles` mode includes top articles per spike timestep, with `points` to render a timestep's full article list. |\n| `gdelt_get_tone_distribution` | Get a tone histogram (bins ~−30 to +30) showing whether coverage is uniformly negative, bimodal, or clustered near neutral. |\n| `gdelt_get_coverage_breakdown` | Break down coverage volume by source language or source country — a multi-series time series showing geographic propagation. Values are normalized shares of media output, not article counts. |\n| `gdelt_search_themes` | Find GKG theme identifiers for the `theme:` operator the DOC tools accept — `drought` finds `NATURAL_DISASTER_DROUGHT`, `cyberattack` finds `CYBER_ATTACK` — ranked by the count GDELT's theme lookup lists. |\n| `gdelt_search_tv` | Search US television news closed captions (2009–Oct 2024) and return per-station airtime time series. |\n| `gdelt_get_tv_clips` | Retrieve matching TV clips with transcript excerpts and Internet Archive viewing links — up to 3,000 fetched, as many as fit a 48,000-byte response returned — and the date windows to re-query for the rest. |\n| `gdelt_get_tv_context` | Get the most frequent co-occurring words and phrases from TV clips matching a query. |\n| `gdelt_list_tv_stations` | List TV stations with market, network, and monitoring date ranges — all of them, or filtered by station ID, network, or market — to verify station availability before querying. |\n\n## Capability reference\n\n### `gdelt_search_articles` <sub>tool</sub>\n\n- Full GDELT query syntax: phrases, boolean OR, exclusion, filter operators (`sourcecountry:`, `sourcelang:`, `domain:`, `theme:`, `tone<`/`tone>`), proximity (`near20:`) and repetition (`repeat3:`) — `gdelt_search_themes` finds the identifiers `theme:` takes\n- Configurable sort (`relevance`, `dateDesc`, `dateAsc`, `toneDesc`, `toneAsc`, `hybridRel`) and fetch count, up to 250 per call\n- Returns URL, title, publication date, domain, language, source country, and social image URL\n- Each response carries as many fetched articles as fit a 48,000-byte budget on each surface; the rest are counted in `withheldCount`, and the notice says how to reach them — never by raising `maxRecords`\n- `continuationWindows` on a page cut under `dateDesc`/`dateAsc` holds one window resuming from the last returned article — or skipping past its second when resuming there cannot reach a new article; under the other sorts, and whenever `maxRecords` sits at its 250 ceiling, it holds the queried window halved and overlapping by a second so nothing falls through the seam. Articles on a boundary second can come back twice — de-duplicate by `url`\n- Articles GDELT returns from outside an explicit `startDatetime`/`endDatetime` window are dropped, and the notice counts them\n- 250 is a hard per-call ceiling, not a page size — GDELT exposes no cursor, so narrowing the date window is the only way past it\n\n---\n\n### `gdelt_get_coverage_timeline` <sub>tool</sub>\n\n- Three modes: `volume` (normalized % per timestep), `volume_with_articles` (volume plus top articles per spike — signal detection in one call), `tone` (average sentiment per timestep)\n- Every article reference is always in `structuredContent`; the text surface renders the first 3 links per timestep beside that timestep's true count, and `points: [\"<date>\"]` renders named timesteps in full\n- Configurable smoothing (0–5 timesteps) and time range (`timespan`, or explicit `startDatetime`/`endDatetime`)\n- Date resolution (`15min`/`hour`/`day`) is inferred from the returned intervals, and omitted when fewer than two timesteps come back\n- A `points` date matching no timestep is rejected with the available timestep list, rather than silently ignored\n\n---\n\n### `gdelt_get_tone_distribution` <sub>tool</sub>\n\n- Histogram bins from approximately −30 to +30; each bin includes representative article URLs\n- Summary fields: `peakNegativeBin`, `peakPositiveBin`, `neutralPct` (% of articles in the −2 to +2 range)\n- A snapshot across all matching articles — distinct from the tone timeline (`gdelt_get_coverage_timeline` mode `tone`), which is a time series\n\n---\n\n### `gdelt_get_coverage_breakdown` <sub>tool</sub>\n\n- Breaks down by `language` or `country` into a multi-series time series\n- Top 10 series by total volume; the rest aggregate into `otherAggregated`, with every folded-in label named in `otherSeriesLabels`\n- Pass any label to `series: [\"<label>\"]` to retrieve that series complete under `selectedSeries`, ranked or not\n- Values are normalized shares of media output, not article counts — a high value means the topic dominated that source's coverage, not that it published the most articles\n- A `series` label matching no series is rejected with the available label list, rather than silently skipped\n\n---\n\n### `gdelt_search_themes` <sub>tool</sub>\n\n- Searches the identifiers in GDELT's [GKG theme lookup](https://data.gdeltproject.org/api/v2/guides/LOOKUP-GKGTHEMES.TXT) (59,315 themes); the lookup has no labels or descriptions, so a match is the identifier, its listed count, and a paste-ready `operator` such as `theme:TAX_DISEASE_OUTBREAK`\n- Case-insensitive, leading `theme:` ignored; every query word must begin one of an identifier's `_`/`-`-separated parts or run across consecutive parts (`cyberattack` → `CYBER_ATTACK`), or all the words joined must (`plant disease` → `TAX_PLANTDISEASE`)\n- No stemming or synonyms, with one disclosed fallback: when nothing matches, the search retries once with a trailing `s` dropped from each word of four or more letters (`protests` → `PROTEST`), and the notice says so\n- Ranked with an exact identifier match first, then by listed count, then by identifier. The count is a static prevalence figure from the lookup, not a live article total\n- Pages with `offset` / `limit` (1–100, default 25); `nextOffset` appears only when more matches remain, and an offset past a non-empty result fails `offset_out_of_range`\n- The lookup is downloaded on first use and held for the process; a failed download is not kept, so the next call retries it. It is served from a different host than the DOC and TV APIs and does not queue behind their rate limit\n\n---\n\n### `gdelt_search_tv` <sub>tool</sub>\n\n- Up to 10 structured `stations` (e.g. `[\"CNN\", \"FOXNEWS\"]`), or a `station:` selector embedded in the query — the TV API requires at least one, either way\n- `normalize` toggles relative airtime % (default) vs. raw matching 15-second clip counts; optional `dateres` aggregation (`hour`/`day`/`week`/`month`/`year`)\n- Responses page at most 500 points per call in deterministic date-then-station order; use `nextOffset` with the same inputs to retrieve the next page\n- TV-specific operators: `station:`, `network:`, `market:`, `show:`, `context:`\n- Verify station active date ranges with `gdelt_list_tv_stations` before querying recent events\n\n---\n\n### `gdelt_get_tv_clips` <sub>tool</sub>\n\n- Up to 3,000 clips fetched per call, sorted by relevance, date descending, or date ascending\n- Each clip: show name, station, air timestamp, 15-second transcript excerpt, direct Archive.org link, and optional thumbnail\n- The TV API answers a window in whole clock hours (start floored to the hour, the end's hour included) and rejects one under 30 minutes, so the server requests whole hours — any window width works; an end exactly on the hour leaves out that final second — and drops clips dated outside an explicit `startDatetime`/`endDatetime` window, counting them in the notice (a `timespan` call drops nothing)\n- Each response carries as many in-window clips as fit a 48,000-byte budget on each surface; the rest are counted in `withheldCount`, and the notice says how to reach them. Below the 3,000 ceiling it says to continue at `maxRecords` 3,000, since each continuation request fetches whole hours and the clips outside its window take slots first\n- `continuationWindows` on a page cut under `dateDesc`/`dateAsc` holds one window resuming from the last returned clip (de-duplicate by `archiveUrl`) — or skipping past its second when resuming there cannot reach a new clip; under `relevance`, and whenever `maxRecords` sits at its 3,000 ceiling, it holds the window split in two — on a clock hour when one falls inside it, otherwise at the second on a cut page — with the halves sharing no second\n- 3,000 is a hard per-call ceiling, not a page size — GDELT exposes no cursor, so narrowing the date window is the only way past it\n\n---\n\n### `gdelt_get_tv_context` <sub>tool</sub>\n\n- Returns the most frequent non-stopword terms co-occurring with the query across matching clips\n- Relative frequency scores 0–100, where the query term itself scores 100\n- Use to identify narrative framing, related concepts, or follow-up search terms\n\n---\n\n### `gdelt_list_tv_stations` <sub>tool</sub>\n\n- Returns every station with market, network, monitoring start date, and end date — or only those matching the optional `stations`, `network`, and `market` filters\n- Filters match whole values case-insensitively and combine with AND (`network: \"FOX\"` does not match `FOXNEWS`); `activeCount` and `totalCount` count the returned stations\n- A filter that matches nothing returns an empty list with a notice naming it, and requested station IDs that match no station are named in the notice\n- The text surface groups stations as national (every `National*` market), international (`International`, `Japan`), and local/regional (US cities), each line naming its market\n- `isActive` is true when the end date is within the last 24 hours\n- Use to verify a station was active during a target time period, or to discover valid station IDs for the `stations` parameter on other TV tools\n\n## Features\n\nBuilt on [`@cyanheads/mcp-ts-core`](https://github.com/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.\n\nGDELT-specific:\n\n- Shared outbound pacer across the DOC and TV tools — one request in flight at 1 req/5s, plus a cooldown gate that any GDELT rate-limit response closes for every queued caller (5s, doubling to 60s, reset by the next success)\n- Two service layers (`GdeltDocService`, `GdeltTvService`) mapping clean tool parameters to the DOC and TV API URL conventions, plus `GdeltThemeService`, which holds the GKG theme lookup in memory once downloaded\n- TV station filter operators embedded in query strings internally — callers pass structured `stations` arrays, not raw query syntax\n\nAgent-friendly output:\n\n- Query echo on every response — searches return the original query and applied timespan so agents can chain calls without re-deriving parameters\n- Discriminated series labels — timeline and breakdown responses carry typed `label` fields (`\"Volume Intensity\"`, `\"Average Tone\"`, language/country names) rather than positional arrays\n- Structured station metadata — `isActive` boolean and ISO 8601 date fields let agents reason about TV station availability without parsing date strings\n- Partial-coverage signals in distribution output — `neutralPct`, `peakNegativeBin`, `peakPositiveBin` summary fields let agents branch on sentiment without histogramming the raw bins themselves\n- Zero matches are a result, not an error — a query GDELT answers with nothing returns the normal output shape with empty arrays and a `notice` on how to broaden it; values that would have to be derived from returned data (`dateResolution`, `timeRange`, tone peaks, `neutralPct`) are omitted rather than defaulted\n\n## Getting started\n\n### Public Hosted Instance\n\nA public instance is available at `https://gdelt.caseyjhand.com/mcp` — no installation required. Point any MCP client at it via Streamable HTTP:\n\n```json\n{\n  \"mcpServers\": {\n    \"gdelt-mcp-server\": {\n      \"type\": \"streamable-http\",\n      \"url\": \"https://gdelt.caseyjhand.com/mcp\"\n    }\n  }\n}\n```\n\n### Self-Hosted / Local\n\nAdd the following to your MCP client configuration file.\n\n```json\n{\n  \"mcpServers\": {\n    \"gdelt-mcp-server\": {\n      \"type\": \"stdio\",\n      \"command\": \"bunx\",\n      \"args\": [\"@cyanheads/gdelt-mcp-server@latest\"],\n      \"env\": {\n        \"MCP_TRANSPORT_TYPE\": \"stdio\",\n        \"MCP_LOG_LEVEL\": \"info\"\n      }\n    }\n  }\n}\n```\n\nOr with npx (no Bun required):\n\n```json\n{\n  \"mcpServers\": {\n    \"gdelt-mcp-server\": {\n      \"type\": \"stdio\",\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@cyanheads/gdelt-mcp-server@latest\"],\n      \"env\": {\n        \"MCP_TRANSPORT_TYPE\": \"stdio\",\n        \"MCP_LOG_LEVEL\": \"info\"\n      }\n    }\n  }\n}\n```\n\nOr with Docker:\n\n```json\n{\n  \"mcpServers\": {\n    \"gdelt-mcp-server\": {\n      \"type\": \"stdio\",\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\", \"-i\", \"--rm\",\n        \"-e\", \"MCP_TRANSPORT_TYPE=stdio\",\n        \"ghcr.io/cyanheads/gdelt-mcp-server:latest\"\n      ]\n    }\n  }\n}\n```\n\nFor Streamable HTTP, set the transport and start the server:\n\n```sh\nMCP_TRANSPORT_TYPE=http MCP_HTTP_PORT=3010 bun run start:http\n# Server listens at http://localhost:3010/mcp\n```\n\n### Prerequisites\n\n- [Bun v1.4.0](https://bun.sh/) or higher (or Node.js v24+).\n- No API key required — GDELT is a free public API.\n\n### Installation\n\n1. **Clone the repository:**\n\n```sh\ngit clone https://github.com/cyanheads/gdelt-mcp-server.git\n```\n\n2. **Navigate into the directory:**\n\n```sh\ncd gdelt-mcp-server\n```\n\n3. **Install dependencies:**\n\n```sh\nbun install\n```\n\n4. **Configure environment:**\n\n```sh\ncp .env.example .env\n# edit .env if you need to override defaults\n```\n\n## Configuration\n\nAll configuration is validated at startup via Zod schemas in `src/config/server-config.ts`. Key environment variables:\n\n| Variable | Description | Default |\n|:---------|:------------|:--------|\n| `GDELT_BASE_URL` | Override the GDELT API base URL for both DOC and TV APIs. | `https://api.gdeltproject.org/api/v2` |\n| `GDELT_REQUEST_DELAY_MS` | Minimum milliseconds between GDELT requests (enforces 1 req/5s limit). | `5300` |\n| `GDELT_REQUEST_TIMEOUT_MS` | Deadline for a single GDELT request. The whole call, retries included, is bounded at twice this value. | `60000` |\n| `MCP_TRANSPORT_TYPE` | Transport: `stdio` or `http`. | `stdio` |\n| `MCP_HTTP_PORT` | Port for the HTTP server. | `3010` |\n| `MCP_HTTP_ENDPOINT_PATH` | HTTP endpoint path where the MCP server is mounted. | `/mcp` |\n| `MCP_PUBLIC_URL` | Public origin override for TLS-terminating reverse-proxy deployments. | none |\n| `MCP_AUTH_MODE` | Auth mode: `none`, `jwt`, or `oauth`. | `none` |\n| `MCP_SESSION_MODE` | HTTP session mode: `auto`, `stateful`, or `stateless`. `createApp()` declares `stateless` in code — this server holds no per-session state — and setting this variable overrides that declaration. | `stateless` |\n| `MCP_LOG_LEVEL` | Log level (`debug`, `info`, `warning`, `error`, etc.). | `info` |\n| `MCP_GC_PRESSURE_INTERVAL_MS` | Opt-in Bun-only forced-GC pressure loop in ms. Try `60000` if heap growth is observed under sustained HTTP load. | `0` (disabled) |\n| `LOGS_DIR` | Directory for log files (Node.js only). Absolute paths are used verbatim; a relative path resolves against the application root. | `<app-root>/logs` |\n| `STORAGE_PROVIDER_TYPE` | Storage backend: `in-memory`, `filesystem`, `supabase`, `cloudflare-kv/r2/d1`. | `in-memory` |\n| `OTEL_ENABLED` | Enable [OpenTelemetry instrumentation](https://github.com/cyanheads/mcp-ts-core/tree/main/docs/telemetry). | `false` |\n\nSee [`.env.example`](./.env.example) for the full list of optional overrides.\n\n## Running the server\n\n### Local development\n\n- **Build and run:**\n\n  ```sh\n  # One-time build\n  bun run rebuild\n\n  # Run the built server\n  bun run start:stdio\n  # or\n  bun run start:http\n  ```\n\n- **Run checks and tests:**\n\n  ```sh\n  bun run devcheck   # Lint, format, typecheck, security audit\n  bun run test       # Vitest test suite\n  bun run lint:mcp   # Validate MCP definitions against spec\n  ```\n\n### Docker\n\n```sh\ndocker build -t gdelt-mcp-server .\ndocker run --rm -p 3010:3010 gdelt-mcp-server\n```\n\nThe Dockerfile defaults to HTTP transport, stateless session mode, and logs to `/var/log/gdelt-mcp-server`. OpenTelemetry peer dependencies are installed by default — build with `--build-arg OTEL_ENABLED=false` to omit them.\n\n## Project structure\n\n| Directory | Purpose |\n|:----------|:--------|\n| `src/index.ts` | `createApp()` entry point — registers tools and inits services. |\n| `src/config` | Server-specific environment variable parsing and validation with Zod. |\n| `src/mcp-server/tools` | Tool definitions (`*.tool.ts`). Nine tools across the DOC and TV APIs and the GKG theme lookup. |\n| `src/services/gdelt` | `GdeltDocService` and `GdeltTvService` wrapping the DOC and TV APIs, the shared outbound pacer every DOC and TV call queues behind, and `GdeltThemeService` for the GKG theme lookup. |\n| `tests/` | Unit and integration tests mirroring `src/`. |\n\n## Development guide\n\nSee [`CLAUDE.md`](./CLAUDE.md) for development guidelines and architectural rules. The short version:\n\n- Handlers throw, framework catches — no `try/catch` in tool logic\n- Use `ctx.log` for request-scoped logging, `ctx.state` for tenant-scoped storage\n- Register new tools via the barrels in `src/mcp-server/tools/definitions/index.ts`\n- Wrap GDELT API calls: validate raw JSON → normalize to domain type → return output schema; never fabricate missing fields\n\n## Contributing\n\nIssues are welcome. Run checks and tests before submitting:\n\n```sh\nbun run devcheck\nbun run test\n```\n\n## License\n\nApache-2.0 — see [LICENSE](./LICENSE) for details.\n","readmeFilename":"README.md"}