返回市场
端口-MCP服务器

端口-MCP服务器

作者:port-labs15 星标更新:2025-10-29

项目介绍

Port MCP Server

Port IO 的 MCP 服务器是一个 模型上下文协议 (MCP) 服务器,它使开发者和AI应用程序能够进行高级自动化和自然语言交互。

使用 Port MCP 能做什么

快速查找信息

  • 获取实体详情 - "谁是服务X的所有者?"
  • 检查值班状态 - "现在谁在值班?"
  • 获取目录洞察 - "我们有多少个生产中的服务?"

分析评分卡

  • 识别弱点 - "哪些服务未能达到金牌标准,为什么?"
  • 获取合规状态 - "显示所有不符合我们安全要求的服务"
  • 提高质量 - "我需要修复什么才能达到下一个评分卡级别?"

创建资源

  • 构建评分卡 - "创建一个名为'Security Posture'的新评分卡,包含基础、银牌和金牌等级"
  • 定义规则 - "添加一条规则,要求服务必须有团队负责人以达到银牌等级"
  • 设置质量门 - "创建一条规则,检查服务是否具有适当的文档"

管理权限及RBAC

  • 获取操作权限 - "当前的操作权限设置是什么?"
  • 更新操作策略 - "为部署操作配置审批工作流"
  • 配置动态权限 - "为该操作设置基于团队的访问控制"

我们正在不断扩展 Port MCP 的能力。有任何建议吗?欢迎在我们的 路线图 上提供反馈!

安装

先决条件

开始之前,你需要:

  1. 创建一个 Port 帐户(如果没有的话):

  2. 获取 Port 凭证:

    • 导航到你的 Port 仪表板
    • 进入设置 > 凭证
    • 保存客户端ID和客户端密钥
  3. 安装需求:

    • 在系统上安装 Docker
    • 或者安装 uvx 包管理器

[!NOTE] 你还需要提供你的 Port 地区,即 EU 或 US。如果未提供,默认为 EU。

安装方法

Port MCP 服务器可以通过两种方法安装:

包安装 (uvx)

使用我们的官方 Port MCP 服务器 包与 uvx 进行简单安装和管理。

步骤安装指南

  1. 创建 Python 虚拟环境(推荐)

    python -m venv venv
    
  2. 激活虚拟环境

    # 在 Linux/macOS 中:
    source venv/bin/activate
    
    # 在 Windows 中:
    venv\Scripts\activate
    
  3. 安装 UV 包管理器

    # 使用 Homebrew (macOS/Linux):
    brew install uv
    
    # 或者使用 pip:
    pip install uv
    
  4. 验证 UV 安装

    which uv
    
  5. 设置必需的环境变量

    export PORT_CLIENT_ID="your_port_client_id"
    export PORT_CLIENT_SECRET="your_port_client_secret"
    export PORT_REGION="EU"  # 或 "US"
    
  6. 设置 Python 路径(如果使用虚拟环境)

    export PYTHONPATH="/path/to/your/venv/bin/python"
    
  7. 运行 MCP 服务器

    uvx mcp-server-port --client-id your_port_client_id --client-secret your_port_client_secret --region EU --log-level DEBUG
    
  8. 验证服务器是否运行 你应该开始看到服务器的日志。你也可以查看日志文件:

    cat /tmp/port-mcp.log
    

Docker 安装

使用我们的官方 Docker 镜像:

docker pull ghcr.io/port-labs/port-mcp-server:latest

以下是每个 MCP 客户端的详细说明。

额外配置

你可以传递这些额外参数进行更高级的配置:

配置参数UVX 标志Docker 环境变量描述默认值
日志级别log-levelPORT_LOG_LEVEL控制日志输出级别ERROR
API 验证api-validation-enabledPORT_API_VALIDATION_ENABLED控制是否应验证 API 模式并在无效时失败False

与 Claude Desktop 一起使用

  1. 转到设置 > 开发者并点击“编辑配置”。
  2. 编辑 claude_desktop_config.json 文件,并根据安装方法添加以下配置。
  3. 保存文件并重启 Claude。
  4. 在新的聊天中,检查工具部分,你会看到可用的 Port 工具。

Claude MCP 工具

Docker

[!TIP] 考虑使用 Docker 的完整路径(例如,/usr/local/bin/docker)而不是仅使用 docker。你可以在终端中通过运行 which docker 来找到这个路径。使用完整路径有助于避免 PATH 解析问题,并确保在不同 shell 环境中的一致行为。

{
  "mcpServers": {
    "port": {
      "command": "docker",
      "args": [
               "run",
                "-i",
                "--rm",
                "-e",
                "PORT_CLIENT_ID",
                "-e",
                "PORT_CLIENT_SECRET",
                "-e",
                "PORT_REGION",
                "-e",
                "PORT_LOG_LEVEL",
                "ghcr.io/port-labs/port-mcp-server:latest"
              ],
              "env": {
                "PORT_CLIENT_ID": "<PORT_CLIENT_ID>",
                以此类推...

uvx

[!NOTE] 如果你想要从虚拟 Python 环境运行命令,请在 env 对象中添加 PYTHONPATH 变量及其路径,例如 /path/to/your/venv/bin/python

{
  "mcpServers": {
    "Port": {
          "command": "uvx",
          "args": [
              "mcp-server-port@0.2.8",
              "--client-id",
              "<PORT_CLIENT_ID>",
              "--client-secret",
              "<PORT_CLIENT_SECRET>",
              "--region",
              "<PORT_REGION>"
          ],
          "env": {
              "PORT_CLIENT_ID": "<PORT_CLIENT_ID>",
              "PORT_CLIENT_SECRET": "<PORT_CLIENT_SECRET>",
              "PORT_REGION": "<PORT_REGION>",
              "PYTHONPATH": "/Users/matangrady/.venv-port-mcp/bin/python"
          }
      }
  }
}

与 Cursor 一起使用

  1. 转到 Cursor > 设置 > Cursor 设置。
  2. 点击 MCP 标签,并“添加新的全局 MCP 服务器”。
  3. 编辑 mcp.json 文件,并根据安装方法添加以下配置。
  4. 保存文件并返回 Cursor 设置。
  5. 你会看到新的 Port 服务器及其可用工具。

Cursor MCP 截图

Docker

[!TIP] 考虑使用 Docker 的完整路径(例如,/usr/local/bin/docker)而不是仅使用 docker。你可以在终端中通过运行 which docker 来找到这个路径。使用完整路径有助于避免 PATH 解析问题,并确保在不同 shell 环境中的一致行为。

{
  "mcpServers": {
    "port": {
      "command": "docker",
      "args": [
               "run",
                "-i",
                "--rm",
                "-e",
                "PORT_CLIENT_ID",
                "-e",
                "PORT_CLIENT_SECRET",
                "-e",
                "PORT_REGION",
                "-e",
                "PORT_LOG_LEVEL",
                "ghcr.io/port-labs/port-mcp-server:latest"
              ],
              "env": {
                "PORT_CLIENT_ID": "<PORT_CLIENT_ID>",
                以此类推...

uvx

[!NOTE] 如果你想要从虚拟 Python 环境运行命令,请在 env 对象中添加 PYTHONPATH 变量及其路径,例如 /path/to/your/venv/bin/python

{
  "mcpServers": {
    "Port": {
          "command": "uvx",
          "args": [
              "mcp-server-port@0.2.8",
              "--client-id",
              "<PORT_CLIENT_ID>",
              "--client-secret",
              "<PORT_CLIENT_SECRET>",
              "--region",
              "<PORT_REGION>"
          ],
          "env": {
              "PORT_CLIENT_ID": "<PORT_CLIENT_ID>",
              "PORT_CLIENT_SECRET": "<PORT_CLIENT_SECRET>",
              "PORT_REGION": "<PORT_REGION>",
              "PYTHONPATH": "/Users/matangrady/.venv-port-mcp/bin/python"
          }
      }
  }
}

与 VS Code 一起使用

[!TIP] VS Code 可以自动发现已安装在 Cursor 和 Claude 中的 MCP 服务器。

[!NOTE] 为了快速安装,使用一键安装按钮并选择要添加 MCP 配置的位置。确保用你的 Port 凭证替换占位符。

Docker 快速安装 uvx 快速安装

对于手动安装,请遵循以下步骤:

  1. 通过按 Cmd + Shift + P / Ctrl + Shift + P 打开命令面板。
  2. 输入 Preferences: Open User Settings (JSON) 并按回车键。
  3. 编辑 settings.json 文件,并在 mcp>servers 下添加以下配置。
  4. 使用代理模式下的 Copilot,确保服务器正在运行并查看其可用的 Port 工具。

VS Code MCP 工具

Docker

[!TIP] 考虑使用 Docker 的完整路径(例如,/usr/local/bin/docker)而不是仅使用 docker。你可以在终端中通过运行 which docker 来找到这个路径。使用完整路径有助于避免 PATH 解析问题,并确保在不同 shell 环境中的一致行为。

  "Port": {
      "type": "stdio",
      "command": "docker",
      "args": [
          "run",
          "-i",
          "--rm",
          "-e",
          "PORT_CLIENT_ID",
          "-e",
          "PORT_CLIENT_SECRET",
          "-e",
          "PORT_REGION",
          "ghcr.io/port-labs/port-mcp-server:latest"
      ],
      "env": {
          "PORT_CLIENT_ID": "<PORT_CLIENT_ID>",
          "PORT_CLIENT_SECRET": "<PORT_CLIENT_SECRET>",
          "PORT_REGION": "<PORT_REGION>"
      }
  }

uvx

[!NOTE] 如果你想要从虚拟 Python 环境运行命令,请在 env 对象中添加 PYTHONPATH 变量及其路径,例如 /path/to/your/venv/bin/python

  "Port": {
      "type": "stdio",
      "command": "uvx",
      "args": [
          "mcp-server-port@0.2.8",
          "--client-id",
          "<PORT_CLIENT_ID>",
          "--client-secret",
          "<PORT_CLIENT_SECRET>",
          "--region",
          "<PORT_REGION>"
      ],
      "env": {
          "PORT_CLIENT_ID": "<PORT_CLIENT_ID>",
          "PORT_CLIENT_SECRET": "<PORT_CLIENT_SECRET>",
          "PORT_REGION": "<PORT_REGION>"
      }
  }

与 Neovim (mcphub.nvim) 一起使用

要在 Neovim 中使用 Port MCP 服务器,请使用插件 mcphub.nvim 和支持的 LLM 扩展之一,如 AvanteCodeCompanion

安装后,添加 Port 的 MCP 服务器配置:

  1. 使用命令 :MCPHub 访问服务器配置,并导航到配置标签,或直接打开服务器配置文件,通常位于 ~/.config/mcphub/servers.json
  2. mcpServers 部分下添加 Port MCP 服务器配置(见下文)。
  3. 保存配置文件。
  4. 确保你在 Neovim 环境中设置了环境变量 PORT_CLIENT_IDPORT_CLIENT_SECRET
  5. 通过打开 MCPHub 视图 :MCPHub 并触发重启命令 R 来重新启动服务器。
  6. 你应该能看到正在运行且可从 MCPHub 视图访问的服务器。要验证,请在你的 LLM 扩展中使用 @mcp 工具。例如,提示:@mcp 列出我的蓝图

更多关于如何使用的信息,请参阅 mcphub.nvim 文档

Docker 配置示例用于 mcphub.nvim

[!NOTE] 确保你已经设置了环境变量 PORT_CLIENT_IDPORT_CLIENT_SECRET 为你的 Port 凭证。

{
    "mcpServers": {
        "port": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-e",
                "PORT_CLIENT_ID",
                "-e",
                "PORT_CLIENT_SECRET",
                "-e",
                "PORT_REGION",
                "ghcr.io/port-labs/port-mcp-server:latest"
            ],
            "env": {
                "PORT_REGION": "EU",
                "PORT_CLIENT_ID": "",
                "PORT_CLIENT_SECRET": ""
            }
        }
    }
}

uvx 配置示例用于 mcphub.nvim

[!NOTE] 确保你已经设置了环境变量 PORT_CLIENT_IDPORT_CLIENT_SECRET 为你的 Port 凭证。

{
    "mcpServers": {
        "port": {
            "command": "uvx",
            "args": [
                "mcp-server-port@0.2.8",
                "--client-id",
                "PORT_CLIENT_ID",
                "--client-secret",
                "PORT_CLIENT_SECRET",
                "--region",
                "PORT_REGION"
            ],
            "env": {
                "PORT_CLIENT_ID": "",
                "PORT_CLIENT_SECRET": "",
                "PORT_REGION": "EU"
            }
        }
    }
}

可用工具

蓝图工具

  1. get_blueprints

    • 获取 Port 中所有蓝图的列表
    • 可选输入:
      • detailed (布尔型,默认: false): 返回每个蓝图的完整架构细节
    • 返回:所有可用蓝图的格式化文本表示
  2. get_blueprint

    • 根据标识符检索特定蓝图的信息
    • 必需输入:
      • blueprint_identifier (字符串): 要检索的蓝图的唯一标识符
    • 可选输入:
      • detailed (布尔型,默认: true): 返回完整的架构细节
  3. create_blueprint

    • 在 Port 中创建一个新的蓝图
    • 必需输入:
      • 各种字段包括标识符、标题、属性等
    • 返回:创建的蓝图对象
  4. update_blueprint

    • 更新现有的蓝图
    • 必需输入:
      • identifier (字符串): 要更新的蓝图的唯一标识符
      • 各种要更新的字段
    • 返回:更新后的蓝图对象
  5. delete_blueprint

    • 从 Port 中删除蓝图
    • 必需输入:
      • blueprint_identifier (字符串):