使用说明
项目简介
本项目是一个基于 Model Context Protocol (MCP) 标准构建的服务器,旨在为大型语言模型 (LLM) 应用提供与 Bunnyshell 云平台交互的能力。通过本服务器,LLM 可以安全、可控地访问和管理 Bunnyshell 上的项目、环境和组件等资源,实现云基础设施的智能化管理和自动化运维。
主要功能点
- 资源管理工具: 提供一系列工具,用于查询和管理 Bunnyshell 的云资源,包括:
- 列出组织 (Organizations)
- 列出项目 (Projects)
- 列出环境 (Environments)
- 列出组件 (Components)
- 获取组件日志 (Component Logs)
- Bunnyshell 平台集成: 深度集成 Bunnyshell API,所有资源操作均通过 Bunnyshell 官方 API 完成,保证操作的可靠性和安全性。
- 标准化 MCP 协议: 遵循 MCP 协议标准,易于与各种支持 MCP 协议的 LLM 客户端集成。
- 配置灵活: 支持通过环境变量或 '.env' 文件进行详细配置,包括服务器端口、日志级别、CORS 策略和速率限制等。
- 易于部署: 使用 Node.js 开发,跨平台兼容性好,安装和启动过程简单。
安装步骤
-
克隆仓库
git clone https://github.com/aminalali8/bns-mcp-server cd bns-mcp-server -
安装依赖
npm install -
配置环境变量 在项目根目录下创建 '.env' 文件,并根据需要配置以下环境变量:
# Server Configuration PORT=3000 # 服务器端口 (默认: 3000) HOST=localhost # 服务器主机名 (默认: localhost) LOG_LEVEL=info # 日志级别 (debug, info, warn, error) # Bunnyshell Configuration BUNNYSHELL_TOKEN=your_token_here # 你的 Bunnyshell API Token (必填) # CORS Configuration (跨域资源共享) CORS_ENABLED=true # 启用 CORS (默认: true) CORS_ORIGIN=* # 允许的来源 (默认: *) # Rate Limiting (速率限制) RATE_LIMIT_ENABLED=true # 启用速率限制 (默认: true) RATE_LIMIT_MAX_REQUESTS=100 # 窗口期内最大请求数 (默认: 100) RATE_LIMIT_WINDOW_MS=900000 # 速率限制窗口期,单位毫秒 (默认: 15分钟)注意: 'BUNNYSHELL_TOKEN' 是访问 Bunnyshell API 的凭证,必须配置。
-
启动服务器
npm start服务器默认会在 'http://localhost:3000' 启动。
服务器配置 (MCP 客户端)
为了让 MCP 客户端能够连接到 Bunnyshell MCP 服务器,您需要在客户端配置服务器的启动命令和参数。以下是一个典型的 JSON 格式配置示例,请根据您的实际情况进行调整:
{ "serverName": "bunnyshell-mcp-server", "command": "npm", "args": ["start"] }
- 'serverName': 为该服务器自定义一个名称,例如 "bunnyshell-mcp-server"。
- 'command': 启动服务器的命令。由于项目使用 'npm start' 启动,所以这里设置为 '"npm"'。
- 'args': 命令的参数,这里使用 '["start"]' 来运行 'npm start' 脚本。
请注意: MCP 客户端通常会通过标准输入输出 (stdio) 或其他协议与 MCP 服务器通信。本项目默认使用 StdioServerTransport,因此客户端应配置为通过 stdio 与服务器交互。
基本使用方法
- 启动 Bunnyshell MCP 服务器后,MCP 客户端即可与之建立连接。
- 客户端可以发送符合 MCP 协议的 JSON-RPC 请求到服务器,调用已注册的工具。
- 服务器会处理请求,调用 Bunnyshell API 获取或操作资源,并将结果以 JSON-RPC 响应的形式返回给客户端。
例如,客户端可以调用 'list_projects' 工具来获取 Bunnyshell 项目列表。 具体的工具调用方法和参数定义,请参考项目代码中的 'src/index.ts' 文件,其中定义了每个工具的名称、描述和参数schema。
开发和测试
- 构建项目: 'npm run build'
- 运行测试: 'npm test'
- 开发模式运行: 'npm run dev'
信息
分类
开发者工具