MCP

The MCP page defines the MCP servers your Netzilo AI Gateways connect to, and the bundles that serve tools from several servers behind one endpoint. An MCP server here is a definition: how the gateway reaches the server, over HTTP, server-sent events or as a process it starts, and how it authenticates. Every gateway serves each server at https://<gateway>/mcp/<slug>.

Agents and MCP clients then talk to the gateway, not to the server. The gateway checks who the caller is, applies that user's grants and runs their guardrails on every tool call and every tool result. Which servers and tools a user may call is granted in a gateway filter, see Filters.

You manage MCP servers and bundles under Edge > MCP, on the tabs MCP Servers and MCP Bundles. Only administrators and owners see this page. Users connect their own sign-ins in the Workplace, see Agentic Access.

How it works

  1. You define an MCP server: its connection and its authentication.
  2. A gateway filter grants the server, or a bundle that contains it, to the users of its groups, with all of its tools or only the tools you name.
  3. Where the server needs a per-user credential, each user connects it once in the Workplace. Where it needs a shared credential, you sign in once in the server's dialog.
  4. Every AI Gateway pulls the servers, bundles and stored credentials from management and serves them at /mcp/<slug>.
  5. A caller connects to https://<gateway>/mcp/<slug> with their own token. The gateway admits only servers granted to that user, runs the user's guardrails on each tool call and result, and records each call for the AI Usage report.

Before you start

  • An AI Gateway. MCP servers are served only through the Netzilo AI Gateway, see AI Gateway.
  • Reachability. An http or sse server must be reachable from the gateway host. A stdio server is a command that the gateway host runs, so the command must be installed there.
  • For OAuth servers, the sign-in runs through your management server. Some providers require a client you register by hand, see Authentication.

The MCP Servers tab

The MCP page under Edge on the MCP Servers tab, listing five servers such as Adobe Journey Optimizer with an OAuth badge and a Sign In button, Calendly with OAuth, Microsoft Learn (per user) with Per-User Headers, Microsoft Docs with None and Notion with Per-User OAuth, each with its /mcp/ endpoint, connection HTTP and a Used by count

ColumnWhat it shows
NameThe server's name and description.
ActiveWhether the server is enabled. A disabled server is removed from every gateway.
EndpointThe path every gateway serves it at, /mcp/<slug>.
ConnectionHTTP, SSE or Stdio.
AuthThe authentication type. An OAuth server whose shared sign-in is missing or expired shows a Sign In or Reconnect button here.
Used byHow many filters and MCP bundles use the server.

Add an MCP server

Click Add MCP Server and choose:

  • Browse Catalog to start from a known server. The catalog lists each server with its Server, Category, Connection, Auth and Publisher. Picking one fills in the dialog; you review it and save. The catalog is reference data from Netzilo's library, not a list of what you have configured.
  • Custom to define a server yourself.

The Browse Catalog dialog with a search field and a table of catalog servers such as Adobe Journey Optimizer, Airtable, Asana and Atlassian, with columns Server, Category, Connection, Auth and Publisher, and a pager reading 1 of 13

The dialog has three tabs: Connection, Authentication and Name & Description.

Connection

The Add MCP Server dialog on the Connection tab, with Connection set to HTTP, the URL https://mcp.example.com/mcp, an Add Header button under Extra Headers and Skip TLS Verification off

FieldWhat to enter
ConnectionHow the gateway reaches the server: HTTP, SSE (server-sent events), or Stdio, a process the gateway starts.
URLFor HTTP and SSE: the server's MCP endpoint, http:// or https://. Required.
CommandFor Stdio: the command and its arguments, for example npx and -y @modelcontextprotocol/server-filesystem /data. The gateway host runs it. Required.
Environment VariablesFor Stdio: variables set for the process. Optional. Values are write-only.
Extra HeadersHeaders sent with every request to the server. Optional. Values are write-only.
Skip TLS VerificationAccept the server's certificate without verifying it, for a local or internal endpoint with its own CA.

Authentication

The Authentication tab of the Add MCP Server dialog with Per-User OAuth selected, the help text Each user signs in to the server from the Workplace; tokens are kept per user, and empty OAuth fields Client ID, Client Secret, Authorize URL, Token URL, Registration URL, Scopes and Resource

Choose how the gateway authenticates to the server. A Stdio server allows only None and Headers.

AuthenticationWho holds the credentialWhat users do
NoneNobody. The server takes no credential.Nothing.
HeadersYou. One set of Credential Headers, sent with every request.Nothing.
Per-User HeadersEach user, for the names you list in Header Names Users Supply, comma separated, for example X-API-Key, X-Tenant-ID. You can add Static Headers that are the same for everyone.Enter their values once in the Workplace.
OAuthYou. You sign in once, and every user shares that token.Nothing. Until you sign in, their Workplace says that an admin has not connected the server yet.
Per-User OAuthEach user. Tokens are kept per user.Sign in once in the Workplace, in a popup at the provider.

For both OAuth types the dialog shows Client ID, Client Secret, Authorize URL, Token URL, Registration URL, Scopes (space separated) and Resource. Leave them empty to let management discover the server's endpoints and register a client on the first sign-in. Management then fills in what it discovered.

Some providers refuse automatic client registration or Netzilo's callback address. The sign-in then fails with Sign-in failed and a message such as client registration refused. Register an OAuth client at the provider by hand with the redirect URI https://<management-host>/api/mcp/oauth/callback, where <management-host> is the address your dashboard uses for the management API. Enter its Client ID and, if it has one, its Client Secret on the server.

OAuth tokens are refreshed by management shortly before they expire. When a refresh fails, the credential needs a new sign-in: the user's Workplace shows Needs Attention with Reconnect, and for a shared sign-in the Sign-In Expired state appears in the server's dialog.

Name & Description

FieldWhat to enter
NameA name unique in the account, for example GitHub.
EndpointThe slug the gateways serve the server at, /mcp/<slug>. It is filled in from the name; lowercase letters, digits and hyphens. It is unique across servers and bundles and cannot be changed once the server is created.
DescriptionOptional.
Enable MCP ServerA disabled server is removed from every gateway. Filters that grant it grant nothing from it.

Click Add MCP Server. Adding, updating and deleting a server are recorded in Activity > Events.

Sign in for a shared OAuth server

A server with OAuth authentication needs one sign-in by an administrator. Save the server first, then open it again: the Authentication tab shows the Shared Sign-In panel. You can also click Sign In in the server's Auth column.

The Authentication tab of the Edit MCP Server dialog for a server of type OAuth, with the Shared Sign-In panel reading Signed In and the sign-in date, and the buttons Reconnect and Disconnect

  1. Click Sign In. The provider's sign-in opens in a popup and the panel says Complete the sign-in in the window that opened.
  2. Sign in at the provider with the account all users should share.
  3. The panel turns to Signed In and shows when. Reconnect signs in again; Disconnect removes the shared credential.

The popup must finish within 10 minutes. If the browser blocks it, allow pop-ups for the dashboard and try again.

A shared sign-in means one identity at the provider for everyone. The provider's own audit log shows that account, not the individual user. Use Per-User OAuth when you need each user's own identity at the provider.

MCP bundles

A bundle serves chosen tools from several MCP servers behind one endpoint, so a client connects to one address instead of several. Open the MCP Bundles tab.

The MCP Bundles tab under Edge > MCP, listing one bundle named Docs bundle with the endpoint /mcp/docs-bundle, its member servers Microsoft Docs with all tools and Microsoft Learn (per user) with one tool, and Used by 1 use

Click Add MCP Bundle.

The Edit MCP Bundle dialog with the name Docs bundle, the locked endpoint /mcp/docs-bundle, a description, two servers: Microsoft Docs with All Tools on and Microsoft Learn (per user) with All Tools off and the tool microsoft_docs_search typed, a Browse MCP Servers button and Enable MCP Bundle on

FieldWhat to enter
NameA name for the bundle, for example Support toolkit.
EndpointThe slug the gateways serve the bundle at. It shares the namespace of server slugs and cannot be changed once created.
DescriptionOptional.
ServersClick Browse MCP Servers and pick at least one server. Each server contributes All Tools, or, with the switch off, only the tool names you type, comma separated.
Enable MCP BundleA disabled bundle is not served by any gateway.

Members keep their own authentication. If a member needs a per-user sign-in, users still have to connect that server; until they do, the bundle's Workplace card shows Needs Attention and names the servers to finish.

Grant servers and bundles to users

Go to Edge > Filters, open a gateway filter, and use its MCP tab: Browse MCP Servers grants servers, each with All Tools or the tool names you type; Browse MCP Bundles grants bundles. See Filters.

Tool names are not checked against the server: management does not know a server's tools, only the gateway does at runtime. A misspelled tool name grants nothing, and nothing warns you.

What users see

  • In the Workplace, under Agentic Access, each granted server and bundle has a card with its endpoint and its state. Per-user servers show Connect, then Disconnect once connected; a sign-in that could not be renewed shows Reconnect. See Agentic Access.
  • An agent that calls a tool before the user has connected the server gets this text as the tool result: Connect <server> in your Workplace before using its tools: ..., with a link to the Workplace. The user connects and retries.
  • A tool call or result blocked by a guardrail fails with Tool execution failed: Blocked by rule: <name>. A redacting guardrail rewrites the arguments or the result instead.
  • Tools are listed to clients with the server's slug in front, for example microsoft_docs-microsoft_docs_search; grants and events use the bare tool name.
  • Desktop apps and connectors that sign in themselves at the gateway, such as Claude Desktop or a claude.ai connector, are covered in Agentic Access.

Change or delete a server

  • Changing the authentication type deletes every stored credential for that server. Every user has to connect again.
  • A server cannot be deleted while a filter or a bundle uses it; the delete button is disabled. Remove it from those filters and bundles first. Deleting a server deletes every stored sign-in and header value for it.
  • A bundle cannot be deleted while a filter grants it.

Troubleshooting

A user's card shows Needs Attention. A per-user sign-in or header value is missing, the shared OAuth sign-in has not been done, a token refresh failed, or a bundle member is not set up. The card says which. The user clicks Connect or Reconnect; for a shared sign-in an administrator signs in from the server's dialog.

Sign-in failed with client registration refused. The provider refuses Netzilo's callback or automatic registration. Register a client at the provider with the callback URI shown under Authentication and enter its Client ID.

Sign-in failed because the server's authorization endpoints could not be discovered. The server publishes no OAuth metadata. Fill in Authorize URL, Token URL and Client ID by hand.

The sign-in expired or was not started here. The popup took more than 10 minutes, or, on a self-hosted server with several management replicas, the callback reached another replica. Retry; on a self-hosted server, run one replica or use session affinity.

the server refused these values (HTTP 401) when a user saves header values. The values are wrong. The values are tested against the server before they are stored.

The Workplace Tools tab says The gateway did not list tools for this server. The server is not reachable from the gateway host, rejected the credential, or the Stdio command failed to start. Check the gateway's log, see AI Gateway.

A Stdio server never starts. The command must exist on the gateway host, and environment variables are set in the gateway's process. Install the command there.

Everyone was disconnected after an edit. The authentication type was changed, which deletes the stored credentials. Users connect again.

A user can call tools they should not. Another filter grants the server too, or a bundle includes those tools. Grants from all of a user's filters add up. Narrow the grant in the filter or the bundle.

  • Filters - grant MCP servers and bundles to users
  • Guardrails - the rules that run on every tool call and result
  • Agentic Access - how users connect servers and clients
  • AI Gateway - install and run the gateway that serves MCP
  • AI Usage - tool calls per user and server