The MCP Servers module exposes MCP Servers: access points compatible with the Model Context Protocol that AI agents can invoke as tools, always under the governance, authentication, and observability of AI Gateway.
Each MCP Server is registered from one of two origins:
NOTEPrerequisites depend on the chosen origin. For From an API, you need a REST API published in the Sensedia Platform catalog. That catalog is fed by the connections configured in Connections: create a connection to your API Gateway there so its APIs become available in the selection. This origin also requires the Sensedia Platform credentials registered in General β an M2M credential from Access Control. For From an existing MCP Server, you need the remote server address and, when it requires authentication, a valid credential. In both cases, to restrict access to the MCP Server by scopes, register the scopes in the Scopes catalog first.
Learn how to:
The MCP Servers page lists registered servers with pagination. You can filter by:
Use Search to apply the filter and Clear to reset it.
Columns shown in the table:
TYPE (methods:..., tags:..., regex:...) format per block; for the From an existing MCP Server origin, the list of exposed tools, or the All tools label when no selection was made. Shows No MCP configs. if empty.Choose the Origin: From an API or From an existing MCP Server. This choice defines which form sections are displayed.
Fill in the common fields: Exposed endpoint, MCP transport, and, to restrict access, Scopes.
Fill in the section specific to the chosen origin: From an API (authentication, API selection, and MCP Configs) or From an existing MCP Server (remote server address and tool selection).
In the Actions column of the row you want, click the View icon. This opens the read-only MCP Server details screen, with the common fields β Source, MCP transport, Exposed endpoint, Scopes, and Created At β followed by the section specific to the server's origin:
<apiCatalogId> / <apiRevisionId> instead of the name β the rest of the screen still loads normally.No field is editable on this screen. An empty field shows β, with three exceptions that keep the same wording already used in the listing: Scopes shows No scopes assigned. when the list is empty; MCP Configs shows No MCP configs. when the list is empty; Tools shows All tools when no tool was selected β that is not an empty field, it is the fact that the MCP Server exposes every tool from the remote server.
THE CLIENT SECRET NEVER APPEARSThe MCP server client secret field is not shown in MCP Server details β neither the registered value nor a masked version. It is write-only data: once saved, the API never returns it for reading.
Editing lives inside the details screen. Open the MCP Server through the View icon (see View MCP Server) and, in MCP Server details, click the Edit button at the top of the section. The Update MCP Server form opens prefilled and with the section matching the server's origin. Change the required fields and click Save.
In the Actions column of the row you want, click the Delete icon. Confirm the operation in the "Do you want to delete MCP server [mcpServerId]?" dialog.
IMPORTANTDeletion is permanent and cannot be undone. Agents already using this MCP Server start failing on subsequent calls.
Creating, editing, or deleting an MCP Server generates a queryable record in the Access Control Audit Log, with the date, the author, the outcome of the operation, and the content of the object. Listing, opening the details, or using Fetch tools does not generate a record: only write operations are audited.
The record can be queried by filtering on MCP Server, a value exclusive to AI Gateway, so you do not need to combine it with the Product filter. In the Name column of the Audit Logs screen you see the MCP Server identifier, the same one shown in the delete dialog, except on a failed creation: the identifier only exists once the creation succeeds, so the field stays empty. On an edit or a deletion, the identifier is the one given in the request, converted to lowercase.
A request refused right at the entry point (for example, a missing or invalid required field, or a value above the allowed limit) generates no record. From the moment the operation is processed, both success and failure generate a record: the server limit being reached, the Sensedia Platform credentials missing in General, a scope that does not exist or is malformed, an MCP Configs block with no criterion (no Methods, no Tags, and no Endpoint regex), and an MCP Server that does not exist all show up in the trail as a failure, with the refusal reason and the attempted configuration. On deletion, when the server cannot be read before removal, the record carries only the identifier.
The record never carries the MCP server client secret, on success or on failure: it shows only whether a secret was provided in the operation.
In the record of an MCP Server with the From an existing MCP Server origin, an empty Exposed tools means the server exposes all the tools of the remote server. An empty Scopes, in either origin, means the MCP Server accepts any authenticated token. In a failure record, the lists show what was requested; in a delete failure, it is the state of the server read before removal. See Select the exposed tools and the common fields.
Querying the Audit Log uses the Audit List and Audit View permissions, which already govern that screen.
Field | Type | Required | Rules |
|---|---|---|---|
| Origin | Origin selection | Yes | From an API β Generate and host an MCP translator from a catalog API. From an existing MCP Server β Register an existing MCP server and proxy it through AI Gateway. |
| Exposed endpoint | Text | Yes | Public path the gateway exposes to the MCP client. Maximum of 1024 characters. |
| MCP transport | Select (enum) | Yes | Values: SSE (Server-Sent Events) and Streamable HTTP. |
| Scopes | Multi-select | No | List of scope IDs from the Scopes catalog required in the client's access token. Select up to 100 scopes. An empty list means any authenticated token can invoke the MCP Server. |
In this origin, the gateway generates the MCP Server from an API revision in the catalog. In addition to the common fields, the form displays the authentication, API Selection, and MCP Configs sections.
THE SENSEDIA PLATFORM CREDENTIALS ARE REQUIREDThis origin only works with the Sensedia Platform credentials registered in General: that pair is what the gateway uses to read the multigateway catalog and fetch the revision's OpenAPI contract to generate the tools. Without the registered pair, or without the permission it requires, API selection does not work β the credential type, where to create it, and the permission it needs are all described in General. The From an existing MCP Server origin does not depend on these credentials.
The MCP Server generated from an API supports revision 2026-07-28 of the Model Context Protocol, in addition to earlier revisions. Revision negotiation is handled automatically by the gateway on every connection β no change is required in the MCP client or in the agent to benefit from it.
The Authentication mode field defines how the MCP Server authenticates when calling the business API:
Mode | Behavior |
|---|---|
| Client credentials | The MCP Server obtains its own access token (client_credentials) and uses it to call the API. |
| Passthrough | The MCP Server forwards to the API the token of the end user logged into the agent, enabling scenarios where the API needs to identify the user to apply its own access rules. |
Each mode displays its own set of fields:
Field | Type | Required | Rules |
|---|---|---|---|
| MCP server client ID | Text | Yes β Client credentials mode | Client ID used to obtain the access token the MCP Server uses to access the API. Maximum of 253 characters. |
| MCP server client secret | Text (sensitive, password) | Yes on creation; optional on edit β Client credentials mode | Client Secret matching the MCP server client ID. On edit, leaving it blank keeps the currently registered value. |
| OAuth token URL | Text | Yes β Client credentials mode | URL of the OAuth token endpoint used to obtain the access token. Maximum of 1024 characters. |
| Input header | Text | Yes β Passthrough mode | Header sent by the agent carrying the end user's credential. Maximum of 256 characters. |
| Output header | Text | Yes β Passthrough mode | Header in which the credential is forwarded to the API. Maximum of 256 characters. |
THE SETS ARE EXCLUSIVEThe fields of one mode are not accepted in the other. In Passthrough, filling in any of the three OAuth fields results in a validation error (Not allowed for passthrough authentication.). In Client credentials, the same applies to Input header and Output header (Not allowed for client credentials authentication.).
When editing an MCP Server already registered in Client credentials mode, the form never shows the registered MCP server client secret β the field opens blank, with the text Leave blank to keep the current secret. Leaving it blank on save preserves the stored secret; providing a new value replaces it. Switching the mode from Client credentials to Passthrough removes the stored secret β switching back to Client credentials later requires providing a new value.
Field | Type | Required | Rules |
|---|---|---|---|
| API | Searchable select | Yes | Lists the APIs available in the Sensedia Platform multigateway catalog (not typed freely). The set shown depends on the connections previously configured in Connections. Only APIs from gateways reachable through those connections appear. The listing also depends on the Sensedia Platform credentials registered in General and on the List MCP Servers permission granted to them. |
| Revision | Select | Yes | Lists the revisions of the selected API, also fed by the multigateway catalog. Disabled until an API is chosen. |
| API base URL | Text | Yes | Base URL of the target API, where the gateway forwards the MCP agents' calls. Maximum of 1024 characters. |
REST APIS ONLYThe API selector lists only REST APIs. MCP Server generation starts from the API's OpenAPI contract to build the tools, so GraphQL, gRPC, HTTP, and Event APIs do not appear in this list. To expose one of those cases, use the From an existing MCP Server origin.
Section exclusive to the From an API origin. This is a required list with at least one block and at most 10. Each Config block describes which API endpoints are included in the MCP Server and how. This lets you expose only the desired API endpoints to MCP clients.
Use Add config to add blocks and the delete icon to remove them (disabled when there is only one).
REQUIRED COMPLETIONWithin each Config, at least one of Methods, Tags, and Endpoint regex must be filled in.
Field | Type | Required | Rules |
|---|---|---|---|
| Methods | Multi-select (HTTP methods) | Conditional: individually optional; required if Tags and Endpoint regex are empty | Selectable values: GET, POST, PUT, PATCH, DELETE. Defines the verbs the block selects. With several methods, the block selects the endpoints that use any of them. |
| Tags | List of tags | Conditional: individually optional; required if Methods and Endpoint regex are empty | Defines the OpenAPI tags the block selects. Each tag must have at least 1 character and at most 128. Up to 10 tags per config. With several tags, the block selects the endpoints that have any of them. |
| Endpoint regex | Text | Conditional: individually optional; required if Methods and Tags are empty | Regular expression validated against the API endpoint paths. Minimum 1 character (when provided) and maximum of 1024. |
| Type | Select (enum) | No | Values: Tool, Resource, Resource template, Exclude. When empty, the gateway assumes TOOL. |
Type | Meaning |
|---|---|
| Tool | The endpoint is exposed to the agent as a tool it can invoke. |
| Resource | The endpoint is exposed as a static resource (read-only). |
| Resource template | The endpoint is exposed as a parameterizable resource (URI template). |
| Exclude | The endpoint is not exposed to the agent. Useful for removing specific items when the filter includes a broad set (for example, include everything from a tag, except one endpoint). |
The gateway combines all the Config blocks of the MCP Server to decide which API endpoints are exposed:
public selects only the GET endpoints of that tag.public and partner selects the endpoints that have the public tag or the partner tag.If the MCP Server is updated and its list of tools changes, check the list of tools that your MCP client shows once connected to the server, through the Exposed endpoint (see the common fields).
In this origin, the gateway forwards calls to an MCP Server that already exists. In addition to the common fields, the form displays the External MCP Server section and the Tools section.
Field | Type | Required | Rules |
|---|---|---|---|
| Host | Text | Yes | Bare hostname of the remote server: without http:// or https://, without a path, and without a port. The path goes in Upstream path and the port in Port. Maximum of 253 characters. |
| Port | Integer | No | Between 1 and 65535. When empty, it assumes 443. |
| Upstream path | Text | No | Path of the MCP on the remote server. When empty, it assumes the default for the selected transport. Maximum of 1024 characters. |
| Upstream authentication | Select (enum) | No | None: the remote server requires no credential. Passthrough: the end user's credential is forwarded to the remote server. |
| Header | Text | Yes β Passthrough mode | Inbound header carrying the user credential to be forwarded. Maximum of 256 characters, using only the characters accepted in an HTTP header name: unaccented letters (A-Z, a-z), digits, and the symbols !#$%&'*+-.^_`|~ (no spaces). |
The Tools section defines which tools from the remote server are visible to your agents. To fill it in, the gateway connects to the server and lists what it offers.
Fill in Host, Port, Upstream path, and the Discovery credential. While these fields are incomplete, the Fetch tools button stays disabled.
Field | Type | Required | Rules |
|---|---|---|---|
| Discovery credential | Text (sensitive) | No | Token used only to list the remote server's tools. It is not saved with the MCP Server. It serves only for the lookup. |
| Exposed tools | Searchable multi-select | No | List filled in by Fetch tools. Leaving the selection empty exposes all tools from the server. Select up to 100 tools. Fetch tools lists a tool with " or \ in its name, or longer than 128 characters, but the MCP Server cannot be saved with it selected: the form shows a validation error. |
AN EMPTY SELECTION EXPOSES EVERYTHINGIf you do not select any tool, the MCP Server exposes all tools from the remote server, and the listing shows the All tools label. To restrict what agents can see, explicitly select the desired tools.
IF THE CONNECTION FAILSWhen the gateway cannot connect, the message Could not connect to the MCP server to list its tools. Check the host, port, path, transport, and credential. is displayed. Review those five fields, especially the Host, which must be the bare hostname, without a path, port, or protocol. If the server responds but offers no tools, the section shows The server returned no tools.
The Skills catalog has a consumption API of its own, designed for the agent: it searches for what exists, installs what it needs and, at the start of each session, finds out what changed. Exposing that API as an MCP Server is what lets the agent talk to the catalog through the protocol's tools, with no hand-written integration.
The path is the From an API origin, with one particularity: the API selector only lists APIs from the multigateway catalog, so the consumption API has to be registered there first.
A version in Published or Deprecated. A catalog with no available version answers normally, but returns nothing to the agent.
Under Connections, create a custom connection and import the OpenAPI contract below into it. That is what puts the API in the catalog the MCP Server's selector reads β you do not need to publish it in your API Management. The connection walkthrough is in the catalog documentation.
Under MCP Servers, click Create MCP Server and choose the From an API origin. In API Selection, pick the API registered in the previous step and its revision, and set API base URL to your AI Gateway's host β that field is what decides where the calls go.
In Authentication mode, choose Passthrough. The consumption route sits behind your gateway's JWT policy: a call with no credential is refused at the edge, before it reaches the catalog. Passthrough is what carries the token of the user logged into the agent that far.
In Input header, enter the name of the header the agent sends (see the warning below). In Output header, enter Authorization β that is where the consumption route expects the token, and it is the bearerAuth the contract declares.
DO NOT USE AUTHORIZATION AS THE INPUT HEADERThe input header name is free β
Api-Authorizationis an example that works. The one value that is not supported for now isAuthorization: the gateway validates and strips that header before the MCP Server ever sees it, and the integration fails with PassthroughHeaderMissing. Pick any other name and configure your MCP client to send the token in it.
Import this contract when you create the custom connection in step 2. The servers[0].url field ships with an example host and does not need to be changed: what decides where the calls go is the MCP Server's API base URL field, in step 3.
Access to each action in the MCP Servers journey depends on its own permission. Without the corresponding permission, the screen element does not appear β the interface never shows an unavailable action as disabled.
Permissions are granted in Access Control, on the Roles screen, under the AI Gateway product. The table below lists each one exactly as Access Control displays it.
Permission | Group in AC | Description in AC | Identifier |
|---|---|---|---|
| List MCP Servers | mcp-servers | Allows listing MCP Servers | ai-gateway.mcp-servers.list |
| View MCP Server | mcp-servers | Allows viewing an MCP Server | ai-gateway.mcp-servers.view |
| Create and Update MCP Servers | mcp-servers | Allows creating and editing MCP Servers and discovering tools from a remote server | ai-gateway.mcp-servers.create-update |
| Delete MCP Servers | mcp-servers | Allows deleting MCP Servers | ai-gateway.mcp-servers.delete |
| List Scopes | scopes | Allows listing Scopes | ai-gateway.scopes.list |
The last one belongs to another journey and is required by one specific MCP Servers action, detailed in the note about Scopes right after the next table.
Action | What it unlocks | Required permissions |
|---|---|---|
| List | MCP Servers item in the sidebar menu; listing with the Source filter, search (Search/Clear), and total record count | List MCP Servers |
| View | View icon on the row and the MCP Server details screen | List MCP Servers + View MCP Server |
| Create | Create MCP Server button and the form, with Fetch tools active on the From an existing MCP Server origin | List MCP Servers + Create and Update MCP Servers |
| Edit | Edit button inside MCP Server details | List MCP Servers + View MCP Server + Create and Update MCP Servers |
| Delete | Delete icon on the row | List MCP Servers + Delete MCP Servers |
Create and Edit: List Scopes is what feeds the Scopes field, on both creation and edit β see common fields. Without that permission, the Scopes field disappears from the form; the remaining fields stay available as usual, and the rest of the create or edit flow is unaffected. On an edit, the scopes already registered on the MCP Server are preserved unchanged even with the field hidden β hiding the field never clears the saved value.
List MCP Servers for two different principals: the Origin: From an API section already notes that the API field's listing depends on the Sensedia Platform credentials and on the List MCP Servers permission granted to them. That describes the call the gateway makes server-side, with the M2M credential, to query the multigateway catalog. It is a grant independent from the List MCP Servers in the table above, which is granted to the operator (the person authenticated in the browser) and is the base permission of the journey itself: without it, no MCP Servers action appears, Create and Edit included. Both use the same permission identifier, but they are granted to different principals β an M2M credential and a user β and neither substitutes for the absence of the other: API Selection only works end to end when both are correctly configured.
A control without its permission is not rendered; a route reached directly by URL without its permission lands on the AI Gateway's own access denied screen, not on Access Control's.
EDITING REQUIRES VIEWINGThe Edit button only exists inside the MCP Server details screen. Because of that, a user holding Create and Update MCP Servers but not View MCP Server has no path to edit an existing MCP Server. This is expected platform behavior, not a bug.
We use cookies to enhance your experience on our site. By continuing to browse, you agree to our use of cookies.Learn more