Enable custom agents to access external data via MCP
### Release Notes Custom agents can now [connect to third-party data sources through the Model Context Protocol (MCP)](https://docs.gitlab.com/user/gitlab_duo/model_context_protocol/ai_catalog_mcp_servers/), giving you access to external tools and information without leaving GitLab. We've introduced a new MCP option in the AI Catalog where you can manage external MCP servers, associate them with your custom agents, and authenticate via OAuth. This experimental release is designed to gather your [feedback](https://gitlab.com/gitlab-org/gitlab/-/work_items/593219) as we build toward a full production-ready implementation. ![Enable_custom_agents_to_access_external_data_via_MCP](/uploads/448f5215576205dc00b1b0b9072ea97c/Enable_custom_agents_to_access_external_data_via_MCP.png){width=900 height=332} ## Description Custom agents created in the AI Catalog can only access GitLab's built-in DAP tools. There's no way for users to connect agents to external data sources or third-party services (e.g., Jira, Google Drive) through a standardized protocol. This limits the usefulness of custom agents for enterprise customers who work across multiple tools in their stack. #### Proposal Introduce an MVC workflow that creates a foundation to gather customer feedback before investing in the full production-ready implementation. The MVC introduces the ability to: - Add MCP servers to the AI Catalog (name, URL, transport type, OAuth settings) - Associate MCP servers with agents via the agent edit form - Display connected MCP servers on the agent detail page - Connect to MCP servers via OAuth (with dynamic client registration fallback) - Propagate MCP server config to `McpConfigService` for use during agent execution A new **MCP tab** will appear in the AI Catalog navigation alongside Agents and Flows. ### Scope for this MVC (experimental) **In scope:** - UI to create/manage MCP servers (list view, detail view, create/edit form) - Agent ↔ MCP server association in the agent edit form - OAuth authentication flow with token storage - HTTP transport only (no SSE/stdio for now) - Start with vetted/partner MCP servers only (e.g., Jira) — no arbitrary URLs yet - Minimal audit events: CRUD on MCP server config, user OAuth authentication, enabling a server on an agent **Out of scope (follow-on):** - Tool-level restrictions within an MCP server (users get all tools from a connected server) - Local MCP server support - Seeding MCP servers for SM/Dedicated - Ungated arbitrary MCP server URLs - AI Governance SKU gating for audit events related to external MCP tool calls
issue