使用说明
MCP助理服务器
一个生产就绪的模型上下文协议(MCP)服务器,为人工智能助手提供工具和资源。此服务器已完全配置为在Render上部署,并包含工具、资源和最佳实践的全面示例。
🚀 特性
工具
- 天气工具:获取任何城市的当前天气信息
- 计算器:执行数学计算
- 网页搜索:在网上搜索信息
- 日期/时间:以各种格式获取当前日期和时间
- 文本处理:通过多种操作处理和分析文本
资源
- 系统信息:实时系统统计
- 服务器配置:当前服务器设置
- 帮助指南:内置文档
生产就绪
- 具有严格类型检查的TypeScript
- 全面的错误处理
- 温斯顿测井
- Docker支持
- 健康检查
- 基于环境的配置
- 速率限制就绪
📋 先决条件
- Node.js 18+
- npm或纱线
- Git
🛠️ 安装
- 克隆存储库:
cd mcp-server
- 安装依赖项:
npm install
- 创建环境文件:
cp .env.example .env
- 构建项目:
npm run build
🏃♂️ 本地运行
发展模式
npm run dev
生产模式
npm run build
npm start
使用Docker
# Build the image
docker build -t mcp-assistant-server .
# Run the container
docker run -p 3000:3000 mcp-assistant-server
🚀 渲染部署
快速部署
- 将代码推送到GitHub
- 将您的GitHub存储库连接到Render
- 渲染将自动检测
render.yaml配置 - 点击“部署”
手动设置
- 在Render上创建新的Web服务
- 连接您的GitHub存储库
- 配置:
- 构建命令:
npm install && npm run build - 启动命令:
npm start - 环境:节点
- 从以下位置添加环境变量
.env.example
- 构建命令:
环境变量
在Render的仪表板中设置这些:
NODE_ENV=productionPORT=3000LOG_LEVEL=info- 根据需要添加任何API密钥
📦 项目结构
mcp-server/
├── src/
│ ├── index.ts # Main MCP server entry point
│ ├── server.ts # HTTP server for health checks
│ ├── tools/ # Tool implementations
│ │ ├── index.ts
│ │ ├── weather.ts
│ │ ├── calculator.ts
│ │ ├── search.ts
│ │ ├── date.ts
│ │ └── text-processing.ts
│ ├── resources/ # Resource handlers
│ │ ├── index.ts
│ │ ├── system-info.ts
│ │ ├── config.ts
│ │ └── help.ts
│ └── utils/
│ └── logger.ts # Winston logger configuration
├── dist/ # Compiled JavaScript (generated)
├── package.json
├── tsconfig.json
├── render.yaml # Render deployment config
├── Dockerfile
└── .env.example
🔧 可用脚本
npm run build-将TypeScript构建为JavaScriptnpm start-启动生产服务器npm run dev-使用热重新加载启动开发服务器npm run lint-运行ESLintnpm run format-使用Prettier格式化代码npm run typecheck-无建筑类型检查npm test-运行测试npm run clean-清理构建目录
📡 API终点
健康检查
GET /health
返回服务器运行状况
察看连接信息
GET /info
返回服务器功能和版本
🔌 MCP协议
该服务器实现了模型上下文协议(MCP),允许AI助手:
- 呼叫工具:使用参数执行函数
- 阅读资源:访问系统信息和配置
- 处理请求:通过stdio处理工具和资源请求
示例工具调用
{
"method": "tools/call",
"params": {
"name": "get_weather",
"arguments": {
"city": "New York",
"units": "fahrenheit"
}
}
}
示例资源读取
{
"method": "resources/read",
"params": {
"uri": "system://info"
}
}
🔒 安全
- 敏感数据的环境变量
- 所有工具的输入验证
- 计算器中的安全表达式求值
- 非root Docker用户
- 速率限制就绪
- 全面的错误处理
🐛 故障排除
构建错误
# Clean and rebuild
npm run clean
npm install
npm run build
端口已在使用中
# Change port in .env
PORT=3001
Docker问题
# Rebuild without cache
docker build --no-cache -t mcp-assistant-server .
📈 监控
服务器包括:
- 用于正常运行时间监控的健康端点
- Winston以不同级别记录
- 误差跟踪
- 系统信息中的性能指标
🤝 贡献
- 分叉存储库
- 创建功能分支
- 运行测试和梳理
- 提交您的更改
- 推到分支
- 打开拉取请求
📄 许可证
麻省理工学院许可证-请在您的项目中自由使用!
🆘 支持
对于问题或疑问:
- 检查内置帮助资源:
help://guide - 在GitHub上打开一个问题
- 查看生产中的日志
🎯 后续步骤
部署后:
- 测试运行状况端点:
https://your-app.onrender.com/health - 配置增强功能所需的任何API密钥
- 在Render仪表板中监视日志
- 根据使用情况按需扩展
准备部署! 此MCP服务器已完全配置,可在Render上用于生产。只需推送到GitHub并部署即可! 🚀