{"openapi":"3.0.3","info":{"title":"Gnist Context — News Intelligence","description":"Unified news intelligence — search global media (GDELT, 150+ countries) and tech community (Hacker News) in parallel. Sentiment timelines, coverage volumes, and geographic breakdowns.\n\n- **MCP endpoint:** `https://context.gnist.ai/mcp/news-intelligence/`\n- **Toolkit page:** `/toolkits/news-intelligence`\n- **Full API spec:** `/api/openapi.json`\n- **Get an API key:** `/signup`","version":"1.0.0","contact":{"name":"GnistAI","url":"https://gnist.ai"}},"servers":[{"url":"https://context.gnist.ai","description":"Production"}],"paths":{"/rest/news-intelligence/search_news":{"post":{"tags":["Media"],"summary":"search_news","description":"Search news across GDELT (global media, 150+ countries) and Hacker News (tech community) in parallel.\n\nQueries both sources concurrently, normalizes articles into a unified format,\nand deduplicates by URL when the same story appears in both sources.\n\nExamples:\n    search_news(query=\"artificial intelligence\")\n    search_news(query=\"climate change\", timespan=\"7d\", source_country=\"US\")\n    search_news(query=\"Norway oil\", source_lang=\"Norwegian\")","operationId":"news_intelligence_search_news","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"query":{"description":"Search query for news articles.","type":"string"},"timespan":{"default":"24h","description":"GDELT time window (e.g. '24h', '7d', '3m').","type":"string"},"max_results":{"default":25,"description":"Max articles to return.","type":"integer"},"source_country":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Filter GDELT by source country code."},"source_lang":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Filter GDELT by source language code."}},"required":["query"],"type":"object"}}}}}},"/rest/news-intelligence/get_trending_stories":{"post":{"tags":["Media"],"summary":"get_trending_stories","description":"Get trending tech and startup stories from Hacker News.\n\nReturns stories sorted by engagement (points) from the specified time window.\nGreat for monitoring what the tech community is discussing right now.\n\nExamples:\n    get_trending_stories()\n    get_trending_stories(hours_ago=6, min_points=50)\n    get_trending_stories(hours_ago=168, min_points=100, max_results=10)","operationId":"news_intelligence_get_trending_stories","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"hours_ago":{"default":24,"description":"Lookback window in hours.","type":"integer"},"min_points":{"default":10,"description":"Minimum points threshold.","type":"integer"},"max_results":{"default":25,"description":"Max stories to return.","type":"integer"}},"type":"object"}}}}}},"/rest/news-intelligence/get_news_sentiment":{"post":{"tags":["Media"],"summary":"get_news_sentiment","description":"Get media sentiment timeline for a topic from global news sources (GDELT).\n\nReturns tone values (-100 to +100) over time. Negative values indicate\nnegative coverage, positive values indicate positive coverage.\n\nExamples:\n    get_news_sentiment(query=\"Tesla\")\n    get_news_sentiment(query=\"Norway economy\", timespan=\"3m\")\n    get_news_sentiment(query=\"OpenAI\", timespan=\"30d\", smooth=5)","operationId":"news_intelligence_get_news_sentiment","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"query":{"description":"Topic to analyze sentiment for.","type":"string"},"timespan":{"default":"7d","description":"Time window (e.g. '24h', '7d', '3m').","type":"string"},"smooth":{"default":0,"description":"Smoothing factor for timeline.","type":"integer"}},"required":["query"],"type":"object"}}}}}},"/rest/news-intelligence/get_news_coverage":{"post":{"tags":["Media"],"summary":"get_news_coverage","description":"Get media coverage volume timeline for a topic from global news sources (GDELT).\n\nReturns the volume of articles published over time, useful for detecting\nwhen a topic spikes in media attention.\n\nExamples:\n    get_news_coverage(query=\"Bitcoin\")\n    get_news_coverage(query=\"climate summit\", timespan=\"30d\")\n    get_news_coverage(query=\"election\", timespan=\"3m\", smooth=3)","operationId":"news_intelligence_get_news_coverage","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"query":{"description":"Topic to measure coverage for.","type":"string"},"timespan":{"default":"7d","description":"Time window (e.g. '24h', '7d', '3m').","type":"string"},"smooth":{"default":0,"description":"Smoothing factor for timeline.","type":"integer"}},"required":["query"],"type":"object"}}}}}},"/rest/news-intelligence/get_news_geography":{"post":{"tags":["Media"],"summary":"get_news_geography","description":"Get geographic breakdown of media coverage for a topic from GDELT.\n\nShows which countries' media are covering a topic and their relative volume.\nUseful for understanding the geographic spread of news coverage.\n\nExamples:\n    get_news_geography(query=\"Ukraine\")\n    get_news_geography(query=\"oil prices\", timespan=\"7d\")\n    get_news_geography(query=\"artificial intelligence\", timespan=\"3m\")","operationId":"news_intelligence_get_news_geography","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"query":{"description":"Topic to analyze geographic coverage for.","type":"string"},"timespan":{"default":"24h","description":"Time window (e.g. '24h', '7d', '3m').","type":"string"}},"required":["query"],"type":"object"}}}}}},"/rest/news-intelligence/list_news_intelligence_sources":{"post":{"tags":["Media"],"summary":"list_news_intelligence_sources","description":"List all news intelligence data sources, their coverage, and data types.\n\nShows which news databases and community platforms are queried\nduring news intelligence operations.\n\nExamples:\n    list_news_intelligence_sources()","operationId":"news_intelligence_list_news_intelligence_sources","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}]}},"/rest/news-intelligence/report_feedback":{"post":{"tags":["Media"],"summary":"report_feedback","description":"Report a bug, feature request, or general feedback for this data source.\n\nUse this when something doesn't work as expected, when you'd like\na new feature, or when you have suggestions for improvement.\n\nArgs:\n    feedback: Describe the issue or suggestion.\n    feedback_type: One of 'bug', 'feature_request', or 'general'.","operationId":"news_intelligence_report_feedback","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"feedback":{"type":"string"},"feedback_type":{"default":"general","type":"string"}},"required":["feedback"],"type":"object"}}}}}}},"tags":[{"name":"Media","description":"Data sources: Media"}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","in":"header","name":"gnist-api-key","description":"API key passed via request header."},"ApiKeyQuery":{"type":"apiKey","in":"query","name":"gnist_api_key","description":"API key passed via query parameter."}}}}