- Home
- MCP servers
- Port
Port
- python
16
GitHub Stars
python
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"port-labs-port-mcp-server": {
"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": {
"PYTHONPATH": "/path/to/venv/bin/python",
"PORT_REGION": "<PORT_REGION>",
"PORT_CLIENT_ID": "<PORT_CLIENT_ID>",
"PORT_LOG_LEVEL": "<PORT_LOG_LEVEL>",
"PORT_CLIENT_SECRET": "<PORT_CLIENT_SECRET>"
}
}
}
}Port MCP Server enables automated workflows, data queries, and AI-driven interactions by exposing a flexible Model Context Protocol interface. You can look up entity details, assess on-call status, analyze scorecards, and manage resources and permissions using MCP-enabled clients and tools.
How to use
With a Port MCP Server you connect through an MCP client (such as Cursor, Claude Desktop, or VS Code) and access a suite of capabilities. You can fetch information like owner details for services, current on-call status, and production catalog insights. You can analyze scorecards to identify weak points, check compliance, and plan improvements. You can also create and manage resources such as scorecards and rules, and configure permissions and RBAC. Use these patterns to drive automations, build dashboards, and integrate natural language queries into your workflows.
How to install
Prerequisites you need before installing Port MCP Server:
Choose an installation method and follow the steps below.
Option 1: Package Installation using uvx (recommended for easy management)
- Create a Python virtual environment (recommended):
python -m venv venv
- Activate the virtual environment:
# On Linux/macOS:
source venv/bin/activate
# On Windows:
venv\Scripts\activate
- Install the UV package manager:
# Using Homebrew (macOS/Linux):
brew install uv
# Or using pip:
pip install uv
- Verify UV installation:
which uv
- Set required environment variables with your Port credentials and region (EU or US):
export PORT_CLIENT_ID="your_port_client_id"
export PORT_CLIENT_SECRET="your_port_client_secret"
export PORT_REGION="EU" # or "US"
- Run the MCP Server using UVX (this starts the server in the background for MCP interactions):
uvx mcp-server-port --client-id your_port_client_id --client-secret your_port_client_secret --region EU --log-level DEBUG
Option 2: Docker Installation
Use the official Docker image to run Port MCP Server. Ensure your environment variables are set for security and correct region.
- Pull the latest image:
docker pull ghcr.io/port-labs/port-mcp-server:latest
- Run the container with your Port credentials and region. Example for a quick local run:
docker run -i --rm \
-e PORT_CLIENT_ID="your_port_client_id" \
-e PORT_CLIENT_SECRET="your_port_client_secret" \
-e PORT_REGION="EU" \
-e PORT_LOG_LEVEL="DEBUG" \
ghcr.io/port-labs/port-mcp-server:latest
Additional configurations and notes
You can adjust logging and API validation with additional environment variables when you start the server. For example, you can set PORT_LOG_LEVEL to control the verbosity and PORT_API_VALIDATION_ENABLED to enable schema validation.
Troubleshooting and tips
If you encounter authentication errors, verify that your Port credentials are correctly set in your environment and in your MCP client configuration. Ensure you have the necessary permissions and that the region matches your account.
Notes on usage with multiple clients
Port MCP Server supports multiple MCP clients such as Claude Desktop, Cursor, and VS Code. Each client can discover the Port MCP Server and expose its tools for building automations, querying entities, and managing scorecards.
Security and access control
Keep credentials secure. Do not expose PORT_CLIENT_ID or PORT_CLIENT_SECRET in public configurations. Use environment isolation and proper RBAC on the Port side to control who can perform deployments, create scorecards, or modify rules.
Examples and common workflows
-
Find information quickly: ask for the owner of a service or who is on call right now.
-
Analyze scorecards: identify services failing at a given level and understand why.
-
Create resources: build a new scorecard, define rules, and set up quality gates.
Available tools
get_blueprints
Retrieve a list of all blueprints from Port with an option to include detailed schema details.
get_blueprint
Retrieve information about a specific blueprint by its identifier with optional detailed schema.
create_blueprint
Create a new blueprint in Port with required fields including identifier, title, and properties.
update_blueprint
Update an existing blueprint identified by its identifier with new or modified fields.
delete_blueprint
Delete a blueprint from Port by its identifier.
get_entities
Retrieve all entities for a given blueprint with an option to include detailed entity details.
get_entity
Retrieve information about a specific entity within a blueprint with optional detailed details.
create_entity
Create a new entity for a specific blueprint using the provided blueprint schema.
update_entity
Update an existing entity for a blueprint by its identifier.
delete_entity
Delete an entity for a blueprint, with an option to delete dependents.
get_scorecards
Retrieve all scorecards from Port with an option to include detailed scorecard details.
get_scorecard
Retrieve information about a specific scorecard by its identifier, with optional blueprint scope.
create_scorecard
Create a new scorecard for a specific blueprint with levels and optional rules.
update_scorecard
Update an existing scorecard by its identifiers with new details.
delete_scorecard
Delete a scorecard by its identifiers and confirm success.
invoke_ai_agent
Invoke a Port AI agent with a given prompt and receive status and response.