What is MCP?
The Model Context Protocol (MCP) is an open standard for connecting AI agents to external data and tools. Developed by Anthropic and adopted across the industry, MCP is becoming the common language enterprises use to expose data to AI systems—regardless of which vendor’s agents are consuming it. Think of MCP as a universal adapter. Instead of building custom integrations for every AI platform, you build one MCP server and any compliant agent can use it. This matters for enterprises because:- Standardization — Define once how your data is accessed, enforce it everywhere. Your CDP, product catalog, and internal knowledge base speak the same protocol whether Gradial, your internal tools, or other vendor agents are calling them.
- Interoperability — As more platforms adopt MCP, your agents can communicate with each other. A Gradial agent executing a content workflow can hand off to another vendor’s agent for specialized tasks, passing context seamlessly.
- Future-proofing — Investing in MCP means your data infrastructure works with tomorrow’s AI tools, not just today’s. The protocol is designed to evolve with the ecosystem.
- Control — You decide exactly what data and capabilities to expose. MCP servers sit in your infrastructure, behind your security controls, serving only what you explicitly permit.
Why Connect an MCP Agent?
MCP integrations let you extend what Gradial agents can do without waiting for native integrations. Common use cases include:- First-party data access — Connect your CDP, data warehouse, or customer database so agents can personalize content using real audience data
- Internal tool access — Expose internal APIs, proprietary calculators, or business logic to agents
- Custom content sources — Pull from internal knowledge bases, product catalogs, or pricing systems
- Workflow automation — Trigger actions in systems that don’t have native Gradial integrations
How the Connection Fits Together
Before starting setup, it helps to understand how the pieces connect:- Your organization hosts or selects an MCP server with the tools you want Grady to use.
- An MCP integration is created once for your Gradial organization, then enabled for one or more Gradial Environments. Workspaces inherit access through their associated Environments.
- A Gradial administrator creates the integration under Settings → Integrations and supplies the server URL, authentication settings, and a description of its capabilities.
- Gradial validates the MCP session and tool list for shared-credential and SSO connections. For browser OAuth, Gradial validates OAuth discovery and client registration when the integration is created.
- The administrator assigns the MCP integration to one or more Gradial Environments.
- Grady uses the capabilities description and discovered tools to determine when the MCP integration is relevant.
- If the server uses browser-based MCP OAuth, each Gradial user authorizes their own account before using the integration.
Prerequisites
Before you begin, make sure you have:- A running MCP server that supports remote HTTP connections
- The server’s base URL and MCP endpoint path
- Authentication credentials or OAuth configuration for the server
- For Browser OAuth (MCP spec), the ability to allowlist Gradial’s callback URI on your authorization server if it does not accept dynamically registered redirect URIs
- An organization role with permission to manage Gradial settings and integrations
- The Gradial Environment or Environments that should have access to the integration
- Be reachable from Gradial’s infrastructure
- Accept MCP JSON-RPC requests over HTTP
- Support
initialize,notifications/initialized,tools/list, andtools/call - Advertise the MCP
toolscapability during initialization - Return MCP responses as JSON or a server-sent event stream
If your MCP endpoint restricts inbound traffic by source IP, allowlist Gradial’s outbound egress IP addresses on your firewall or reverse proxy. See IP Allowlisting for the current list.
Authentication Methods
Gradial supports the following authentication methods for external MCP servers:
The authentication methods available in the setup dialog depend on your organization’s Gradial configuration.
Use SSO Passthrough when users already authenticate to Gradial and the MCP server through the same identity provider, and the MCP server accepts that provider’s access or ID token.
Use API Key when the MCP server expects a static token in a request header.
Gradial’s OAuth Callback URI
Browser OAuth (MCP spec) sends each user back to Gradial after they authorize the connection. Gradial’s redirect URI is:- Validates redirect URIs against a fixed allowlist, even for dynamically registered clients
- Restricts redirect URIs by hostname or domain
- Requires security review or change approval before accepting a new redirect target
http instead of https causes the authorization request to be rejected.
The callback URI applies only to Browser OAuth (MCP spec). API Key, OAuth2 Client Credentials, and SSO Passthrough do not use a browser redirect, so no callback URI is needed.
Connection Details
The following values are needed when creating an MCP connection:
Gradial combines the base URL and endpoint path when connecting —
https://cdp-api.example.com plus /mcp results in:
The endpoint path must be relative to the base URL. Do not enter a second absolute URL in the endpoint path field.
Write a Useful Capabilities Description
The Grady Capabilities field helps Grady decide when to use the MCP integration. Describe the tasks, data, and actions the server supports instead of describing only the underlying system. Good:How to Connect
1
Open the MCP integration dialog
- Sign in to Gradial with permission to manage organization settings.
- Go to Settings → Integrations.
- Click Connect Integration.
- Under Web & developer tools, select MCP Server.
2
Enter the server details
- Enter a descriptive Integration Name.
- Enter the MCP Base URL.
- Confirm or update the MCP Endpoint Path. The default is
/mcp. - Describe the server’s tools in Grady Capabilities.
3
Configure authentication
Follow the instructions for your server’s authentication method.API KeyFor a server that expects See Gradial’s OAuth Callback URI for details.OAuth2 Client Credentials
- Select API Key.
- Enter the API key.
- Set Header Name to the header expected by the server. The default is
Authorization. - Set Prefix to the value expected before the key. The default is
Bearer. - Add any required non-authentication headers under Additional Headers.
- Click Validate Connection.
X-API-Key without a prefix, set Header Name to X-API-Key and leave Prefix empty.Browser OAuth (MCP spec)- Select Browser OAuth (MCP spec).
- Add any required non-authentication headers under Additional Headers.
- Click Create Integration.
S256, and dynamically registers Gradial as an OAuth client.The MCP server and its authorization server must support:- OAuth Protected Resource Metadata (RFC 9728)
- OAuth Authorization Server Metadata (RFC 8414) or OpenID Connect discovery
- PKCE with the
S256challenge method - OAuth Dynamic Client Registration (RFC 7591)
- The authorization code and refresh token grants
Browser OAuth does not use Validate Connection before the integration is created. Gradial verifies OAuth discovery and client registration during creation. Each user completes authorization after the integration has been saved.
- Select OAuth2 Client Credentials.
- Enter the Client ID and Client Secret.
- Enter the authorization server’s Token URL.
- If required, enter the server’s scopes in Scope, separated by spaces.
- Add any required non-authentication headers under Additional Headers.
- Click Validate Connection.
- Select SSO Passthrough.
- Select the SSO Provider associated with the MCP server.
- Select the Token Source:
- Access token — Recommended for most MCP servers
- ID token — Use only when the MCP server specifically requires identity claims
- If required, enter one Required Scope, such as
mcp.read. The required scope must be a single scope token without spaces. If configured, Gradial checks for it before calling the MCP server. - Add any required non-authentication headers under Additional Headers.
- Click Validate Connection.
4
Add required headers
Use Additional Headers only for static, non-authentication values required by the MCP server, such as:Do not add authorization, API key, content negotiation, or MCP session headers here. Gradial manages those through the selected authentication method and MCP protocol.Every additional header requires a unique name and a non-empty value.
5
Validate and create the integration
For API Key, OAuth2 Client Credentials, and SSO Passthrough:
- Click Validate Connection.
- Confirm that Gradial reports a successful connection and the number of tools found.
- Click Create Integration.
Connection validation initializes the MCP session and requests
tools/list. It does not execute one of the server’s business tools.6
Assign the integration to Environments
The integration exists at the organization level after it is created, but Grady can use it only in Environments to which it is assigned.
- Return to the integrations list.
- Find the new MCP integration.
- Open its Environment selector. A new integration may show No environment.
- Select each Environment that should have access to the MCP server.
7
Connect each user for Browser OAuth
Complete this step only when the integration uses Browser OAuth (MCP spec).Each user who needs the MCP integration must:
- Go to Settings → Integrations.
- Find the MCP integration.
- Click Connect.
- Sign in to the MCP server’s authorization provider.
- Review and approve the requested access.
- Return to Gradial and confirm the integration shows Connected.
What Gradial Validates
When you click Validate Connection, Gradial:- Builds the full MCP URL from the base URL and endpoint path.
- Applies the selected authentication method and additional headers.
- Sends an MCP
initializerequest. - Confirms that the server advertises the
toolscapability. - Sends
notifications/initialized. - Sends
tools/list. - Reports the number of tools returned by the server.
Using Your MCP Agent
Once connected and assigned to an Environment, your MCP agent becomes available to Gradial agents automatically. The agent capabilities description helps Gradial decide when to use your MCP tools. To explicitly invoke your MCP agent in a prompt or workflow:Test the Integration in Grady
After assigning the integration to an Environment, open a Workspace associated with that Environment and ask Grady to perform a low-risk read operation. Reference the integration by name to make the first test explicit:- Grady selects the expected MCP integration
- The server receives the request under the expected user or service identity
- The response contains only data the identity is authorized to access
- No unexpected write operation occurs
Example: First-Party Data MCP
A common pattern is connecting a first-party data MCP to personalize content at scale. Setup:- Integration Name:
Customer Data Platform - MCP Base URL:
https://cdp-api.yourcompany.com - MCP Endpoint Path:
/mcp - Authentication:
OAuth2 Client Credentials - Grady Capabilities: “Query customer segments, retrieve audience attributes, look up product affinity scores, and fetch personalization rules by segment ID.”
- Environment:
Production Marketing
Troubleshooting
When troubleshooting, compare the MCP server logs with the validation attempt. The server should receive
initialize, notifications/initialized, and tools/list in that order.
Security Recommendations
- Expose only the MCP tools Gradial needs. Keep each MCP integration to 20 tools or fewer for best performance.
- Apply authorization to every tool on the MCP server; do not rely on the capabilities description for enforcement.
- Use separate credentials and endpoints for development, staging, and production where possible.
- Use least-privileged scopes for OAuth clients and API keys.
- Treat tool descriptions and tool results as untrusted input and avoid returning secrets.
- Review write-capable tools carefully before assigning the integration to production Environments.
- Monitor authentication failures, tool calls, rate limits, and server errors.