Skip to content
This repository was archived by the owner on Oct 19, 2026. It is now read-only.

Commit 1966f14

Browse files
committed
Sync open source content 🐝 (from cb40c1a91a5394bae37299dc5db727e850441193)
1 parent af810a0 commit 1966f14

6 files changed

Lines changed: 678 additions & 0 deletions
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
---
2+
title: "Permission a Claude connector with a gateway endpoint"
3+
description: "Put several MCP servers behind one gateway endpoint, add it to Claude as a single organization connector, and let Speakeasy roles decide which servers each person sees."
4+
guideCategory: "Governance"
5+
---
6+
7+
import { Callout } from "@/mdx/components";
8+
9+
Adding every MCP server to Claude as its own connector means one connector, one sign-in, and one access decision per server, all managed in Claude. A [gateway endpoint](/docs/ai-control-plane/mcp-gateway/gateway-endpoints) collapses that into one connector. Each person connects to it once, and the gateway returns only the servers their Speakeasy roles allow them to reach.
10+
11+
This guide covers creating the gateway, adding servers to it, registering it as a connector in the Claude organization, and confirming that access follows each person's permissions.
12+
13+
## Prerequisites
14+
15+
- Gateway endpoints enabled for the Speakeasy organization. Gateways are enabled per organization. To turn them on, contact Speakeasy.
16+
- The `mcp:write` scope in the Speakeasy project, held by the default [Admin role](/docs/ai-control-plane/org-admin/roles-and-permissions).
17+
- At least one MCP server in the project, for example a [catalog](/docs/ai-control-plane/mcp-gateway/catalog) server or a [remote server](/docs/ai-control-plane/mcp-gateway/remote-servers).
18+
- Owner or admin access to a Claude organization on a plan that supports custom connectors.
19+
20+
## Create the gateway endpoint
21+
22+
Open [**MCP Gateway > MCP**](https://ai.speakeasy.com/@self/projects/default/mcp) in the dashboard, select **Add new**, then **New gateway**. Give the gateway a name that tells people what it is for, such as `Team` or the name of a department.
23+
24+
The platform creates a hosted address and a dedicated sign-in for the gateway, so callers must authenticate before they can connect.
25+
26+
## Add the servers
27+
28+
On the gateway's **Overview** tab, select **Add servers**. Pick the servers the connector should offer. **Select all** adds every server in the project, which suits a single company-wide connector. A narrower selection suits a connector for one team.
29+
30+
A server must be exposed over MCP and have a slug before it can join. Servers that cannot be served, such as a disabled server, appear as **Excluded** in the member list with the reason.
31+
32+
<Callout title="Membership is not access" type="info">
33+
Adding a server to the gateway makes it available through the gateway, not to
34+
everyone. A caller needs `mcp:connect` on the gateway to connect and on each
35+
member to see that member. Configure who can reach each server on its **Team
36+
Access** tab, as described in [Team
37+
access](/docs/ai-control-plane/mcp-gateway/access/team-access).
38+
</Callout>
39+
40+
## Copy the connection URL
41+
42+
On the gateway's page, copy its connection URL. This is the address Claude connects to. If the organization uses a [custom domain](/docs/ai-control-plane/org-admin/custom-domain), the custom address under **Gateway URL** in **Settings** works too.
43+
44+
## Add the gateway as a Claude connector
45+
46+
In the Claude organization's admin settings, open **Connectors** and add a custom connector. Paste the connection URL from the previous step and name the connector something people will recognize, such as "Speakeasy". Anthropic documents the custom connector flow in [Get started with custom connectors using remote MCP](https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp).
47+
48+
The gateway sign-in handles client registration, so no client ID or secret is needed in Claude.
49+
50+
<Callout title="Roll out gradually" type="info">
51+
If the Claude plan supports limiting a connector to specific groups or roles,
52+
restrict the connector to a pilot group first. Widen it once access behaves as
53+
expected.
54+
</Callout>
55+
56+
## Test the connection
57+
58+
In Claude, connect to the new connector and complete the sign-in. If any member server uses [User Identity](/docs/ai-control-plane/mcp-gateway/access/upstream-credentials), the consent screen collects each upstream grant in the same flow. A member that has not been connected yet returns an error until the person connects it, while the rest of the gateway keeps working.
59+
60+
Ask Claude to list the servers available through the connector. Claude calls the gateway's `list_servers` tool, which returns only the members the signed-in person is allowed to reach. Sign in as two people with different roles to confirm that each sees a different list.
61+
62+
From then on, each person connects to the connector once and reaches every server they are permitted to use. Changing access is done in Speakeasy, not in Claude:
63+
64+
- Add a server to the gateway and it appears for everyone with access to it, without a new connector.
65+
- Change a server's **Team Access** rules and the change applies to the next `list_servers` call.
66+
- Remove a server from the gateway and its tools disappear from connected sessions. The server itself is not deleted.
67+
68+
## Next steps
69+
70+
- Read [Gateway endpoints](/docs/ai-control-plane/mcp-gateway/gateway-endpoints) for member status, custom instructions, and observability.
71+
- Follow [Govern agent actions with enterprise identity](/docs/ai-control-plane/guides/govern-agent-actions-with-enterprise-identity) to drive server access from identity provider groups.
72+
- Follow [Google Workspace setup](/docs/ai-control-plane/guides/google-workspace-setup) to add Gmail, Google Calendar, and Google Drive to the gateway.
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
---
2+
title: "Roll out Claude Tag with a gateway endpoint"
3+
description: "Give Claude Tag in Slack access to MCP servers through one gateway connector, so every tool call runs with the invoking person's own credentials and Speakeasy permissions."
4+
guideCategory: "Governance"
5+
---
6+
7+
import { Callout } from "@/mdx/components";
8+
9+
[Claude Tag](https://claude.com/docs/claude-tag/admins/setup-overview) brings Claude into Slack. Anyone in a connected workspace can mention Claude in a thread and ask it to act on their behalf. Once Claude Tag needs MCP tools, three problems tend to surface:
10+
11+
- **Connector sprawl**: each MCP server added in Claude is another connector to maintain in the Claude admin settings, and every user sees every connector whether or not they can use it.
12+
- **Shared credentials**: a connector configured with static credentials gives everyone in Slack the same access to the downstream service.
13+
- **Read scope expansion**: a privileged person runs a tool in a channel whose members lack that access, and the result lands in front of all of them.
14+
15+
Routing Claude Tag through a single [gateway endpoint](/docs/ai-control-plane/mcp-gateway/gateway-endpoints) addresses the first two. Claude Tag's review settings address the third. This guide covers:
16+
17+
- [Limiting the rollout to a pilot group](#limit-the-rollout-to-a-pilot-group)
18+
- [Connecting the Slack workspace](#connect-the-slack-workspace)
19+
- [Adding the gateway as a connector](#add-the-gateway-as-a-connector)
20+
- [Pointing users to the gateway connector](#point-users-to-the-gateway-connector)
21+
- [How user-scoped permissions work](#how-user-scoped-permissions-work)
22+
- [Controlling read scope expansion](#control-read-scope-expansion)
23+
24+
## Prerequisites
25+
26+
- A gateway endpoint with the MCP servers Claude Tag should reach. To create one, follow [Permission a Claude connector with a gateway endpoint](/docs/ai-control-plane/guides/claude-connector-gateway-endpoint).
27+
- Owner or admin access to a Claude organization with Claude Tag available.
28+
- Permission to install apps in the Slack workspace.
29+
30+
## Limit the rollout to a pilot group
31+
32+
Before connecting Slack, consider restricting Claude Tag to a small group of people while the setup is tested.
33+
34+
In the Claude organization's admin settings, open **Claude Tag > Claude's access > Channels > Slack > Advanced** and turn on **Restrict to roles with Claude Tag access**. Then create a role for the pilot group and grant it Claude Tag access. Widen access once the connector and permissions behave as expected.
35+
36+
## Connect the Slack workspace
37+
38+
Follow Anthropic's [Claude Tag setup guide](https://claude.com/docs/claude-tag/admins/setup-overview) to pair the Slack workspace with the Claude organization.
39+
40+
After pairing, check the **Connectors** tab in the Claude Tag settings. It lists every connector Claude Tag can offer to people in Slack. Each person still authenticates as themselves, but review the list so it contains only the connectors intended for Slack.
41+
42+
## Add the gateway as a connector
43+
44+
Add the gateway endpoint to Claude as one custom connector rather than adding each MCP server separately. One gateway connector has two advantages over many individual connectors:
45+
46+
- **Less admin maintenance**: servers added to the gateway in Speakeasy appear for permitted people automatically, so the Claude admin settings don't change each time a server is added.
47+
- **Simpler onboarding**: Claude can't limit a connector to specific users or roles, so with individual connectors everyone sees the full list and only learns they lack access when a connection fails. With a gateway, each person connects once and sees only the servers their [Speakeasy roles](/docs/ai-control-plane/mcp-gateway/access/team-access) allow.
48+
49+
In the **Connectors** tab, add a **Web** connector. Paste the gateway's connection URL and complete the steps on screen. The gateway's sign-in handles client registration, so no client ID or secret is needed.
50+
51+
## Point users to the gateway connector
52+
53+
Claude Tag does not reliably guide people to custom connectors. Without help, a new user can get stuck the first time they ask for something that needs an MCP tool. Workspace instructions fix this by telling Claude Tag to send a direct link to the gateway connector.
54+
55+
To get the connector link, open the personal account settings in Claude (not the organization settings) and go to **Connectors**. Select the gateway connector and copy the URL from the browser. Trim the URL to this form:
56+
57+
```text
58+
https://claude.ai/customize/connectors/yours/id/CONNECTOR_ID
59+
```
60+
61+
Next, in the organization's admin settings, open **Claude Tag > Claude's access > Channels** and select the Slack workspace. Add instructions like the following to the **Workspace instructions** field, replacing the link with the one copied above:
62+
63+
```text
64+
If the user's request requires a connector or tool you don't have and the
65+
Gateway connector isn't available or is disconnected, ask them to connect to
66+
the gateway, then search the tools available there. Here is the link:
67+
https://claude.ai/customize/connectors/yours/id/CONNECTOR_ID
68+
```
69+
70+
<Callout title="Built-in connector suggestions" type="info">
71+
Claude Tag can still show a "Set up" button for a Claude-native connector,
72+
such as Linear, alongside the gateway link, even when the organization has not
73+
added that connector. People can't connect through that button. Mention this
74+
in rollout notes so that people use the gateway link instead.
75+
</Callout>
76+
77+
## How user-scoped permissions work
78+
79+
With the gateway connector in place, every MCP call from Claude Tag uses the invoking person's own authentication. This relies on Claude Tag's support for [personal connectors in channels](https://claude.com/resources/articles/claude-tag-now-supports-personal-connectors-in-channels).
80+
81+
Each call is limited by two things:
82+
83+
- The person's access in the downstream service, through [User Identity](/docs/ai-control-plane/mcp-gateway/access/upstream-credentials) credentials.
84+
- The person's Speakeasy roles, which decide which gateway servers and tools they can reach.
85+
86+
Actions in the downstream service are attributed to the person who invoked Claude Tag, not to a shared account.
87+
88+
<Callout title="Avoid static credentials in Claude Tag" type="warning">
89+
The **Claude's access** section of the Claude Tag settings can give Claude Tag
90+
its own static credentials for a connector. Everyone who can reach Claude Tag
91+
in Slack then shares that level of access to the service. If a service needs a
92+
static credential, configure it on the server in Speakeasy instead, as
93+
described in [Share a remote MCP server with a static
94+
credential](/docs/ai-control-plane/guides/share-a-remote-mcp-server-with-a-static-credential),
95+
so that Speakeasy roles still control who can use its tools.
96+
</Callout>
97+
98+
## Control read scope expansion
99+
100+
Per-user credentials stop people from calling tools they lack access to, but they don't control who sees the result. If a person with broad read access, such as a finance lead who can list salaries, runs a tool in a channel, the reply could expose that data to channel members who lack the same access.
101+
102+
By default, Claude Tag asks the invoking person to review a reply before posting it to the channel whenever a tool was used. The person must opt in to sharing the result, and Claude Tag doesn't post it on its own.
103+
104+
To tighten this, open **Claude Tag > Personal connectors** in the admin settings and select "Edit". From there, it's possible to:
105+
106+
- Require review for every message.
107+
- Define sensitive topics that always require review.
108+
109+
## Next steps
110+
111+
- Read [How do you give Claude Tag an agent identity?](/blog/agent-identity-for-claude-tag) for how Speakeasy records the agent and the invoking person on every call.
112+
- Follow [Govern agent actions with enterprise identity](/docs/ai-control-plane/guides/govern-agent-actions-with-enterprise-identity) to drive server access from identity provider groups.
113+
- Follow [Google Workspace setup](/docs/ai-control-plane/guides/google-workspace-setup) to add Gmail, Google Calendar, and Google Drive to the gateway.

0 commit comments

Comments
 (0)