废物管理MCP服务器
使用TypeScript和Mongoose构建的模型上下文协议(MCP)服务器,用于管理设施、污染物、检查、装运和合同数据。
特性
- HTTP+SSE传输:可通过URL在互联网上访问
- 5收藏:设施、污染物、检查、装运和合同
- 30+工具:完整的CRUD操作加上AI驱动的智能工具
- MCP采样支持:人工智能辅助分析和决策
- Mongoose ODM:模式验证和集合之间的关系
- TypeScript:类型安全开发
- RESTful健康检查:监视服务器和数据库状态
- 4提示:人工智能辅助工作流程的预配置提示
- 动态资源:通过MCP资源实时访问数据
先决条件
- Node.js 18+
- MongoDB(本地或远程实例)
- npm或纱线
安装
- 克隆存储库并导航到项目目录:
cd mcp-server- 安装依赖项:
npm install- 创建一个
.env根目录中的文件:
cp .env.example .env- 在中配置环境变量
.env:
MONGODB_URI=mongodb://localhost:27017/mcp-server
PORT=3000
NODE_ENV=development用法
发展模式
使用热重载运行:
npm run dev生产模式
构建并运行:
npm run build
npm start服务器端点
- 根:
http://localhost:3000/-服务器信息 - 上海证券交易所:
http://localhost:3000/sse-MCP SSE连接端点 - 消息:
http://localhost:3000/messages-MCP消息的POST端点 - 健康:
http://localhost:3000/health-健康检查端点
连接MCP客户端
与光标一起使用
添加到光标MCP设置(~/.cursor/mcp.json 或工作空间设置):
{
"mcpServers": {
"waste-management": {
"url": "http://localhost:3000/sse"
}
}
}对于远程服务器,请更换 localhost:3000 使用服务器的URL。
与其他MCP客户端一起使用
配置客户端以连接到SSE端点: http://your-server-url:3000/sse
可用工具
设施(5工具)
create_facility-创建新设施get_facility-通过ID获取设施list_facilities-列出所有配备可选过滤器的设施update_facility-按ID更新设施delete_facility-按ID删除设施
污染物(5个工具)
create_contaminant-创建新的污染物记录get_contaminant-通过ID获取污染物list_contaminants-列出所有带有可选过滤器的污染物update_contaminant-按ID更新污染物delete_contaminant-按ID删除污染物
检查(5个工具)
create_inspection-创建新检查get_inspection-通过ID进行检查list_inspections-列出所有带有可选过滤器的检查update_inspection-按ID更新检查delete_inspection-按ID删除检查
发货(5件工具)
create_shipment-创建新发货get_shipment-按ID获取发货list_shipments-列出所有带有可选过滤器的货物update_shipment-按ID更新发货delete_shipment-按ID删除发货
合同(5个工具)
create_contract-创建新合同get_contract-按ID获取合同list_contracts-列出所有带有可选筛选器的合同update_contract-按ID更新合同delete_contract-按ID删除合同
AI驱动的采样工具
服务器现在包括 MCP采样 功能,允许工具在执行过程中请求AI协助。这些智能工具将数据库查询与人工智能分析相结合,提供可操作的见解。
智能分析工具(3个工具)
generate_intelligent_facility_report
生成包含人工智能健康评分、风险评估和建议的全面设施报告。
参数:
facilityId(必填)-分析设施includeRecommendations(可选)-包括人工智能生成的建议
它提供了什么:
- 设施整体健康评分(0-100)
- 首要关注点和风险领域
- 合规风险等级评估
- 可采取行动的建议
- 综合指标和历史数据
analyze_shipment_risk
根据污染历史和模式对货物进行人工智能风险评估。
参数:
shipmentId(必填)-待分析的货物
它提供了什么:
- 人工智能生成的风险评分(0-100)
- 风险因素和推理
- 源历史分析
- 建议的操作
- 详细的污染明细
suggest_inspection_questions
使用人工智能启发和分析生成定制的检查清单。
参数:
facilityId(必填)-生成问题的设施
它提供了什么:
- AI选定的重点领域(污染、验收、处理或合规性)
- 定制检查问题(5-7个有针对性的问题)
- 设施特定指标和关注点
- 基于风险指标的补充说明
采样工作原理
当您调用这些工具时,服务器:
- 从MongoDB获取相关数据
- 从连接的MCP客户端请求AI分析
- 将原始数据与人工智能见解相结合
- 返回全面、可操作的结果
例子:
{
"name": "generate_intelligent_facility_report",
"arguments": {
"facilityId": "65f1234567890abcdef12345",
"includeRecommendations": true
}
}了解更多
数据模型
设施
name:stringshortCode:string(唯一)location:stringtimestamps:createdAt,updatedAt
污染物
wasteItemDetected:stringmaterial:stringfacilityId:ObjectId(参考:设施)detection_time:日期explosive_level:enum(低、中、高)hcl_level:enum(低、中、高)so2_level:enum(低、中、高)estimated_size:编号shipment_id:stringtimestamps:createdAt,updatedAt
检查
facility_id:ObjectId(参考:设施)is_delivery_accepted:booleandoes_delivery_meets_conditions:booleanselected_wastetypes:{类别:字符串,百分比:字符串}的数组heating_value_calculation:编号waste_producer:stringcontract_reference_id:stringtimestamps:createdAt,updatedAt
运输
entry_timestamp:日期exit_timestamp:日期source:stringfacilityId:ObjectId(参考:设施)license_plate:stringcontract_reference_id:stringcontractId:stringtimestamps:createdAt,updatedAt
合同
producerName:stringdebitorName:stringwasteCode:stringtimestamps:createdAt,updatedAt
部署
部署到铁路
- 安装铁路CLI:
npm install -g @railway/cli- 登录并部署:
railway login
railway init
railway up- 在铁路仪表板中设置环境变量:
MONGODB_URIPORT(铁路会自动设置)NODE_ENV=production
部署到其他平台
服务器可以部署到任何支持Node.js应用程序的平台:
- Heroku
- AWS(EC2、ECS、Lambda)
- 谷歌云平台
- 数字海洋
- Vercel(具有无服务器功能)
确保:
- 设置所需的环境变量
- 使用生产MongoDB实例(例如MongoDB Atlas)
- 如果需要,为特定域配置CORS
发展
项目结构
mcp-server/
├── src/
│ ├── models/ # Mongoose schemas
│ │ ├── Facility.ts
│ │ ├── Contaminant.ts
│ │ ├── Inspection.ts
│ │ ├── Shipment.ts
│ │ ├── Contract.ts
│ │ └── index.ts
│ ├── tools/ # MCP tool implementations
│ │ ├── facilityTools.ts
│ │ ├── contaminantTools.ts
│ │ ├── inspectionTools.ts
│ │ ├── shipmentTools.ts
│ │ ├── contractTools.ts
│ │ └── index.ts
│ ├── db.ts # Database connection
│ ├── config.ts # Configuration management
│ └── index.ts # Main server entry point
├── package.json
├── tsconfig.json
└── README.md许可证
麻省理工学院
支持
对于问题、疑问或贡献,请在存储库中打开问题。
