Skip to main content

yhtool MCP Server - 提供数据查询、数据保存和邮件发送功能

Project description


tags:

  • mcp
  • python
  • 数据库
  • 邮件 aliases:
  • yhtool-mcp
  • 数据库工具 date: 2026-04-15

yhtool MCP Server 使用文档

1. 简介

“一会”工具,让AI干啥都一会。 致力成为适配80%工作场景的综合工具。

yhtool MCP Server 是一个 MCP 服务器,提供数据查询,数据保存和邮件发送功能。

特点:

  1. 节省token,只保留日常使用频率较高的tool,避免启动太多MCP Server,占据太多上下文;
  2. 一个基础助手Agent只勾选一个MCP工具,yhtool;
  3. 不求最细,但求最全。只追求能覆盖8成工作中的使用最多的场景,剩下2成有其它垂直MCP完成;

核心功能:

  • 数据保存到 CSV 文件
  • 数据保存到 MySQL 数据库
  • 邮件发送功能
  • 图片上传获取链接(SM.MS)
  • 从csv、excel、sql中读取数据

2. 安装配置

前置要求

uv 包管理器(推荐) [[uv开发管理#2. 安装命令]] Windows 安装(PowerShell):

powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

macOS/Linux 安装:

curl -LsSf https://astral.sh/uv/install.sh | sh

验证安装:

uv --version

MCP 客户端配置

以TRAE为例,点击界面右上⚙️‘设置’,选择‘MCP’,‘添加’,‘手动配置’; 修改下面配置json的环境变量信息,主要是你的数据库连接、邮箱smtp配置、图床key。复制粘贴到配置窗口即可。

在你的 MCP 客户端配置中添加:

{
  "mcpServers": {
    "yhtool": {
      "command": "uv",
      "args": [
        "run",
        "d:\\yhtool-mcp-server\\server.py"
      ],
      "env": {
        "CONSTR_MYSQL": "mysql+pymysql://user:pass@host:port/database",
        "EMAIL_PARAMS": "[\"user@example.com\",\"password\",\"smtp.example.com\",587]",
        "SMMS_KEY": "your-api-key"
      }
    }
  }
}

环境变量配置

环境变量 说明 默认值
CONSTR_MYSQL MySQL 连接字符串 mysql+pymysql://user:password@host:port/database
EMAIL_PARAMS 邮件参数(JSON 数组)支持SSL587和TLS465两种协议端口; ["user@example.com","your-password","smtp.example.com",587]
SMMS_KEY SM.MS API Key your-api-key-here

注意

  • 环境变量值需要 JSON 格式的字符串,注意字符转义;

3. 使用示例

示例1:保存数据到 CSV

请帮我保存以下数据到 CSV 文件:
[
    {"日期": "2026-04-01", "数值": 100},
    {"日期": "2026-04-02", "数值": 200}
]

示例2:保存数据到数据库

请帮我保存以下数据到 MySQL 数据库 db1.test_table:
[
    {"日期": "2026-04-01", "数值": 100},
    {"日期": "2026-04-02", "数值": 200}
]

示例3:发送邮件

请帮我发送一封邮件:
收件人:user@example.com
主题:测试邮件
内容:这是一封测试邮件

示例4:上传图片获取链接

请帮我上传这张图片并获取链接:
图片路径:C:\Users\Desktop\test.png
请帮我上传这张网络图片并获取链接:
图片URL:https://example.com/image.png

示例5:读取 CSV 数据

请帮我读取这个 CSV 文件:
文件路径:C:\Users\Desktop\test.csv

示例6:读取 Excel 数据

帮我读取excel中的前5条数据,文件路径"D:\\2025_rlt.xlsx"

示例7:读取 SQL 数据

请帮我执行这个 SQL 查询并返回前100条:
SQL语句:SELECT * FROM table_name
限制条数:100

4. 可用工具(非开发人员后续内容忽略即可)

3.1 seq_save_csv - 保存到 CSV

将数据保存到 CSV 文件。

参数:

参数 类型 必填 说明
data array 数据列表,每个元素是一个字典
file_path string CSV 文件路径,可选
encoding string 文件编码,默认 utf-8

示例:

# 调用示例
data = [
    {"name": "张三", "age": 25},
    {"name": "李四", "age": 30}
]
seq_save_csv(data=data, file_path="C:\\Users\\Desktop\\test.csv")

3.2 seq_save_db - 保存到数据库

将数据保存到 MySQL 数据库。

参数:

参数 类型 必填 说明
data array 数据列表,每个元素是一个字典
dbname string 数据库名,默认 test
tbname string 表名,可选
upt_cate string 更新方式:insert into、insert ignore、replace into,默认 insert into
chunksize integer 每次更新条数,默认 1000
constr string 数据库连接字符串,可选

示例:

# 调用示例
data = [
    {"name": "张三", "age": 25},
    {"name": "李四", "age": 30}
]
seq_save_db(
    data=data,
    dbname="hfdb",
    tbname="test_table",
    upt_cate="insert into"
)

3.6 seqSave - 底层保存函数(开发者)

底层数据保存函数,接收 JSON 格式的数据。

参数:

参数 类型 必填 说明
dfjson string JSON 格式的数据,如 [{"col1": "value1","col2": null}]
cate string 保存类型:csv 或 db,默认 csv
fp string CSV 文件路径,可选
encoding string 文件编码,默认 utf8
dbname string 数据库名,默认 test
tbname string 表名,可选
upt_cate string 更新方式:insert into、insert ignore、replace into
chunksize integer 每次更新条数,默认 1000
constr string 数据库连接字符串,可选

示例:

# 调用示例
data_json = '[{"name": "张三", "age": 25}, {"name": "李四", "age": 30}]'
seqSave(data_json, cate="csv", fp="C:\\Users\\Desktop\\test.csv")

3.3 send_email - 发送邮件

发送邮件。

参数:

参数 类型 必填 说明
to array 收件人地址列表,默认 同配置的邮箱
cc array 抄送地址列表,默认 []
subject string 邮件主题,默认 "邮件测试"
contents string 邮件内容,默认 "测试内容,请忽略"
attachments array 附件文件路径列表,默认 None

示例:

# 调用示例
send_email(
    to=["user1@example.com", "user2@example.com"],
    subject="测试邮件",
    contents="这是一封测试邮件",
    attachments=["C:\\Users\\Desktop\\test.pdf"]
)

3.4 get_pic_link - 图片上传获取链接

上传图片或网络链接,获取图片链接(SM.MS 图床)。

参数:

参数 类型 必填 说明
imgfp string 图片的绝对路径或网络图片URL
print_img_html boolean 是否打印 HTML 标签代码,默认 True

示例:

# 调用示例 - 本地图片
get_pic_link(imgfp="C:\\Users\\Desktop\\test.png")

# 调用示例 - 网络图片
get_pic_link(imgfp="https://example.com/image.png")

3.5 read_data - 读取数据

读取 CSV、Excel 或 SQL 数据,返回 JSON 格式。

参数:

参数 类型 必填 说明
cate string 读取类型:csv、excel、sql,默认 csv
fp string 文件路径(csv/excel 时必填)
encoding string 文件编码,默认 utf8
sheet_name string Excel sheet 名(excel 时可选),默认0
sqlstr string SQL 查询语句(sql 时必填)
constr string 数据库连接字符串(sql 时可选)
limit_rows integer 限制读取条数,默认 None

示例:

# 调用示例 - 读取 CSV
read_data(cate="csv", fp="C:\\Users\\Desktop\\test.csv")

# 调用示例 - 读取 Excel
read_data(cate="excel", fp="C:\\Users\\Desktop\\test.xlsx", sheet_name="Sheet1")

# 调用示例 - 读取 SQL
read_data(cate="sql", sqlstr="SELECT * FROM table", limit_rows=100)

5. 注意事项

  1. 数据库配置:推荐通过环境变量 CONSTR_MYSQL 配置,也可以使用默认配置
  2. 邮件配置:推荐通过环境变量 EMAIL_PARAMS 配置,也可以使用默认配置
  3. 数据格式:传入的 data 必须是字典列表格式
  4. 编码问题:CSV 默认使用 utf-8 编码,如需要 gbk 可在调用时指定 encoding="gbk"
  5. 环境变量:环境变量值需要 JSON 格式的字符串

6. 依赖项

  • pandas>=2.0.0
  • yagmail==0.15.293
  • requests>=2.32.0
  • sqlalchemy>=2.0.0
  • pymysql>=1.0.0
  • mcp[cli]>=1.0.0
  • httpx>=0.27.0
  • setuptools>=65.0.0
  • openpyxl>=3.1.0

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

yhtool_mcp_server-0.0.26032411.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

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

yhtool_mcp_server-0.0.26032411-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file yhtool_mcp_server-0.0.26032411.tar.gz.

File metadata

  • Download URL: yhtool_mcp_server-0.0.26032411.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for yhtool_mcp_server-0.0.26032411.tar.gz
Algorithm Hash digest
SHA256 88bdc3f0dc926993bb9d5ae1369103cf9bfe701a9e941f6bf3e4b833351af67a
MD5 92e464433824af5fa16da25c941e8521
BLAKE2b-256 874ee64bf2b754ac42efaa981a4de501b2e5e0145bcb84803d29f90ad1c7f9d0

See more details on using hashes here.

File details

Details for the file yhtool_mcp_server-0.0.26032411-py3-none-any.whl.

File metadata

  • Download URL: yhtool_mcp_server-0.0.26032411-py3-none-any.whl
  • Upload date:
  • Size: 11.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for yhtool_mcp_server-0.0.26032411-py3-none-any.whl
Algorithm Hash digest
SHA256 9e83179f2b5e94a36ea1848c34035dfed77139b65db491e6fc0beac31d126fa1
MD5 f55427026ad342ef55354e73ea3462ca
BLAKE2b-256 9e3f9784375f8546f9df5f7b237c6b02584f5587b7e5083035f51973b0b94061

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