Gravitee APIM MCP Server
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Gravitee APIM MCP Servershow me all APIs in the staging environment"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Gravitee APIM MCP Server
This repository contains a Model Context Protocol (MCP) server for Gravitee API Management (APIM). It lets MCP-compatible clients call the APIM Management API through tools.
This version targets the APIM 4.12 Management API v2 APIs surface.
Scope
The MCP server covers the APIM Management API v2 APIs surface only. It does not expose the full Management API family.
The tool surface includes API creation, import, update, deployment, plans, subscriptions, members, analytics, logs, health, scoring, integrations, and related read operations. Some high-impact operations such as delete, stop, migrate, promote, rollback, transfer ownership, debug, and subscription key actions are available when the configured APIM token has permission to perform them.
Use a dedicated APIM service user and grant only the roles required for the intended workflow.
Related MCP server: Cisco MCP Pods Server
Requirements
Access to an APIM Management API endpoint
An APIM bearer token
Node.js 18 or later, npm, and Bun when installing from source
Create an APIM Token
Create a dedicated APIM service user and generate a personal token for it.
Recommended flow:
Open the APIM Console.
Go to Organization Settings, then Users.
Create a service user for MCP usage.
Assign only the organization and environment roles required for the workflows you want to allow.
Generate a personal token for that service user.
Use that token as
APIM_BEARER_TOKENor as the value for--bearer-auth.
Install
Claude Desktop Bundle
Official GitHub releases include a Claude Desktop bundle named gravitee-apim-mcp-server.mcpb. Install that file in Claude Desktop to use the packaged server. The bundle prompts for the APIM connection settings and bearer token.
From GitHub Source
Clone and build locally:
git clone https://github.com/gravitee-io/gravitee-apim-mcp-server.git
cd gravitee-apim-mcp-server
npm install
npm run buildThe build creates the server executable at:
./bin/mcp-server.jsUse the absolute path to ./bin/mcp-server.js in MCP client configuration.
Basic Usage
Use the Management API v2 base URL as --server-url.
Self-hosted example:
node ./bin/mcp-server.js start \
--bearer-auth "$APIM_BEARER_TOKEN" \
--server-url "http://localhost:8083/management/v2"Cloud example:
node ./bin/mcp-server.js start \
--bearer-auth "$APIM_BEARER_TOKEN" \
--server-url "https://<your-org>.<region>.api.gravitee.io/management/v2"You can also use templated server arguments:
node ./bin/mcp-server.js start \
--protocol https \
--management-api-host "<management-api-host>" \
--org-id DEFAULT \
--bearer-auth "$APIM_BEARER_TOKEN"Dynamic Mode
Dynamic mode exposes a compact set of discovery and execution tools instead of registering every APIM operation as a separate MCP tool:
list_scopeslist_toolsdescribe_tool_inputexecute_tool
node ./bin/mcp-server.js start \
--mode dynamic \
--bearer-auth "$APIM_BEARER_TOKEN" \
--server-url "$APIM_SERVER_URL"In dynamic mode, an MCP client first discovers a tool, inspects its input schema, then calls it through execute_tool.
Read-Only Profile
For safer exploration, mount only tools marked with the read scope:
node ./bin/mcp-server.js start \
--mode dynamic \
--scope read \
--bearer-auth "$APIM_BEARER_TOKEN" \
--server-url "$APIM_SERVER_URL"This keeps read-oriented operations available and excludes write/high-impact operations such as member changes, migration, promotion, and debug tools.
Write Profile
MCP scopes and APIM permissions both control write tools. For operational use, configure a service user with the smallest APIM role set that can perform the target workflow.
Example:
node ./bin/mcp-server.js start \
--mode dynamic \
--scope read \
--scope write \
--bearer-auth "$APIM_BEARER_TOKEN" \
--server-url "$APIM_SERVER_URL"The dangerous scope marks high-impact tools. Only enable that scope for controlled workflows:
node ./bin/mcp-server.js start \
--mode dynamic \
--scope read \
--scope write \
--scope dangerous \
--bearer-auth "$APIM_BEARER_TOKEN" \
--server-url "$APIM_SERVER_URL"MCP Client Configuration
Claude Desktop or compatible stdio clients can use:
{
"mcpServers": {
"GraviteeApim": {
"command": "node",
"args": [
"/absolute/path/to/gravitee-apim-mcp-server/bin/mcp-server.js",
"start",
"--mode",
"dynamic",
"--scope",
"read",
"--bearer-auth",
"YOUR_BEARER_TOKEN",
"--server-url",
"https://your-management-api-url/management/v2"
]
}
}
}Contributions
Open issues or pull requests for documentation, installation problems, or reproducible runtime issues.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/gravitee-io/gravitee-apim-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server