Skip to main content

yhtool MCP Server - '一会‘工具,一会就好。查数据,存数据,发邮件,生成图片链接等;

Project description


tags:

  • mcp
  • python
  • 数据库
  • 邮件
  • 内容管理

aliases:

  • yhtool-mcp
  • 数据库工具

date: 2026-05-30

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中读取数据
  • 查询内容分类提示词和示例API
  • 写入内容API

2. 安装配置

前置要求

uv 管理(推荐)

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": "uvx",
      "args": [
        "yhtool-mcp-server"
      ],
      "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",
        "CONTENT_URL": "https://your-domain.com",
        "CONTENT_RULE_ROUTE": "/api/content_example",
        "CONTENT_ADD_ROUTE": "/api/add_content",
        "CONTENT_AUTH_USER": "admin",
        "CONTENT_AUTH_SECRET": "123456"
      }
    }
  }
}

环境变量配置

环境变量 说明 默认值
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
CONTENT_URL 内容服务的基础 URL https://domain.cn
CONTENT_RULE_ROUTE 查询内容规则的路由路径 /api/content_example
CONTENT_ADD_ROUTE 添加内容的路由路径 /api/add_content
CONTENT_AUTH_USER 内容服务的 Auth 用户名 admin
CONTENT_AUTH_SECRET 内容服务的 Auth 密码 123456

注意

  1. 环境变量值需要 JSON 格式的字符串,注意字符转义;
  2. 如果MCP工具调用失败,可重启IDE客户端后重试。

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

示例8:查询内容分类提示词

请帮我查询 blog 分类的内容提示词和示例

示例9:添加内容到博客

请帮我添加一条博客内容:
标题:我的第一篇博客
内容:今天开始我的博客之旅,记录生活和技术学习。
标签:["说说", "生活"]

4. 工具API参考(非开发人员可忽略后续内容)

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="htdb",
    tbname="test_table",
    upt_cate="insert into"
)

3.3 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.4 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.5 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.6 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)

3.6 query_content_rules - 查询内容分类提示词

查询指定分类内容的提示词和示例数据,用于指导内容生成。

参数:

参数 类型 必填 说明
cate string 内容分类

示例:

# 调用示例
query_content_rules(cate="blog")

3.7 add_content - 写入内容数据

写入内容数据到 content ,支持分类。

参数:

参数 类型 必填 说明
cate string 内容分类
title string 标题,默认空字符串
subtitle string 副标题,默认空字符串
author string 作者名,默认使用认证用户名
article string 文章正文内容,默认空字符串
tags array 标签列表,JSON数组格式,默认["bot"]
tips string 附加提示信息,默认空字符串

示例:

# 调用示例 - 添加博客
add_content(
    cate="blog",
    title="我的博客",
    article="今天的学习记录...",
    tags=["技术", "学习"]
)

# 调用示例 - 添加工具
add_content(
    cate="tool",
    title="实用小工具",
    author="工具作者",
    tips="https://example.com/tool"
)

5. 注意事项

  1. 数据库配置:推荐通过环境变量 CONSTR_MYSQL 配置
  2. 邮件配置:推荐通过环境变量 EMAIL_PARAMS 配置
  3. 编码问题:CSV 默认使用 utf-8 编码,如需要 gbk 可在调用时指定 encoding="gbk"
  4. 环境变量:环境变量值需要 JSON 格式的字符串
  5. 内容服务配置:使用内容相关工具前需配置 CONTENT_* 环境变量

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.26053112.tar.gz (12.0 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.26053112-py3-none-any.whl (13.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: yhtool_mcp_server-0.0.26053112.tar.gz
  • Upload date:
  • Size: 12.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","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.26053112.tar.gz
Algorithm Hash digest
SHA256 19fc1be69b1ab425535c53aeec49df49ea983b4a8b1b91bb08a747988ef52696
MD5 5105702786ce4902c0e10ba3fe3dcfa9
BLAKE2b-256 5470a1cdad89cd41b1f1211f65cb6bed814cb874e368030216e10d129ef21eb0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yhtool_mcp_server-0.0.26053112-py3-none-any.whl
  • Upload date:
  • Size: 13.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","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.26053112-py3-none-any.whl
Algorithm Hash digest
SHA256 5c97acee1fe382432a534e465fc3aa9e63e6e3b4edfb9960acc94ff2fc5e7da1
MD5 be7c5154b99f8060b9bba050f2dfcf98
BLAKE2b-256 8d1b52e06bfc23fc9f5a147215d7ce4b3e6b4ce875022d732aee5d5769086310

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