akshare-one-mcp
The akshare-one-mcp server provides tools for retrieving and analyzing China stock market data, including:
Historical Stock Data: Fetch historical data with customizable intervals and time ranges
Real-Time Stock Data: Retrieve real-time market information
Company Financial Statements: Access balance sheets, income statements, and cash flow statements
Stock-Related News: Get news data for specific stocks
Insider Trading Data: Access company insider trading information
Provides integration with the Astral package system through uv, used for dependency management and running the MCP server
Connects to the GitHub repository for akshare-one, providing access to Chinese stock market data through various tools for retrieving financial information including historical stock data, real-time data, news, and financial statements
AKShare One MCP Server
Overview
An MCP server based on akshare-one, providing comprehensive interfaces for China stock market data. It offers a set of powerful tools for retrieving financial information including historical stock data, real-time data, news data, and financial statements.
Related MCP server: A股实时行情MCP服务器
Available Tools
Market Data Tools
get_hist_data
Get historical stock market data with support for multiple time periods and adjustment methods.
symbol(string, required): Stock code (e.g. '000001')interval(string, optional): Time interval ('minute','hour','day','week','month','year') (default: 'day')interval_multiplier(number, optional): Interval multiplier (default: 1)start_date(string, optional): Start date in YYYY-MM-DD format (default: '1970-01-01')end_date(string, optional): End date in YYYY-MM-DD format (default: '2030-12-31')adjust(string, optional): Adjustment type ('none', 'qfq', 'hfq') (default: 'none')source(string, optional): Data source ('eastmoney', 'eastmoney_direct', 'sina') (default: 'eastmoney')indicators_list(list, optional): Technical indicators to addrecent_n(number, optional): Number of most recent records to return (default: 100)
get_realtime_data
Get real-time stock market data.
symbol(string, optional): Stock codesource(string, optional): Data source ('xueqiu', 'eastmoney', 'eastmoney_direct') (default: 'eastmoney_direct')
News & Information Tools
get_news_data
Get stock-related news data.
symbol(string, required): Stock coderecent_n(number, optional): Number of most recent records to return (default: 10)
Financial Statement Tools
get_balance_sheet
Get company balance sheet data.
symbol(string, required): Stock coderecent_n(number, optional): Number of most recent records to return (default: 10)
get_income_statement
Get company income statement data.
symbol(string, required): Stock coderecent_n(number, optional): Number of most recent records to return (default: 10)
get_cash_flow
Get company cash flow statement data.
symbol(string, required): Stock codesource(string, optional): Data source (default: 'sina')recent_n(number, optional): Number of most recent records to return (default: 10)
Analysis & Metrics Tools
get_inner_trade_data
Get company insider trading data.
symbol(string, required): Stock code
get_financial_metrics
Get key financial metrics from the three major financial statements.
symbol(string, required): Stock coderecent_n(number, optional): Number of most recent records to return (default: 10)
get_time_info
Get current time with ISO format, timestamp, and the last trading day.
Installation & Setup
Running Modes
The server supports two modes: stdio and streamable-http
Command Line Arguments:
--streamable-http: Enable HTTP mode (default: stdio mode)--host: Host to bind to in HTTP mode (default: 0.0.0.0)--port: Port to listen on in HTTP mode (default: 8081)
Note: When using streamable-http mode, the MCP server will be available at
http://{host}:{port}/mcp. For the default configuration, this would behttp://0.0.0.0:8081/mcp.
Installation Options
Option 1: Via Smithery
To install akshare-one-mcp for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @zwldarren/akshare-one-mcp --client claudeOption 2: Via uv
Install uv if you haven't already.
Add the following configuration to your MCP Client settings:
{
"mcpServers": {
"akshare-one-mcp": {
"command": "uvx",
"args": ["akshare-one-mcp"]
}
}
}Option 3: Local Development Setup
Clone this repository:
git clone https://github.com/zwldarren/akshare-one-mcp.git cd akshare-one-mcpInstall dependencies:
uv syncAdd the following configuration to your MCP Client settings:
{ "mcpServers": { "akshare-one-mcp": { "command": "uv", "args": [ "--directory", "/path/to/akshare-one-mcp", "run", "akshare-one-mcp" ] } } }
Technical Indicators Reference
The get_hist_data tool supports the following technical indicators:
Trend Indicators
Moving Averages: SMA (Simple Moving Average), EMA (Exponential Moving Average)
Trend Tracking: MACD (Moving Average Convergence Divergence), APO (Absolute Price Oscillator), PPO (Percentage Price Oscillator)
Rate of Change: ROC (Rate of Change), ROCP (Rate of Change Percentage), ROCR (Rate of Change Ratio), ROCR100
Other: TRIX (Triple Exponential Moving Average), ULTOSC (Ultimate Oscillator)
Momentum Indicators
Relative Strength: RSI (Relative Strength Index), CCI (Commodity Channel Index)
Trend Strength: ADX (Average Directional Index), DX (Directional Index)
Money Flow: MFI (Money Flow Index), MOM (Momentum), CMO (Chande Momentum Oscillator), WILLR (Williams %R)
Volatility Indicators
Bollinger Bands: BOLL (Bollinger Bands)
Average True Range: ATR (Average True Range)
Parabolic SAR: SAR (Parabolic Stop and Reverse)
Volume Indicators
Volume: OBV (On-Balance Volume), AD (Accumulation/Distribution Line), ADOSC (Accumulation/Distribution Oscillator)
Other Indicators
Stochastic: STOCH (Stochastic Oscillator)
Aroon: AROON (Aroon Indicator), AROONOSC (Aroon Oscillator)
Balance of Power: BOP (Balance of Power)
Directional Indicators: MINUS_DI, MINUS_DM, PLUS_DI, PLUS_DM
Time Series Forecast: TSF (Time Series Forecast)
Available Tools
9 toolsget_balance_sheetCInspect
Get company balance sheet data.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol/ticker (e.g. '000001') | |
| recent_n | No | Number of most recent records to return |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states the purpose. It does not disclose any behavioral traits such as read-only nature, data format, pagination, or rate limits, leaving the agent without essential operational context.
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 concise sentence that conveys the core purpose. It is not overly verbose, though it could include a brief example or more context without sacrificing conciseness.
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?
Given the tool's simplicity and the presence of an output schema, the description is minimally adequate. However, it lacks explanation of the contents of a balance sheet and does not leverage the output schema to inform the agent about return values.
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 input schema already provides clear descriptions for both parameters ('symbol' and 'recent_n') with 100% coverage. The description adds no additional meaning beyond the schema, so it meets the baseline of 3.
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 states the verb 'Get' and resource 'company balance sheet data', which distinguishes it from sibling tools like get_cash_flow or get_income_statement. However, it does not elaborate on what balance sheet data entails, leaving some ambiguity.
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 no guidance on when to use this tool versus alternatives (e.g., get_financial_metrics, get_income_statement). No context about prerequisites or filtering is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cash_flowCInspect
Get company cash flow statement data.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol/ticker (e.g. '000001') | |
| source | No | Data source | sina |
| recent_n | No | Number of most recent records to return |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully convey behavioral traits. It only states 'Get company cash flow statement data,' without disclosing traits like data coverage (e.g., periods included), rate limits, or response size. The existence of an output schema partially mitigates this, but the description itself is insufficient.
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 sentence with no unnecessary words, making it highly concise. However, it could afford a bit more detail without becoming verbose, so a score of 4 reflects efficient but slightly under-informative structure.
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?
Given the presence of an output schema, the return values are covered, but the description lacks context about the typical components of a cash flow statement (e.g., operating, investing, financing activities). For a data retrieval tool among similar siblings, this is insufficient for complete understanding.
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 each parameter (symbol, source, recent_n) has a description in the schema. The description adds no further meaning beyond the schema, meeting the baseline of 3.
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 states 'Get company cash flow statement data,' specifying the verb 'Get' and the resource 'cash flow statement.' It differentiates from sibling tools like get_balance_sheet and get_income_statement by the financial statement type, though it doesn't elaborate on the data content.
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?
No guidance is provided on when to use this tool versus alternatives like get_income_statement or get_balance_sheet. The description lacks context about use cases, prerequisites, or exclusions, leaving the agent with no decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_financial_metricsBInspect
Get key financial metrics from the three major financial statements.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol/ticker (e.g. '000001') | |
| recent_n | No | Number of most recent records to return |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It does not disclose what 'key metrics' are, data freshness, or any behavioral traits beyond the basic aggregation concept. Minimal transparency.
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?
Single sentence, front-loaded with key verb and resource. While efficient, it could be more informative without being verbose. Very concise.
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?
Description is very brief and lacks detail on what constitutes 'key financial metrics' or how they are derived. With an output schema present but no annotations, the description should provide more context to adequately guide the agent.
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%, and the description adds no significant meaning beyond what the schema already provides for the two parameters. Baseline score of 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 states a specific verb ('Get'), resource ('key financial metrics'), and source ('three major financial statements'), clearly distinguishing it from sibling tools that focus on individual statements.
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?
No explicit when-to-use or when-not-to-use guidance. The purpose implies it's for a consolidated view, but alternatives like individual statement tools are not mentioned, leaving usage context to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_hist_dataCInspect
Get historical stock market data. 'eastmoney_direct' support all A,B,H shares
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol/ticker (e.g. '000001') | |
| interval | No | Time interval | day |
| interval_multiplier | No | Interval multiplier | |
| start_date | No | Start date in YYYY-MM-DD format | 1970-01-01 |
| end_date | No | End date in YYYY-MM-DD format | 2030-12-31 |
| adjust | No | Adjustment type | none |
| source | No | Data source | eastmoney |
| indicators_list | No | Technical indicators to add | |
| recent_n | No | Number of most recent records to return |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It only mentions data support for A, B, H shares but omits details like rate limits, data freshness, error handling, or whether adjustments affect output. This is insufficient for a complex data retrieval tool.
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 extremely concise: one sentence and a fragment. It front-loads the core purpose. However, it could benefit from slightly more structure (e.g., listing key features) without becoming verbose.
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?
Given the many sibling tools and 9 parameters, the description is minimally complete. It distinguishes the data source capability but does not address the range of parameters (e.g., intervals, indicators). The existence of an output schema helps, but the description alone leaves gaps in understanding the tool's full capabilities.
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 achieves 100% description coverage for all 9 parameters, so baseline is 3. The description adds no additional parameter context beyond the schema; the mention of 'eastmoney_direct' support is somewhat redundant with the source enum. Minimal added value.
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 states the tool retrieves historical stock market data. Mentioning 'eastmoney_direct' support for A, B, H shares helps differentiate from sibling fundamental tools, but could be more explicit about the data type (price/volume) versus financial statements.
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?
No guidance is provided on when to use this tool versus siblings like get_realtime_data or get_financial_metrics. The description does not explain prerequisites or context for choosing this over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_income_statementCInspect
Get company income statement data.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol/ticker (e.g. '000001') | |
| recent_n | No | Number of most recent records to return |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, placing full burden on the description. It fails to disclose behavioral traits such as data recency, pagination, or access restrictions, leaving the agent to infer from a minimal phrase.
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, concise sentence without waste. However, it could be structured to include more key details without losing brevity.
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 an output schema being present, the description does not explain what data fields are returned. For financial statements, more context is needed (e.g., time periods, metrics included) to be 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?
Input schema provides 100% coverage with descriptions for both parameters. The description adds no additional meaning beyond the schema, so 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 clearly states the tool obtains income statement data, specifying the resource type. However, it does not distinguish from siblings like 'get_balance_sheet' or 'get_cash_flow', which are similarly named financial data 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?
No guidance is provided on when to use this tool versus alternatives. Sibling tools serve related purposes (e.g., balance sheet, cash flow), but the description offers no context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_inner_trade_dataBInspect
Get company insider trading data.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol/ticker (e.g. '000001') |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must disclose behavioral traits. It only states the basic action (get data) without mentioning data freshness, rate limits, authentication needs, or any potential side effects.
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, concise sentence without unnecessary words. It is front-loaded and efficient, though it could benefit from slight elaboration without breaking conciseness.
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?
Since an output schema exists, the description does not need to explain return values. However, it lacks any context about the nature of insider trading data or typical usage patterns, which would enhance completeness.
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%, and the schema already describes the symbol parameter well. The description does not add extra meaning beyond implying the context (company insider trades). Baseline of 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 clearly states the verb 'Get' and resource 'company insider trading data', making the tool's purpose unambiguous. It distinguishes itself from sibling tools like get_balance_sheet, get_cash_flow, etc., by focusing on a specific data type.
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 no guidance on when or when not to use this tool versus siblings. It lacks any mention of context, prerequisites, or alternatives, leaving the agent without decision-making support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_news_dataCInspect
Get stock-related news data.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol/ticker (e.g. '000001') | |
| recent_n | No | Number of most recent records to return |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states 'get' with no details on behavioral traits such as rate limits, data freshness, or whether it is read-only. With zero annotation coverage, the description fails to disclose essential behavior.
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 sentence, which is concise but lacks structure and front-loading of key details. It is too brief to be useful without relying on 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?
Given the presence of an output schema, the description does not need to explain return values, but it provides insufficient context for a tool with 2 parameters and multiple siblings. The description is incomplete for effective decision-making.
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 input schema already describes both parameters. The description adds no additional meaning beyond the schema, meeting the baseline for high coverage.
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 states the action (get) and resource (stock-related news data), distinguishing it from balance sheet or income statement tools among siblings. However, it lacks specificity about the key input (stock symbol) and the scope of data.
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?
No guidance on when to use this tool versus alternatives like get_realtime_data or get_hist_data. The description does not provide context for selection among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_realtime_dataCInspect
Get real-time stock market data. 'eastmoney_direct' support all A,B,H shares
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No | Stock symbol/ticker (e.g. '000001') | |
| source | No | Data source | eastmoney_direct |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral aspects. It only states 'get real-time data', which implies read-only, but does not mention side effects, authentication, or rate limits. Minimal transparency.
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 extremely concise with two short sentences, front-loading the main purpose. No redundant words, earning 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?
Despite having an output schema and full parameter coverage, the description lacks completeness. It does not explain behavior when 'symbol' is null, or confirm that the tool returns data in real-time format. More contextual details are needed.
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. The description adds context about 'eastmoney_direct' supporting all A, B, H shares, which augments the source parameter's enum values. However, no further parameter details are provided.
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 states the tool retrieves real-time stock market data, which distinguishes it from siblings like 'get_hist_data'. The mention of 'eastmoney_direct' support for A, B, H shares adds specificity, though the purpose could be more explicit about the data type (e.g., prices, quotes).
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?
No explicit guidance on when to use this tool versus alternatives like 'get_hist_data' or 'get_financial_metrics'. The description only hints at data coverage via 'eastmoney_direct' but lacks contextual advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_time_infoAInspect
Get current time with ISO format, timestamp, and the last trading day.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description discloses it returns time data but does not explicitly state it is read-only or has no side effects. Adequate but could add more behavioral context.
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?
Single sentence, front-loaded, no wasted words. Efficiently communicates core functionality.
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?
Given no parameters and presence of output schema, description covers key return items. However, missing details like timezone or definition of 'last trading day'.
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?
No parameters, but description adds meaning by detailing return fields (ISO format, timestamp, last trading day), which goes beyond the empty input schema.
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?
Description clearly states the tool gets current time with ISO format, timestamp, and last trading day. It uses a specific verb and resource, and is distinct from sibling financial data 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?
No guidance on when to use this tool versus alternatives. The description does not provide any context about appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose targeting specific financial data types, such as balance sheets, cash flow, income statements, historical data, insider trading, news, real-time data, and time information. The descriptions are precise, and there is no overlap or ambiguity between tools, making it easy for an agent to select the correct one.
All tool names follow a consistent 'verb_noun' pattern with the prefix 'get_' followed by a descriptive noun phrase, such as 'get_balance_sheet' and 'get_hist_data'. This uniformity enhances readability and predictability, allowing agents to easily understand and navigate the toolset.
With 9 tools, the server is well-scoped for financial data retrieval, covering key areas like financial statements, market data, news, and time information. Each tool serves a specific and necessary function, avoiding bloat while providing comprehensive coverage for the domain.
The toolset offers strong coverage for retrieving financial and stock market data, including core financial statements, historical and real-time data, news, and insider trading. A minor gap exists in update or manipulation operations, but this is reasonable for a data retrieval-focused server, and agents can work effectively with the provided tools.
Maintenance
Related MCP Connectors
MCP server giving AI agents one-connection access to China A-share market intelligence: financials,
China A-share market data for research, backtesting and AI agents via MCP.
MCP server for stocksense-ai documentation, generated by doc2mcp.
MCP server exposing the Backtest360 engine API as tools for AI agents.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceMCP server that wraps SFC financial data API into 32 tools for comprehensive A-share market data, including real-time quotes, rankings, limit-up statistics, news, themes, financials, charts, research reports, and watchlists.
- AlicenseNot gradedqualityCmaintenance基于Model Context Protocol (MCP) 的A股实时行情查询服务器,支持查询A股实时价格、历史K线数据、财务信息及市场概况。8MIT
- FlicenseNot gradedqualityDmaintenance提供股票数据查询的MCP服务器,支持股票信息、K线历史、财务指标等市场数据获取。1
- AlicenseAqualityCmaintenanceAn MCP server that gives AI assistants direct, structured access to China A-share market data.3Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/zwldarren/akshare-one-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server