Control Plane Openapi Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Control Plane Openapi Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
This MCP (Model Context Protocol) Server provides seamless integration with the Facets Control Plane API through its OpenAPI specification. It enables AI assistants to understand, explore, and interact with the complete Facets Control Plane API, making infrastructure management and API integration more accessible through natural language interactions.
Automatically fetches and processes the latest OpenAPI specification from Facets Control Plane, ensuring you always have access to current API documentation.
Includes an MCP prompt that provides step-by-step guidance for creating production-ready scripts that interact with Control Plane APIs, with best practices for authentication, testing, and error handling.
Automatically excludes deprecated operations (17 filtered out of 566 total) to provide clean, relevant results and improved search performance.
Search through 549 active operations and 500+ schemas using natural language queries with intelligent matching across summaries, descriptions, tags, and operation IDs.
Access complete operation details including parameters, request bodies, response schemas, and authentication requirements for all Facets Control Plane endpoints.
Intelligent TTL-based caching minimizes API calls while ensuring fresh data, with configurable cache duration for optimal performance.
Explore complex data structures with property listings, type information, and relationship mappings for all API schemas.
| Tool Name | Description |
|---|---|
FIRST_STEP_get_api_script_guide | 🚀 Start here! Loads comprehensive API script generation guide - call this tool first before using others. |
refresh_api_catalog | Refreshes the API catalog by fetching the latest OpenAPI specification from the control plane. |
search_api_operations | Search for operations using fuzzy matching across operation IDs, summaries, descriptions, and tags. |
search_api_schemas | Search for schemas by name and description to find relevant data structures. |
load_api_operation_by_operationId | Load detailed operation information by its unique operation ID including parameters and responses. |
load_api_operation_by_path_and_method | Load operation details by specifying the exact API path and HTTP method. |
load_api_schema_by_schemaName | Load comprehensive schema details including properties, types, and validation requirements. |
call_control_plane_api | Make authenticated GET requests to the Control Plane API using the provided path. |
| Prompt Name | Description |
|---|---|
Control Plane API Script Generation | Provides step-by-step guidance for creating production-ready scripts that interact with Control Plane APIs. |
The MCP Server requires uv for dependency management and execution.
#### Install uv with Homebrew:
brew install uvFor other installation methods, see the official uv installation guide.
The easiest way to install and use the MCP server is directly from PyPI. This method always uses the latest published version.
Add the following to your claude_desktop_config.json:
{
"mcpServers": {
"control-plane-openapi": {
"command": "uvx",
"args": ["control-plane-openapi-mcp"],
"env": {
"CONTROL_PLANE_URL": "https://<customername>.console.facets.cloud",
"FACETS_USERNAME": "<YOUR_USERNAME>",
"FACETS_TOKEN": "<YOUR_TOKEN>",
"FACETS_PROFILE": "default",
"CACHE_TTL": "3600"
}
}
}
}If you want to modify the code or contribute to development, clone the repository and run from source.
git clone https://github.com/Facets-cloud/control-plane-openapi-mcp.git
cd control-plane-openapi-mcp{
"mcpServers": {
"control-plane-openapi": {
"command": "uv",
"args": ["run", "--directory", "/path/to/your/cloned/control-plane-openapi-mcp", "control-plane-openapi-mcp"],
"env": {
"CONTROL_PLANE_URL": "https://<customername>.console.facets.cloud",
"FACETS_USERNAME": "<YOUR_USERNAME>",
"FACETS_TOKEN": "<YOUR_TOKEN>",
"FACETS_PROFILE": "default",
"CACHE_TTL": "3600"
}
}
}
}⚠️ Replace <YOUR_USERNAME> and <YOUR_TOKEN> with your actual Facets credentials.
CONTROL_PLANE_URL: Base URL of the Facets Control Plane (default: demo instance)FACETS_USERNAME: Your Facets username for API authenticationFACETS_TOKEN: Your Facets access token for API authenticationFACETS_PROFILE: Facets profile to use from credentials file (default: "default")CACHE_TTL: Cache time-to-live in seconds (default: 3600)The server supports two authentication methods:
FACETS_USERNAME and FACETS_TOKEN~/.facets/credentials with profile-based credentialsFor credential setup, refer to the Facets Authentication Guide.
search_api_operations and search_api_schemas to find relevant endpoints using natural languagecall_control_plane_api to make actual API calls and get real data from your Facets environmentThe server provides access to the complete Facets Control Plane API including:
When using with Claude, try these example prompts:
"Show me all project-related operations in the Facets API"
"What are the required parameters for creating a new project?"
"Find operations related to environment deployments"
"Show me the project schema structure with all its properties"
"Generate a TypeScript interface for the project model"
"Get the current list of projects from my environment"
"Show me details of a specific project named 'my-production-project'"
"What environments are running in my Facets environment?"
"Create an example API call to get project information"
"Find all endpoints that handle artifact routing"
"What authentication methods are available in the API?" git clone https://github.com/Facets-cloud/control-plane-openapi-mcp.git
cd control-plane-openapi-mcp uv sync source .venv/bin/activate # On macOS/Linux
# or
.venv\Scripts\activate # On Windows# Start the MCP server (will wait for stdin input)
uv run control-plane-openapi-mcp
# Test with custom OpenAPI URL
FACETS_OPENAPI_URL="https://your-instance.com/v3/api-docs" uv run control-plane-openapi-mcpcontrol_plane_openapi_mcp/
├── __init__.py # Package initialization
├── config.py # Configuration and MCP setup
├── server.py # Main MCP server entry point
├── tools.py # MCP tool implementations
└── core/ # Core functionality
├── models.py # Pydantic data models
├── spec_loader.py # OpenAPI spec fetching and processing
├── spec_processor.py # Operation and schema extraction
├── search.py # Fuzzy search engine
├── cache.py # TTL-based caching
└── service.py # Main orchestrating serviceThis project is licensed under the MIT License. You are free to use, modify, and distribute it under its terms.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.