Skip to main content
Glama

Finnhub MCP by usefulapi

Server Details

Quotes, company profiles, fundamentals, earnings and IPO calendars, plus market and company news.

Ownership verified

The last two health checks of this connector failed. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.

If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.

Status
Unhealthy
Uptime
83.7% over 79 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0
ChatGPT
–
Claude
–

TDQS

A3.8/5.0

Scored across 15 tools

Disambiguation5/5

Each tool maps to a distinct Finnhub endpoint and resource+action, so boundaries are clear. The only near-overlap (finnhub_stock_symbols listing by exchange vs finnhub_symbol_search querying by name) is well-differentiated in the descriptions, and news variants (company vs market) and earnings variants (calendar vs surprises) are clearly separated.

Naming Consistency5/5

All 15 tools follow a strict finnhub_<resource>_<noun> snake_case pattern. Naming is entirely predictable and readable, with no style drift.

Tool Count5/5

15 tools sit comfortably in the well-scoped range for a market-data API surface. Each tool covers a distinct data domain with no filler.

Completeness4/5

The surface covers quotes, financials, profiles, news, earnings, insider activity, IPO, market status, peers, price targets, recommendations and symbol lookup — a strong lifecycle for market data. Minor gaps remain (historical OHLC/candles, technical indicators, dividends/splits), but core reference and quote workflows are covered.

Available Tools

15 tools
finnhub_basic_financialsBasic financialsB
Read-only
Inspect

Key financial metrics for a company — valuation, margins, growth, per-share and 52-week ratios. Finnhub REST: GET /stock/metric.

NameRequiredDescriptionDefault
metricNoMetric group to fetch — 'all' (default) returns every available metric.
symbolYesStock ticker symbol, e.g. 'AAPL' (required).

TDQS

B3.4/5.0
Behavior3/5

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

The only annotation is readOnlyHint=true, so safety is covered, and the description sensibly adds the upstream REST endpoint (GET /stock/metric) as provenance context. It says nothing about rate limits, symbol validity handling, or the shape/coverage of the returned metric set, which is a modest gap for a data-fetch 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?

Two compact clauses: the content summary first, the endpoint second. No filler, no restatement of the title, and the most decision-relevant information is front-loaded.

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 two-parameter read-only endpoint with 100% schema coverage and no output schema, the definition covers purpose, content, and provenance adequately. Mentioning the categories partially compensates for the absent output schema, though it still does not describe how metrics are organized in the response.

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% — both 'symbol' (required, with an AAPL example) and 'metric' (default 'all') are fully documented in the schema. The description adds no parameter-level detail beyond what the schema already provides, so the baseline 3 applies.

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

Purpose4/5

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

The description names a specific resource (company key financial metrics) and enumerates the content categories — valuation, margins, growth, per-share, 52-week ratios — plus the exact REST route. It is clearly distinguishable from quote or company_profile by content, though it never explicitly contrasts itself with those siblings.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no named alternative. Use must be inferred purely from the tool name and the metric categories listed, which leaves an agent guessing between this and siblings like finnhub_company_profile or finnhub_quote.

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

finnhub_company_newsCompany newsB
Read-only
Inspect

Latest company news for a symbol over a date range (up to 1 year back). Finnhub REST: GET /company-news.

NameRequiredDescriptionDefault
toYesEnd date, yyyy-mm-dd (required).
fromYesStart date, yyyy-mm-dd (required).
symbolYesStock ticker symbol, e.g. 'AAPL' (required).

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, covering the safety profile. The description adds the meaningful temporal constraint 'up to 1 year back' and names the underlying REST endpoint, but it does not disclose rate limits, authentication requirements, pagination, or the shape of returned news items.

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 short sentences with zero filler; the core purpose and temporal limitation are front-loaded before the REST endpoint reference. Every element earns its place.

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 read-only, three-parameter tool with complete schema coverage and no output schema, the description supplies the purpose, date-range scope, and endpoint needed to invoke it correctly. It could still mention what the news payload contains or how results are ordered, but the essentials are covered.

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%, and the schema itself documents symbol, from, and to with formats and patterns. The description adds no syntax or format detail beyond what the schema provides, so the baseline of 3 applies.

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

Purpose4/5

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

The description states a specific verb (retrieve news), resource (company news), and scope (for a symbol over a date range, up to 1 year back), which is clear and actionable. It implicitly distinguishes itself from finnhub_market_news by requiring a symbol, but never names the sibling alternative explicitly, keeping it short of a 5.

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

Usage Guidelines2/5

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

The description gives no explicit when-to-use or when-not-to-use guidance and never names the obvious alternative, finnhub_market_news. The requirement of a symbol is a weak implicit hint that this is company-specific rather than general market news, but nothing routes the agent between the two tools.

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

finnhub_company_profileCompany profileA
Read-only
Inspect

General company profile — name, country, currency, exchange, industry, market cap, share outstanding, IPO date, logo and more. Provide at least one of symbol, isin or cusip. Finnhub REST: GET /stock/profile2.

NameRequiredDescriptionDefault
isinNoISIN identifier (use instead of symbol/cusip).
cusipNoCUSIP identifier (use instead of symbol/isin).
symbolNoStock ticker symbol, e.g. 'AAPL'.

TDQS

A3.9/5.0
Behavior4/5

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

With readOnlyHint=true already declaring the safety profile, the description adds the upstream REST endpoint (GET /stock/profile2) and enumerates the returned payload, which is valuable given there is no output schema. It still omits any note on identifier resolution behaviour or error cases when an identifier matches nothing.

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 compact sentences: what it returns, the identifier requirement, and the backing endpoint. The resource and identifier constraint are front-loaded, and nothing is padding.

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 read-only lookup with no output schema, the description covers the returned fields and the required identifier input, which is enough to call it correctly. Minor gaps remain around behaviour when multiple or zero matches occur, but the essentials are present.

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?

Schema coverage is 100%, so the baseline is 3, but the description adds a real constraint the schema does not encode: required is empty, yet the tool needs at least one of symbol/isin/cusip, and the description says so explicitly. That prevents an agent from calling it with no arguments.

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

Purpose4/5

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

States a specific resource (company profile) and enumerates the fields it returns — name, country, currency, exchange, industry, market cap, shares outstanding, IPO date, logo — which separates it from finnhub_quote and finnhub_basic_financials without naming them. It is clear what the tool is, though it never explicitly contrasts itself with those siblings.

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

Usage Guidelines3/5

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

The description gives a usage constraint ('provide at least one of symbol, isin or cusip') but offers no guidance on when to pick this tool over finnhub_basic_financials, finnhub_symbol_search or finnhub_quote. Usage is implied by the field list rather than stated.

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

finnhub_earnings_calendarEarnings calendarA
Read-only
Inspect

Upcoming and historical earnings release calendar, optionally filtered by date range and/or symbol. Finnhub REST: GET /calendar/earnings.

NameRequiredDescriptionDefault
toNoEnd date, yyyy-mm-dd (optional).
fromNoStart date, yyyy-mm-dd (optional).
symbolNoFilter the calendar to a single symbol, e.g. 'AAPL'.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds the useful scope that results include both upcoming and historical releases, but omits return format, pagination, or rate-limit/auth behavior.

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 tightly written sentences; the core resource and scope are front-loaded before the optional filter detail and source endpoint. No wasted language.

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 read-only calendar endpoint with full schema coverage and annotations, the description supplies enough to invoke correctly. It stops short of describing default behavior when no filters are supplied or any facets of the returned calendar entries, which is a minor gap given the absence of an output schema.

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 schema already documents the from, to, and symbol parameters with format and examples. The description only restates that filtering is optional and by date range/symbol, adding no syntax or constraint detail 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?

Names the specific resource (earnings release calendar) and its temporal scope (upcoming and historical), which distinguishes it from siblings like finnhub_earnings_surprises and finnhub_ipo_calendar without needing the schema.

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

Usage Guidelines3/5

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

The description implies usage for retrieving earnings dates and mentions optional date/symbol filters, but does not state when to use this tool versus alternatives such as finnhub_earnings_surprises or finnhub_ipo_calendar, nor any exclusions.

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

finnhub_earnings_surprisesEarnings surprisesB
Read-only
Inspect

Historical quarterly EPS surprises — actual vs. estimated EPS by period. Finnhub REST: GET /stock/earnings.

NameRequiredDescriptionDefault
limitNoLimit the number of periods returned (most recent first).
symbolYesStock ticker symbol, e.g. 'AAPL' (required).

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds that data is historical/quarterly and gives the backing REST endpoint (GET /stock/earnings), which is modest extra context, but it says nothing about ordering guarantees beyond what the schema's limit param implies, rate limits, or coverage/emptiness behavior.

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?

Two short sentences, front-loaded with the data scope. The REST endpoint fragment is arguably redundant for an agent but is brief and harmless; nothing else is wasted.

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 two-parameter read tool with full schema coverage and a readOnly annotation, the description plus schema is nearly sufficient. The only real gap is that no output schema exists and the description only loosely sketches the return shape ('actual vs. estimated EPS by period'), and it omits sibling differentiation.

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 both 'symbol' and 'limit' are already well documented (ticker example, most-recent-first ordering, bounds). The description adds no meaning beyond that, which is the expected baseline when the schema carries the load.

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

Purpose4/5

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

States a specific verb+resource: 'Historical quarterly EPS surprises — actual vs. estimated EPS by period.' It is clear what data comes back, but it never names or contrasts itself with the closest sibling, finnhub_earnings_calendar, so the agent must infer the difference between historical surprises and an earnings calendar.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance, no exclusions, and no mention of alternatives. The word 'Historical' implies past-data lookups, but nothing tells the agent when to prefer this over finnhub_earnings_calendar or finnhub_basic_financials.

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

finnhub_insider_transactionsInsider transactionsA
Read-only
Inspect

Insider transactions (Form 3/4/5 filings) for a company, optionally within a date range. Finnhub REST: GET /stock/insider-transactions.

NameRequiredDescriptionDefault
toNoEnd date, yyyy-mm-dd (optional).
fromNoStart date, yyyy-mm-dd (optional).
symbolYesStock ticker symbol, e.g. 'AAPL' (required).

TDQS

A3.5/5.0
Behavior3/5

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

readOnlyHint=true already establishes the safe-read profile, and the description reinforces it by naming the underlying GET endpoint, which signals a non-mutating fetch. It says nothing about result limits, pagination, or what a returned filing record contains, so behavioral value beyond the annotation is modest.

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?

Two short sentences, with the purpose front-loaded before the optional date-range and endpoint details. Efficient, though the REST endpoint citation is the one element that does not meaningfully help an agent decide or invoke.

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 low-complexity, read-only, single-required-param tool with full schema coverage and annotations covering safety, the description is nearly sufficient. The remaining gap is that without an output schema it never characterizes the returned filings, but that is a minor omission here.

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% and already documents symbol (with example) and the from/to dates including their yyyy-mm-dd format. The description only restates the optional date-range notion, adding no syntax or semantics the schema lacks, so the baseline 3 applies.

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

Purpose4/5

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

Names a specific resource (insider transactions) scoped to a company, and elaborates with the SEC form types (Form 3/4/5) that qualify the data, which an agent can map to a concrete dataset. No sibling tool covers insider filings, so differentiation is implicit rather than stated, keeping it short of a 5.

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

Usage Guidelines3/5

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

"optionally within a date range" gives an implied usage context, but there is no explicit when-to-use, when-not-to-use, or named alternative (e.g. company_news or company_profile). The agent can infer the scenario but must supply the routing logic itself.

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

finnhub_ipo_calendarIPO calendarA
Read-only
Inspect

IPO calendar for a date range — upcoming and recent initial public offerings. Finnhub REST: GET /calendar/ipo.

NameRequiredDescriptionDefault
toYesEnd date, yyyy-mm-dd (required).
fromYesStart date, yyyy-mm-dd (required).

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so safety is covered. The description usefully adds that coverage spans both upcoming and recent IPOs (forward- and backward-looking) and names the upstream Finnhub endpoint, but says nothing about pagination, result volume, or rate limits.

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 compact clauses with the resource front-loaded and the data scope immediately after; the REST endpoint hint is a single trailing token. Nothing is wasted.

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 two-parameter read tool with no output schema and readOnlyHint already declared, the description supplies what an agent needs to invoke it: subject matter, temporal scope, and endpoint. Only minor gaps remain around result shape and any range limits.

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% — both 'from' and 'to' are documented with format and required status. The description's 'for a date range' adds no syntax or boundary detail (e.g. max span, inclusive/exclusive endings) beyond the schema, so baseline 3 applies.

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

Purpose4/5

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

States a specific resource (IPO calendar) and scope (date range, upcoming and recent IPOs), which is easy to separate from finnhub_earnings_calendar and other siblings by name. It stops short of explicitly contrasting itself with the earnings calendar, but the resource is unambiguous.

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

Usage Guidelines3/5

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

Usage is only implied — an agent can infer this is for retrieving IPO listings over a window, but the description names no alternatives, prerequisites, or conditions for choosing it over the earnings calendar. No when-not guidance is given.

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

finnhub_market_newsMarket newsB
Read-only
Inspect

General latest market news by category. Finnhub REST: GET /news.

NameRequiredDescriptionDefault
minIdNoOnly return news with an id greater than this (pagination).
categoryNoNews category — 'general' (default), 'forex', 'crypto' or 'merger'.

TDQS

B3.2/5.0
Behavior3/5

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

readOnlyHint=true already tells the agent this is a safe read. The description adds only the upstream REST mapping (GET /news) and nothing about pagination behavior, rate limits, or result freshness, so it contributes little beyond the annotation.

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?

Two short, front-loaded sentences with no filler. The Finnhub endpoint sentence is arguably redundant metadata, but the whole description is compact and readable.

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?

For a zero-required-parameter read tool with a fully documented schema and no output schema, the description covers the essentials. It omits any note about the shape of returned news items or pagination workflow, which would help an agent consume results.

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%, so both minId (pagination) and the category enum are fully documented in the schema. The description's 'by category' merely restates the schema; baseline 3 applies.

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

Purpose4/5

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

States a specific verb+resource: returns latest general market news, filterable by category. The word 'general' implicitly distinguishes it from finnhub_company_news, but the sibling is never named, so an agent must infer the boundary.

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

Usage Guidelines2/5

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

No when-to-use guidance, no exclusions, and no reference to the alternative finnhub_company_news for company-specific headlines. The category mention hints at filtering but does not state conditions for selecting this tool.

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

finnhub_market_statusMarket statusB
Read-only
Inspect

Current market open/closed status and session for an exchange. Finnhub REST: GET /stock/market-status.

NameRequiredDescriptionDefault
exchangeYesExchange code, e.g. 'US' (required).

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds the REST endpoint (GET /stock/market-status), which reinforces read-only behavior but does not disclose rate limits, auth needs, or return format. With annotations doing heavy lifting, a 3 is appropriate.

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 with zero waste. The purpose is front-loaded, and the REST endpoint detail is a compact, useful addition for developers.

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 read-only tool with one parameter and no output schema, the description adequately covers what the tool returns (open/closed status and session). It could optionally mention response details or auth, but is largely complete.

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% for the single 'exchange' parameter, so the schema already documents its meaning and example. The description adds no additional parameter semantics beyond what the schema provides, making the baseline 3 correct.

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

Purpose4/5

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

The description states a specific verb+resource: 'current market open/closed status and session for an exchange.' It is clear what the tool returns, but it does not explicitly differentiate itself from any sibling (e.g., by naming an alternative tool), so it falls short of the top score.

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

Usage Guidelines2/5

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

The description gives no when-to-use guidance, no exclusions, and no alternatives. While the purpose implies its usage, there is no explicit context about when an agent should call this tool versus others.

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

finnhub_peersCompany peersA
Read-only
Inspect

Peer companies for a symbol (same country and GICS sub-industry). Finnhub REST: GET /stock/peers.

NameRequiredDescriptionDefault
symbolYesStock ticker symbol, e.g. 'AAPL' (required).
groupingNoPeer grouping criterion, e.g. 'sector', 'industry' or 'subIndustry' (default).

TDQS

A3.8/5.0
Behavior3/5

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

readOnlyHint=true already establishes the safety profile, so the description's contribution is the peer-selection rule (country + GICS sub-industry), which is genuinely useful context. It does not disclose whether the queried symbol is included in the result, ordering, or behavior for unknown symbols. The 'grouping' parameter also implies selectable criteria that the fixed description sentence does not reconcile.

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 short sentences, zero filler, with the resource and its scoping rule front-loaded and the REST provenance last. Nothing needs trimming.

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 two-parameter read tool with no output schema, annotations covering safety, and full schema coverage, the description is adequate. It could add a word on the returned peer list format or symbol treatment, but nothing essential for correct invocation is missing.

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 schema already documents both 'symbol' and 'grouping' at the baseline level. The description adds the underlying selection rule, but it also creates a mild tension: it fixes peers to sub-industry while 'grouping' accepts 'sector' and 'industry' without explanation.

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?

States a specific resource ('Peer companies for a symbol') plus the exact scoping rule ('same country and GICS sub-industry') and the upstream REST endpoint, which removes the main ambiguity of what 'peers' means. It is trivially distinguishable from siblings like finnhub_quote, finnhub_company_profile, or finnhub_recommendation_trends.

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

Usage Guidelines3/5

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

Usage is only implied: the scoping sentence tells the agent what the tool returns but never states when to prefer it over finnhub_company_profile or finnhub_recommendation_trends, nor any exclusions (e.g., unsupported exchanges or symbols). No explicit alternative or precondition is given.

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

finnhub_price_targetPrice targetA
Read-only
Inspect

Analyst price targets for a symbol — high / low / median / mean target. Note: this is a premium-tier Finnhub endpoint (may return 403 on the free plan). Finnhub REST: GET /stock/price-target.

NameRequiredDescriptionDefault
symbolYesStock ticker symbol, e.g. 'AAPL' (required).

TDQS

A4.1/5.0
Behavior4/5

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

readOnlyHint=true already covers the safety profile, so the bar is lower; the description adds genuinely useful context by disclosing the premium-tier restriction and likely 403 response, plus the underlying REST route. It stops short of return format or rate-limit detail, but the error behavior disclosure is the key operational fact here.

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, result fields front-loaded, caveat and endpoint appended with zero filler. Every clause earns its place.

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

Completeness5/5

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

No output schema exists, yet the description names the returned metrics, so the agent knows what to expect. Combined with the 403 caveat and the single fully-described parameter, nothing needed to call this tool correctly is missing.

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 a single well-documented 'symbol' parameter, so the schema carries the burden. The description adds nothing param-specific beyond implying the symbol is a ticker and 100% 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?

States the exact resource (analyst price targets for a symbol) and enumerates the returned metrics (high/low/median/mean target), which distinguishes it from the nearest sibling finnhub_recommendation_trends and from quote/profile tools. No ambiguity about what an agent gets back.

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

Usage Guidelines3/5

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

Provides a real usage caveat — the premium-tier 403 on the free plan — which helps an agent interpret failures. However, it never states when this tool is preferable to alternatives (e.g. recommendation trends) or what prerequisites apply, so usage selection remains implied.

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

finnhub_quoteReal-time quoteB
Read-only
Inspect

Real-time quote for a stock — current price (c), change (d), percent change (dp), high (h), low (l), open (o), previous close (pc) and unix timestamp (t). Finnhub REST: GET /quote.

NameRequiredDescriptionDefault
symbolYesStock ticker symbol, e.g. 'AAPL' (required).

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description's value-add is the return-field breakdown, which is genuinely useful behavioral context given there is no output schema. However, it discloses nothing about rate limits, data freshness/delay, or the REST endpoint's auth needs, keeping it at a minimum-viable level.

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 tight sentences; the purpose is front-loaded and the field list is compact and informative. No filler or redundant restatement of the name.

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 one-parameter read tool with no output schema, the description compensates well by enumerating the returned fields. Minor gaps remain, such as currency/units and whether the quote is delayed, but nothing essential to invoking it is missing.

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%, and the single symbol parameter is fully documented in the schema with an example ('AAPL'). The description adds no parameter syntax or format detail beyond what the schema already provides, so the baseline 3 applies.

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

Purpose4/5

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

States a specific resource ('real-time quote for a stock') and enumerates the exact return fields, so an agent knows precisely what this returns. It is clearly distinct from siblings like basic_financials or company_profile, though it does not explicitly name the differentiation.

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

Usage Guidelines2/5

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

There is no when-to-use guidance or mention of alternatives. With fifteen sibling tools, nothing tells the agent to reach for finnhub_quote versus basic_financials or price_target for valuation-style data. Usage is only implied by the name.

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

finnhub_stock_symbolsStock symbolsB
Read-only
Inspect

List all symbols supported on an exchange. Finnhub REST: GET /stock/symbol.

NameRequiredDescriptionDefault
micNoFilter by Market Identifier Code (MIC).
currencyNoFilter by trading currency, e.g. 'USD'.
exchangeYesExchange code, e.g. 'US' (required).
securityTypeNoFilter by security type, e.g. 'Common Stock'.

TDQS

B3.2/5.0
Behavior2/5

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

readOnlyHint=true already tells the agent this is a safe read, and the description adds only the underlying REST route (GET /stock/symbol), which doesn't change invocation behavior. Nothing is said about pagination, result size, rate limits, or the shape of what comes back — meaningful gaps for a symbol-enumeration endpoint.

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?

Two short sentences, purpose front-loaded, no filler. The trailing REST-route reference is marginally useful context but borders on noise for an agent that only needs the tool name.

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?

For a simple, read-only, 4-parameter endpoint with full schema coverage, the essential information is present. However, with no output schema the description should hint at the return format or volume, and it says nothing about result size or pagination for what could be a very large symbol list.

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 all four filters (mic, currency, exchange, securityType) are already documented in the schema with examples and the required flag. The description adds no additional parameter meaning, so the baseline of 3 applies.

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

Purpose4/5

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

States a specific verb and resource ('List all symbols supported on an exchange'), which is clearly an enumeration operation rather than a lookup. It is implicitly distinguishable from the sibling finnhub_symbol_search, but the description never names or contrasts with that sibling.

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

Usage Guidelines3/5

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

The phrase 'list all symbols supported on an exchange' implies you use this to enumerate an exchange's universe, but there is no explicit when-to-use, when-not-to-use, or named alternative (e.g. finnhub_symbol_search for name/lookup queries). Guidance is only inferable.

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Provides as-reported US equity fundamentals, live quotes, financial statements, valuation comps, and a screener from SEC filings, with per-cell filing provenance for citations.
    7
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Provides access to Yahoo Finance data including real-time stock quotes, historical prices, financial statements, company info, symbol search, and news.
    6
    51 npm
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.