Port MCP Server
A Model Context Protocol (MCP) server for the Port.io API, enabling Claude to interact with Port.io's developer platform capabilities using natural language.
What You Can Do With Port MCP
Transform how you work with Port.io using natural language:
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
Obtain your Port credentials
- 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
Claude Desktop
Add the following to your claude_desktop_config.json
:
UVX
Docker
Cursor
####UVX
- Make sure
uvx
is installed:
- Get its location:
- Create a script to run the server:
- Make it executable:
- Configure in Cursor settings:
- Go to Cursor settings > MCP Servers
- Configure with:
- Name -
Port
- Type -
Command
- Command -
/path/to/your/file/run-port-mcp.sh
- Name -
####Docker
Available Tools
Blueprint Tools
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
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
create_blueprint
- Create a new blueprint in Port
- Required inputs:
- Various fields including identifier, title, properties, etc.
- Returns: The created blueprint object
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
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
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
get_entity
- Retrieve information about a specific entity
- Required inputs:
blueprint_identifier
(string): The identifier of the blueprint the entity belongs toentity_identifier
(string): The unique identifier of the entity to retrieve
- Optional inputs:
detailed
(boolean, default: true): Return complete entity details
create_entity
- Create a new entity for a specific blueprint
- Required inputs:
blueprint_identifier
(string): The identifier of the blueprint to create the entity forentity
(object): The entity data following the blueprint schema
update_entity
- Update an existing entity
- Required inputs:
blueprint_identifier
(string): The identifier of the blueprint the entity belongs toentity_identifier
(string): The unique identifier of the entity to updateentity
(object): The updated entity data
delete_entity
- Delete an entity
- Required inputs:
blueprint_identifier
(string): The identifier of the blueprint the entity belongs toentity_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
get_scorecards
- Retrieve all scorecards from Port
- Optional inputs:
detailed
(boolean, default: false): Return complete scorecard details
get_scorecard
- Retrieve information about a specific scorecard by its identifier
- Required inputs:
scorecard_id
(string): The unique identifier of the scorecard to retrieveblueprint_id
(string, optional): The identifier of the blueprint the scorecard belongs to
create_scorecard
- Create a new scorecard for a specific blueprint
- Required inputs:
blueprint_id
(string): The identifier of the blueprint to create the scorecard foridentifier
(string): The unique identifier for the new scorecardtitle
(string): The display title of the scorecardlevels
(list): List of levels for the scorecard
- Optional inputs:
rules
(list): List of rules for the scorecarddescription
(string): Description for the scorecard
update_scorecard
- Update an existing scorecard
- Required inputs:
blueprint_identifier
(string): The identifier of the blueprint the scorecard belongs toscorecard_identifier
(string): The unique identifier of the scorecard to update- Various fields to update (title, levels, rules, etc.)
- Returns: The updated scorecard object
delete_scorecard
- Delete a scorecard from Port
- Required inputs:
blueprint_identifier
(string): The identifier of the blueprint the scorecard belongs toscorecard_identifier
(string): The unique identifier of the scorecard to delete
- Returns: Success status
AI Agent Tool
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:
- Your Port credentials are correctly set in the arguments
- You have the necessary permissions
- 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. For more details, please see the LICENSE file in the project repository.
This server cannot be installed
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.
Related Resources
Related MCP Servers
- -securityAlicense-qualityAn 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 -125PythonMIT License
- -securityFlicense-qualityAn 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 -7Python
- -securityFlicense-qualityAn MCP server that connects Claude to FL Studio, allowing the AI to compose music, control instruments, and live record melodies, chords, and drums to the piano roll.Last updated -8Python
- -securityAlicense-qualityAn MCP server that bridges AI agents with GUI automation capabilities, allowing them to control mouse, keyboard, windows, and take screenshots to interact with desktop applications.Last updated -PythonMIT License