MCP服务器工具

NetBox MCP Server是一个用于连接和管理MCP客户端的工具服务器,支持在Cursor IDE中运行,提供工具注册和环境变量配置功能。

  • by epe105
  • JavaScript
  • 混合部署
  • 更新于
在 GitHub 查看 epe105/netbox-mcp

使用说明

NetBox MCP服务器


目录


��️ 在游标中运行

您可以直接在Cursor IDE中运行此MCP服务器。方法如下:

  1. 打开项目

    • 启动Cursor并打开此项目文件夹。
  2. 再进行

    • 在Cursor(视图)中打开内置终端→ 终端或Ctrl+)。
    • 运行:
      npm install
      
  3. 设置环境变量

    • 创建一个 .env 如果项目根目录中的文件不存在。
    • 如中所述添加API密钥 设置工具环境变量 下面的部分。
  4. 运行MCP服务器

    • 在Cursor终端中,启动服务器:
      node mcpServer.js
      
    • 对于服务器发送事件(SSE)支持,请使用:
      node mcpServer.js --sse
      
  5. 测试服务器

    • 您可以使用Cursor终端运行测试命令,或从兼容的MCP客户端(如Claude Desktop)连接到服务器,如下所述。
  6. 查看输出

    • 所有日志和输出都将显示在光标终端窗格中。

提示: 您可以在不离开Cursor的情况下编辑代码、管理文件和运行所有命令。


🚦 入门指南

⚙️ 先决条件

在开始之前,请确保您已经:

警告:如果您使用较低版本的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服务器:

  1. 将新的JS文件添加到 tools/netbox-workspace/ 对于要公开的每个NetBox API端点。
  2. 在中注册每个新工具 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.