Skip to content

Releases: cyanheads/finnhub-mcp-server

v0.1.4: Market data detail

Choose a tag to compare

@cyanheads cyanheads released this 31 Aug 02:45
v0.1.4
838b814

Market data detail

  • Quotes now return Finnhub session and holiday status while preserving priceIsLive (#2)
  • Earnings calendars support an optional symbol filter (#4)
  • News can return up to 100 articles from one fetched response (#5)

CHANGELOG v0.1.4

v0.1.3: Search symbol correctness and stateless configuration

Choose a tag to compare

@cyanheads cyanheads released this 30 Aug 21:52
v0.1.3
ae818bf

Search symbol correctness and stateless configuration

  • finnhub_search_symbols ranks .A and .B class shares as likely US while keeping endpoint responses authoritative. (#1)
  • finnhub_search_symbols.query rejects values above Finnhub's 20-character upstream limit. (#3)
  • MCP_SESSION_MODE examples explicitly select stateless; the source-level declaration remains pending cyanheads/mcp-ts-core#376. (#8)
  • Release metadata, plugin manifests, design documentation, and configuration checks are synchronized.
  • deps: @biomejs/biome 2.5.9 → 2.5.11; @types/node 26.2.0 → 26.4.0

CHANGELOG v0.1.3

v0.1.2: MCP SDK v2 adoption and supply-chain hardening

Choose a tag to compare

@cyanheads cyanheads released this 21 Aug 14:55
v0.1.2
e21dfe9

MCP SDK v2 adoption and supply-chain hardening

  • Framework 0.12.3 / MCP SDK v2: protocol revision 2026-07-28 served beside 2025-era clients, strict tool inputs, error-envelope output schemas
  • Missing-symbol errors return ValidationError instead of InvalidParams on get-earnings and get-news
  • Request-path fixes via upstream: fetch timeouts classify as Timeout, Retry-After honored, stalled response bodies abort
  • HTTP mode: no OAuth discovery when auth is off; dropped SSE streams replay on reconnect
  • Bun 1.4.0 images (native-arch build stage, --omit=peer), supply-chain install guard, TypeScript ^7.0.2
  • deps: @cyanheads/mcp-ts-core ^0.10.6 → ^0.12.3, typescript ^6.0.3 → ^7.0.2, @types/node 25.9.3 → 26.2.0 (+ biome/vitest/tsc-alias refresh)

CHANGELOG v0.1.2

v0.1.1: Enable MCP Registry publishing

Choose a tag to compare

@cyanheads cyanheads released this 14 Jun 10:16
b079b88

Enable MCP Registry publishing

Patch release adding the package.json mcpName field required for MCP Registry validation, completing the publish chain that 0.1.0 could not finish.

Fixed:

  • mcpName "io.github.cyanheads/finnhub-mcp-server" added to package.json

40 tests pass; bun run devcheck clean.

v0.1.0: Initial release — real-time US-equity market data via Finnhub

Choose a tag to compare

@cyanheads cyanheads released this 14 Jun 08:47
3ff385c

Initial release — real-time US-equity market data via Finnhub

First release of finnhub-mcp-server, built on @cyanheads/mcp-ts-core. Wraps the Finnhub REST API (v1): start from a company name, resolve it to a US ticker, then pull a live quote, company context, earnings, news, and analyst consensus. Free tier covers US equities only and requires a free FINNHUB_API_KEY.

Added:

  • finnhub_search_symbols — resolve a company name or partial ticker to US symbols, best US match first; each result carries isLikelyUS so an agent avoids spending a call on an unreachable international symbol.
  • finnhub_get_quote — real-time quote paired with /stock/market-status, so priceIsLive states whether the price is live or the prior close; all-zero sentinel surfaces as symbol_not_found.
  • finnhub_get_company — one-call company context (profile + fundamentals + peers); nullable fundamentals surfaced honestly, metrics/peers degrade to partial on sub-fetch failure.
  • finnhub_get_earnings — history (past quarters with surprise %) and calendar (upcoming releases in a date window) modes.
  • finnhub_get_news — company (one symbol over a date range) and market (headlines by category) modes.
  • finnhub_get_recommendations — analyst recommendation trends per month, newest first; empty coverage surfaces as no_coverage.
  • finnhub://news-categories resource — the four valid market-news categories.

The API key rides the token query parameter and is stripped from every thrown error and log line; a bad or missing key fails loud as ConfigurationError, never as 'no data'.

40 tests pass; bun run devcheck clean.