Connect to the Grepr MCP server
Grepr provides a remote Model Context Protocol server, or MCP server, that lets AI assistants work with your Grepr organization. The server provides tools to list pipelines, browse datasets and templates, query logs, validate SQL and Grok rules, and propose pipeline changes. Every tool call is authorized with the same role-based permissions as the Grepr UI and REST APIs.
The MCP server is available at the following endpoints:
| Region | Endpoint |
|---|---|
| US | https://app.grepr.ai/mcp |
| EU | https://app.euc1.grepr.ai/mcp |
The examples on this page use the US endpoint. If your organization is in the EU region, replace the endpoint and use the EU client ID.
You can authenticate in two ways:
- OAuth sign-in: You sign in interactively with your Grepr user account. Use this for Claude and Claude Code.
- Service account credentials: Your client authenticates as a Grepr service account. Use this for Claude Tag in Slack, for automation, and for MCP clients that do not support the OAuth sign-in flow.
Sign in with OAuth
Grepr registers a dedicated OAuth client for each supported MCP client. To connect, configure your MCP client with the Grepr endpoint and the matching client ID from the following table, then sign in with your Grepr user account. When the sign-in page prompts for an organization, enter your Grepr organization name.
| MCP client | US client ID | EU client ID |
|---|---|---|
| Claude | us3sBOgZj6hERktG9yZEVwujaJe3j9L0 | HOnxCPNGnzdGlfXBM2sff0twoolRnDj9 |
| Claude Code | jlCTdLYzDkkTSc2I7MdI0SBw48AOdJM6 | GlEIcfSbge5gqN4o918fLXKVONP2twBh |
Claude
These steps apply to Claude on the web, the Claude desktop apps, and the Claude mobile apps.
- In Claude, go to Settings > Connectors and click Add custom connector.
- Enter
https://app.grepr.ai/mcpas the URL. - Under Advanced settings, enter
us3sBOgZj6hERktG9yZEVwujaJe3j9L0as the OAuth Client ID. Leave the client secret empty. - Complete the sign-in flow with your Grepr user account.
Claude Code
Add the server with the Grepr client ID and the fixed callback port:
claude mcp add --transport http --client-id jlCTdLYzDkkTSc2I7MdI0SBw48AOdJM6 --callback-port 6280 grepr https://app.grepr.ai/mcpThe --callback-port 6280 flag is required. Without it, Claude Code picks a random port and the sign-in fails with a callback URL mismatch.
Then open Claude Code, run /mcp, select grepr, and complete the sign-in flow in your browser with your Grepr user account.
Connect Claude Tag in Slack
Claude Tag is Claude in Slack channels. In a channel, Claude acts as a shared identity that an Owner of your Claude organization configures, not as the person who sends the message. Everyone in a channel that the configuration covers gets the same Grepr access, so connect a dedicated Grepr service account with the narrowest role that fits the channel. Direct messages with Claude in Slack run on your own Claude account and use the Claude connector described earlier on this page.
Before you start, you need:
- The Owner role in your Claude organization. Claude Tag is available on the Claude Team and Enterprise plans.
- A Grepr service account and its client ID and client secret. See Manage Grepr service accounts.
- The Grepr plugin for Claude Tag: grepr-claude-tag-plugin.zip. Claude Tag reaches an MCP server only through a plugin. The plugin contains two files: a manifest, and an
.mcp.jsonfile that names the US and EU Grepr MCP endpoints.
Upload the plugin
- In Claude, go to Admin settings > Plugins and click Add plugins.
- Select Upload a file and upload
grepr-claude-tag-plugin.zip.
The plugin is now in your organization’s catalog. It does nothing until you turn it on in an access bundle.
Turn on the plugin and add the credential
An access bundle is the set of credentials and plugins that Claude uses in the channels the bundle covers. The Default Slack scope covers every channel in your Slack workspace. To limit Grepr access to one channel, select that channel’s scope instead.
-
Go to Admin settings > Claude Tag and, under Claude Tag’s access, select the Slack tab.
-
Select the Default Slack scope, or the channel to connect.
-
Next to Access bundles, click the + button and select Create new bundle, or open the existing bundle.
-
On the Plugins tab, turn on grepr-mcp.
-
On the Credentials tab, click Connect next to Custom tool and enter the following values:
Field Value Name GreprCredential type OAuth 2.0 client credentials Token URL https://auth.grepr.ai/oauth/token, orhttps://auth.eu.grepr.ai/oauth/tokenfor the EU regionClient ID The service account client ID Client secret The service account client secret Audience serviceAllowed websites app.grepr.ai, orapp.euc1.grepr.aifor the EU region -
Save the connection and confirm that its status is Active on the Access bundles page.
A bundle on a public channel gives its access to anyone who joins the channel. Keep a service account with edit permissions in a bundle on a private channel.
Test the connection
In a channel the bundle covers, start a new thread and send:
@Claude list the Grepr pipelinesThreads that started before you turned on the plugin do not pick it up. If Claude reports that a host was blocked by the network egress proxy, add the host it names to the Allowed websites of the Grepr connection.
Authenticate with a service account token
For automation, and for MCP clients that are not in the table and do not support OAuth 2.0 client credentials, authenticate with a service account access token. The MCP endpoint accepts the same access tokens as the Grepr REST APIs.
-
Create a service account. See Manage Grepr service accounts.
-
Obtain an access token. See Authenticate to Grepr REST APIs.
-
Configure your MCP client to send the token in the
Authorizationheader. Most clients accept a headers object in their MCP server configuration:{ "headers": { "Authorization": "Bearer <access-token>" } }
The access token expires after 24 hours and has no refresh token, so your client cannot renew it automatically. When the token expires, obtain a new token and update your client configuration. For scheduled automation, obtain a new token at the start of each run.