Apisix MCP vs Ocm MCP Server
A side-by-side look at the Apisix MCP and Ocm MCP Server MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Apisix MCP for cloud platforms work as a local process; choose Ocm MCP Server for cloud platforms as a local process. You can also run both side by side in one mcpServers block.
Which MCP server should you choose?
Choose Apisix MCP when
- You need dedicated capabilities in the Cloud Platforms domain.
- You prefer a local stdio subprocess transport.
- Its auth model fits you: API key required.
- You have the keys it needs:
APISIX_SERVER_HOST, APISIX_SERVER_PORT, APISIX_ADMIN_API_PORT, APISIX_ADMIN_API_PREFIX, APISIX_ADMIN_KEY. - You want tools like
get_resource, delete_resource, send_request_to_gateway.
Choose Ocm MCP Server when
- You need dedicated capabilities in the Cloud Platforms domain.
- You prefer a local stdio subprocess transport.
- You want tools like
list_clusters, get_cluster, list_cluster_sets.
Feature & specification comparison
Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Cloud Platforms | Cloud Platforms |
| Quality signal | 63/100 · Good | 42/100 · Fair |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | API key required | Not declared |
| Pricing | Free | Not declared |
| Required env vars | APISIX_SERVER_HOSTAPISIX_SERVER_PORTAPISIX_ADMIN_API_PORTAPISIX_ADMIN_API_PREFIXAPISIX_ADMIN_KEY | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 38 | 9 |
| Directory activity | 6 views 0 installs 0 upvotes | 2 views 0 installs 0 upvotes |
| Tools | 32 | 35 |
| Full listing | View Apisix MCP | View Ocm MCP Server |
Tools & capabilities
Apisix MCP tools 32
get_resourceGet resource details by ID or list all resourcesdelete_resourceDelete a resource by IDsend_request_to_gatewaySend a request or multiple requests to the APISIX gatewaycreate_routeCreate a routeupdate_routeUpdate specific attributes of an existing routecreate_serviceCreate a serviceupdate_serviceUpdate specific attributes of an existing servicecreate_upstreamCreate an upstream service with load balancing settingsupdate_upstreamUpdate specific attributes of an existing upstreamcreate_or_update_consumerCreate a consumer, if the consumer already exists, it will be updatedget_credentialGet all credentials or a specific credential for a consumercreate_or_update_credentialCreate or update a credential for a consumer- +20 more on the listing page
Ocm MCP Server tools 35
list_clustersList all managed clusters with availability, version, labels, and capacity.get_clusterFull view of one ManagedCluster. Args: cluster: managed cluster name as the hub knows it (see list_clusters). Returns acceptance (hubAcceptsClient), taints, hub conditions, Kubernetes version, capacity/allocatable, and the cluster's ClusterClaims.list_cluster_setsList ManagedClusterSets with their selector type and member clusters.list_cluster_set_bindingsList ManagedClusterSetBindings (which ClusterSets a namespace's Placements may use). Args: namespace: limit to one namespace; empty lists bindings across all namespaces.list_cluster_claimsEvery cluster's ClusterClaims (id, platform, region, version) rolled up from status.get_cluster_infoExtended inventory for one cluster from the hub: OpenShift version, nodes, console URL. Args: cluster: managed cluster name. Reads ManagedClusterInfo on the hub, so it needs no spoke access and works for any spoke - external OpenShift, HCP, or cloud. Needs the ACM/MCE multicloud-operators-foundation add-on; reports clearly if it is not present.get_cluster_healthHealth summary for one cluster: hub conditions, unhealthy pods, degraded deployments. Args: cluster: managed cluster name. Pod/deployment detail requires a read-only spoke context (OCM_MCP_SPOKE_CONTEXTS); hub conditions work without one.get_fleet_healthHealth of the WHOLE fleet in one call: hub conditions for every cluster plus concurrent pod/deployment scans of each spoke that has a read context. Args: clusters: optional comma-separated managed-cluster names to scope the sweep; empty means every cluster on the hub. Clusters with problems sort first. A broken spoke shows an 'error' entry instead of failing the sweep. Prefer this over calling get_cluster_health in a loop.query_eventsRecent Kubernetes events from a managed cluster, newest first. Args: cluster: managed cluster name. namespace: optional namespace filter; empty means all namespaces. limit: maximum number of events to return (default 40). Use this to find the 'why' behind unhealthy pods.get_pod_logsTail logs from a pod on a managed cluster. Args: cluster: managed cluster name. namespace: pod namespace. pod: pod name. container: container name; empty picks the default container. lines: number of trailing log lines (default 80). Falls back to the previous container instance if the current one is crashing.list_placementsList Placements and how many clusters each currently selects. Args: namespace: limit to one namespace; empty lists across all namespaces.get_placement_decisionWhich clusters a Placement actually selected (reads its PlacementDecisions). Args: placement: Placement name. namespace: the namespace the Placement lives in.- +23 more on the listing page
Ready-to-paste client configs
Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
Apisix MCP
{
"mcpServers": {
"api7-apisix-mcp": {
"command": "npx",
"args": [
"-y",
"apisix-mcp"
],
"env": {
"APISIX_SERVER_HOST": "YOUR_APISIX_SERVER_HOST_HERE",
"APISIX_SERVER_PORT": "YOUR_APISIX_SERVER_PORT_HERE",
"APISIX_ADMIN_API_PORT": "YOUR_APISIX_ADMIN_API_PORT_HERE",
"APISIX_ADMIN_API_PREFIX": "YOUR_APISIX_ADMIN_API_PREFIX_HERE",
"APISIX_ADMIN_KEY": "YOUR_APISIX_ADMIN_KEY_HERE"
}
}
}
}
Ocm MCP Server
{
"mcpServers": {
"ocm-mcp-server-2": {
"command": "uvx",
"args": [
"ocm-mcp-server"
]
}
}
}
Frequently asked questions
Apisix MCP is categorized under Cloud Platforms and uses a local stdio subprocess. Ocm MCP Server belongs to Cloud Platforms and uses a local stdio subprocess. Pick Apisix MCP for cloud platforms work and Ocm MCP Server for cloud platforms.
Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.
Apisix MCP is listed as free. Auth: api key required. Ocm MCP Server has no declared pricing — check the project's own site. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.
Yes. MCP clients support multiple servers: add api7-apisix-mcp and ocm-mcp-server-2 as separate keys in the same mcpServers object, and your assistant will call tools from either one.
On AllMCPs, Apisix MCP has a quality signal of 63/100 (Good) with 6 views, 0 installs and 38 GitHub stars. Ocm MCP Server has 42/100 (Fair) with 2 views, 0 installs and 9 GitHub stars.