Bunnyshell MCP服务器
一种模型上下文协议(MCP)服务器实现,用于通过其CLI与Bunnyshell平台进行接口连接。
概述
该项目创建了一个MCP服务器,使AI助手(如Claude)能够使用Bunnyshell CLI与Bunnyshel平台进行交互(bns).服务器提供了一组工具,用于通过自然语言命令管理Bunnyshell资源。
特性
- 组织管理:列出并浏览组织
- 项目管理:创建、列出和删除项目
- 环境管理:创建、列出、启动、停止和删除环境
- 组件操作:部署、调试和SSH到组件中
- 变量和秘密管理:管理环境变量和机密
- 远程开发:启动远程开发会话并设置端口转发
先决条件
- Node.js 18+和npm
- Bunnyshell命令行界面(
bns)已安装并配置 - 克劳德桌面
- Docker和Docker Compose(用于Docker设置)
安装
本地设置
- 克隆存储库:
git clone https://github.com/bunnyshell/bns-mcp.git
cd bns-mcp- 运行安装脚本:
./setup.shDocker设置
- 克隆存储库:
git clone https://github.com/bunnyshell/bns-mcp.git
cd bns-mcp- 运行Docker安装脚本:
./docker-setup.sh用法
- 启动或重新启动Claude Desktop
- 与克劳德开始新的对话
- 单击“+”添加附件,然后选择“连接到MCP服务器”
- 从服务器列表中选择“bunnyshell mcp”
- 设置您的Bunnyshell API令牌:
token: YOUR_API_TOKEN示例命令
你可以要求克劳德:
- “列出我的组织”
- 在组织ABC123中创建一个名为“MyProject”的新项目
- “列出项目XYZ789中的所有环境”
- “启动环境ENV123”
- “部署组件COMP456”
- “在环境ENV123中创建一个名为'DATABASE_URL'的变量”
发展
项目结构
.
├── src/
│ ├── tools.ts # Tool implementations
│ ├── utils.ts # Utility functions
│ └── index.ts # Server entry point
├── .cursor/
│ └── mcp.json # Cursor MCP configuration
├── setup.sh # Local setup script
├── docker-setup.sh # Docker setup script
└── README.md # Documentation光标MCP配置
这 .cursor/mcp.json 文件包含Cursor中MCP服务器的配置:
{
"mcpServers": {
"bunnyshell-mcp": {
"command": "node",
"args": ["dist/index.js"],
"env": {
"BNS_API_KEY": "YOUR_API_TOKEN_HERE"
}
}
}
}对于Docker设置,请使用:
{
"mcpServers": {
"bunnyshell-mcp": {
"command": "docker",
"args": ["exec", "-i", "bns-mcp-server", "node", "dist/index.js"],
"env": {
"BNS_API_KEY": "YOUR_API_TOKEN_HERE"
}
}
}
}注: 通过将您的Bunnyshell API令牌添加到 env 部分,MCP服务器将自动使用它进行身份验证,而不需要您为每个命令提供它。代码已经检查了 BNS_API_KEY 环境变量。这对开发和个人使用特别有用。对于共享环境,建议从配置文件中省略令牌,并在对话中提供。
建筑
npm install
npm run build运行测试
npm test安全
- API令牌从不存储在代码或配置文件中
- 代币可以通过以下方式提供:
- 命令行选项 - 环境变量(BNS_API_KEY) - 会话存储(临时,仅在内存中)
- 命令日志记录忽略了敏感信息
贡献
- 分叉存储库
- 创建要素分支
- 提交您的更改
- 推到分支
- 创建拉取请求
