Skip to main content

MCP server for intelligent HS code queries - 智能海关HS编码查询服务

Project description

MCP HS Code Query Server

🚀 智能海关HS编码查询MCP服务器 - 支持通过uvx一键部署

MCP Python License

📖 简介

基于 Model Context Protocol (MCP) 的智能海关HS编码查询服务,支持AI智能体平台(Claude Desktop、ChatGPT等)通过 uvx 快速部署和调用。

✨ 核心特性

  • 智能查询: 中文分词 + 相似度匹配 + 自动选择最佳结果
  • 完整数据: HS编码、申报要素、监管条件、检验检疫等完整信息
  • 批量支持: 一次查询多个商品
  • MCP标准: 符合Model Context Protocol规范
  • 一键部署: 使用 uvx 零配置启动
  • AI就绪: 可被Claude Desktop、ChatGPT等AI平台调用

🚀 快速开始

方式1: 使用 uvx(推荐)

最简单的使用方式,无需安装:

# 直接运行(uvx会自动下载和运行)
uvx mcp-hs-code-query

# 或者从本地运行
uvx --from . mcp-hs-code-query

方式2: 安装后使用

# 克隆仓库
git clone <repository-url>
cd data_search

# 安装依赖(使用uv)
uv pip install -e .

# 运行服务器
uv run mcp-hs-code-query

方式3: 在Claude Desktop中配置

编辑 Claude Desktop 配置文件:

Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

添加以下配置:

{
  "mcpServers": {
    "hs-code-query": {
      "command": "uvx",
      "args": ["mcp-hs-code-query"]
    }
  }
}

或者从本地路径运行:

{
  "mcpServers": {
    "hs-code-query": {
      "command": "uvx",
      "args": [
        "--from",
        "c:\\Users\\dela1\\Desktop\\data_search",
        "mcp-hs-code-query"
      ]
    }
  }
}

重启 Claude Desktop 后即可使用!

🛠️ 提供的工具

1. query_hs_code

根据商品名称查询HS编码及完整申报信息。

参数:

  • product_name (string): 商品名称(中文)

返回: 包含HS编码、申报要素、监管条件等完整信息的字典

示例:

query_hs_code(product_name="苹果")
# 返回:
{
  "hs_code": "08081000.00",
  "product_name": "鲜苹果",
  "description": "鲜苹果",
  "declaration_elements": "1:品名;2:品牌类型;3:出口享惠情况;...",
  "first_unit": "千克",
  "second_unit": "无",
  "customs_supervision_conditions": {...},
  "inspection_quarantine": {...},
  "search_success": true
}

2. batch_query_hs_codes

批量查询多个商品的HS编码。

参数:

  • product_names (array): 商品名称列表

返回: 包含查询统计和所有结果的字典

示例:

batch_query_hs_codes(product_names=["苹果", "香蕉", "橙子"])
# 返回:
{
  "total": 3,
  "successful": 3,
  "failed": 0,
  "results": [...]
}

3. query_by_code

根据已知HS编码查询详细信息。

参数:

  • hs_code (string): HS编码

示例:

query_by_code(hs_code="08081000.00")

📋 在AI助手中使用

配置完成后,你可以在Claude Desktop中这样使用:

示例对话:

用户: 帮我查询"苹果"的HS编码

Claude: 我来帮你查询... [调用 query_hs_code 工具]

查询结果:

  • HS编码:08081000.00
  • 商品名称:鲜苹果
  • 申报要素:1:品名;2:品牌类型;3:出口享惠情况;...
  • 监管条件:AB(入境/出境货物通关单)
  • ...

用户: 批量查询"苹果、香蕉、橙子"的HS编码

Claude: [调用 batch_query_hs_codes 工具]

已查询3个商品,全部成功!

  1. 苹果 - 08081000.00
  2. 香蕉 - 08030012.00
  3. 橙子 - 08051000.10

🔧 开发和测试

使用MCP Inspector测试

# 启动Inspector进行交互式测试
uv run mcp dev mcp_hs_code_query/server.py

单元测试

# 运行测试
uv run pytest tests/

调试

在VS Code中配置 .vscode/mcp.json:

{
  "servers": {
    "hs-code-query": {
      "type": "stdio",
      "command": "uv",
      "args": ["run", "mcp-hs-code-query"]
    }
  }
}

📦 依赖

核心依赖:

  • mcp>=1.0.0 - Model Context Protocol SDK
  • requests>=2.31.0 - HTTP请求
  • beautifulsoup4>=4.12.0 - HTML解析
  • lxml>=4.9.3 - XML/HTML处理
  • jieba>=0.42.1 - 中文分词
  • rapidfuzz>=3.0.0 - 相似度匹配

所有依赖在 pyproject.toml 中定义。

🏗️ 项目结构

data_search/
├── mcp_hs_code_query/        # MCP服务器包
│   ├── __init__.py           # 包初始化
│   ├── __main__.py           # 命令行入口
│   └── server.py             # MCP服务器实现
├── src/                      # 核心业务逻辑
│   ├── scraper.py           # 爬虫引擎
│   ├── parser.py            # HTML解析
│   ├── search_optimizer.py # 搜索优化
│   ├── storage.py           # 数据存储
│   └── utils.py             # 工具函数
├── config/                   # 配置文件
│   └── settings.py
├── pyproject.toml           # 项目配置和依赖
└── README_MCP.md            # 本文档

🌐 与REST API的区别

特性 MCP服务器 REST API
使用场景 AI智能体集成 Web应用、微服务
通信方式 stdio / SSE HTTP
部署方式 uvx一键启动 需要Web服务器
调用方式 AI自动调用 手动HTTP请求
文档 自动生成 需要编写

两者可以共存! 你可以同时提供MCP服务和REST API,满足不同场景的需求。

🔐 安全性

  • ✅ 请求延迟控制(避免过载)
  • ✅ 重试机制(网络容错)
  • ✅ 错误处理(详细日志)
  • ⚠️ 建议在生产环境中添加速率限制
  • ⚠️ 建议配置代理池(避免IP封禁)

📄 许可证

MIT License - 详见 LICENSE 文件

🤝 贡献

欢迎提交 Issue 和 Pull Request!

📚 相关文档

💡 常见问题

Q: 如何在ChatGPT中使用?

A: ChatGPT目前不直接支持MCP,但你可以使用REST API(见 API_README.md)

Q: 如何提高查询速度?

A: 1) 使用批量查询 2) 添加缓存机制 3) 使用代理池

Q: 如何自定义目标网站?

A: 修改 config/settings.py 中的 BASE_URL

Q: 如何调试MCP服务器?

A: 使用 uv run mcp dev 或在VS Code中配置断点调试


维护者: HS Code Query Team
最后更新: 2025-11-25

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_hs_code_query-1.0.0.tar.gz (24.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_hs_code_query-1.0.0-py3-none-any.whl (23.0 kB view details)

Uploaded Python 3

File details

Details for the file mcp_hs_code_query-1.0.0.tar.gz.

File metadata

  • Download URL: mcp_hs_code_query-1.0.0.tar.gz
  • Upload date:
  • Size: 24.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for mcp_hs_code_query-1.0.0.tar.gz
Algorithm Hash digest
SHA256 d2f983ea9c60f1f5d72248722809a7371a4b7806539c611f805375db840e5b76
MD5 9ff8a35b800b1f973236c08a3b7c49cc
BLAKE2b-256 345ce4a54b3db5464b6f2500acae22b5bfcdd7cfa8bbf77d4daac02a0fe3d3f7

See more details on using hashes here.

File details

Details for the file mcp_hs_code_query-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_hs_code_query-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 00c73c8d9cc35f765b94c7c45774aded83c0d754a218be54952b397e07fc683e
MD5 1c7b9b9956380f25b887ec918c79c115
BLAKE2b-256 976e3a2c23535bb05c41c70dba477b622f2993133d27a1ec8e3a38bbf6c7d465

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page