Mcp Service — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Mcp Service (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.
这是一个基于FastMCP框架的MySQL数据库查询服务,提供Resources、Prompts、Tools三种服务类型,允许AI助手通过MCP协议执行数据库查询操作。
database://tables - 获取数据库中所有表名database://table/{table_name}/data - 获取指定表的数据(支持分页)database://table/{table_name}/structure - 获取指定表的结构信息sql_query_assistant - SQL查询助手提示词,根据用户需求生成SQL查询建议execute_complex_query - 执行复杂的多表SQL查询pip install -r requirements.txt编辑 .env 文件,配置MySQL数据库连接信息:
MYSQL_HOST=localhost
MYSQL_PORT=3307
MYSQL_USER=root
MYSQL_PASSWORD=root
MYSQL_DATABASE=mcp#### 开发模式(stdio)
使用MCP开发模式启动服务,适合开发和调试:
mcp dev mcp_server.py服务启动后会显示:
Starting MCP inspector...
⚙️ Proxy server listening on localhost:6277
🔑 Session token: [token]
🚀 MCP Inspector is up and running at: http://localhost:6274/?MCP_PROXY_AUTH_TOKEN=[token]#### 生产模式(SSE)
使用SSE(Server-Sent Events)模式启动HTTP服务,适合生产环境部署:
python mcp_server.py --mode sse --port 8000服务启动后会显示:
🚀 启动MCP SSE服务器...
📡 服务地址: http://localhost:8000
🔗 MCP端点: http://localhost:8000/sse
📊 健康检查: http://localhost:8000/health
📖 API文档: http://localhost:8000/docs#### 命令行参数
python mcp_server.py [选项]
选项:
--mode {stdio,sse} 运行模式: stdio (默认) 或 sse
--host HOST SSE服务器主机 (默认: localhost)
--port PORT SSE服务器端口 (默认: 8000)
-h, --help 显示帮助信息启动服务后,浏览器会自动打开MCP Inspector界面,你可以:
#### stdio模式配置(开发环境)
在Kiro的MCP配置中添加:
{
"mcpServers": {
"mysql-database": {
"command": "python",
"args": ["path/to/mcp_server.py"],
"disabled": false,
"autoApprove": []
}
}
}#### SSE模式配置(生产环境)
在Kiro的MCP配置中添加:
{
"mcpServers": {
"mysql-database-sse": {
"command": "python",
"args": ["path/to/mcp_server.py", "--mode", "sse", "--port", "8000"],
"disabled": false,
"autoApprove": []
}
}
}当服务以SSE模式运行时,可以通过HTTP接口访问:
GET http://localhost:8000/healthGET http://localhost:8000/sseGET http://localhost:8000/docs#### 获取表列表
database://tables{
"tables": ["users", "orders", "products"],
"count": 3,
"database": "mcp"
}#### 获取表数据
database://table/{table_name}/datatable_name - 表名{
"table_name": "users",
"data": [...],
"pagination": {
"limit": 1000,
"offset": 0,
"returned": 10,
"total": 100
}
}#### 获取表结构
database://table/{table_name}/structuretable_name - 表名{
"table_name": "users",
"columns": [
{
"Field": "id",
"Type": "int(11)",
"Null": "NO",
"Key": "PRI"
}
],
"create_statement": "CREATE TABLE ..."
}#### SQL查询助手
sql_query_assistantquery_description (必需) - 查询需求描述table_name (可选) - 目标表名#### 执行复杂查询
execute_complex_querysql_query (必需) - SQL查询语句limit (可选,默认1000) - 结果行数限制{
"sql": "SELECT * FROM users LIMIT 1000",
"results": [...],
"count": 10,
"limit": 1000,
"success": true
}在MCP Inspector中选择Resource database://tables,点击执行。
选择Resource database://table/users/data,查看用户表的前1000条记录。
使用Prompt sql_query_assistant:
{
"query_description": "查询最近一周注册的用户",
"table_name": "users"
}使用Tool execute_complex_query:
{
"sql_query": "SELECT u.name, COUNT(o.id) as order_count FROM users u LEFT JOIN orders o ON u.id = o.user_id GROUP BY u.id",
"limit": 500
}mcp dev支持代码热重载.env文件中的数据库配置pip install -r requirements.txtmcp-service/
├── mcp_server.py # 主服务文件
├── requirements.txt # 依赖配置
├── .env # 数据库配置
├── README.md # 使用说明
└── MCP需求.md # 需求文档如需添加新功能,可以:
@mcp.resource()、@mcp.prompt()、@mcp.tool()装饰器mcp dev测试新功能本项目仅用于学习和实践MCP协议开发。
创建服务文件 /etc/systemd/system/mcp-mysql.service:
[Unit]
Description=MCP MySQL Database Service
After=network.target mysql.service
[Service]
Type=simple
User=www-data
WorkingDirectory=/path/to/mcp-service
Environment=PATH=/path/to/venv/bin
ExecStart=/path/to/venv/bin/python mcp_server.py --mode sse --host 0.0.0.0 --port 8000
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target启动服务:
sudo systemctl enable mcp-mysql
sudo systemctl start mcp-mysql
sudo systemctl status mcp-mysql创建 Dockerfile:
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["python", "mcp_server.py", "--mode", "sse", "--host", "0.0.0.0", "--port", "8000"]构建和运行:
docker build -t mcp-mysql-service .
docker run -d -p 8000:8000 --env-file .env mcp-mysql-serviceserver {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://localhost:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# SSE特殊配置
proxy_buffering off;
proxy_cache off;
proxy_set_header Connection '';
proxy_http_version 1.1;
chunked_transfer_encoding off;
}
}img.png
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.