You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Feb 24, 2026. It is now read-only.
A Model Context Protocol (MCP) server for the [Port.io API](https://www.getport.io/), enabling Claude to interact with Port.io's developer platform capabilities using natural language.
3
+
The [Port IO](https://www.getport.io/) MCP server is a [Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction) server, enabling advanced automations and natual language interactions for developers and AI applications.
4
4
5
5
## What You Can Do With Port MCP
6
6
7
-
Transform how you work with Port.io using natural language:
8
-
9
7
### Find Information Quickly
10
8
-**Get entity details** - "Who is the owner of service X?"
11
9
-**Check on-call status** - "Who is on call right now?"
@@ -23,24 +21,61 @@ Transform how you work with Port.io using natural language:
23
21
24
22
We're continuously expanding Port MCP's capabilities. Have a suggestion? We'd love to hear your feedback on our [roadmap](https://roadmap.getport.io/ideas)!
25
23
26
-
## Installation
27
24
28
-
### Obtain your Port credentials
29
-
1. Create a Port.io Account:
30
-
- Visit [Port.io](https://www.port.io/)
31
-
- Sign up for an account if you don't have one
25
+
#Installation
26
+
27
+
## Prerequisites
28
+
Before you begin, you'll need:
32
29
33
-
2. Create an API Key:
34
-
- Navigate to your Port.io dashboard
30
+
1. Create a Port Account (if you don't have one):
31
+
- Visit [Port.io](https://app.port.io/)
32
+
- Sign up for an account
33
+
34
+
2. Obtain Port Credentials:
35
+
- Navigate to your Port dashboard
35
36
- Go to Settings > Credentials
36
37
- Save both the Client ID and Client Secret
37
38
38
-
### Claude Desktop
39
+
3. Installation Requirements:
40
+
- Either [Docker](https://www.docker.com/get-started/) installed on your system
41
+
- OR [uvx](https://pypi.org/project/uvx/) package manager installed
42
+
43
+
>[!NOTE]
44
+
>You will also need to provide your Port region, which is either EU or US. If not provided, the default is EU.
45
+
46
+
## Installation methods
47
+
Port MCP Server can be installed using two methods:
48
+
49
+
### Package Installation (uvx)
50
+
Use our official [Port MCP server](https://pypi.org/project/mcp-server-port/) package.
| Log Level |`log-level`|`PORT_LOG_LEVEL`| Controls the level of log output |`ERROR`|
64
+
| API Validation |`api-validation-enabled`|`PORT_API_VALIDATION_ENABLED`| Controls if API schema should be validated and fail if it's not valid |`False`|
65
+
66
+
## Usage with Claude Desktop
67
+
1. Go to Settings > Developer and click on "Edit config".
68
+
2. Edit the `claude_desktop_config.json` file and add the below configuration based on the installation method.
69
+
3. Save the file and restart Claude.
70
+
4. In a new chat, check the Tools section and you'll see Port available tools.
71
+
72
+

39
73
40
-
Add the following to your `claude_desktop_config.json`:
74
+
### Docker
41
75
76
+
>[!TIP]
77
+
>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.
42
78
43
-
#### Docker
44
79
```json
45
80
{
46
81
"mcpServers": {
@@ -58,7 +93,7 @@ Add the following to your `claude_desktop_config.json`:
58
93
"PORT_REGION",
59
94
"-e",
60
95
"PORT_LOG_LEVEL",
61
-
"ghcr.io/port-labs/port-mcp-server:0.2.1"
96
+
"ghcr.io/port-labs/port-mcp-server:0.2.2"
62
97
],
63
98
"env": {
64
99
"PORT_CLIENT_ID": "<PORT_CLIENT_ID>",
@@ -71,25 +106,58 @@ Add the following to your `claude_desktop_config.json`:
71
106
}
72
107
```
73
108
109
+
### uvx
74
110
75
-
### Cursor
111
+
>[!NOTE]
112
+
>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`.
>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.
85
153
86
154
```json
87
155
{
88
-
"mcpServers": {
89
-
"port": {
90
-
"command": "docker",
91
-
"args": [
92
-
"run",
156
+
"mcpServers": {
157
+
"port": {
158
+
"command": "docker",
159
+
"args": [
160
+
"run",
93
161
"-i",
94
162
"--rm",
95
163
"-e",
@@ -100,24 +168,126 @@ Configure in Cursor settings:
>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`.
>VS Code can automatically discover MCP servers already installed in Cursor and Claude.
219
+
220
+
>[!NOTE]
221
+
>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.
>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.
237
+
238
+
```json
239
+
"Port": {
240
+
"type": "stdio",
241
+
"command": "docker",
242
+
"args": [
243
+
"run",
244
+
"-i",
245
+
"--rm",
246
+
"-e",
247
+
"PORT_CLIENT_ID",
248
+
"-e",
249
+
"PORT_CLIENT_SECRET",
250
+
"-e",
251
+
"PORT_REGION",
252
+
"ghcr.io/port-labs/port-mcp-server:0.2.2"
253
+
],
254
+
"env": {
255
+
"PORT_CLIENT_ID": "<PORT_CLIENT_ID>",
256
+
"PORT_CLIENT_SECRET": "<PORT_CLIENT_SECRET>",
257
+
"PORT_REGION": "<PORT_REGION>"
258
+
}
259
+
}
260
+
```
261
+
262
+
### uvx
263
+
264
+
>[!NOTE]
265
+
>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`.
266
+
267
+
```json
268
+
"Port": {
269
+
"type": "stdio",
270
+
"command": "uvx",
271
+
"args": [
272
+
"mcp-server-port@0.2.8",
273
+
"--client-id",
274
+
"<PORT_CLIENT_ID>",
275
+
"--client-secret",
276
+
"<PORT_CLIENT_SECRET>",
277
+
"--region",
278
+
"<PORT_REGION>"
279
+
],
280
+
"env": {
281
+
"PORT_CLIENT_ID": "<PORT_CLIENT_ID>",
282
+
"PORT_CLIENT_SECRET": "<PORT_CLIENT_SECRET>",
283
+
"PORT_REGION": "<PORT_REGION>"
284
+
}
285
+
}
286
+
```
287
+
288
+
# Available Tools
289
+
290
+
## Blueprint Tools
121
291
122
292
1.`get_blueprints`
123
293
- Retrieve a list of all blueprints from Port
@@ -151,7 +321,7 @@ Configure in Cursor settings:
151
321
-`blueprint_identifier` (string): The unique identifier of the blueprint to delete
152
322
- Returns: Success status
153
323
154
-
###Entity Tools
324
+
## Entity Tools
155
325
156
326
1.`get_entities`
157
327
- Retrieve all entities for a given blueprint
@@ -189,7 +359,7 @@ Configure in Cursor settings:
189
359
- Optional inputs:
190
360
-`delete_dependents` (boolean, default: false): If true, also deletes all dependencies
191
361
192
-
###Scorecard Tools
362
+
## Scorecard Tools
193
363
194
364
1.`get_scorecards`
195
365
- Retrieve all scorecards from Port
@@ -228,25 +398,25 @@ Configure in Cursor settings:
228
398
-`scorecard_identifier` (string): The unique identifier of the scorecard to delete
229
399
- Returns: Success status
230
400
231
-
###AI Agent Tool
401
+
## AI Agents Tool
232
402
233
403
1.`invoke_ai_agent`
234
404
- Invoke a Port AI agent with a specific prompt
235
405
- Required inputs:
236
406
-`prompt` (string): The prompt to send to the AI agent
237
407
- Returns: Invocation status and message from the AI agent
238
408
239
-
##Feedback and Roadmap
409
+
# Feedback and Roadmap
240
410
241
411
We're continuously improving Port MCP and would love to hear from you! Please share your feedback and feature requests on our [roadmap page](https://roadmap.getport.io/ideas).
242
412
243
-
##Troubleshooting
413
+
# Troubleshooting
244
414
245
415
If you encounter authentication errors, verify that:
246
-
1. Your Port credentials are correctly set in the arguments
247
-
2. You have the necessary permissions
248
-
3. The credentials are properly copied to your configuration
416
+
1. Your Port credentials are correctly set in the arguments.
417
+
2. You have the necessary permissions.
418
+
3. The credentials are properly copied to your configuration.
249
419
250
-
##License
420
+
# License
251
421
252
-
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. For more details, please see the LICENSE file in the project repository.
422
+
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](https://github.com/port-labs/port-mcp-server/blob/main/LICENSE).
0 commit comments