使用说明
NetBox MCP服务器
目录
- 在游标中运行
- 入门指南
- 将MCP服务器连接到Claude(或其他MCP客户端)
- Docker部署(生产或开发)
- 服务器发送事件(SSE)
- 其他CLI命令
- 添加新工具
- 问题与支持
- NetBox MCP服务器设置
��️ 在游标中运行
您可以直接在Cursor IDE中运行此MCP服务器。方法如下:
-
打开项目
- 启动Cursor并打开此项目文件夹。
-
再进行
- 在Cursor(视图)中打开内置终端→ 终端或Ctrl+)。
- 运行:
npm install
-
设置环境变量
- 创建一个
.env如果项目根目录中的文件不存在。 - 如中所述添加API密钥 设置工具环境变量 下面的部分。
- 创建一个
-
运行MCP服务器
- 在Cursor终端中,启动服务器:
node mcpServer.js - 对于服务器发送事件(SSE)支持,请使用:
node mcpServer.js --sse
- 在Cursor终端中,启动服务器:
-
测试服务器
- 您可以使用Cursor终端运行测试命令,或从兼容的MCP客户端(如Claude Desktop)连接到服务器,如下所述。
-
查看输出
- 所有日志和输出都将显示在光标终端窗格中。
提示: 您可以在不离开Cursor的情况下编辑代码、管理文件和运行所有命令。
🚦 入门指南
⚙️ 先决条件
在开始之前,请确保您已经:
- Node.js(需要v18+,建议v20+)
- npm (包含在Node中)
警告:如果您使用较低版本的Node运行, fetch 不会出席。工具使用 fetch 进行HTTP调用。为了解决这个问题,您可以修改要使用的工具 node-fetch 相反。一定要 node-fetch 作为依赖项安装,然后将其导入为 fetch 在每个工具文件中。
📥 安装和设置
1.安装依赖项
从项目的根目录运行:
npm install
🔐 设置工具环境变量
在 .env 在文件中,您将看到环境变量占位符,每个占位符对应所选工具所在的工作区。例如,如果您从2个工作区(例如Acme和Widgets)中选择请求,您将看到两个占位符:
ACME_API_KEY=
WIDGETS_API_KEY=
使用每个API的实际API键更新值。这些环境变量在生成的工具内部用于为每个请求设置API键。您可以在 tools 查看目录以了解其工作原理。
// environment variables are used inside of each tool file
const apiKey = process.env.ACME_API_KEY;
警告: 这可能不是每个API都正确。生成逻辑相对简单——对于每个工作区,我们创建一个与工作区slug同名的环境变量,然后在属于该工作区的每个工具文件中使用该环境变量。如果这不是您选择的API的正确行为,没问题!您可以手动更新 .env 文件或工具文件,以准确反映API的身份验证方法。
👩💻 将MCP服务器连接到Claude(或其他MCP客户端)
您可以将MCP服务器连接到任何MCP客户端。在这里,我们提供了将其连接到Claude Desktop的说明。
步骤1:注意节点的完整路径和 mcpServer.js 从上一步开始。
步骤2.打开克劳德桌面→ 设置 → 开发者 → 编辑配置 并添加新的MCP服务器:
{
"mcpServers": {
"<server_name>": {
"command": "<absolute/path/to/node>",
"args": ["<absolute/path/to/mcpServer.js>"]
}
}
}
重新启动Claude Desktop以激活此更改。确保新的MCP已打开,并且旁边有一个绿色圆圈。如果是这样,您就可以开始使用您连接的工具的聊天会话了。
警告:如果你没有提供一个绝对的路径 node 如果版本是v18+,Claude(和其他MCP客户端)可能会回退到另一个版本 node 系统上以前版本的版本。在这种情况下 fetch API将不存在,工具调用将不起作用。如果发生这种情况,您可以a)安装新版本的节点并在命令中指向它,或者b)导入 node-fetch 进入每个工具 fetch,确保还添加 node-fetch 依赖于你的package.json。
附加选项
🐳 Docker部署(生产或开发)
对于基于Docker的部署,您可以使用提供的Dockerfile:
1.构建Docker镜像
docker build -t netbox-mcp-server .
2.运行Docker容器
docker run -it --rm --env-file=.env -p 3000:3000 netbox-mcp-server
- 服务器将在容器内启动。根据需要调整端口映射。
- 您可以从Cursor或任何兼容的MCP客户端连接到此服务器,如上所述。
3.(可选)与Claude Desktop集成
将Docker服务器配置添加到Claude Desktop(设置→ 开发者→ 编辑配置):
{
"mcpServers": {
"netbox-mcp-server": {
"command": "docker",
"args": ["run", "-i", "--rm", "--env-file=.env", "-p", "3000:3000", "netbox-mcp-server"]
}
}
}
将环境变量(API键等)添加到
.env文件。
🌐 服务器发送事件(SSE)
要运行支持服务器发送事件(SSE)的服务器,请使用 --sse 标志:
node mcpServer.js --sse
或者,使用Docker:
docker run -it --rm --env-file=.env -p 3000:3000 netbox-mcp-server node mcpServer.js --sse
🛠️ 其他CLI命令
列出工具
列出所有生成工具的描述和参数,包括:
node index.js tools
例子:
Available Tools:
Workspace: acme-workspace
Collection: useful-api
list_all_customers
Description: Retrieve a list of useful things.
Parameters:
- magic: The required magic power
- limit: Number of results returned
[...additional parameters...]
➕ 添加新工具
使用更多工具轻松扩展MCP服务器:
- 将新的JS文件添加到
tools/netbox-workspace/对于要公开的每个NetBox API端点。 - 在中注册每个新工具
tools/paths.js.
💬 问题与支持
有关问题或支持,请参阅此存储库中的文档或联系项目维护人员。
🆕 NetBox MCP服务器设置
1.环境变量
将以下内容添加到您的 .env 项目根目录中的文件:
# NetBox API Environment Variables
NETBOX_API_KEY=your_netbox_api_key_here
NETBOX_API_BASE_URL=https://your-netbox-instance/api/
2.工具登记
NetBox工具 list-all-devices.js 注册于 tools/paths.js 如:
'netbox-workspace/list-all-devices.js'
3.光标中的用法
- 如上所述,通过Cursor启动MCP服务器。
- 使用Cursor的MCP工具调用来运行该工具:
- 工具名称:
list_all_netbox_devices - 参数:
{ "limit": 10 }(可选)
- 工具名称:
4.测试
- 您还可以创建测试脚本或使用MCP UI调用该工具并查看结果。
- 确保您的
.env已设置,并且可以访问您的NetBox实例。
5.添加更多工具
- 将新的JS文件添加到
tools/netbox-workspace/对于要公开的每个NetBox API端点。 - 在中注册每个新工具
tools/paths.js.