xfinlab
Server Details
Real-time market events, sentiment, and technical analysis as MCP tools, backed by real data.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- lnanology/Xfinlab
- GitHub Stars
- 0
Tool Definition Quality
Average 4.1/5 across 5 of 5 tools scored.
Tools are mostly distinct: one handles global macro snapshots, one provides AI news clusters, one gives raw headlines, one computes sentiment, and one computes technical analysis. Some overlap exists between the news-related tools and the sentiment embedded in the market map, but descriptions clarify the different scopes.
All five tools follow a consistent get_<descriptive_noun> naming pattern, making the tool surface predictable and easy to navigate. There are no mixed conventions or vague verbs.
Five tools is a well-scoped size for a financial intelligence server, with each tool covering a meaningful capability without redundancy or bloat. The count feels appropriate for the apparent domain.
The set covers key market intelligence needs: macro data, news headlines, structured event clusters, sentiment analysis, and technical analysis. Minor gaps exist, such as no direct price history tool, but the core workflows are well covered and no major dead ends are apparent.
Available Tools
5 toolsget_global_market_mapAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | XFINLAB Intelligence API key (X-API-Key). Omit if supplied via HTTP header instead. | |
| regions | No | Comma-separated region keys, e.g. 'us,hk,china'. Omit for all 10 regions. | |
| news_limit | No | Headlines per region, 1-20. | |
| include_sentiment | No | Whether to run FinBERT sentiment on each region's headlines. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses output composition, data sources, region scope, and the intentional absence of AI narrative or directional signal. It does not cover latency, failure behavior, or side effects, but for a read-only snapshot tool this is reasonable and informative.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, information-dense passage with a clear front-loaded purpose, followed by structured detail and region enumeration. Every clause adds useful information; nothing is filler or repetition of the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema, the description sufficiently specifies what the caller should expect: macro indicators with sources, regional headlines, per-region sentiment, a global feed, and the region key set. Combined with the fully documented schema, the tool is contextually complete for invocation decisions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers 100% of parameters, so the baseline is 3. The description adds value by enumerating the valid region keys and making it clear that sentiment is computed per region, which supplements the schema without redundancy.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource — 'Get a cross-region global market snapshot' — and enumerates the exact contents: macro indicators, regional headlines, FinBERT sentiment, and a GDELT global feed. It also distinguishes itself by explicitly stating 'No AI narrative, no directional signal — structured real data only', which separates it from sentiment-only or analysis tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the use case clear: use this when you need a cross-region snapshot with macro and sentiment data. It implies the distinction from siblings by emphasizing structured real data and no directional signal, but it does not explicitly name alternatives or state when not to use it, so it stops short of full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_intelligence_feedAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language for the narrative summary. | en |
| limit | No | Max event clusters, 1-10. | |
| ticker | No | Optional ticker to scope the feed to, e.g. 'MSFT'. | |
| api_key | No | XFINLAB Intelligence API key (X-API-Key). Omit if supplied via HTTP header instead. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It transparently discloses the AI-structured nature of the output, the fields included, the narrative summary, and the explicit exclusions (no article text, no directional trading signal or probability estimate). It does not cover authentication or error behavior, but the schema documents the API key and the operation is a read-style feed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. The core purpose is front-loaded, and the second sentence provides important boundary-setting exclusions that help an agent understand the tool's scope. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description does a good job of summarizing what the response contains and what it deliberately omits. It also clarifies ticker scoping and the default cross-market behavior. It could add a note on response envelope or pagination, but this is not essential for a correct first invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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; all parameters already have descriptions in the schema. The description adds useful semantics for 'ticker' by explaining optional scoping and the cross-market fallback, but it does not add meaning for 'lang', 'limit', or 'api_key' beyond the schema. This meets the baseline without exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Get AI-structured event clusters from recent news.' It specifies the output shape—same-story headline clusters with entity/sentiment/quant-context fields and a narrative summary—and distinguishes the feed from article text or directional signal tools. This makes it clearly distinguishable from siblings like get_sentiment or get_technical_analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: optionally scope to one ticker, otherwise get the cross-market feed. It also clarifies what the tool is not for ('not republished article text, and never includes a directional trading signal'), which helps an agent avoid inappropriate use. It does not explicitly name sibling tools or give when-not-to-use alternatives, but the usage context is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_market_eventsAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results, 1-100. | |
| ticker | No | Optional ticker or company name to filter by, e.g. 'NVDA'. | |
| api_key | No | XFINLAB Intelligence API key (X-API-Key). Omit if supplied via HTTP header instead. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well: it states the feed is RSS-sourced and deduplicated, lists the exact fields returned, and explicitly notes that article body text is not included. It does not mention ordering, pagination, or API-key behavior, but those are either minor or covered by the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loads the core purpose, and includes useful qualifiers ('RSS-sourced, deduplicated', 'no article body text') without unnecessary words. Every sentence contributes information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, has no required parameters, and no output schema, so the description's specification of return fields and its explicit limitation about article body text provide enough context for correct invocation. It could be slightly stronger with ordering or time-window expectations, but it is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 all three parameters. The description adds only a brief mention of optional ticker/company-name filtering, which mostly restates the schema's ticker parameter rather than adding new meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies a specific verb ('Get'), resource ('recent market/company news headlines'), and data source (XFINLAB's aggregated real-time news feed). It does not explicitly contrast itself with siblings like get_intelligence_feed, so it stops short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: whenever recent market/company news headlines are needed, optionally filtered by ticker. However, it gives no explicit guidance about when not to use it or what alternative tools like get_intelligence_feed or get_sentiment are for.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sentimentAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of recent headlines to analyze, 1-25. | |
| ticker | Yes | Ticker to analyze, e.g. 'AAPL'. | |
| api_key | No | XFINLAB Intelligence API key (X-API-Key). Omit if supplied via HTTP header instead. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description takes on the full transparency burden. It discloses that this is real model inference rather than a fabricated estimate and specifies the exact return contents (per-headline label/confidence/score plus an average), which is valuable behavioral context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The primary action and return shape are front-loaded, and the second sentence adds meaningful credibility context without bloating the description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 3-parameter tool with no output schema, the description covers what it does, the return values, and the model's authenticity. The schema handles parameter details, so nothing essential is missing for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already fully documents ticker, limit, and api_key. The description adds no parameter-specific detail beyond 'recent headlines' and 'ticker', which matches the schema; baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('FinBERT-based sentiment analysis of recent headlines for a ticker'), and the sentiment focus clearly differentiates it from siblings like technical analysis, market events, and the intelligence feed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The purpose implicitly gives the use case — sentiment over recent headlines for a stock — which is distinct from the sibling tools. It does not explicitly name alternatives or say when not to use it, so it stops short of a 5, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_technical_analysisAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language for text labels, e.g. 'en', 'zh-HK'. | en |
| period | No | History window, e.g. '6mo', '1y'. | 6mo |
| ticker | Yes | Ticker to analyze, e.g. 'TSLA', '0700.HK'. | |
| api_key | No | XFINLAB Intelligence API key (X-API-Key). Omit if supplied via HTTP header instead. | |
| interval | No | Candle interval, e.g. '1d'. | 1d |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It discloses that computation uses real OHLC price data and that it's the same engine powering XFINLAB pages, adding useful provenance. However, it does not mention rate limits, error cases, side effects, or output structure, making behavioral transparency partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one dense sentence that communicates core purpose and output categories without filler. It could be more structurally readable as a list, but it is efficient, front-loaded, and every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lists what signals are returned and the data source, which is useful. However, with no output schema and no annotations, the agent is left without information about response structure, how confidence is represented, or possible error conditions, so the context is only partially complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All five parameters are described in the schema (100% coverage), so the baseline is 3. The description itself adds no parameter-level detail beyond the schema's examples and defaults, which is acceptable given the schema's completeness.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('technical analysis'), enumerating concrete signal types (trend, MACD, volume, chart patterns, BOS/CHOCH, order-flow, volume-profile) and the data source (real OHLC). This makes the tool's purpose unambiguous and clearly distinct from siblings like get_sentiment or get_market_events.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for technical analysis of a single ticker, but it provides no explicit when-to-use guidance or comparison with alternatives. Sibling tools are clearly different, so an agent can infer this is for chart-based analysis, but no exclusions or routing hints are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user or an account that owns the GitHub organization, then choose Claim with GitHub.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Crypto MCP with 21 tools for market data, DeFi, analytics, and sentiment. Post-paid USDC billing.
Crypto market data & research MCP: price, derivatives, on-chain, sentiment, news, catalysts.
Real SEC, 13F, insider, congress & macro data your AI agent can cite. Hosted MCP, 24 tools.
Real-time crypto market data: candles, tickers, orderbooks across 13+ exchanges via MCP.
Related MCP Servers
- AlicenseBqualityDmaintenanceAI-powered trading toolkit with backtesting, live sentiment, Yahoo Finance, and 30+ technical analysis tools for MCP clients.274MIT
- AlicenseNot gradedqualityCmaintenanceAI-powered financial intelligence for autonomous trading agents. 9 MCP tools for real-time trading signals, risk index, market regime detection, stock analysis, commodity scoring, sector radar, and geopolitical intelligence briefings.1MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to access real-time crypto market data, volatility alerts, sentiment analysis, risk scores, and market reports through micropayment-gated MCP tools with on-chain settlement.
- AlicenseAqualityBmaintenanceA modular MCP server providing 64 tools across 13 modules for real-time stock and crypto market data, including scanning, technical analysis, options flow, insider trades, and personalized watchlists.391736MIT