🚀 MCP网桥和HFACS服务器设置指南
📋 概述
此存储库包含运行的配置和设置:
- MCP电桥:用于模型上下文协议服务器的RESTful代理
- HFACS MCP服务器:用于分析航空安全数据的专用服务器
- LLM测试客户端:一个使用谷歌Gemini LLM进行自然语言交互的Python客户端
📑 摘要
从过去的事件中有效学习对于提高航空安全至关重要,但手动分析航空安全报告系统(ASRS)等广泛的叙事数据集以了解因果关系需要大量资源,而且可能是主观的。虽然大型语言模型(LLM)为文本分析提供了强大的功能,但在有限的上下文窗口内处理整个大型数据集时,它们的性能可能会降低,从而可能导致准确性降低和幻觉增加。
本文介绍了一种新的框架,通过从俄克拉荷马州ASRS记录中自动提取人为因素见解来应对这些挑战。我们采用API版本的OpenAI的o3推理LLM,在少量提示的指导下,将ASRS事件叙述分类到人因分析和分类系统(HFACS)中,每次记录一条。
我们解决方案的核心是一个专门的模型上下文协议(MCP)服务器,旨在智能地为这些ASRS数据及其相关的HFACS分类提供服务。我们通过使用MCP来实现有针对性的数据检索,MCP允许LLM专注于ASRS语料库中的相关信息,而不会在复杂的查询过程中压倒其上下文容量。该服务器通过MCP Bridge集成到更广泛的生态系统中,MCP Bridge是一个LLM无关的RESTful代理,进一步促进了与不同客户端的交互。
该代理展示了系统执行复杂、多工具、零样本查询的能力,以根据特定的HFACS标准和关键字检索、比较和报告事件。我们的方法强调了将高级推理LLM与MCP的目标数据访问相结合,可以显著提高飞行后汇报和安全调查的客观性、深度和效率,从而创建更透明、更可操作的AI驱动安全分析工具。
🔧 先决条件
- 用于运行MCP网桥的Node.js(v14+)
- Python 3.8+用于运行LLM测试客户端
- Gemini的Google API密钥(设置为环境变量
GEMINI_API_KEY)
⚙️ 配置
步骤1:配置MCP服务器
编辑 mcp_config.json 根目录中的文件:
{
"mcpServers": {
"asrs_analyzer": {
"command": "node",
"args": [
"D://Projects//mcp-bridge//scitech//mcpserver//asrs_mcp_server.js",
"D://Projects//mcp-bridge//scitech//mcpserver//asrs_incidents_with_hfacs.json"
],
"env": {
"NODE_ENV": "production"
}
}
}
}关键字段:
asrs_analyzer:此MCP服务器的唯一标识符command:运行服务器的可执行文件args:命令的参数env:环境变量(包括API键)riskLevel:安全级别(1=低,2=中,3=高)
步骤2:安装依赖项
对于MCP网桥:
npm install对于LLM测试客户端:
pip install google-generativeai rich requests步骤3:客户端选项
虽然本指南使用基于Python的Gemini LLM客户端进行测试,但MCP服务器架构支持各种客户端:
- MCP电桥 (主要选项):连接到多个MCP服务器并通过统一的REST API公开其功能的轻量级、与LLM无关的代理。由于其灵活性和最小的依赖性,这是大多数用例的推荐客户端。
🔗 MCP网桥存储库
- 克劳德桌面:Anthropic Claude桌面应用程序可以连接到MCP服务器
- 克劳德代码:Claude的代码解释器可以与MCP配合使用
- 其他LLM代理:任何支持模型上下文协议的客户端都可以与此系统交互
- 自定义应用程序:使用MCP Bridge API构建您自己的应用程序
MCP架构的灵活性允许您选择最适合您的工作流程和要求的客户端。
🚀 运行系统
启动MCP网桥
从根目录:
node mcp-bridge.js网桥将自动从以下位置加载服务器配置 mcp_config.json 并启动已定义的MCP服务器。
您应该看到类似于以下内容的输出:
Starting MCP Bridge...
Middleware configured
Loading server configuration...
Loaded 1 server configurations
Initializing MCP servers...
Starting server: asrs_analyzer
Server asrs_analyzer initialized successfully
All servers initialized
MCP Bridge server running on port 3000
Ready to handle requests步骤3:运行LLM测试客户端
从根目录:
python llm_test.py确保你的 GEMINI_API_KEY 在环境变量中设置:
# On Windows PowerShell
$env:GEMINI_API_KEY="your_api_key_here"
# On Linux/Mac
export GEMINI_API_KEY="your_api_key_here"💬 使用LLM客户端进行测试
LLM测试客户端运行后,您可以使用自然语言查询与HFACS服务器进行交互。
查询示例:
- 获取特定事件的详细信息:
Can you retrieve the full details for ASRS incident report ACN 1758012?- 获取报告的HFACS分类:
What's the HFACS classification for incident ACN 1122334?- 列出HFACS分类:
Show me the full HFACS taxonomy structure🔍 故障排除
- MCP桥未启动:检查Node.js版本并确保已安装所有依赖项
- LLM客户端错误:验证Gemini API密钥设置正确
- 找不到服务器:确保你的
mcp_config.json配置正确,服务器脚本的路径正确 - 工具执行错误:检查控制台输出中来自服务器的特定错误消息
📊 建筑
┌────────────┐ ┌───────────┐ ┌──────────────┐
│ LLM Client │────▶│ MCP Bridge│────▶│ HFACS Server │
└────────────┘ └───────────┘ └──────────────┘
▲ ▲ ▲
│ │ │
├───────────────────┼──────────────────┘
│ │
┌────┴─────┐ ┌──────┴────┐
│ Gemini │ │ mcp_config│
│ LLM API │ │ .json │
└──────────┘ └───────────┘📝 备注
- MCP网桥来自:https://github.com/INQUIRELAB/mcp-bridge-api
- 任何MCP客户端 可以与此HFACS MCP服务器一起使用。我们选择MCP Bridge是因为它的灵活性、轻量级和最小的依赖性,这让我们可以自由选择任何LLM实现。
- 对于生产使用,请考虑设置适当的身份验证和API密钥管理
- 可以根据需要向配置中添加其他MCP服务器
📜 许可证
本项目根据MIT许可证获得许可:
