返回市场
主控MCP服务器

主控MCP服务器

作者:theforeman4 星标更新:2025-11-22

项目介绍

foreman-mcp-server

如何运行

使用VSCode与Copilot

通过uv启动服务器

uv run foreman-mcp-server \
  --foreman-url https://foreman.example.com \
  --foreman-username $FOREMAN_USERNAME \
  --foreman-password $FOREMAN_PASSWORD \
  --log-level debug \
  --host localhost \
  --port 8080 \
  --transport stdio \
  --no-verify-ssl

如果未提供,默认值如下:

  --foreman-url https://$hostname
  --log-level INFO
  --host '127.0.0.1'
  --port 8080
  --transport streamable-http
  --verify-ssl

使用自定义CA证书

如果你的Foreman实例使用了自定义CA证书,你可以有以下几种选择:

  1. 使用--ca-bundle选项或FOREMAN_CA_BUNDLE环境变量:
uv run foreman-mcp-server \
  --foreman-url https://foreman.example.com \
  --foreman-username $FOREMAN_USERNAME \
  --foreman-password $FOREMAN_PASSWORD \
  --ca-bundle /path/to/ca-bundle.pem
  1. 将你的CA证书放置在工作目录中的./ca.pem(自动检测):
cp /path/to/ca-bundle.pem ./ca.pem
uv run foreman-mcp-server \
  --foreman-url https://foreman.example.com \
  --foreman-username $FOREMAN_USERNAME \
  --foreman-password $FOREMAN_PASSWORD

通过podman启动服务器

首先,构建容器:

podman build -t foreman-mcp-server .

现在运行容器:

podman run -it -p 8080:8080 foreman-mcp-server \
  --foreman-url https://my-foreman-instance.something.somewhere \
  --log-level debug \
  --host localhost \
  --port  8080 \
  --transport streamable-http

在容器中使用自定义CA证书

要在容器中使用自定义CA证书,你可以将CA捆绑挂载到默认的ca.pem位置(自动检测),或者指定一个自定义路径:

选项1:挂载到默认位置(推荐)

# 标准容器 - 挂载到 /app/ca.pem
podman run -it -p 8080:8080 \
  -v /path/to/your-ca-bundle.pem:/app/ca.pem:ro,Z \
  foreman-mcp-server \
  --foreman-url https://my-foreman-instance.something.somewhere \
  --transport streamable-http

# UBI9镜像 - 挂载到 /opt/app-root/src/ca.pem  
podman run -it -p 8080:8080 \
  -v /path/to/your-ca-bundle.pem:/opt/app-root/src/ca.pem:ro,Z \
  foreman-mcp-server \
  --foreman-url https://my-foreman-instance.something.somewhere \
  --transport streamable-http

选项2:挂载到自定义位置

podman run -it -p 8080:8080 \
  -v /path/to/your-ca-bundle.pem:/custom/ca.pem:ro,Z \
  foreman-mcp-server \
  --foreman-url https://my-foreman-instance.something.somewhere \
  --ca-bundle /custom/ca.pem \
  --transport streamable-http

配置VSCode

# settings.json
{
    "mcp": {
        "servers": {
            "foreman": {
                "url": "http://127.0.0.1:8080/mcp/sse",
                "type": "http",
                  "headers": {
                    "FOREMAN_USERNAME": "login",
                    "FOREMAN_TOKEN": "token"
                  }
            }
        }
    },
}

运行VSCode客户端

  • 按Ctrl+Shift+P
  • 选择MCP: 列出服务器命令
  • 选择foreman
  • 按开始服务器

在Copilot聊天中使用

  • 按Ctrl+Alt+I打开聊天
  • 在配置工具中仅选择MCP工具
  • 提示可以在聊天中列出,例如/mcp.foreman.basic_hosts_pending_sec_updates_static_report
  • 资源可以通过添加上下文... > MCP资源 > 资源来附加

使用MCP Inspector

用于与mcp inspector一起使用

  1. 使用npx @modelcontextprotocol/inspector启动检查器
  2. 在浏览器中打开http://localhost:6274
  3. 设置类型流式HTTPURLhttp://localhost:8080/mcp
  4. 点击连接

在Linux上使用Claude Desktop

注意:这高度实验性。已在运行CentOS Stream 9的虚拟机中进行测试。

安装

配置

# ~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "foreman": {
      "command": "uv",
      "args": ["--directory", "/home/$USER/foreman-mcp-server", "run","foreman-mcp-server", "--transport", "stdio", "--foreman-username", "login", "--foreman-password", "password/token"],
    }
  }
}

要使用自定义CA证书与Claude Desktop:

# ~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "foreman": {
      "command": "uv",
      "args": ["--directory", "/home/$USER/foreman-mcp-server", "run","foreman-mcp-server", "--transport", "stdio", "--foreman-username", "login", "--foreman-password", "password/token", "--ca-bundle", "/path/to/ca-bundle.pem"],
    }
  }
}

运行Claude客户端

这将启动UI应用程序并登录到你的账户。它会自动启动并连接到MCP服务器。

claude-desktop
  • 点击+按钮 > 从foreman添加 > 从服务器选择任何提示和资源
  • 点击配置按钮以从服务器选择工具