SIM-ONE MCP 服务器
一个模型上下文协议(MCP)服务器,提供来自SIM-ONE框架的认知AI工具,包括情感分析、逻辑推理、验证和认知治理。
特点/特性
- 13款生产就绪工具 跨越4个认知领域
- HTTP传输 使用API密钥进行身份验证
- STDIO 传输 用于本地开发
- SQLite数据库 用于安全的API密钥管理
- 所有工具均可使用 通过经过身份验证的HTTP端点
认知领域
1. ESL(情绪状态层)
esl_analyze_emotion- 多维度情感检测esl_analyze_emotional_progression- 跟踪随时间变化的情绪变化esl_generate_empathetic_response- 生成符合上下文的恰当回应
2. 五法则验证器(认知治理)
five_laws_validate_single_text- 根据五条法则验证人工智能的回应five_laws_validate_batch- 批量验证与对比five_laws_validate_iteratively- 带有细化追踪的迭代验证
3. REP(推理与解释协议)
rep_perform_deductive_reasoning- 将一般规则应用于具体情况rep_perform_inductive_reasoning- 从观察中识别模式rep_perform_abductive_reasoning- 推断最佳解释rep_perform_analogical_reasoning- 在不同领域间传递知识rep_perform_causal_reasoning- 确定因果关系rep_perform_integrated_reasoning- 全面应用各种推理类型
4. VVP(验证与确认协议)
vvp_validate_rules- 验证逻辑规则结构
安装
先决条件
- Python 3.11+(或“Python 3.11及以上版本”)
- FastMCP 2.11.0及以上版本
设置
- 克隆仓库
git clone https://github.com/dansasser/SIM-ONE-MCP.git
cd SIM-ONE-MCP- 安装依赖项
pip install fastmcp- 生成您的第一个API密钥
python src/manage_keys.py generate --name "My First Client"安全保存生成的密钥——它不会再显示!
使用方法
HTTP 模式(默认)
使用API密钥进行服务器认证并启动:
python src/SIM-ONE_mcp.py服务器将在 http://0.0.0.0:8000/mcp/
进行身份验证的请求:
curl -H "Authorization: Bearer sk-simone-xxxxxxxxxxxxxxxxxxxxx" \
http://localhost:8000/mcp/STDIO 模式(本地开发)
对于本地开发且无需认证的情况:
python src/SIM-ONE_mcp.py --stdioAPI密钥管理
生成新密钥
python src/manage_keys.py generate --name "Production Client"带有元数据:
python src/manage_keys.py generate --name "Test Client" --metadata '{"env":"test","team":"qa"}'列出所有密钥
python src/manage_keys.py list输出:
================================================================================
ID Name Created Last Used Active
================================================================================
1 Production Client 2025-10-12 13:45:22 2025-10-12 14:30:15 ✓ Yes
2 Test Client 2025-10-12 13:50:10 Never ✓ Yes
================================================================================
Total: 2 key(s)显示关键细节
python src/manage_keys.py info --id 1撤销密钥
python src/manage_keys.py revoke --id 2配置
环境变量
使用环境变量配置服务器:
# Database location
export SIMONE_DB_PATH="data/api_keys.db"
# Server host and port
export SIMONE_HOST="0.0.0.0"
export SIMONE_PORT="8000"
# Run server
python src/SIM-ONE_mcp.py自定义数据库位置
python src/manage_keys.py --db /path/to/custom.db generate --name "Client"生产部署
使用Nginx反向代理
- 配置Nginx (
/etc/nginx/sites-available/simone-mcp):
server {
listen 443 ssl http2;
server_name mcp.yourdomain.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location /mcp/ {
proxy_pass http://127.0.0.1:8000/mcp/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
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;
}
}- 启用站点:
sudo ln -s /etc/nginx/sites-available/simone-mcp /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx- 启动服务器:
python src/SIM-ONE_mcp.py您的服务器现已可通过以下地址访问 https://mcp.yourdomain.com/mcp/
使用 Systemd 服务
创造 /etc/systemd/system/simone-mcp.service:
[Unit]
Description=SIM-ONE MCP Server
After=network.target
[Service]
Type=simple
User=ubuntu
WorkingDirectory=/home/ubuntu/SIM-ONE-MCP
Environment="SIMONE_HOST=127.0.0.1"
Environment="SIMONE_PORT=8000"
ExecStart=/usr/bin/python3 /home/ubuntu/SIM-ONE-MCP/src/SIM-ONE_mcp.py
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target启用并启动:
sudo systemctl enable simone-mcp
sudo systemctl start simone-mcp
sudo systemctl status simone-mcp安全
API密钥安全
- 加密安全生成用途
secrets.token_urlsafe(32)对于256位熵 - 哈希存储存储的密钥为SHA-256哈希值,绝非明文
- 一次性展示在生成过程中仅显示一次密钥
- 撤销支持密钥可以停用而无需删除
- 审计轨迹/审计追踪:
last_used_at时间戳追踪密钥使用情况
最佳实践
- 永远不要提交API密钥 进行版本控制
- 在生产环境中使用HTTPS (带有SSL的nginx/caddy)
- 定期更换密码 (撤销旧的,生成新的)
- 为每个客户端使用唯一密钥 以更好地追踪审计轨迹
- 安全存储密钥 (环境变量,密钥管理器)
- 监控密钥使用情况 (意大利语)路;方式;途径
last_used_at时间戳
数据库安全
SQLite数据库(data/api_keys.db) 包含哈希密钥,并通过(某种方式)被排除在git之外 .gitignore.
备份建议:
# Backup database
cp data/api_keys.db data/api_keys.db.backup
# Restore from backup
cp data/api_keys.db.backup data/api_keys.db建筑
文件结构
SIM-ONE-MCP/
├── src/
│ ├── SIM-ONE_mcp.py # Main server with HTTP/STDIO transport
│ ├── auth/ # Authentication module
│ │ ├── __init__.py
│ │ ├── api_key_db.py # SQLite database manager
│ │ └── api_key_verifier.py # FastMCP auth integration
│ ├── manage_keys.py # CLI tool for key management
│ └── tools/ # Tool implementations
│ ├── esl_emotional_analysis_tutorial.py
│ ├── five_laws_validator_tutorial.py
│ ├── rep_reasoning_tutorial.py
│ └── vvp_validation_tutorial.py
├── data/ # Database directory (gitignored)
│ └── api_keys.db # SQLite database
├── tmp/ # Tool input/output files
│ ├── inputs/
│ └── outputs/
└── README.md认证流程
- 客户端发送带有(相关内容/参数等)的请求
Authorization: Bearer sk-simone-...头球 - FastMCP提取标记并调用
APIKeyVerifier.verify_token() - 验证令牌哈希并查询SQLite数据库
- 如果有效且活跃,则更新
last_used_at并返回用户信息 - FastMCP允许请求继续传递给工具
- 如果无效,FastMCP 返回 401 未授权
运输方式
| 模式 | 命令 | 认证 | 使用场景 | ||
|---|---|---|---|---|---|
| 中文翻译 | 列1 | 列2 | 列3 | python src/SIM-ONE_mcp.py | HTTP |
| API密钥必需 | 生产环境,远程访问 python src/SIM-ONE_mcp.py --stdio | 标准输入输出(STDIO) |
| 无(本地安全)| 本地开发、测试 |
故障排除
服务器无法启动 ModuleNotFoundError: No module named 'fastmcp'
错误:
pip install fastmcp解决方案:
认证失败 401 Unauthorized
错误:
- 检查:
python src/manage_keys.py list - API密钥有效:
- 密钥处于有效状态(未被撤销)
Authorization: Bearer sk-simone-... - 头部格式:
键中不包含额外空格或换行符
数据库被锁定 sqlite3.OperationalError: database is locked
错误:
# Close any open connections
pkill -f manage_keys.py
# If persists, restart server
pkill -f SIM-ONE_mcp.py
python src/SIM-ONE_mcp.py解决方案:
端口已被使用 OSError: [Errno 98] Address already in use
错误:
# Find process using port 8000
lsof -i :8000
# Kill process
kill -9
# Or use different port
export SIMONE_PORT=8001
python src/SIM-ONE_mcp.py解决方案:
发展
# Test key generation
python src/manage_keys.py generate --name "Test"
# Test server startup
python src/SIM-ONE_mcp.py &
SERVER_PID=$!
# Test authentication (replace with your key)
curl -H "Authorization: Bearer sk-simone-..." http://localhost:8000/mcp/
# Cleanup
kill $SERVER_PID运行测试
添加新工具 tools/ 工具会自动从(某处)装载
- 目录。要添加新工具:
src/tools/ - 在(指定位置)创建工具文件
src/SIM-ONE_mcp.py - 进口至
mcp.mount(new_tool_mcp)
使用(某种方法/工具)安装
- 做出贡献
- 为仓库创建分支(或:克隆仓库)
git checkout -b feature/amazing-feature创建特性分支( - )
git commit -m 'Add amazing feature'提交更改( - )
git push origin feature/amazing-feature推送到分支( - )
打开拉取请求
许可证 这个项目是SIM-ONE框架的一部分。参见主(部分/页面) SIM-ONE 仓库
有关许可证信息。
- MCP服务器框架
支持
- 对于问题、疑问或贡献:
- 在GitHub上提交一个问题 看看
SIM-ONE 文档
更新日志
- v2.0.0 - 带身份验证的HTTP传输
- 增加了HTTP传输支持
- 实现了基于SQLite的API密钥认证
- 创建了密钥管理CLI(命令行界面)
- 保持了与STDIO模式的向后兼容性
增加了全面的文档说明
- v1.0.0 - 初始发布
- 来自SIM-ONE框架的13种认知工具
- STDIO传输
