AI助手协议服务器

一个生产就绪的模型上下文协议(MCP)服务器,为AI助手提供工具和资源,支持多种工具调用和资源访问。

  • by dharmveer97
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 dharmveer97/mcp-assistant-server

使用说明

MCP助理服务器

一个生产就绪的模型上下文协议(MCP)服务器,为人工智能助手提供工具和资源。此服务器已完全配置为在Render上部署,并包含工具、资源和最佳实践的全面示例。

🚀 特性

工具

  • 天气工具:获取任何城市的当前天气信息
  • 计算器:执行数学计算
  • 网页搜索:在网上搜索信息
  • 日期/时间:以各种格式获取当前日期和时间
  • 文本处理:通过多种操作处理和分析文本

资源

  • 系统信息:实时系统统计
  • 服务器配置:当前服务器设置
  • 帮助指南:内置文档

生产就绪

  • 具有严格类型检查的TypeScript
  • 全面的错误处理
  • 温斯顿测井
  • Docker支持
  • 健康检查
  • 基于环境的配置
  • 速率限制就绪

📋 先决条件

  • Node.js 18+
  • npm或纱线
  • Git

🛠️ 安装

  1. 克隆存储库:
cd mcp-server
  1. 安装依赖项:
npm install
  1. 创建环境文件:
cp .env.example .env
  1. 构建项目:
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

🚀 渲染部署

快速部署

  1. 将代码推送到GitHub
  2. 将您的GitHub存储库连接到Render
  3. 渲染将自动检测 render.yaml 配置
  4. 点击“部署”

手动设置

  1. 在Render上创建新的Web服务
  2. 连接您的GitHub存储库
  3. 配置:
    • 构建命令: npm install && npm run build
    • 启动命令: npm start
    • 环境:节点
    • 从以下位置添加环境变量 .env.example

环境变量

在Render的仪表板中设置这些:

  • NODE_ENV=production
  • PORT=3000
  • LOG_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构建为JavaScript
  • npm start -启动生产服务器
  • npm run dev -使用热重新加载启动开发服务器
  • npm run lint -运行ESLint
  • npm run format -使用Prettier格式化代码
  • npm run typecheck -无建筑类型检查
  • npm test -运行测试
  • npm run clean -清理构建目录

📡 API终点

健康检查

GET /health

返回服务器运行状况

察看连接信息

GET /info

返回服务器功能和版本

🔌 MCP协议

该服务器实现了模型上下文协议(MCP),允许AI助手:

  1. 呼叫工具:使用参数执行函数
  2. 阅读资源:访问系统信息和配置
  3. 处理请求:通过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以不同级别记录
  • 误差跟踪
  • 系统信息中的性能指标

🤝 贡献

  1. 分叉存储库
  2. 创建功能分支
  3. 运行测试和梳理
  4. 提交您的更改
  5. 推到分支
  6. 打开拉取请求

📄 许可证

麻省理工学院许可证-请在您的项目中自由使用!

🆘 支持

对于问题或疑问:

  • 检查内置帮助资源: help://guide
  • 在GitHub上打开一个问题
  • 查看生产中的日志

🎯 后续步骤

部署后:

  1. 测试运行状况端点: https://your-app.onrender.com/health
  2. 配置增强功能所需的任何API密钥
  3. 在Render仪表板中监视日志
  4. 根据使用情况按需扩展

准备部署! 此MCP服务器已完全配置,可在Render上用于生产。只需推送到GitHub并部署即可! 🚀