A Model Context Protocol (MCP) server for Port.io integration
Project description
Port MCP Server
MCP Server for the Port.io API, enabling Claude to interact with Port.io's AI agent.
Tools
trigger_port_agent- Trigger the Port.io AI agent with a prompt and wait for completion
- Required inputs:
prompt(string): The prompt to send to the Port.io AI agent
- Returns: Agent response with status, output, and any required actions
- Note: The agent may return action URLs for bug reports or other tasks that require user interaction
Setup
-
Create a Port.io Account:
- Visit Port.io
- Sign up for an account if you don't have one
-
Create an API Key:
- Navigate to your Port.io dashboard
- Go to Settings > Credentials
- Save both the Client ID and Client Secret
Usage with Claude Desktop
Add the following to your claude_desktop_config.json:
{
"mcpServers": {
"port": {
"command": "uvx",
"args": [
"mcp-server-port",
"--client-id", "YOUR_CLIENT_ID",
"--client-secret", "YOUR_CLIENT_SECRET",
"--region", "REGION", # US or EU
]
}
}
}
Usage with Cursor
Make sure uvx is installed
pip install uvx
Get its location
which uvx
# /Users/janedoe/.local/bin/uvx
Next, create a script to run the server
# run-port-mcp.sh
cd /Users/janedoe/.local/bin/uvx
# Run the server with the specified credentials
./.venv/bin/uvx mcp-server-port@0.1.3 --client-id YOUR_CLIENT_ID --client-secret YOUR_CLIENT_SECRET --region YOUR_REGION
Make it executable
chmod +x /path/to/your/file/run-port-mcp.sh
Finally, under Cursor settings, MCP Servers, select
- Name -
Port - Type -
Command - Command -
/path/to/your/file/run-port-mcp.sh
Troubleshooting
If you encounter authentication errors, verify that:
- Your Port credentials are correctly set in the arguments
- You have the necessary permissions
- The credentials are properly copied to your configuration
Run
To run the server:
# Create and activate virtual environment
python -m venv .venv
source .venv/bin/activate # On Unix/macOS
# or
.venv\Scripts\activate # On Windows
# Install dependencies
pip install -e .
# Run server
python -m src.mcp_server_port --client-id "CLIENT_ID" --client-secret "CLIENT_SECRET" --region "REGION"
Publish a new version
To build and publish a new version to PyPI:
# Ensure you have the latest build tools
pip install --upgrade build twine
# Update version pyproject.toml
# Build the package
python -m build
# Check the package
twine check dist/*
# Upload to TestPyPI (optional, for testing)
twine upload --repository testpypi dist/*
# Upload to PyPI
twine upload dist/*
Make sure to:
- Update the version number in your package configuration files
- Test your package before publishing
- Have PyPI credentials configured in your
~/.pypircfile or be ready to enter them when prompted
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. For more details, please see the LICENSE file in the project repository.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_server_port-0.1.3.tar.gz.
File metadata
- Download URL: mcp_server_port-0.1.3.tar.gz
- Upload date:
- Size: 8.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f3fe925f9a1718b7616996154df9d0d04a20860fb35e150f4ebe8a90940854e4
|
|
| MD5 |
7eacd14e1029ce99e83bd29bf7be69de
|
|
| BLAKE2b-256 |
4fe2254447c40048b6fd46c020e8e7c57e0ea2aed409c614b934990ced820d54
|
File details
Details for the file mcp_server_port-0.1.3-py3-none-any.whl.
File metadata
- Download URL: mcp_server_port-0.1.3-py3-none-any.whl
- Upload date:
- Size: 11.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7ff6d8c3c21ff9484f24ed7c89cf2c7cce922b2dc24fc213953a3bfa37861d17
|
|
| MD5 |
361034ab0f9c02002c5b940c960978e6
|
|
| BLAKE2b-256 |
49cf2ee94f1929e82c9013d50bd2772e3dd7077509d85e1d5062771501984d4c
|