安全运营MCP服务器
基于人工智能的安全事件知识库 --在几个小时内,而不是几个月内,将您的工业事故数据插入任何人工智能助手。
   
______________________________________________________________________
这是什么?
生产准备就绪 MCP(模型上下文协议)服务器 它将您的工作场所事件数据库转换为RAG驱动的人工智能助手,与 克劳德·科皮洛特工作室,ChatGPT,以及任何兼容MCP的客户端。
问你的AI代理:
- *“发生焊接火灾后,我们应该采取哪些纠正措施?”* → 结构化的即时/短期/长期行动计划,附有来源引用
- *“去年化工行业发生了多少起事故?”* → 基于人工智能生成的洞察的统计数据
- *“高空坠落的主要原因是什么?”* → RAG回复及文件参考
每个AI客户端都不需要定制开发 --一台服务器,每个AI工具。
______________________________________________________________________
为什么这与Azure AI搜索直接连接器不同
| 功能 | Azure搜索连接器 | SafetyOps MCP |
|---|---|---|
| 基本问答 | ✅ | ✅ |
| 使用筛选器进行文档搜索 | ❌ | ✅ kb_search |
| 按类别统计和趋势 | ❌ | ✅ kb_analyze |
| 优先纠正措施计划 | ❌ | ✅ kb_suggest |
| 自定义域逻辑和提示 | ❌ | ✅ |
| 与Claude、ChatGPT、定制代理合作 | ❌ | ✅ |
| 可部署到任何客户端的私人数据 | ❌ | ✅ |
______________________________________________________________________
4个MCP工具
| 工具 | 触发器 | 它的作用 |
|---|---|---|
kb_search | “查找有关…的事件”,“列出…的事故” | 使用OData过滤器的混合搜索(BM25+向量)。返回带有元数据的排名文档。 |
kb_converse | “为什么……”、“如何……”和“什么原因……” | RAG问答--检索相关事件并生成答案 [Document X] 引用。 |
kb_analyze | “多少…”、“统计数据”、“按…细分” | 按严重程度/危害类型/行业进行分面汇总。返回计数、百分比、AI见解。 |
kb_suggest | “我们应该怎么做?”、“纠正措施”、“在这次事件之后……” | 查找类似的过去事件并生成 优先行动计划: 🚨 立即(24小时)/⚠️ 短期(1周)/📋 长期-有来源引用。 |
______________________________________________________________________
建筑
┌─────────────────────────────────────────────────────────┐
│ AI Client Layer │
│ Copilot Studio │ Claude Desktop │ ChatGPT │ Custom │
└────────────────────────┬────────────────────────────────┘
│ JSON-RPC 2.0 (MCP protocol)
▼
┌─────────────────────────────────────────────────────────┐
│ SafetyOps MCP Server (FastAPI) │
│ │
│ POST /mcp ──► ApiKeyMiddleware │
│ │ │
│ ToolRegistry.call() │
│ ┌────────────┼────────────┐──────────┐ │
│ kb_search kb_converse kb_analyze kb_suggest │
└──────────────┬──────────────────────┬───────────────────┘
│ │
▼ ▼
Azure AI Search Azure OpenAI
(hybrid retrieval) (gpt-4o-mini)
279+ incidents RAG generation______________________________________________________________________
快速开始
1.克隆并安装
git clone https://github.com//safetyops-mcp-server.git
cd safetyops-mcp-server
pip install -e ".[dev]"2.配置Azure凭据
cp .env.example .env编辑 .env:
# Azure AI Search
AZURE_SEARCH_ENDPOINT=https://.search.windows.net
AZURE_SEARCH_INDEX=safetyops-kb-v2
AZURE_SEARCH_API_KEY=
# Azure OpenAI
AZURE_OPENAI_ENDPOINT=https://.openai.azure.com/
AZURE_OPENAI_CHAT_DEPLOYMENT=gpt-4o-mini
AZURE_OPENAI_EMBEDDING_DEPLOYMENT=text-embedding-3-large
AZURE_OPENAI_API_KEY=
# MCP Server Auth
MCP_API_KEYS=your-secret-key-here3.启动服务器
python -m uvicorn safetyops_mcp.app.main:app --port 8001 --reload4.测试一下
# Health check
curl http://localhost:8001/health
# List available tools
curl -X POST http://localhost:8001/mcp \
-H "Content-Type: application/json" \
-H "X-API-Key: your-secret-key-here" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
# Ask for corrective actions
curl -X POST http://localhost:8001/mcp \
-H "Content-Type: application/json" \
-H "X-API-Key: your-secret-key-here" \
-d '{
"jsonrpc": "2.0", "id": 2, "method": "tools/call",
"params": {
"name": "kb_suggest",
"arguments": {
"incident_description": "A worker was burned during welding operations",
"language": "en"
}
}
}'______________________________________________________________________
连接到Copilot工作室
在5分钟内将您的Microsoft 365 AI助手连接到真实的事件数据。
- 在中打开您的代理 Copilot工作室
- 首选 操作/扩展 → 模型上下文协议(MCP)
- 点击 添加现有MCP服务器
- 设置服务器URL:
- 本地(使用Cloudflare隧道): https://.trycloudflare.com/mcp - 生产(Azure Web应用程序): https://.azurewebsites.net/mcp
- 身份验证:
- 类型: API密钥 - 标题名称: X-API-Key - 价值:您的 MCP_API_KEYS 价值
- Save → 4个工具会自动出现
看 docs/copilot-studio.md 详细设置。
______________________________________________________________________
连接到克劳德桌面
添加 ~/.claude/claude_desktop_config.json:
{
"mcpServers": {
"safetyops": {
"url": "https://.azurewebsites.net/mcp",
"headers": { "X-API-Key": "" }
}
}
}______________________________________________________________________
部署到生产环境(Azure Web应用程序)
# Production server
gunicorn -c gunicorn.conf.py safetyops_mcp.app.main:app看 docs/azure-deployment.md 用于完整的Azure应用服务设置。
永不承诺 .env。在生产环境中使用Azure密钥库。______________________________________________________________________
完全适应您的业务需求
4个内置工具是 起点不是天花板。每一层都可以在不接触MCP核心的情况下进行修改或扩展。
调整现有工具
每个工具都有两个杠杆,您可以根据具体情况进行调整:
1.输出格式 --更改结果的呈现方式,以匹配您组织的语言和标准:
| 工具 | 默认输出 | 自适应示例 |
|---|---|---|
kb_suggest | 近期/短期/长期→ ISO 45001客户的PDCA循环(计划/执行/检查/行动) | |
kb_converse | 附有\[文档X\]引用的自由形式答案 | → 结构化报告:背景/根本原因/建议 |
kb_analyze | 统计+AI段落 | → 执行摘要表已准备就绪,可供董事会演示 |
kb_search | 排序文档列表 | → 按用户角色筛选(经理查看聚合,操作员查看完整详细信息) |
2.内容和领域逻辑 --系统提示对您的领域专业知识进行编码:
HSE体系提示 kb_suggest 专为工业安全而设计。 将其替换为制药、核能或海事提示,该工具将成为该领域的领域专家,无需更改代码。______________________________________________________________________
为您的商业案例添加自定义工具
工具注册表在几分钟内接受任何新工具。为特定客户构建的工具示例:
kb_report → Auto-generate a formatted incident report (Word/PDF) from a description
kb_compare → Compare two incidents side by side and identify common root causes
kb_deadline → Track corrective action deadlines and flag overdue items
kb_escalate → Score incident severity and route to the right team automatically
kb_translate → Deliver the action plan in the local language of the site添加一个工具=一个Python文件+将其注册到 registry.pyAI客户端通过以下方式自动发现它 tools/list --不需要客户端更改。
______________________________________________________________________
这对您的部署意味着什么
当我们为您的组织进行部署时,工具已配置为 你的 工作流程, 你的 术语,以及 你的 输出格式——不是通用模板。该架构使这一点变得很快:定制是配置,而不是再造。
______________________________________________________________________
safetyops_mcp/
├── app/
│ ├── main.py # FastAPI entry point + /health
│ ├── auth.py # API key middleware
│ ├── mcp_router.py # JSON-RPC 2.0 dispatch (/mcp)
│ └── settings.py # Pydantic settings
└── mcp/
├── jsonrpc.py # JSON-RPC 2.0 models
├── registry.py # Tool registration + dispatch
└── tools/
├── _openai_client.py # Shared Azure OpenAI factory
├── kb_search.py # Hybrid search tool
├── kb_converse.py # RAG Q&A tool
├── kb_analyze.py # Statistical analysis tool
└── kb_suggest.py # Corrective action plan tool
data/
└── accidents.csv # Source dataset (China industrial accidents)
scripts/
├── normalize_china_data.py # Data normalization pipeline
└── pipeline_blob_to_search.py # Azure Search indexing pipeline
docs/
├── azure-setup.md
├── azure-deployment.md
├── copilot-studio.md
└── runbook.md______________________________________________________________________
适应自己的数据
此模板旨在 为任何事故知识库部署:
- 替换
data/accidents.csv使用您的事件数据集 - 在中调整字段映射
scripts/normalize_china_data.py - 重新运行索引管道
- 4个MCP工具可以立即处理您的数据,无需更改代码
支持的数据源:CSV、JSON、SQL导出、SharePoint列表。
看 docs/azure setup.md 用于索引指南。
______________________________________________________________________
用例和行业
| 行业 | 数据源 | 关键工具 |
|---|---|---|
| 制造/HSE | OSHA API,内部SIRH | kb_suggest --纠正措施计划 |
| 核能 | IRSN、NRC事件报告 | kb_converse --监管问答 |
| 海事 | EMSA、MAIB事故报告 | kb_search --事故查找 |
| 制药 | 美国食品药品监督管理局警告信 | kb_analyze --趋势分析 |
| 采矿 | MSHA美国数据库 | kb_suggest + kb_analyze |
______________________________________________________________________
技术栈
| 层 | 技术 |
|---|---|
| MCP服务器 | FastAPI+Uvicorn(Python 3.10+) |
| 知识库 | Azure AI搜索(混合BM25+向量) |
| LLM | Azure OpenAI gpt-4o-mini |
| 嵌入 | 文本嵌入-3大 |
| AI客户端 | 复制工作室、克劳德桌面、ChatGPT |
| 公开曝光 | Cloudflare隧道(开发)/AAzure Web应用程序(生产) |
| 演示UI | Streamlit |
______________________________________________________________________
许可证
麻省理工学院——见 许可证.
______________________________________________________________________
*基于MCP开放标准构建,适用于今天和明天的每个AI客户端。*
