Skip to main content
Glama

Server Details

Quantitative trading toolkit with 900+ data columns, backtesting, and 60+ strategy examples.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
koreal6803/finlab-ai
GitHub Stars
249

TDQS

A4.2/5.0

Scored across 6 tools

Disambiguation5/5

Each tool addresses a clearly distinct purpose: data catalog, developer docs, stock evidence, strategy listing, strategy detail, and getting started. The list_strategies/get_strategy pair is explicitly positioned as a list-then-detail flow, so there is no real ambiguity.

Naming Consistency4/5

The naming is mostly consistent with a get_*/list_* retrieval pattern, and list_strategies vs get_strategy follows a sensible collection/item convention. The outlier is how_to_start, which breaks the verb_noun pattern but remains understandable.

Tool Count5/5

Six tools is well-scoped for a FinLab assistant covering discovery, documentation, stock-level evidence, and strategy access. Each tool earns its place and none feels redundant.

Completeness4/5

The surface covers the core workflow well: users can learn how to start, browse the data catalog, read developer docs, inspect stock evidence, and list/retrieve strategies. Minor gaps exist, such as no US-stock evidence tool or strategy search/filtering, but they are not blocking for the stated purpose.

Available Tools

6 tools
get_data_catalogFinLab 資料庫目錄摘要AInspect

取得 FinLab 量化資料庫的目錄摘要:涵蓋台股與美股的分類數、欄位數、資料列數、年份範圍,以及代表性資料集(股價、月營收、財務指標等)。適合回答「FinLab 有哪些資料」。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the burden of behavioral disclosure. It clearly discloses what the tool returns: category counts, field counts, row counts, year ranges, and representative datasets. As a read-only catalog retrieval tool with no parameters, this level of transparency is sufficient.

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 sentences with no filler. The core purpose is stated first, and the useful example question is included at the end. Every clause adds value.

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?

For a parameterless catalog-summary tool with no output schema, the description fully covers what the tool does, what data it returns, and when to use it. Nothing critical is missing for an agent to select and invoke it correctly.

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 parameter semantics are trivially satisfied. The description appropriately focuses on the output rather than inputs, which is exactly what an agent needs for a no-argument tool.

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 states a specific verb+resource: retrieves a catalog summary of the FinLab quantitative database. It clearly specifies coverage (TW/US stocks, category counts, field counts, row counts, year ranges, representative datasets) and even names the target question it answers, distinguishing it from sibling tools like get_finlab_docs.

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?

Directly states the intended use case: '適合回答「FinLab 有哪些資料」' (suitable for answering 'what data does FinLab have'). This is explicit enough to guide selection, though it does not mention exclusions or contrast with siblings.

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

get_finlab_docsFinLab Skill 開發文件AInspect

取得 FinLab Skill 的開發文件(與 GitHub koreal6803/finlab-ai main 分支同步,skill 更新後自動生效):不帶參數回傳 SKILL.md 主文件與參考文件清單;帶 doc 參數回傳指定參考文件全文。涵蓋 900+ 資料欄位、sim() 回測 API、60+ 策略範例、因子分析與機器學習等,撰寫 finlab Python 程式前建議先查閱。

ParametersJSON Schema
NameRequiredDescriptionDefault
docNo參考文件檔名,例如 "dataframe-reference.md"。省略時回傳 SKILL.md 與文件清單。

TDQS

A4.1/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 disclosure burden. It explains both invocation modes (no param returns SKILL.md and doc list; doc param returns full reference text) and adds the sync behavior with the GitHub main branch. It does not cover error cases or rate limits, but for a read-only documentation lookup these omissions are minor.

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 a single dense sentence but front-loads the core purpose and packs meaningful details (sync, parameter modes, content coverage) without excessive fluff. The content coverage list is useful for relevance assessment, though slightly long.

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?

The tool has no output schema, so the description must explain return values, and it does: SKILL.md with doc list for no params, full reference text with a param. It lacks explicit mention of invalid filename handling, but the schema example and list-return behavior give enough context for correct 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?

Schema description coverage is 100%, so the baseline is 3. The description restates the parameter behavior and adds '全文' (full text), but most semantics are already in the schema. No significant additional parameter meaning is provided.

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 opens with a specific verb and resource: '取得 FinLab Skill 的開發文件' (get FinLab Skill development documentation). It clearly explains the two invocation modes and distinguishes this tool from siblings like get_data_catalog and get_strategy by targeting documentation retrieval.

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 gives an explicit usage context: '撰寫 finlab Python 程式前建議先查閱' (recommended to consult before writing finlab Python programs). It does not name alternatives or state when not to use it, but the context is clear and actionable.

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

get_stock_evidence查個股數據實證AInspect

查詢台股個股的每日更新數據實證:基本面體質定位(獲利、估值、籌碼因子百分位)、目前正在觸發的量化訊號與其歷史前瞻報酬統計、估值位階等。例如 symbol="2330" 查台積電。資料來自 FinLab 每日以 finlab 套件計算的真實數據。

ParametersJSON Schema
NameRequiredDescriptionDefault
marketNo市場,預設 "tw" 台股;"us" 為美股(覆蓋率較低)。
symbolYes台股股票代號字串,例如 "2330"(台積電)、"0050"、"00631L"。保留前導零,不要轉成數字。

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden and does add meaningful context: data is '每日更新' (daily updated), computed by FinLab with the finlab package, and represents '真實數據' rather than simulated values. It also spells out the content dimensions returned. It does not, however, mention error behavior or symbol availability, leaving some behavioral 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?

The definition is a single dense but structured sentence, front-loading the action and resource before detailing returned content and ending with a clarifying example. No filler or redundancy—every clause contributes.

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?

Because there is no output schema, the description compensates by naming the concrete data categories returned (fundamental percentiles, triggered signals, forward-return statistics, valuation level). It also covers the query example and data source. It omits an exact response structure and limitations for the optional 'us' market, but is adequate for a 2-parameter read 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%, so the baseline is 3. The description repeats the symbol='2330' example already present in the schema and does not add new meaning for the market parameter or its interaction with symbol; therefore it stays at the baseline.

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?

Uses the verb '查詢' (query) against a specific resource: daily-updated data evidence for Taiwan stocks. The description enumerates the contained data categories (fundamental percentile, signals, forward returns) and gives a concrete symbol example, clearly differentiating it from the data-catalog and documentation sibling tools.

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 by showing a symbol example and describing the output content, but it never explicitly says when to prefer this tool over siblings like get_data_catalog or get_strategy, nor states any exclusion criteria. Thus usage context is clear but not formally contrasted with alternatives.

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

get_strategy取得單一策略完整內容AInspect

取得 FinLab 策略庫中單一策略的完整快照:策略說明、真實回測績效與基準比較、以及可直接執行的 finlab Python 程式碼。slug 可先用 list_strategies 查詢。

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYes策略代號(slug),例如由 list_strategies 取得

TDQS

A4/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 of behavioral disclosure. It does convey that this is a snapshot/retrieval operation and lists the returned content, which implies read-only behavior. However, it does not disclose potential caveats such as data freshness, behavior on invalid slugs, or whether the returned code is guaranteed to run in the current environment.

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 compact and front-loaded: it opens with the action and resource, lists the key return contents, and ends with the practical slug-lookup instruction. Every sentence contributes value without redundancy.

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 retrieval tool with no output schema and no annotations, the description is nearly complete: it tells the agent what the tool returns, what the input should be, and how to obtain that input via list_strategies. A small gap is the absence of any note about error cases or response format, but the complexity is low enough that the missing detail is not critical.

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 schema already documents the sole parameter 'slug' with 100% coverage, including the note that it comes from list_strategies. The description reinforces that connection but adds no new format constraints, examples, or semantics beyond what the schema provides, so the baseline of 3 is appropriate.

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 uses a specific verb ('取得') and resource ('FinLab 策略庫中單一策略的完整快照'), and enumerates exactly what is returned: strategy description, backtest performance, benchmark comparison, and executable finlab Python code. It clearly differentiates from list_strategies by focusing on a single strategy's full snapshot.

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 instructs the agent to use list_strategies first to obtain the slug, creating a clear usage sequence and routing to the relevant sibling tool. It does not explicitly state when not to use this tool or compare alternatives beyond that, so it stops 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.

how_to_startFinLab 快速上手AInspect

取得 FinLab 快速上手指南:如何用 AI 輔助流程(Claude cowork / Codex)在自己電腦安裝 FinLab 並跑第一個台股策略真實回測,以及免費線上體驗入口。適合回答「怎麼開始用 FinLab」「怎麼回測台股」。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the disclosure burden. It makes clear the tool returns a guide, not an actual backtest execution, and describes the scope of the content. It does not mention output format or whether links are returned, but there are no hidden side effects or contradictions.

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 a single, efficient sentence that front-loads the resource name and then covers content, intended use cases, and free-trial access without filler. Every clause adds useful information.

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 informational tool, this is complete enough: it states what is returned, what topics are covered, and which user questions it addresses. The only minor omission is the exact return format, which is not critical for a quick-start guide.

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 and the schema is empty, so there is no parameter meaning to add. The baseline of 4 applies because no parameter documentation is needed.

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: '取得 FinLab 快速上手指南', and describes the guide's contents (AI-assisted installation, first Taiwan-stock backtest, free online trial). It clearly identifies the tool's role among siblings, though it does not explicitly contrast with sibling tool names.

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 it by listing target questions: '怎麼開始用 FinLab' and '怎麼回測台股'. It does not provide exclusions or name alternatives, but for a parameterless quick-start guide the guidance is clear and sufficient.

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

list_strategies列出 FinLab 策略庫AInspect

列出 FinLab 公開策略庫中的台股量化策略,含每一檔策略的真實回測績效摘要(CAGR、Sharpe、最大回撤)與基準比較。想看完整策略內容與 Python 程式碼時,請接著呼叫 get_strategy。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 full burden. It discloses the output composition (performance summaries, benchmark comparison), the scope (public strategies, Taiwan stocks), and explicitly states what it does not provide (full content/code), which is strong behavioral context for a simple list operation.

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, no wasted words; the main purpose is front-loaded and the follow-up instruction is a single clear conditional sentence.

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 zero-parameter list tool with no output schema, the description sufficiently explains what is returned and how to proceed for more detail. Minor omissions like pagination or ordering are not critical given the minimal complexity.

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 0 parameters, so the baseline is 4. The description does not need to explain parameters; it focuses on output content.

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 identifies the action (list), the resource (FinLab public strategy library of Taiwan stock quantitative strategies), and the content of the list (backtest performance summaries with CAGR, Sharpe, max drawdown, and benchmark comparison). It also distinguishes itself from get_strategy by stating that full content/code requires 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 Guidelines4/5

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

It explicitly routes to get_strategy for full strategy content and Python code, providing a concrete when-to-use-alternative condition. However, it does not explicitly state when this tool should be preferred over other siblings, leaving the main use case implied.

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. 6 tool updates
    • First observedget_data_catalog
    • First observedget_finlab_docs
    • First observedget_stock_evidence
    • First observedget_strategy
    • First observedhow_to_start
    • First observedlist_strategies

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables quantitative trading analysis with 12 tools for real-time market data, 28+ technical indicators, FinBERT-powered news sentiment analysis, and automated trading signal generation for stocks and forex.
    1
    -
  • A
    license
    B
    quality
    C
    maintenance
    Provides A-share (Chinese stock market) quantitative analysis through tools for stock screening, northbound capital flow tracking, dragon-tiger list analysis, margin trading, sector analysis, technical indicators, IPO info, and limit-up/down statistics using akshare data.
    11
    1
    MIT
  • F
    license
    B
    quality
    Not graded
    maintenance
    Enables LLMs to retrieve, analyze, and visualize stock prices and financial report data for quantitative trading research and investment analysis. Provides real-time and historical stock data, financial statement analysis, key metric calculations, and trading signal visualization.
    13
    -
  • A
    license
    B
    quality
    D
    maintenance
    AI-powered trading toolkit with backtesting, live sentiment, Yahoo Finance, and 30+ technical analysis tools for MCP clients.
    27
    4
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.