# io.github.lnanology/xfinlab

> Financial intelligence for AI agents: market events, sentiment, technicals, news feed.

- name: io.github.lnanology/xfinlab
- version: 1.0.1
- connection class: R1 (autonomous)
- trust: 97/100
- quality: 86/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.lnanology%2Fxfinlab
- tools: https://api.protogrid.dev/v1/servers/io.github.lnanology%2Fxfinlab/tools

**An agent can connect on its own if it already holds `X_API_KEY`, `X_API_KEY`.** Remote endpoint behind a static API key or header. The registry never sees the value; the agent fills the placeholder.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "xfinlab": {
      "type": "http",
      "url": "https://api.xfinlab.com/api/mcp",
      "headers": {
        "X-API-Key": "${X_API_KEY}",
        "Authorization": "${X_API_KEY}"
      }
    }
  }
}
```

Placeholders to fill: `${X_API_KEY}`, `${X_API_KEY}`.

## Trust

- hygiene: 100
- liveness: 100
- freshness: 100
- provenance: 90
- drivers: +repository +namespace-matches-repo +website +reachable +uptime-100% +updated-12d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 86/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 6 of 6 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 1,884 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 75 (weight 15)

- warn `stability.changes`: 6 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 6, about 1,884 tokens to load them all
- tool set hash: 4fd961422b2a9696fd39b7072c3f7cc4
- tools last changed: 2026-10-15T04:04:45.401Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.lnanology/xfinlab.svg)](https://protogrid.dev/servers/io.github.lnanology/xfinlab)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-15 `get_fundamentals_as_of` added
  - Point-in-time company fundamentals (fundamentals_as_of): what an investor could actually have known about a US-listed company on a given date. For a symbol and an as_of date (YYYY-MM-DD) it returns the annual SEC 10-K figures (revenue, net income, diluted EPS, total assets, total liabilities, operating cash flow) that had already been filed and were available by that date, each with the period it describes (data_time) and the SEC filing date (publication_time). Later restatements are never leaked back into an earlier date, which avoids look-ahead bias in backtests and research. Fields with no data public by that date are listed in unavailable_fields, never filled with zeros. Also returns source, quality and limitations. US SEC filers, annual data only; not investment advice.
- 2026-10-08 `get_global_market_map` changed (annotations)
- 2026-10-08 `get_intelligence_feed` changed (annotations)
- 2026-10-08 `get_technical_analysis` changed (annotations)
- 2026-10-08 `get_sentiment` changed (annotations)
- 2026-10-08 `get_market_events` changed (annotations)

Full history: https://api.protogrid.dev/v1/servers/io.github.lnanology%2Fxfinlab/changes

## Remotes

- https://api.xfinlab.com/api/mcp (streamable-http, auth api_key ${X_API_KEY}, reachable true, uptime30d 1)

## Packages

_none_

## Tools (6)

- `get_fundamentals_as_of`: Point-in-time company fundamentals (fundamentals_as_of): what an investor could actually have known about a US-listed company on a given date. For a symbol and an as_of date (YYYY-MM-DD) it returns the annual SEC 10-K figures (revenue, net income, diluted EPS, total assets, total liabilities, operating cash flow) that had already been filed and were available by that date, each with the period it describes (data_time) and the SEC filing date (publication_time). Later restatements are never leaked back into an earlier date, which avoids look-ahead bias in backtests and research. Fields with no data public by that date are listed in unavailable_fields, never filled with zeros. Also returns source, quality and limitations. US SEC filers, annual data only; not investment advice.
- `get_global_market_map`: Get a cross-region global market snapshot ('World Engine'): macro indicators (GDP growth/inflation/unemployment, with source attribution -- world_bank/fred/ecb), filtered regional headlines, and FinBERT sentiment for each requested region, plus a top-level global headlines feed (GDELT). Regions: us, europe, japan, korea, china, hk, tw, sea, me, latam. No AI narrative, no directional signal -- structured real data only.
- `get_intelligence_feed`: Get AI-structured event clusters from recent news: same-story headline clusters with entity/sentiment/quant-context fields and an AI-written narrative summary. Optionally scoped to one ticker; otherwise returns the latest cross-market feed. This is structured fact extraction, not republished article text, and never includes a directional trading signal or probability estimate.
- `get_market_events`: Get recent market/company news headlines from XFINLAB's aggregated real-time news feed (RSS-sourced, deduplicated). Optionally filter by ticker/company name. Returns title, source, kind, published_at, url for each item -- no article body text.
- `get_sentiment`: Get FinBERT-based sentiment analysis of recent headlines for a ticker. Returns per-headline label/confidence/score plus an average score. Real model inference, not a fabricated estimate.
- `get_technical_analysis`: Get confluence direction/confidence, trend, MACD, volume, chart patterns, and market-structure signals (BOS/CHOCH/liquidity-sweep/order-flow/volume-profile/institutional-footprint) for one ticker, computed from real OHLC price data -- the same engine that powers XFINLAB's chart-analysis and ai-analysis pages.
