Mcp Yashan — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Mcp Yashan (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<!-- mcp-name: io.github.willorn/mcp-yashan -->
一个用于连接崖山数据库(YashanDB)的 MCP(Model Context Protocol)Server,让 AI 助手能够自然语言查询崖山数据库。
新用户推荐:5 分钟快速上手指南
python3 scripts/health_check.py自动检查 Java 环境、依赖、配置和数据库连接。
mcp-yashan --configure或者
python3 -m mcp_yashan.mcp_server --configure按照提示输入数据库信息,自动测试连接并保存配置。
本项目支持两种使用模式:
按需启动,用完即退,资源占用低
适合:本地开发、AI 工具集成(Kiro、Claude Desktop 等)
python3 mcp_server.py详见 STDIO 模式文档
常驻服务,支持远程访问
适合:远程访问、多用户共享、高频查询
python3 server.py --host 0.0.0.0 --port 20302详见 HTTP 模式文档
mcp-yashan/
├── mcp_yashan/ # 源代码(Python 包)
│ ├── __init__.py
│ ├── mcp_server.py # STDIO 模式入口
│ ├── http_server.py # HTTP 模式入口
│ ├── core/ # 核心逻辑
│ │ ├── __init__.py
│ │ ├── executor.py # SQL 执行器
│ │ ├── metadata.py # 元数据管理
│ │ └── tools.py # MCP 工具定义
│ └── runtime/ # 运行时依赖
│ ├── yashandb-jdbc-1.9.3.jar
│ └── java/
│ └── yashan-mcp-helper.jar
├── config/ # 配置文件
│ └── .env.example # 配置模板
├── scripts/ # 脚本工具
│ ├── start.sh # HTTP 模式启动脚本
│ ├── package_release.sh # 打包脚本
│ └── create_autostart_task.ps1
├── tests/ # 测试
│ ├── test_stability.py # 稳定性测试
│ └── test_jdbc.py # JDBC 连接测试
├── docs/ # 文档
│ ├── STDIO_MODE.md # STDIO 模式文档
│ ├── HTTP_MODE.md # HTTP 模式文档
│ ├── QUICK_START.md # 快速开始
│ └── YASHAN_SQL_GUIDE.md # SQL 语法指南
├── pyproject.toml # Python 包配置
├── MANIFEST.in # 打包清单
├── README.md # 项目说明
└── LICENSE # MIT 许可证yashandb-jdbc-1.9.3.jar(已包含在 runtime/ 目录)项目需要 Java 运行时环境(JRE 8+)来执行 SQL 查询。
检查 Java 版本:
java -version
# 需要显示 1.8 或更高版本如果未安装 Java:
brew install openjdk@17sudo apt install openjdk-17-jresudo yum install java-17-openjdk注意:项目会自动查找系统 Java,无需额外配置。
python3 -m pip install -r requirements.txt注意:确保已安装 Java 8+ (JRE 或 JDK)。检查:java -version
推荐使用 .env:
cp config/.env.example .env然后填写:
DB_HOST=your_database_host
DB_PORT=1688
DB_NAME=yashandb
DB_USER=your_username
DB_PASSWORD=your_password
# 可选:SQL 执行超时时间(秒),默认 60
# SQL_TIMEOUT=60如果你的数据库连接参数较复杂,也可以直接配置完整 JDBC URL:
DB_JDBC_URL=jdbc:yasdb://host:port/dbname?param=valuepython3 -m mcp_yashan.mcp_server./scripts/start.sh
# 或
python3 -m mcp_yashan.http_server --host 0.0.0.0 --port 20302注意:首次运行前请确保已安装 Java 并配置 .env 文件。
在 Kiro 或 Claude Desktop 的 MCP 配置中添加:
{
"mcpServers": {
"yashan": {
"command": "python3",
"args": ["-m", "mcp_yashan.mcp_server"]
}
}
}或者使用绝对路径(开发环境):
{
"mcpServers": {
"yashan": {
"command": "python3",
"args": ["<项目绝对路径>/mcp_yashan/mcp_server.py"]
}
}
}获取项目绝对路径:在项目目录下执行 pwd
如果客户端支持 streamable-http:
{
"mcpServers": {
"yashan": {
"type": "streamable-http",
"url": "http://你的服务IP:20302/mcp"
}
}
}详见对应模式的文档。
| 工具名 | 描述 |
|---|---|
test_connection | 测试数据库连接 |
run_sql | 执行 SQL 查询 |
list_schemas | 列出所有 Schema |
list_tables | 列出表 |
describe_table | 查看表结构 |
search_tables | 搜索表 |
get_table_indexes | 查看表索引 |
get_table_count | 获取表行数 |
get_database_info | 获取数据库信息 |
explain_sql | 获取 SQL 执行计划 |
可使用:
./scripts/package_release.sh打包后会在 release/ 目录下生成可分发压缩包。
server.py:服务入口core/:SQL 执行和元数据逻辑runtime/jre/:随包分发的 Java Runtimeruntime/java/yashan-mcp-helper.jar:预编译 Java helperlogs/:按天滚动日志docs/:补充文档MIT License
本项目包含以下第三方依赖:
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.