Skip to main content
Glama
gridnews

@gridnews/mcp

by gridnews

@gridnews/mcp

MCP server for GridNews — market news, press releases, and sentiment for AI agents.

Gives any MCP-capable assistant the latest market coverage: story clusters ranked by how many independent outlets corroborated them, article search across thousands of sources, per-ticker news with an aggregate sentiment reading, primary-source wire releases, and trending topic clusters.

Install

Requires Node.js 20+ and a GridNews API key. get_topics works without a key; every other tool needs one.

Claude Code

claude mcp add gridnews --env GRIDNEWS_API_KEY=your_key -- npx -y @gridnews/mcp

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "gridnews": {
      "command": "npx",
      "args": ["-y", "@gridnews/mcp"],
      "env": { "GRIDNEWS_API_KEY": "your_key" }
    }
  }
}

Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "gridnews": {
      "command": "npx",
      "args": ["-y", "@gridnews/mcp"],
      "env": { "GRIDNEWS_API_KEY": "your_key" }
    }
  }
}

OpenAI Codex

codex mcp add gridnews --env GRIDNEWS_API_KEY=your_key -- npx -y @gridnews/mcp

Gemini CLI

Add to ~/.gemini/settings.json:

{
  "mcpServers": {
    "gridnews": {
      "command": "npx",
      "args": ["-y", "@gridnews/mcp"],
      "env": { "GRIDNEWS_API_KEY": "your_key" }
    }
  }
}

Related MCP server: crypto-news-mcp

Configuration

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.

Tools

Tool

Purpose

Minimum tier

get_top_events

The biggest stories now, as clusters ranked by independent corroboration

free (filters need basic)

get_event_detail

Every outlet that carried one story, grouped by independent voice

free

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

Corroboration, not outlet count

get_top_events returns stories rather than documents, and reports two different numbers:

  • sourcesCount — how many outlets carried the story. This is reach.

  • independent voices — how many of those were not republishing each other. This is the evidence.

They are usually not the same. Outlets that redistribute each other collapse into one voice, so a story on five outlets all running the same wire copy is one voice, not five. Where an outlet was carrying someone else's copy, the tool marks it inline:

2 independent voices across 4 outlets · 4 filings · impact 1.47
- Wall Street Journal: https://wsj.com/...
- Dow Jones [carrying wall-street-journal]: https://morningstar.com/...
- GuruFocus: https://gurufocus.com/...

A press release is always a single voice however many wires carried it — one issuer announcing itself is not confirmation.

Pass minVoices: 2 for corroborated stories only. There is no default: single-voice clusters are real distribution records and are not hidden, they just rank last.

Tier behaviour

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.

Development

npm install
npm run build
npm test

The 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.

License

MIT

Available Tools

9 tools
get_event_detailGet one story clusterA

Every outlet that carried one story, grouped by independent voice, with the signal that matched each into the cluster. Use it to check how well-corroborated a story actually is before repeating it, and to cite the original reporting. Event ids are not permanent — clusters are rebuilt as the rules change, so re-resolve from get_top_events rather than storing ids.

ParametersJSON Schema
NameRequiredDescriptionDefault
event_idYesEvent id from get_top_events.

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full behavioral burden. It explains that clusters are rebuilt and IDs are not permanent, which is a key behavioral trait. However, it does not explicitly state that the operation is read-only or disclose any constraints like rate limits, permissions, or how the tool handles missing/invalid IDs. The implied read nature from the purpose is insufficient for maximum transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficient at three sentences, but the first sentence ('Every outlet that carried one story, grouped by independent voice, with the signal that matched each into the cluster') is slightly convoluted and could be streamlined. The remaining sentences are clear and front-loaded with usage guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has only one parameter, no output schema, and simple scope, the description adequately covers what the tool returns (outlets grouped by voice with signals) and provides usage context. It could be more complete by specifying if there are limits or pagination, but the current description suffices for an uncomplicated tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already describes event_id with 100% coverage. The description adds critical semantic nuance: that event IDs are not permanent and must be re-resolved from get_top_events, going beyond the schema's static description. This extra context helps the agent understand the parameter's lifecycle and proper usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns every outlet that carried a story, grouped by independent voice with matching signals, and explicitly defines its use case: checking corroboration and citing original reporting. The title 'Get one story cluster' aligns and distinguishes it from siblings like get_top_events.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use the tool ('to check how well-corroborated a story actually is before repeating it, and to cite the original reporting') and provides critical guidance that event ids are not permanent, advising to re-resolve from get_top_events rather than storing IDs. This effectively differentiates it from siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_symbol_newsGet news for a tickerA

Recent news and press releases for a single ticker symbol, plus an aggregate sentiment reading across the recent coverage. Use this when the question is about one company; use search_news when it spans several or needs free-text matching.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoResults to return. Clamped by tier.
symbolYesTicker symbol, e.g. 'AAPL'.
sentimentNoOnly return articles with this sentiment. Requires pro tier or above.
includePressReleasesNoInclude press releases. Default true.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden and adds meaningful behavioral context: it mentions the aggregate sentiment reading and that it returns recent coverage. It doesn't disclose all possible limitations or return format, but for a read-only news tool the key behaviors are covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the main function and immediately followed by usage guidance. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description gives a sufficient overview of the return content (news, press releases, sentiment score) and provides usage context. All parameters are documented in the schema, but it doesn't mention tier restrictions for sentiment filtering (though this is in the schema). Overall, well-rounded for a simple retrieval tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with all four parameters fully described (limit, symbol, sentiment, includePressReleases). The description adds no extra parameter-specific semantics beyond what the schema already provides, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves recent news and press releases for a single ticker symbol, including an aggregate sentiment reading. It explicitly distinguishes this from search_news, which handles multiple companies or free-text matching.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides an explicit directive: 'Use this when the question is about one company; use search_news when it spans several or needs free-text matching.' This is a strong when-to-use vs. alternative-guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_symbol_sentimentAnalyse sentiment for a tickerA

Deeper sentiment analysis for one ticker over a timeframe, with a positive/negative/neutral breakdown and the basis it was computed from. Requires pro tier or above. Slower than the other tools because it analyses articles on demand. Check the 'not enough data' note before reporting a reading as meaningful.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesTicker symbol, e.g. 'AAPL'.
timeframeNoLookback window, e.g. '24h', '7d'. Default '24h'.
includeAnalysisNoInclude the longer-form written analysis. Default false.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses the tier requirement, performance characteristics (slower, on-demand computation), and a data-sufficiency caveat. This goes beyond a simple 'returns sentiment' statement and helps set expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with the core function front-loaded, followed by essential caveats. Every sentence adds value and there is no redundant repetition of the tool name or title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, but the description summarizes the key output components: sentiment breakdown, basis, and a data-quality note. It doesn't enumerate every field, but for a 3-param tool with a moderate output, this is adequate for selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides 100% coverage with descriptions for all three parameters. The tool description does not add additional meaning beyond the schema; it references the timeframe generically but doesn't elaborate on parameter syntax or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('analyse') and resource ('sentiment for one ticker'), and differentiates itself from sibling tools by mentioning the positive/negative/neutral breakdown and the basis. It is not a generic restatement of the name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit context: requires pro tier, slower than other tools due to on-demand article analysis, and advises checking the 'not enough data' note. It lacks explicit exclusions or named alternatives, but the caveats give practical guidance for when to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_top_eventsGet top story clustersA

The biggest stories right now, as clusters of coverage rather than individual articles. Prefer this over search_news for open-ended questions like 'what is happening in the markets' — it ranks by how many INDEPENDENT outlets corroborated a story, so it surfaces what matters rather than whatever was published most recently. Report the independent-voice count, not the outlet count: outlets that republish each other count once, and a press release is a single issuer however many wires carried it.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number. Default 1.
typeNo'article' for journalism, 'press_release' for company announcements off the wires. Default: all.
hoursNoOnly events still active within this many hours. Default: all history the tier allows.
limitNoEvents to return. Default 10.
orderByNoSort order. Default -impactScore, which ranks corroborated stories first.
symbolsNoTicker symbols, e.g. ['AAPL']. Requires basic tier or above.
minVoicesNoMinimum independent voices. Pass 2 for corroborated stories only. No default — single-voice clusters are not hidden, they just rank last.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It explains the ranking logic (independent voices vs. outlets, press release treatment) but omits important behavioral details: pagination behavior, default handling of hours parameter, tier requirements for symbols, and return format. The description adds value but leaves gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, no wasted words. The opening sentence immediately states the purpose, followed by usage guidance and a key behavioral nuance. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (7 parameters, no output schema, no annotations), the description covers the core concept and usage guidance but lacks details on return structure, pagination, default behaviors (e.g., hours default), and tier restrictions. It is adequate but not fully complete for an agent to use without additional context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds conceptual context about independent-voice counting and ranking, which enriches understanding of minVoices and orderBy, but does not provide additional parameter-specific guidance beyond what the schema already states. No significant value added beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns 'the biggest stories right now, as clusters of coverage rather than individual articles.' It distinguishes itself from search_news for open-ended questions and explains the ranking by independent corroboration, making the purpose highly specific and actionable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly advises preferring this tool over search_news for open-ended questions, providing a clear alternative. However, it does not address other sibling tools like get_symbol_news or list_press_releases, nor does it specify when not to use this tool (e.g., for individual article lookups). The guidance is clear but narrowly scoped.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_topicsGet trending topicsA

Trending topic clusters across recent coverage, as keyword groups with article counts. Useful for answering 'what is the market talking about right now' without a specific query. Works without an API key.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of topics. Default server-side.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the transparency burden. It discloses the output shape, scope, and the lack of an API key requirement, which is useful. However, it omits potential behavioral details such as rate limits, sorting order, or the exact definition of 'recent', leaving room for uncertainty.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose, followed by a practical use case and a critical auth note. Every sentence adds value, with no redundant or filler content. It is concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one optional parameter and no output schema, the description provides enough context: it explains the result format, the use case, and the auth requirement. It could be more complete by explaining how the 'limit' parameter affects results or giving an example, but it is not seriously lacking.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides 100% coverage for the single 'limit' parameter, including a description. The tool description adds nothing beyond the schema, so it meets the baseline but provides no extra semantic value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the resource ('trending topic clusters'), scope ('recent coverage'), and output format ('keyword groups with article counts'). It distinguishes itself from siblings by emphasizing a query-free, market-level overview, in contrast to search_news or get_symbol_news.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use the tool: 'without a specific query' and for answering 'what is the market talking about right now'. This implies a contrast with query-based search tools, though it does not explicitly name alternatives, which keeps it just short of a perfect score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_usageCheck API key tier and quotaA

Report the configured API key's tier, feature entitlements, and remaining daily quota. Call this to explain a permission or rate-limit failure from another tool rather than guessing at the cause.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It implies a read-only reporting action, but does not explicitly state side-effect-free behavior, auth needs, or response format. The lack of any mutating language is a minimal indicator, but richer context would be helpful.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first states the primary function, second gives practical usage guidance. Every word earns its place, and it's front-loaded with the main action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless diagnostic tool, the description provides essential information: what it reports and when to use it. It lacks response structure details, but that's not critical for such a simple tool, and there's no output schema to fill the gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the schema is empty. Per the rubric, 0 params warrants a baseline of 4. The description adds no param details, but none are needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool reports the API key's tier, feature entitlements, and remaining daily quota. This specific verb+resource makes it distinct from sibling tools, which are all news/sentiment related.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs to call this tool to explain permission or rate-limit failures from other tools, providing a clear when-to-use scenario. It doesn't name alternatives, but siblings are clearly unrelated, so no exclusions are necessary.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_press_releasesList press releasesA

Company press releases straight off the wires (PR Newswire, GlobeNewswire, Business Wire and others), filterable by symbol, provider, company name, and date. Use this when the user specifically wants primary-source company announcements rather than journalism about them.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoISO date upper bound.
fromNoISO date lower bound.
pageNoPage number. Default 1.
limitNoResults per page.
symbolsNoTicker symbols to filter by.
companiesNoCompany-name filters. Each must be at least 3 characters.
providersNoWire providers, e.g. ['prnewswire','globenewswire','businesswire'].

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden. It discloses the wire-source nature and aggregation from multiple providers, but does not mention response format, pagination behavior, sorting, or any access limitations. This is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose and provider context, followed by a concise usage directive. Every word earns its place; no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose, sources, filters, and use case, but with no output schema or annotations, it omits the return shape, pagination, and default ordering. For a list tool with 7 optional parameters, a bit more detail on result behavior would be valuable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds no parameter syntax or format details beyond restating that filtering is by symbol, provider, company, and date, all already captured in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses a specific verb ('list') and concrete resource ('company press releases straight off the wires'), naming providers and filterable dimensions. It also distinguishes itself from journalistic news content, aligning with sibling search_news/get_symbol_news.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use: when the user wants primary-source company announcements rather than journalism. It does not name a specific alternative tool (e.g., search_news), but the 'rather than journalism' clause gives clear directional guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_sourcesList available news sourcesA

List the news sources GridNews indexes, with their ids. Call this before using the sources filter on search_news so you filter on ids that actually exist.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number. Default 1.
limitNoSources per page. Default 10.

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden for behavioral disclosure. It mentions output includes ids but does not explicitly state read-only status, pagination limits, or which sources are included. For a simple list tool, this is adequate but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, each earning its place: the first states the core purpose, the second adds critical usage guidance. No fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool, the description covers the purpose, a key usage context (filter validation), and hints at the response (with ids). Since no output schema is provided, a bit more detail on the exact response structure would be ideal, but it is sufficiently complete for likely agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already describes both page and limit with 100% coverage, including defaults and bounds. The description adds no parameter-specific information, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'List the news sources GridNews indexes, with their ids,' using a specific verb and resource. It clearly distinguishes itself from sibling tools like search_news by linking its purpose to the sources filter.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs the agent to 'Call this before using the sources filter on search_news' and explains the benefit (ensuring valid ids), providing clear when-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_newsSearch market newsA

Search GridNews for market news articles and press releases. The primary tool — use it for any question about what has happened in the markets, at a company, or in a sector. Filter by free text, ticker symbols, source, date range, sentiment, and quality score. Results are newest-first and reranked against the query. Cite the source URL for any claim you repeat.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoISO date upper bound.
fromNoISO date lower bound, e.g. '2026-08-01'. Capped by the key's tier history window.
pageNoPage number. Default 1.
limitNoResults per page. Clamped by tier (free 20, pro 50, enterprise 100).
queryNoFree-text search over headlines and article bodies.
sourcesNoSource ids or names to restrict to, e.g. ['reuters']. Partial matches work; each needs 3+ characters. Use list_sources to discover them. Requires basic tier or above.
symbolsNoTicker symbols, e.g. ['AAPL','TSLA']. Requires basic tier or above.
sentimentNoOnly return articles with this sentiment. Requires pro tier or above.
maxQualityNoMaximum quality score, 0-1.
minQualityNoMinimum quality score, 0-1. 0.6+ filters out most low-signal wire noise.
includePressReleasesNoInclude press releases alongside articles. Default true.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full transparency burden. It discloses ordering behavior ('newest-first and reranked against the query') and implies output includes source URLs ('Cite the source URL for any claim you repeat'). It does not explicitly state read-only safety, but 'search' implies no mutation, and this is sufficient for a read tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with no fluff: purpose, usage scope, and behavioral notes. All sentences earn their place, and the most critical info is front-loaded in the first two sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 11 params, no output schema, and no annotations, the description provides needed context: result type (articles/press releases), ordering, and source URL expectation. It does not explain pagination or tier restrictions, but those are already in the schema, so the description is complete enough for effective tool use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with each parameter described, so baseline is 3. The description lists filter categories (free text, ticker, source, date range, sentiment, quality score) but adds no semantics beyond what the schema already provides; it is a helpful summary but not additional detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opening sentence states a specific verb+resource: 'Search GridNews for market news articles and press releases.' It clearly defines the deliverable and distinguishes itself from siblings by positioning as 'The primary tool' for any market/company/sector event question, unlike specialized tools like get_symbol_news or list_press_releases.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs to use it 'for any question about what has happened in the markets, at a company, or in a sector,' giving clear when-to-use guidance. Does not name alternative tools as exclusions, but the primary-tool framing implies it as the default choice, so not a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updatesv0.2.0
    • Addedget_event_detail
    • Addedget_top_events
  2. 7 tool updatesv0.1.0
    • First observedget_symbol_news
    • First observedget_symbol_sentiment
    • First observedget_topics
    • First observedget_usage
    • First observedlist_press_releases
    • First observedlist_sources
    • First observedsearch_news

TDQS

A4.2/5.0

Scored across 9 tools

Disambiguation5/5

Each tool targets a distinct information need: general search, trending clusters, cluster details, per-symbol news, sentiment, press releases, source listing, topics, and usage. Descriptions clarify boundaries well, e.g., get_top_events vs. get_topics vs. search_news.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., search_news, get_top_events, list_sources). No mixing of styles or vague verbs.

Tool Count5/5

9 tools is ideal for a news/market data server. Each tool has a clear role without being overwhelming or too sparse.

Completeness4/5

Covers search, trending stories, per-symbol news, sentiment, press releases, and source management. Missing direct article content retrieval, but the focus on metadata and citing URLs is intentional and functional.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    MCP server that provides AI assistants access to stock market data including financial statements, stock prices, and market news through a Model Context Protocol interface.
    11
    2,299
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that provides real-time cryptocurrency news sourced from NewsData for AI agents.
    15
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that exposes real-time AI news intelligence to AI agents and MCP-compatible clients, with 9 deterministic tools for search, trending, signals, and risk analysis.
    Apache 2.0
  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server for real-time global intelligence, AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking, enabling agents and scripts to access curated news feeds, country instability indices, and market data.
    87,319
    AGPL 3.0