Skip to main content
Glama
liuguoping1024

SWLC MCP Server

SWLC MCP Server

这是一个专为上海地区设计的彩票信息查询MCP(Model Context Protocol)服务器,提供双色球、福彩3D、七乐彩等彩票的开奖查询和分析功能。

⚠️作为技术人员,我必须强调:

1、彩票本质是概率游戏,任何算法都无法保证中奖
2、历史数据只能提供参考,不能预测未来
3、建议理性购彩,将其视为娱乐而非投资
4、以上推荐纯属技术分析,请根据个人情况谨慎选择

祝您好运!

功能特性

  • 🎯 最新开奖查询:获取双色球、福彩3D、七乐彩的最新开奖结果

  • 📊 历史数据查询:获取指定期数的历史开奖数据

  • 📈 号码分析:提供热号、冷号统计和频率分析

  • 🎲 随机推荐:生成随机彩票号码推荐

  • 🔍 智能统计:提供详细的开奖统计信息

  • 💾 本地数据存储:使用SQLite数据库本地存储彩票数据,减少网络查询

  • 快速响应:优先从本地数据库查询,提高查询速度

  • 🔄 数据同步:支持手动同步最新数据到本地数据库

Related MCP server: Variflight Tripmatch MCP Server

支持的彩票类型

  • 双色球:6个红球(1-33)+ 1个蓝球(1-16)

  • 福彩3D:3位数字(000-999)

  • 七乐彩:7个基本号码(1-30)+ 1个特别号码

  • 快乐8:20个号码(1-80)

安装方法

1. 克隆仓库

git clone <repository-url>
cd swlc-mcp

2. 安装依赖

pip install -e .

3. 运行服务器

启动MCP服务器(用于Claude Desktop)

# 方式1: 使用启动脚本
python start_server.py --mode mcp

# 方式2: 直接运行
swlc-mcp

启动HTTP API服务器(用于其他应用)

# 启动HTTP API服务器
python start_server.py --mode api --host 0.0.0.0 --port 8000

# 或者直接运行
python src/swlc_mcp/api_server.py

4. 数据同步(可选)

首次使用或需要更新数据时,可以运行数据同步脚本:

python src/swlc_mcp/sync_data.py

MCP工具列表

get_latest_ssq

获取双色球最新开奖结果

get_latest_3d

获取福彩3D最新开奖结果

get_latest_qlc

获取七乐彩最新开奖结果

get_latest_kl8

获取快乐8最新开奖结果

get_historical_data

获取历史开奖数据

  • lottery_type: 彩票类型(双色球/福彩3D/七乐彩/快乐8)

  • periods: 获取期数(1-500,默认10)

    • 如果数据库中的数据不足,会返回实际可用的数据

    • 建议首次使用先同步数据:python src/swlc_mcp/sync_data.py

analyze_numbers

分析号码统计信息

  • lottery_type: 彩票类型(双色球/福彩3D/七乐彩/快乐8)

  • periods: 分析期数(5-500,默认30)

generate_random_numbers

生成随机号码推荐

  • lottery_type: 彩票类型(双色球/福彩3D/七乐彩/快乐8)

  • count: 生成组数(1-10,默认1)

sync_lottery_data

同步指定彩票类型的最新数据到本地数据库

  • lottery_type: 彩票类型(双色球/福彩3D/七乐彩/快乐8)

  • periods: 同步期数(1-50,默认10)

get_database_info

获取本地数据库统计信息

使用示例

在Claude Desktop中配置

在Claude Desktop的配置文件中添加:

{
  "mcpServers": {
    "swlc": {
      "command": "swlc-mcp",
      "cwd": "D:\\github\\swlc-mcp"
    }
  }
}

查询示例

  • "请获取双色球最新开奖结果"

  • "分析双色球最近30期的号码统计"

  • "为我推荐5注七乐彩号码"

  • "查看福彩3D最近10期的历史数据"

  • "获取快乐8最新开奖信息"

  • "同步双色球最新数据到本地数据库"

  • "查看本地数据库统计信息"

智能数据更新机制

项目实现了智能的数据更新机制,能够自动判断何时需要从网络获取最新数据:

数据新鲜度检查

系统会根据彩票类型的开奖频率自动检查数据的新鲜度:

  • 双色球:每周二、四、日开奖,超过3天没有新数据时自动更新

  • 福彩3D:每天开奖,超过1天没有新数据时自动更新

  • 七乐彩:每周一、三、五开奖,超过3天没有新数据时自动更新

  • 快乐8:每天开奖,超过1天没有新数据时自动更新

智能更新策略

  1. 自动更新:当检测到数据过期时,系统会自动从网络获取最新数据

  2. 智能回退:如果网络获取失败,系统会返回数据库中的可用数据作为备选

  3. 手动强制更新:用户可以通过API强制同步数据,忽略数据新鲜度检查

更新触发时机

  • 获取最新开奖结果时

  • 获取历史开奖数据时

  • 获取号码分析时

  • 手动调用同步API时

强制同步API

如果用户需要立即获取最新数据,可以使用强制同步API:

# 强制同步双色球最新20期数据
curl -X POST "http://localhost:8000/api/force-sync/ssq?periods=20"

# 强制同步福彩3D最新50期数据
curl -X POST "http://localhost:8000/api/force-sync/3d?periods=50"

数据一致性保证

  • 系统会优先使用数据库中的最新数据

  • 只有在数据过期或不足时才会触发网络更新

  • 网络更新失败时会优雅降级到数据库数据

  • 所有数据更新都会同步更新号码统计信息

技术栈

  • Python 3.10+

  • MCP Python SDK:用于构建MCP服务器

  • FastAPI:HTTP API框架

  • Uvicorn:ASGI服务器

  • httpx:异步HTTP客户端

  • Pydantic:数据验证和序列化

  • python-dateutil:日期处理

  • SQLite:本地数据存储

数据库结构

项目使用SQLite数据库存储彩票数据,包含以下表:

  • lottery_types: 彩票类型信息

  • ssq_results: 双色球开奖结果

  • fucai3d_results: 福彩3D开奖结果

  • qilecai_results: 七乐彩开奖结果

  • kuaile8_results: 快乐8开奖结果

  • number_statistics: 号码统计信息

  • sync_logs: 数据同步日志

数据库文件默认保存在项目根目录的 lottery_data.db 文件中。

HTTP API接口

项目提供了完整的HTTP API接口,支持其他应用通过HTTP请求访问彩票数据:

API端点

  • GET / - API根路径,显示所有可用端点

  • GET /api/latest/{lottery_type} - 获取最新开奖结果

  • GET /api/historical/{lottery_type} - 获取历史开奖数据

  • GET /api/analysis/{lottery_type} - 获取号码分析

  • GET /api/random/{lottery_type} - 生成随机号码

  • POST /api/sync/{lottery_type} - 同步彩票数据

  • GET /api/database/info - 获取数据库信息

  • GET /api/health - 健康检查

支持的彩票类型

  • ssq - 双色球

  • 3d - 福彩3D

  • qlc - 七乐彩

  • kl8 - 快乐8

使用示例

# 获取双色球最新开奖结果
curl http://localhost:8000/api/latest/ssq

# 获取福彩3D最近10期历史数据
curl http://localhost:8000/api/historical/3d?periods=10

# 分析双色球最近30期号码
curl http://localhost:8000/api/analysis/ssq?periods=30

# 生成5注七乐彩随机号码
curl http://localhost:8000/api/random/qlc?count=5

# 同步双色球数据
curl -X POST http://localhost:8000/api/sync/ssq?periods=20

# 查看数据库信息
curl http://localhost:8000/api/database/info

## 测试

### API测试
```bash
# 运行API测试
python test/test_api.py

数据来源

已接入中国福利彩票官方API:

所有数据均来自官方权威渠道,确保准确性和实时性。

注意事项

  • 本工具仅供娱乐和学习用途

  • 购彩需理性,请根据自身情况合理投注

  • 历史数据不代表未来走势,请谨慎参考

贡献

欢迎提交Issue和Pull Request来改进这个项目。

致谢

本项目完全由 Cursor 完成。

许可证

MIT License

Available Tools

13 tools
analyze_numbersC

分析彩票号码统计信息,包括热号、冷号等

ParametersJSON Schema
NameRequiredDescriptionDefault
lottery_typeYes彩票类型
periodsNo分析期数

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. While it mentions what the tool does (analyze statistics), it doesn't describe important behavioral aspects like whether this is a read-only operation, what format the output takes, whether it requires authentication, or any rate limits. The description is insufficient for a tool with no annotation coverage.

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 very concise - a single sentence in Chinese that gets straight to the point. There's no wasted language, though the '等' (etc.) creates some ambiguity. It's appropriately sized for what it communicates.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is incomplete for a statistical analysis tool. It doesn't explain what the output looks like, what statistical methods are used, or how the analysis is performed. With 2 parameters and no structured output information, the description should provide more context about the tool's behavior and results.

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 description coverage is 100%, so the schema already fully documents both parameters (lottery_type with enum values and periods with range/default). The description adds no additional parameter information beyond what's in the schema, so it meets the baseline expectation but doesn't provide extra value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool analyzes lottery number statistics including hot and cold numbers, which provides a general purpose. However, it's somewhat vague ('等' meaning 'etc.' adds ambiguity) and doesn't clearly distinguish this from sibling tools like 'analyze_seq_numbers' or 'get_historical_data' that might also involve lottery number analysis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. With multiple sibling tools related to lottery analysis (e.g., 'analyze_seq_numbers', 'backtest_lottery', 'predict_lottery'), there's no indication of what makes this tool distinct or when it should be preferred over other options.

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

analyze_seq_numbersC

分析号码连续出现概率(滑窗),返回理论值与实测值

ParametersJSON Schema
NameRequiredDescriptionDefault
lottery_typeYes彩票类型
periodsNo分析期数
sequence_lengthNo连续期数

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the sliding window approach and that it returns theoretical vs. measured values, which adds some context. However, it doesn't describe what the output looks like, whether this is a read-only analysis or has side effects, performance characteristics, or error conditions. For a statistical analysis tool with 3 parameters, this leaves significant 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise - just one sentence in Chinese that efficiently states the core functionality. It's front-loaded with the main purpose and doesn't waste words. However, the brevity comes at the cost of completeness, as noted in other dimensions. Every word earns its place, but more content might be needed for full understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of statistical analysis with 3 parameters, no annotations, and no output schema, the description is incomplete. While it states what the tool does at a high level, it doesn't explain the significance of the analysis, what 'theoretical vs. measured values' means in practice, or how to interpret results. For a tool that presumably returns complex statistical data, this leaves the agent with insufficient context to use it effectively.

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 schema already documents all three parameters thoroughly with descriptions, enums, defaults, and constraints. The description doesn't add any parameter-specific information beyond what's in the schema. It mentions '滑窗' (sliding window) which relates to the 'sequence_length' parameter concept, but doesn't provide additional semantic context. Baseline 3 is appropriate when schema does the heavy lifting.

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?

The description clearly states the tool's purpose: analyzing sequential number occurrence probability using sliding windows and returning theoretical vs. measured values. It specifies the verb ('分析' - analyze) and resource ('号码连续出现概率' - sequential number occurrence probability), making it distinct from siblings like 'analyze_numbers' or 'predict_lottery'. However, it doesn't explicitly differentiate from 'backtest_lottery' which might involve similar statistical analysis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It doesn't mention when this analysis is appropriate, what problems it solves, or how it differs from sibling tools like 'analyze_numbers' or 'backtest_lottery'. The agent receives no contextual usage instructions beyond the basic purpose statement.

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

backtest_lotteryC

回测预测算法,评估预测准确性

ParametersJSON Schema
NameRequiredDescriptionDefault
lottery_typeYes彩票类型
window_sizeNo窗口大小(训练数据期数)
stepNo步长(每次移动的期数)

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool evaluates prediction accuracy through backtesting, implying it's a read-only analysis tool, but doesn't specify what the evaluation outputs (e.g., metrics like accuracy scores), whether it modifies data, requires specific permissions, or has performance constraints. For a tool with no annotation coverage, this leaves significant 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two short phrases ('回测预测算法,评估预测准确性'), making it front-loaded and efficient. Every word contributes to the purpose, with no redundant information. However, it could be slightly more structured by explicitly separating the action from the goal, but it remains highly readable and to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (backtesting with parameters like window_size and step), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., accuracy metrics, plots, or summaries), how results are formatted, or any limitations (e.g., computational cost). For a backtesting tool with multiple parameters and no structured output documentation, this leaves too much unspecified for effective agent use.

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%, with clear descriptions for all parameters (lottery_type, window_size, step). The description adds no additional meaning beyond the schema, such as explaining how parameters interact (e.g., window_size defines training data, step controls backtest increments) or providing usage examples. With high schema coverage, the baseline score of 3 is appropriate, as the schema adequately documents parameters without extra help from the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description '回测预测算法,评估预测准确性' (Backtest prediction algorithm, evaluate prediction accuracy) states a general purpose but lacks specificity about what resource it operates on. It mentions 'prediction algorithm' but doesn't clarify if this is about lottery predictions specifically or what exactly is being backtested. While it distinguishes from siblings like 'predict_lottery' by focusing on evaluation rather than prediction, it remains somewhat vague about the exact scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It doesn't mention prerequisites (e.g., needing historical data), exclusions, or comparisons to sibling tools like 'predict_lottery' (for making predictions) or 'get_historical_data' (for data retrieval). Without such context, an agent must infer usage from the tool name and parameters alone.

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

force_sync_dataC

强制同步指定彩票类型的最新数据到本地数据库

ParametersJSON Schema
NameRequiredDescriptionDefault
lottery_typeYes彩票类型
periodsNo同步期数

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only states the action without behavioral details. It doesn't disclose side effects (e.g., overwrites local data), permissions needed, rate limits, or error handling. '强制' (force) hints at urgency but lacks specifics on what makes it forceful.

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?

Single sentence, front-loaded with the core action, zero waste. Efficiently conveys the tool's purpose without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool (implied by 'sync' to database) with no annotations and no output schema, the description is incomplete. It lacks critical context: what data is synced, how conflicts are handled, success/failure indicators, and comparison to similar tools.

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 parameters are fully documented in the schema. The description adds no extra meaning beyond implying 'latest data' relates to 'periods', but doesn't clarify semantics like what '同步期数' (sync periods) entails operationally.

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?

The description clearly states the action ('强制同步' - force sync) and the resource ('指定彩票类型的最新数据到本地数据库' - specified lottery type's latest data to local database). It distinguishes from siblings like 'sync_lottery_data' by emphasizing 'force' and 'latest data', though not explicitly contrasting them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 'sync_lottery_data' or other data-fetching siblings (e.g., 'get_latest_ssq'). The description implies it's for syncing latest data but doesn't specify scenarios, prerequisites, or exclusions.

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

generate_random_numbersB

生成随机彩票号码推荐

ParametersJSON Schema
NameRequiredDescriptionDefault
lottery_typeYes彩票类型
countNo生成组数

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions '推荐' (recommendations), implying advisory output, but lacks details on behavioral traits such as whether results are deterministic, if there are rate limits, or how randomness is seeded. For a tool with no annotation coverage, this is a significant gap in transparency.

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 with zero waste. It's front-loaded and appropriately sized for the tool's complexity, making it easy to parse without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (2 parameters, 100% schema coverage, no output schema), the description is minimally adequate. It states the purpose but lacks context on usage, behavioral details, or output format. Without annotations or output schema, more completeness would be beneficial, but it meets a basic threshold.

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 description coverage is 100%, with clear descriptions for both parameters (lottery_type and count). The description adds no additional meaning beyond the schema, such as explaining how lottery_type affects number generation or what '组数' (groups) entails. Baseline 3 is appropriate as the schema does the heavy lifting.

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?

The description clearly states the tool's purpose as '生成随机彩票号码推荐' (generate random lottery number recommendations), which specifies the verb (generate) and resource (lottery numbers). It distinguishes from siblings like analyze_numbers or predict_lottery by focusing on random generation rather than analysis or prediction, though it doesn't explicitly name these alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It doesn't mention scenarios where random generation is appropriate (e.g., for quick picks, entertainment) or when to prefer sibling tools like analyze_numbers for data-driven insights or predict_lottery for forecasts.

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

get_database_infoB

获取本地数据库统计信息

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool gets statistical information but doesn't describe what 'statistical information' entails, whether it's read-only, if it requires permissions, or any side effects. This leaves significant gaps in understanding the tool's behavior beyond the basic action.

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 in Chinese that directly states the tool's purpose without any unnecessary words. It's front-loaded and appropriately sized for a no-parameter tool, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'statistical information' includes, the format of the output, or any behavioral traits like safety or performance. For a tool with no structured support, this minimal description leaves too much unspecified for effective use.

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 input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate here, earning a baseline score of 4 as it doesn't need to compensate for any schema gaps.

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?

The description '获取本地数据库统计信息' clearly states the action ('获取' meaning 'get') and resource ('本地数据库统计信息' meaning 'local database statistical information'), providing a specific purpose. However, it doesn't explicitly differentiate from sibling tools like 'get_historical_data' or 'get_latest_*' tools, which might also retrieve data but from different sources or with different scopes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It doesn't mention context, prerequisites, or exclusions, leaving the agent to infer usage based on the name alone without explicit comparison to sibling tools like 'get_historical_data' or data retrieval tools.

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

get_historical_dataC

获取指定彩票类型的历史开奖数据

ParametersJSON Schema
NameRequiredDescriptionDefault
lottery_typeYes彩票类型
periodsNo获取期数

TDQS

C2.9/5.0
Behavior2/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 but provides minimal information. It states what the tool does but doesn't describe important behavioral aspects like: whether this is a read-only operation, potential rate limits, authentication requirements, data freshness, error conditions, or what format the historical data returns. For a tool that presumably accesses potentially large datasets, this lack of behavioral context is a significant gap.

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 extremely concise - a single Chinese sentence that directly states the tool's function with zero wasted words. It's front-loaded with the core purpose and appropriately sized for what it communicates, though it could benefit from additional context given the complexity of the domain and sibling tools.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the context of multiple specialized sibling tools, no annotations, and no output schema, the description is incomplete. It doesn't explain what 'historical data' includes (draw dates, winning numbers, prize amounts?), how far back data goes, whether there are access limitations, or how this tool differs from the various 'get_latest_*' tools. For a data retrieval tool in a complex lottery analysis system, more contextual information would be helpful.

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 description mentions '指定彩票类型' (specified lottery types) which aligns with the 'lottery_type' parameter, but adds no additional semantic context beyond what's already in the schema. With 100% schema description coverage that clearly documents both parameters (including enum values for lottery_type and range/default for periods), the description doesn't provide meaningful extra information about parameter usage, constraints, or implications.

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?

The description clearly states the tool's purpose: '获取指定彩票类型的历史开奖数据' (Get historical lottery draw data for specified lottery types). It specifies both the verb ('获取' - get) and resource ('历史开奖数据' - historical draw data), making the function unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'get_latest_ssq' or 'get_latest_3d', which appear to fetch only the latest data rather than historical periods.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. With multiple sibling tools for different lottery types (e.g., 'get_latest_ssq', 'get_latest_3d') and analytical tools (e.g., 'analyze_numbers', 'predict_lottery'), there's no indication of when this historical data retrieval tool is preferred over those other options or what specific use cases it serves.

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

get_latest_3dB

获取福彩3D最新开奖结果

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states what the tool does but doesn't add any behavioral context such as whether it's a read-only operation, if it requires authentication, rate limits, or what the output format might be. This is a significant gap for a tool with no annotation coverage.

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 in Chinese that directly states the tool's purpose without any wasted words. It's front-loaded and appropriately sized for a simple tool with no parameters, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is complete enough to understand the basic purpose. However, it lacks details on behavioral traits and usage guidelines, which are needed for full context, especially with no annotations to compensate. It's adequate but has clear gaps.

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 input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter information, which is appropriate here, and it doesn't contradict the schema. Baseline is 4 for zero parameters, as it adequately handles the lack of inputs.

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?

The description clearly states the verb ('获取' meaning 'get') and resource ('福彩3D最新开奖结果' meaning 'latest lottery draw results for 3D'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_latest_kl8' or 'get_latest_ssq', which appear to be similar tools for different lottery types, so it misses 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.

Usage Guidelines2/5

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. It doesn't mention any context, exclusions, or comparisons to sibling tools such as 'get_historical_data' or 'analyze_numbers', leaving the agent with no usage instructions beyond the basic purpose.

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

get_latest_kl8B

获取快乐8最新开奖结果

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states what the tool does ('get latest results') without revealing any behavioral traits, such as whether it's a read-only operation, if it requires authentication, rate limits, or what the output format might be. This leaves significant gaps in understanding how the tool behaves.

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, clear sentence in Chinese that directly states the tool's purpose without any unnecessary words. It is front-loaded and efficient, making it easy for an agent to parse quickly. Every word earns its place, achieving optimal conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is minimal. While it states the purpose, it lacks context about behavioral aspects, output format, or how it fits among siblings. For a tool that likely returns data, more details on what 'latest results' entail would enhance completeness, especially without annotations or output schema.

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 input schema has 0 parameters with 100% coverage, meaning no parameters are documented in the schema. The description does not add any parameter information, which is appropriate since there are no parameters to explain. In such cases, the baseline score is 4, as the description need not compensate for missing schema details.

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?

The description clearly states the tool's purpose: '获取快乐8最新开奖结果' translates to 'Get the latest Happy 8 lottery draw results.' It specifies the verb ('get') and resource ('latest Happy 8 lottery draw results'), making the action clear. However, it does not explicitly differentiate from sibling tools like 'get_latest_3d' or 'get_latest_ssq,' which likely serve similar functions for different lottery types, so it falls short of a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It does not mention any context, prerequisites, or exclusions, such as when to choose this over 'get_historical_data' for past results or 'analyze_numbers' for analysis. With no usage instructions, the agent must infer based on tool names alone.

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

get_latest_qlcB

获取七乐彩最新开奖结果

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states what the tool does (get latest results) without detailing behavioral traits such as whether it requires authentication, has rate limits, returns structured data, or handles errors. For a tool with zero annotation coverage, this is a significant gap in transparency.

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, clear sentence: '获取七乐彩最新开奖结果.' It is front-loaded with the core purpose, has zero wasted words, and is appropriately sized for a simple tool with no parameters. Every part of the description earns its place by directly stating the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is minimally adequate. It states what the tool does but lacks context on output format, error handling, or integration with sibling tools. For a basic read operation, it meets the minimum viable standard but leaves gaps in completeness that could hinder effective use by an agent.

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, and the schema description coverage is 100%, so there is no need for parameter details in the description. The description correctly omits parameter information, which is appropriate. A baseline score of 4 is given since no parameters exist, and the description does not mislead or add unnecessary complexity.

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?

The description clearly states the tool's purpose: '获取七乐彩最新开奖结果' translates to 'Get the latest Qilecai lottery draw results.' It specifies the action (get) and resource (latest Qilecai results), making the purpose unambiguous. However, it does not explicitly differentiate from sibling tools like get_latest_3d or get_latest_ssq, which serve similar functions for other lottery types, so it falls short of a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It does not mention scenarios for its use, prerequisites, or comparisons to sibling tools such as get_historical_data for past results or analyze_numbers for analysis. Without any usage context, the agent must infer when this tool is appropriate based on the name alone.

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

get_latest_ssqB

获取双色球最新开奖结果

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves latest results, implying a read-only operation, but doesn't mention any behavioral traits such as data freshness, error handling, rate limits, authentication needs, or response format. This leaves significant gaps for an agent to understand how to use it effectively.

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: '获取双色球最新开奖结果'. It is front-loaded with the core purpose, has zero wasted words, and is appropriately sized for a simple tool with no parameters. Every part of the sentence contributes directly to understanding the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (0 parameters, no annotations, no output schema), the description is minimally adequate. It states what the tool does but lacks details on behavior, usage context, or output format. For a simple read operation, this might suffice, but it doesn't provide enough context for an agent to fully leverage the tool without trial and error.

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, and schema description coverage is 100%, so there are no parameters to document. The description doesn't need to add parameter semantics beyond what the schema provides. A baseline score of 4 is appropriate as the description doesn't introduce confusion about parameters that don't exist.

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?

The description clearly states the tool's purpose: '获取双色球最新开奖结果' (Get the latest SSQ lottery draw results). It specifies both the action ('获取' - get) and the resource ('双色球最新开奖结果' - latest SSQ lottery draw results). However, it doesn't explicitly differentiate from siblings like 'get_latest_3d' or 'get_latest_kl8' beyond the SSQ-specific reference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It doesn't mention when to use it (e.g., for SSQ specifically vs. other lottery types like 3D or KL8), when not to use it (e.g., for historical data), or suggest alternatives like 'get_historical_data' for past results. Usage is implied by the tool name but not explicitly stated.

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

predict_lotteryC

预测彩票号码,基于历史数据生成预测结果

ParametersJSON Schema
NameRequiredDescriptionDefault
lottery_typeYes彩票类型
methodNo预测方法rule
countNo预测组数
strategyNo预测策略all

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool generates predictions based on historical data, but doesn't describe what the predictions look like (e.g., format, structure), whether it's a read-only operation, potential rate limits, accuracy claims, or how it interacts with data sources. For a prediction tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.

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, efficient sentence: '预测彩票号码,基于历史数据生成预测结果'. It's front-loaded with the core purpose and avoids unnecessary words. However, it could be slightly more structured by separating the prediction action from the data source for clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (a prediction tool with 4 parameters) and lack of annotations and output schema, the description is incomplete. It doesn't explain the prediction output format, accuracy, data freshness, or how it differs from sibling tools. For a tool that generates predictions based on historical data, more context is needed to guide effective use.

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%, with all parameters well-documented in the schema itself (e.g., 'lottery_type' with enum values, 'method' with only 'rule', 'count' with range 1-20, 'strategy' with enum options). The description adds no additional meaning beyond what's in the schema—it doesn't explain what 'rule' method entails, what the strategies mean, or how parameters interact. Baseline 3 is appropriate when the schema does the heavy lifting.

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?

The description clearly states the tool's purpose: '预测彩票号码,基于历史数据生成预测结果' (Predict lottery numbers, generate prediction results based on historical data). It specifies the verb ('预测' - predict) and resource ('彩票号码' - lottery numbers), and mentions the data source ('历史数据' - historical data). However, it doesn't explicitly differentiate from sibling tools like 'generate_random_numbers' or 'analyze_numbers' which might have overlapping functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It doesn't mention any prerequisites, when-not-to-use scenarios, or comparisons with sibling tools like 'generate_random_numbers' (which might generate numbers without historical data) or 'backtest_lottery' (which might evaluate predictions). The agent must infer usage solely from the tool name and parameters.

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

sync_lottery_dataC

同步指定彩票类型的最新数据到本地数据库

ParametersJSON Schema
NameRequiredDescriptionDefault
lottery_typeYes彩票类型
periodsNo同步期数

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but is minimal. It states it syncs data to a local database, implying a write operation, but doesn't disclose behavioral traits like whether it overwrites existing data, requires specific permissions, handles errors, or has rate limits. It mentions '最新数据' (latest data) but doesn't clarify how 'latest' is determined or if it's incremental.

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, efficient sentence in Chinese that directly states the tool's function. It's front-loaded with the core action and resource, with no wasted words. However, it could be slightly more structured by explicitly mentioning parameters or context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is incomplete for a write operation tool. It doesn't explain what 'sync' entails (e.g., overwrite, merge), what happens on success/failure, or the return value. For a tool that modifies a local database, more behavioral context is needed to guide safe usage.

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 schema fully documents both parameters ('lottery_type' with enum values and 'periods' with range/default). The description adds no additional meaning beyond implying 'periods' relates to syncing multiple periods of data, but this is already clear from the schema's '同步期数' (sync periods) description. Baseline 3 is appropriate as the schema does the heavy lifting.

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?

The description clearly states the action ('同步' meaning 'sync') and the resource ('指定彩票类型的最新数据' meaning 'specified lottery type's latest data'), with a specific destination ('到本地数据库' meaning 'to local database'). It distinguishes from siblings like 'get_historical_data' (read-only) and 'force_sync_data' (likely a forced variant), but doesn't explicitly differentiate from 'force_sync_data' in the description itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It doesn't mention when-not-to-use scenarios, prerequisites, or compare with siblings like 'force_sync_data' or 'get_historical_data'. The description implies it's for syncing latest data, but lacks context on timing, frequency, or conflicts.

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 updatesv1.0.0
    • Changedanalyze_numbers1 field changed
      • changedInput schema / properties / periods / maximum
        Previous value: -500New value: +1000
    • Addedanalyze_seq_numbers
    • Addedbacktest_lottery
    • Addedforce_sync_data
    • Changedget_historical_data1 field changed
      • changedInput schema / properties / periods / maximum
        Previous value: -500New value: +1000
    • Addedpredict_lottery
  2. 9 tool updates
    • First observedanalyze_numbers
    • First observedgenerate_random_numbers
    • First observedget_database_info
    • First observedget_historical_data
    • First observedget_latest_3d
    • First observedget_latest_kl8
    • First observedget_latest_qlc
    • First observedget_latest_ssq
    • First observedsync_lottery_data

TDQS

B3.3/5.0

Scored across 13 tools

Disambiguation4/5

Most tools have distinct purposes, such as data retrieval (get_historical_data, get_latest_*), analysis (analyze_numbers, analyze_seq_numbers), and prediction (predict_lottery, generate_random_numbers). However, force_sync_data and sync_lottery_data overlap significantly in functionality, which could cause confusion for an agent.

Naming Consistency5/5

Tool names follow a highly consistent verb_noun pattern throughout, using snake_case uniformly. Examples include get_latest_ssq, analyze_numbers, and predict_lottery, making the set predictable and easy to understand.

Tool Count5/5

With 13 tools, the count is well-scoped for a lottery analysis server. It covers data retrieval, analysis, prediction, and database management without being overwhelming, with each tool serving a clear purpose in the domain.

Completeness4/5

The tool set provides strong coverage for lottery data analysis, including data sync, historical retrieval, statistical analysis, and prediction. A minor gap is the lack of tools for managing user preferences or advanced filtering, but core workflows are well-supported.

Related MCP Connectors

Related MCP Servers

  • A
    license
    D
    quality
    D
    maintenance
    Provides Swiss weather forecast data, allowing users to search for Swiss locations and get detailed hourly and daily weather forecasts.
    2
    2
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    A high-performance FastAPI backend for train ticket queries in China, supporting real-time ticket availability, station information, transfers, and train schedules through the Model Context Protocol for AI assistants and automation.
    7
    380
    MIT
  • A
    license
    B
    quality
    F
    maintenance
    Enables users to search and retrieve content from Xiaohongshu (Red Book) platform with smart search capabilities and rich data extraction including note content, author information, and images.
    1
    54
    28
    MIT

Appeared in Searches