Skip to main content
Glama

Port MCP Server

by port-labs

Port MCP Server

The Port IO MCP server is a Model Context Protocol (MCP) server, enabling advanced automations and natual language interactions for developers and AI applications.

What You Can Do With Port MCP

Find Information Quickly

  • Get entity details - "Who is the owner of service X?"
  • Check on-call status - "Who is on call right now?"
  • Get catalog insights - "How many services do we have in production?"

Analyze Scorecards

  • Identify weak points - "Which services are failing for the gold level and why?"
  • Get compliance status - "Show me all services that don't meet our security requirements"
  • Improve quality - "What do I need to fix to reach the next scorecard level?"

Create Resources

  • Build scorecards - "Create a new scorecard called 'Security Posture' with levels Basic, Silver, and Gold"
  • Define rules - "Add a rule that requires services to have a team owner to reach the Silver level"
  • Setup quality gates - "Create a rule that checks if services have proper documentation"

We're continuously expanding Port MCP's capabilities. Have a suggestion? We'd love to hear your feedback on our roadmap!

Installation

Prerequisites

Before you begin, you'll need:

  1. Create a Port Account (if you don't have one):
    • Visit Port.io
    • Sign up for an account
  2. Obtain Port Credentials:
    • Navigate to your Port dashboard
    • Go to Settings > Credentials
    • Save both the Client ID and Client Secret
  3. Installation Requirements:
    • Either Docker installed on your system
    • OR uvx package manager installed

Note

You will also need to provide your Port region, which is either EU or US. If not provided, the default is EU.

Installation methods

Port MCP Server can be installed using two methods:

Package Installation (uvx)

Use our official Port MCP server package.

Docker Installation

Use our official Docker image:

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

Additional configurations

You can pass these additional arguments for more advanced configuration:

Configuration ParameterUVX FlagDocker Environment VariableDescriptionDefault Value
Log Levellog-levelPORT_LOG_LEVELControls the level of log outputERROR
API Validationapi-validation-enabledPORT_API_VALIDATION_ENABLEDControls if API schema should be validated and fail if it's not validFalse

Usage with Claude Desktop

  1. Go to Settings > Developer and click on "Edit config".
  2. Edit the claude_desktop_config.json file and add the below configuration based on the installation method.
  3. Save the file and restart Claude.
  4. In a new chat, check the Tools section and you'll see Port available tools.

Claude MCP Tools

Docker

Tip

Consider using the full path to Docker (e.g., /usr/local/bin/docker) instead of just docker. You can find this path by running which docker in your terminal. Using the full path helps avoid PATH resolution issues and ensures consistent behavior across different shell environments.

{ "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:0.2.2" ], "env": { "PORT_CLIENT_ID": "<PORT_CLIENT_ID>", "PORT_CLIENT_SECRET": "<PORT_CLIENT_SECRET>", "PORT_REGION": "<PORT_REGION>", "PORT_LOG_LEVEL": "<PORT_LOG_LEVEL>" } } } }

uvx

Note

If you want to run the command from a virtual Python environment, add a PYTHONPATH variable to the env object with its path, e.g., /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" } } } }

Usage with Cursor

  1. Go to Cursor > Settings > Cursor Settings.
  2. Click on the MCP tab, and "Add new global MCP server".
  3. Edit the mcp.json file and add the below configuration based on the installation method.
  4. Save the file and return to Cursor Settings.
  5. You will see the new Port server and its available tools.

Cursor MCP Screenshot

Docker

Tip

Consider using the full path to Docker (e.g., /usr/local/bin/docker) instead of just docker. You can find this path by running which docker in your terminal. Using the full path helps avoid PATH resolution issues and ensures consistent behavior across different shell environments.

{ "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:0.2.2" ], "env": { "PORT_CLIENT_ID": "<PORT_CLIENT_ID>", "PORT_CLIENT_SECRET": "<PORT_CLIENT_SECRET>", "PORT_REGION": "<PORT_REGION>", "PORT_LOG_LEVEL": "<PORT_LOG_LEVEL>" } } } }

uvx

Note

If you want to run the command from a virtual Python environment, add a PYTHONPATH variable to the env object with its path, e.g., /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" } } } }

Usage with VS Code

Tip

VS Code can automatically discover MCP servers already installed in Cursor and Claude.

Note

For quick installation, use the one-click install buttons and select where to add the MCP configuration. Make sure to replace the placeholders with your Port credentials.

Docker quick installation uvx quick installation

For manual installation follow these steps:

  1. Go to the Command Palette by pressing Cmd + Shift + P / Ctrl + Shift + P.
  2. Type Preferences: Open User Settings (JSON) and press enter.
  3. Edit the settings.json file and add the below configuration under the mcp>servers.
  4. Use Copilot in Agent mode, make sure the server is running and see its available Port tools.

VS Code MCP Tools

Docker

Tip

Consider using the full path to Docker (e.g., /usr/local/bin/docker) instead of just docker. You can find this path by running which docker in your terminal. Using the full path helps avoid PATH resolution issues and ensures consistent behavior across different shell environments.

"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:0.2.2" ], "env": { "PORT_CLIENT_ID": "<PORT_CLIENT_ID>", "PORT_CLIENT_SECRET": "<PORT_CLIENT_SECRET>", "PORT_REGION": "<PORT_REGION>" } }

uvx

Note

If you want to run the command from a virtual Python environment, add a PYTHONPATH variable to the env object with its path, e.g., /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>" } }

Available Tools

Blueprint Tools

  1. get_blueprints
    • Retrieve a list of all blueprints from Port
    • Optional inputs:
      • detailed (boolean, default: false): Return complete schema details for each blueprint
    • Returns: Formatted text representation of all available blueprints
  2. get_blueprint
    • Retrieve information about a specific blueprint by its identifier
    • Required inputs:
      • blueprint_identifier (string): The unique identifier of the blueprint to retrieve
    • Optional inputs:
      • detailed (boolean, default: true): Return complete schema details
  3. create_blueprint
    • Create a new blueprint in Port
    • Required inputs:
      • Various fields including identifier, title, properties, etc.
    • Returns: The created blueprint object
  4. update_blueprint
    • Update an existing blueprint
    • Required inputs:
      • identifier (string): The unique identifier of the blueprint to update
      • Various fields to update
    • Returns: The updated blueprint object
  5. delete_blueprint
    • Delete a blueprint from Port
    • Required inputs:
      • blueprint_identifier (string): The unique identifier of the blueprint to delete
    • Returns: Success status

Entity Tools

  1. get_entities
    • Retrieve all entities for a given blueprint
    • Required inputs:
      • blueprint_identifier (string): The identifier of the blueprint to get entities for
    • Optional inputs:
      • detailed (boolean, default: false): Return complete entity details including properties
  2. get_entity
    • Retrieve information about a specific entity
    • Required inputs:
      • blueprint_identifier (string): The identifier of the blueprint the entity belongs to
      • entity_identifier (string): The unique identifier of the entity to retrieve
    • Optional inputs:
      • detailed (boolean, default: true): Return complete entity details
  3. create_entity
    • Create a new entity for a specific blueprint
    • Required inputs:
      • blueprint_identifier (string): The identifier of the blueprint to create the entity for
      • entity (object): The entity data following the blueprint schema
  4. update_entity
    • Update an existing entity
    • Required inputs:
      • blueprint_identifier (string): The identifier of the blueprint the entity belongs to
      • entity_identifier (string): The unique identifier of the entity to update
      • entity (object): The updated entity data
  5. delete_entity
    • Delete an entity
    • Required inputs:
      • blueprint_identifier (string): The identifier of the blueprint the entity belongs to
      • entity_identifier (string): The unique identifier of the entity to delete
    • Optional inputs:
      • delete_dependents (boolean, default: false): If true, also deletes all dependencies

Scorecard Tools

  1. get_scorecards
    • Retrieve all scorecards from Port
    • Optional inputs:
      • detailed (boolean, default: false): Return complete scorecard details
  2. get_scorecard
    • Retrieve information about a specific scorecard by its identifier
    • Required inputs:
      • scorecard_id (string): The unique identifier of the scorecard to retrieve
      • blueprint_id (string, optional): The identifier of the blueprint the scorecard belongs to
  3. create_scorecard
    • Create a new scorecard for a specific blueprint
    • Required inputs:
      • blueprint_id (string): The identifier of the blueprint to create the scorecard for
      • identifier (string): The unique identifier for the new scorecard
      • title (string): The display title of the scorecard
      • levels (list): List of levels for the scorecard
    • Optional inputs:
      • rules (list): List of rules for the scorecard
      • description (string): Description for the scorecard
  4. update_scorecard
    • Update an existing scorecard
    • Required inputs:
      • blueprint_identifier (string): The identifier of the blueprint the scorecard belongs to
      • scorecard_identifier (string): The unique identifier of the scorecard to update
      • Various fields to update (title, levels, rules, etc.)
    • Returns: The updated scorecard object
  5. delete_scorecard
    • Delete a scorecard from Port
    • Required inputs:
      • blueprint_identifier (string): The identifier of the blueprint the scorecard belongs to
      • scorecard_identifier (string): The unique identifier of the scorecard to delete
    • Returns: Success status

AI Agents Tool

  1. invoke_ai_agent
    • Invoke a Port AI agent with a specific prompt
    • Required inputs:
      • prompt (string): The prompt to send to the AI agent
    • Returns: Invocation status and message from the AI agent

Feedback and Roadmap

We're continuously improving Port MCP and would love to hear from you! Please share your feedback and feature requests on our roadmap page.

Troubleshooting

If you encounter authentication errors, verify that:

  1. Your Port credentials are correctly set in the arguments.
  2. You have the necessary permissions.
  3. The credentials are properly copied to your configuration.

License

This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License.

-
security - not tested
A
license - permissive license
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

An MCP server that enables Claude to interact with Port.io's AI agent, allowing users to trigger the agent with prompts and receive structured responses including status, output, and action items.

  1. What You Can Do With Port MCP
    1. Find Information Quickly
    2. Analyze Scorecards
    3. Create Resources
  2. Installation
    1. Prerequisites
    2. Installation methods
    3. Usage with Claude Desktop
    4. Usage with Cursor
  3. Available Tools
    1. Blueprint Tools
    2. Entity Tools
    3. Scorecard Tools
    4. AI Agents Tool
  4. Feedback and Roadmap
    1. Troubleshooting
      1. License

        Related MCP Servers

        • -
          security
          F
          license
          -
          quality
          A Model Context Protocol server that enables Claude users to access specialized OpenAI agents (web search, file search, computer actions) and a multi-agent orchestrator through the MCP protocol.
          Last updated -
          1
          Python
          • Linux
          • Apple
        • -
          security
          A
          license
          -
          quality
          An MCP server that implements Claude Code-like functionality, allowing the AI to analyze codebases, modify files, execute commands, and manage projects through direct file system interactions.
          Last updated -
          170
          Python
          MIT License
          • Apple
          • Linux
        • -
          security
          F
          license
          -
          quality
          An MCP server that allows AI assistants like Claude to execute terminal commands on the user's computer and return the output, functioning like a terminal through AI.
          Last updated -
          7
          Python
          • Apple
        • -
          security
          F
          license
          -
          quality
          A flexible server that enables communication between AI models and tools, supporting multiple MCP servers and compatible with Claude, MCP Dockmaster, and other MCP clients.
          Last updated -
          15
          TypeScript

        View all related MCP servers

        MCP directory API

        We provide all the information about MCP servers via our MCP API.

        curl -X GET 'https://glama.ai/api/mcp/v1/servers/port-labs/port-mcp-server'

        If you have feedback or need assistance with the MCP directory API, please join our Discord server