MCP server for GridNews — market news, press releases, and sentiment for AI agents.
Gives any MCP-capable assistant the latest market coverage: article search across thousands of sources, per-ticker news with an aggregate sentiment reading, primary-source wire releases, and trending topic clusters.
Requires Node.js 20+ and a GridNews API key. get_topics works without a key;
every other tool needs one.
claude mcp add gridnews --env GRIDNEWS_API_KEY=your_key -- npx -y @gridnews/mcpAdd to claude_desktop_config.json:
{
"mcpServers": {
"gridnews": {
"command": "npx",
"args": ["-y", "@gridnews/mcp"],
"env": { "GRIDNEWS_API_KEY": "your_key" }
}
}
}Add to .cursor/mcp.json:
{
"mcpServers": {
"gridnews": {
"command": "npx",
"args": ["-y", "@gridnews/mcp"],
"env": { "GRIDNEWS_API_KEY": "your_key" }
}
}
}codex mcp add gridnews --env GRIDNEWS_API_KEY=your_key -- npx -y @gridnews/mcpAdd to ~/.gemini/settings.json:
{
"mcpServers": {
"gridnews": {
"command": "npx",
"args": ["-y", "@gridnews/mcp"],
"env": { "GRIDNEWS_API_KEY": "your_key" }
}
}
}| Variable | Default | Purpose |
|---|---|---|
GRIDNEWS_API_KEY |
— | Your API key. Required for everything except get_topics. |
GRIDNEWS_BASE_URL |
https://api.gridnews.io |
Override the API host. |
GRIDNEWS_TIMEOUT_MS |
30000 |
Per-request timeout. Raise it if you use get_symbol_sentiment heavily. |
| Tool | Purpose | Minimum tier |
|---|---|---|
search_news |
Search articles and press releases by text, symbol, source, date, sentiment, and quality | free (filters need basic) |
get_symbol_news |
Recent coverage for one ticker, plus an aggregate sentiment reading | free |
get_symbol_sentiment |
Sentiment analysis for a ticker over a timeframe, with its basis | pro |
list_press_releases |
Wire releases filtered by symbol, provider, company, and date | free |
list_sources |
The sources GridNews indexes, with ids for the sources filter |
free |
get_topics |
Trending topic clusters as keyword groups with article counts | none |
get_usage |
The key's tier, entitlements, and remaining daily quota | free |
GridNews gates features and history depth by tier. Rather than failing opaquely, the tools report what a call needs:
- A 403 names the required tier and the key's current one, so the agent can retry without the gated parameter instead of giving up.
- A 429 reports remaining quota and reset time, so the agent waits rather than looping.
- Results note when a tier's history window excluded older articles, so a thin result isn't mistaken for an absence of coverage.
get_usage explains any of these on demand.
npm install
npm run build
npm testThe test suite drives the built server over a real stdio MCP session against a stubbed API, so it covers protocol handshake, argument validation, HTTP serialization, formatting, and the tier/quota failure paths without needing a live key.
MIT