{"_id":"@anysiteio/gdelt-mcp-server","name":"@anysiteio/gdelt-mcp-server","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@anysiteio/gdelt-mcp-server","version":"1.0.0","description":"MCP server for GDELT (Global Database of Events, Language, and Tone) API integration","main":"dist/index.js","type":"module","bin":{"gdelt-mcp-server":"dist/index.js"},"scripts":{"build":"tsc","start":"node dist/index.js","dev":"tsx src/index.ts","watch":"tsc --watch","prepublishOnly":"npm run build"},"keywords":["mcp","gdelt","news","api","model-context-protocol","claude","ai"],"author":{"name":"anysiteio"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/anysiteio/GDELT-mcp.git"},"bugs":{"url":"https://github.com/anysiteio/GDELT-mcp/issues"},"homepage":"https://github.com/anysiteio/GDELT-mcp#readme","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4","zod":"^3.25.0"},"devDependencies":{"@types/node":"^22.10.2","typescript":"^5.7.2","tsx":"^4.19.2"},"engines":{"node":">=18.0.0"},"_id":"@anysiteio/gdelt-mcp-server@1.0.0","gitHead":"70771b58f578912e0b6b4422cb5638766c0f7715","types":"./dist/index.d.ts","_nodeVersion":"23.7.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-/0ypVoWAvPEATKRwUorQONuPp3q/IpuyVD8HkW//kyrFvGRY4nvWOO7S9i96xNMe2MI1tw1bHmeW0QRqLjl0cg==","shasum":"7afaa6d67632ffa72d61bad3762912d3a4021078","tarball":"https://registry.npmjs.org/@anysiteio/gdelt-mcp-server/-/gdelt-mcp-server-1.0.0.tgz","fileCount":50,"unpackedSize":67803,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAwCvKeivUf9E9fCkrw9j+nFd9FZPH7U8AGm+2soOsMXAiAED1WLdvIWidK5MAEzEanQ5Nls68PpZhWRInQwxOfWhA=="}]},"_npmUser":{"name":"4kulia","email":"andrew@horizondatawave.ai"},"directories":{},"maintainers":[{"name":"4kulia","email":"andrew@horizondatawave.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/gdelt-mcp-server_1.0.0_1766582676187_0.9461406296255177"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-24T13:24:36.113Z","1.0.0":"2025-12-24T13:24:36.338Z","modified":"2025-12-24T13:24:36.637Z"},"maintainers":[{"name":"4kulia","email":"andrew@horizondatawave.ai"}],"description":"MCP server for GDELT (Global Database of Events, Language, and Tone) API integration","homepage":"https://github.com/anysiteio/GDELT-mcp#readme","keywords":["mcp","gdelt","news","api","model-context-protocol","claude","ai"],"repository":{"type":"git","url":"git+https://github.com/anysiteio/GDELT-mcp.git"},"author":{"name":"anysiteio"},"bugs":{"url":"https://github.com/anysiteio/GDELT-mcp/issues"},"license":"MIT","readme":"# GDELT MCP Server\n\nModel Context Protocol (MCP) server for integrating with the GDELT (Global Database of Events, Language, and Tone) API. Provides access to global news coverage, sentiment analysis, geographic data, and visual content through 6 core tools.\n\n## Features\n\n- **No Authentication Required** - GDELT APIs are completely open\n- **Real-time Data** - Updated every 15 minutes\n- **6 Core Tools**:\n  - Search articles with advanced filters\n  - Timeline analysis (volume, tone, language, source country)\n  - Sentiment/tone distribution\n  - Geographic search with GeoJSON output\n  - Visual content search\n  - Real-time news monitoring\n\n## Installation\n\n```bash\nnpm install\n```\n\n## Building\n\n```bash\nnpm run build\n```\n\n## Running\n\n### Development Mode\n```bash\nnpm run dev\n```\n\n### Production Mode\n```bash\nnpm start\n```\n\n## Configuration for Claude Desktop\n\nAdd to your Claude Desktop config file:\n\n**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`\n**Windows**: `%APPDATA%/Claude/claude_desktop_config.json`\n\n### Option 1: Using npx (Recommended - No Installation Required)\n\n```json\n{\n  \"mcpServers\": {\n    \"gdelt\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@anysiteio/gdelt-mcp-server\"]\n    }\n  }\n}\n```\n\n### Option 2: Local Development\n\n```json\n{\n  \"mcpServers\": {\n    \"gdelt\": {\n      \"command\": \"node\",\n      \"args\": [\"/absolute/path/to/GDELT-mcp/dist/index.js\"]\n    }\n  }\n}\n```\n\nAfter updating the config, restart Claude Desktop.\n\n## Available Tools\n\n### 1. gdelt_search_articles\n\nSearch for news articles with advanced filtering.\n\n**Parameters:**\n- `query` (required): Search query with operators\n- `timespan` (optional, default: \"3d\"): Time window (15min, 2h, 3d, 1w, 2m)\n- `maxrecords` (optional, default: 75): Maximum results (1-250)\n- `sort` (optional, default: \"DateDesc\"): Sort order\n\n**Query Operators:**\n- `\"phrase\"` - Exact phrase match\n- `domain:cnn.com` - Filter by domain\n- `sourcecountry:russia` - Filter by source country\n- `sourcelang:spanish` - Filter by language\n- `tone<-5` - Negative sentiment filter\n- `theme:TERROR` - Filter by GKG theme\n\n**Example:**\n```\nquery: \"climate change\" sourcecountry:us\ntimespan: 1w\nmaxrecords: 100\n```\n\n### 2. gdelt_timeline\n\nGet timeline analysis showing trends over time.\n\n**Parameters:**\n- `query` (required): Search query\n- `timespan` (optional, default: \"1w\"): Time window\n- `timeline_type` (optional, default: \"volume\"): Type of analysis\n  - `volume`: Coverage volume over time\n  - `tone`: Average sentiment over time\n  - `language`: Distribution by language\n  - `sourcecountry`: Distribution by source country\n\n**Example:**\n```\nquery: \"artificial intelligence\"\ntimespan: 2w\ntimeline_type: tone\n```\n\n### 3. gdelt_tone_chart\n\nGet sentiment distribution histogram.\n\n**Parameters:**\n- `query` (required): Search query\n- `timespan` (optional, default: \"3d\"): Time window\n\n**Example:**\n```\nquery: \"presidential election\"\ntimespan: 7d\n```\n\n### 4. gdelt_geo_search\n\nGeographic search returning GeoJSON data.\n\n**Parameters:**\n- `query` (required): Search query\n- `timespan` (optional, default: \"1d\"): Time window (max 7 days)\n- `output_mode` (optional, default: \"point\"): Aggregation mode\n  - `point`: Individual locations\n  - `country`: Aggregated by country\n  - `adm1`: Aggregated by admin division\n- `maxpoints` (optional, default: 100): Maximum locations (1-1000)\n\n**Example:**\n```\nquery: \"earthquake\"\ntimespan: 3d\noutput_mode: country\n```\n\n### 5. gdelt_image_search\n\nSearch for images using Visual Knowledge Graph.\n\n**Parameters:**\n- `query` (required): Search query with image operators\n- `timespan` (optional, default: \"3d\"): Time window\n- `maxrecords` (optional, default: 75): Maximum images (1-250)\n\n**Image Operators:**\n- `imagetag:\"flood\"` - Deep learning detected objects\n- `imagewebtag:\"election\"` - Crowdsourced captions\n- `imageocrmeta:\"protest\"` - OCR + EXIF metadata\n- `imagefacetone<-1.5` - Facial emotion\n- `imagenumfaces>3` - Number of faces\n\n**Example:**\n```\nquery: imagetag:\"protest\" imagenumfaces>5\ntimespan: 1w\n```\n\n### 6. gdelt_monitor\n\nMonitor real-time news coverage.\n\n**Parameters:**\n- `query` (required): Search query\n- `interval` (optional, default: \"15min\"): Monitoring interval\n  - `15min`: Last 15 minutes\n  - `1h`: Last hour\n  - `3h`: Last 3 hours\n\n**Example:**\n```\nquery: \"breaking news\" domain:cnn.com\ninterval: 15min\n```\n\n## GDELT API Limits\n\n- **DOC API**: Last 3 months, max 250 results per request\n- **GEO API**: Last 7 days, max 1000 points\n- **Update Frequency**: Every 15 minutes\n- **Rate Limits**: None (use responsibly)\n\n## Project Structure\n\n```\nGDELT-mcp/\n├── src/\n│   ├── index.ts              # Entry point\n│   ├── server.ts             # MCP server setup\n│   ├── tools/                # Tool implementations\n│   │   ├── search-articles.ts\n│   │   ├── timeline.ts\n│   │   ├── tone-chart.ts\n│   │   ├── geo-search.ts\n│   │   ├── image-search.ts\n│   │   └── monitor.ts\n│   ├── gdelt/                # GDELT API client\n│   │   ├── client.ts\n│   │   ├── types.ts\n│   │   └── utils.ts\n│   └── schemas/              # Zod validation schemas\n│       └── tool-schemas.ts\n├── package.json\n├── tsconfig.json\n└── README.md\n```\n\n## Resources\n\n- [GDELT Documentation](http://data.gdeltproject.org/api/v2/guides/LOOKUP-GKGTHEMES.TXT)\n- [Model Context Protocol](https://modelcontextprotocol.io/)\n- [MCP TypeScript SDK](https://github.com/modelcontextprotocol/typescript-sdk)\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-759c322b3bd84a26c16aeb38c9064869"}