How do I register agents, tools, and MCP servers in Databricks?
Summary
- Databricks registers agents, tools and MCP servers as Unity Catalog assets, but each type has its own path. External MCP servers are registered in Unity Gateway, tools are Unity Catalog functions or tool bindings in an agent project, and agents can be registered as agent services, which is in Beta.
- MCP servers come in three kinds. Databricks-provided MCPs in the
system.aischema need no registration, external servers are registered from the MCPs page in Unity Gateway, and custom servers run on Databricks Apps. - Access uses Unity Catalog grants. Callers need EXECUTE on a registered MCP plus USE CATALOG and USE SCHEMA on its parents, and you choose which of a server's tools to expose.
- Agent services support registration and permissions, not calls. During the Beta, agents can't be called through a registered agent service.
How do I register agents, tools, and MCP servers in Databricks?
Register each asset where it belongs in Unity Catalog. External MCP servers go through Unity Gateway, tools are Unity Catalog functions or tool bindings in your agent project, and agents can be registered as agent services (Beta). MCP servers, functions and agent services are Unity Catalog securables, so you grant and revoke access with the same kinds of privileges you use for tables and volumes.
What are agents, tools, and MCP servers?
An agent is an AI system that perceives a request, decides what to do and acts to achieve a goal. Tools are functions the agent calls to retrieve data or change the state of another system. Model Context Protocol (MCP) lets an agent query data, search documents and call external services, so an MCP server is one way to supply tools.
Key capabilities to evaluate
| Capability | Why it matters |
|---|---|
| One place to find assets | Teams discover agents, tools and servers without asking around. |
| Grants on each asset | Access is set per user, group or service principal, not buried in code. |
| Credential handling | A connection holds the host and credentials, so agent code doesn't. |
| Tool filtering | You expose only the tools of a server that you have reviewed. |
| Policies and limits | Guardrails and rate limits apply to calls. |
| Usage and audit | You can review call volume, errors and invocations. |
How does Databricks handle registration?
MCP servers. Databricks-provided MCPs live in system.ai, such as system.ai.genie_one_mcp, and need no hosting or registration. To register an external server, open Unity Gateway, select MCPs, click + MCP and choose "Connect an existing MCP server". Pick a catalog and schema, name the MCP, then select or create an HTTP connection with the server URL and authentication method, and use managed OAuth where the provider supports it. Click Create & load tools, choose the tools to expose and click Create MCP Service. The server must support Streamable HTTP, and you need USE CATALOG and USE SCHEMA on the parents, CREATE SERVICE on the schema, and CREATE CONNECTION or USE CONNECTION. Agents then use the full name, <catalog>.<schema>.<service>. For a custom server, build on Databricks Apps from the MCP Server (Starter) or MCP Server (OpenAPI) template, or deploy an existing server, and connect to the app URL with /mcp appended.
Tools. Use Unity Catalog functions when your agent needs predefined logic. You need CREATE FUNCTION on the schema to create one, callers need EXECUTE, and DatabricksFunctionClient.create_python_function creates a Python function in Unity Catalog. For other tools, the docs say to start with MCPs. In an Agent Bricks CLI project, agentbricks tools add mcp system.ai.web_search records the tool in agent.toml.
Agents. Unity Gateway describes an agent as registered in Unity Catalog as a model, with the tools it calls governed as MCP services, functions and connections. To let teams browse an agent alongside tables, models and functions, register it as an agent service. It references a Unity Catalog connection that holds the agent's host and credentials, and you create it with the REST API. The feature is in Beta, and an account admin must enable the Unity Gateway beta features first.
databricks api post \
"/api/2.1/unity-catalog/agent-services?parent=schemas/main.default&agent_service_id=support_agent" \
--json '{
"agent_service_type": "AGENT_SERVICE_TYPE_EXTERNAL",
"comment": "Support agent for the customer team",
"config": {
"source_connection": { "name": "connections/main.default.my_agent_connection" },
"base_path": "/v1/chat",
"system_prompt": "You are a helpful support assistant."
}
}'
You need USE CATALOG, USE SCHEMA, CREATE SERVICE and USE CONNECTION. The comment appears in Catalog Explorer, where registered agents show up under their schema. Grant EXECUTE to give a user access. During the Beta, agents can't be called through a registered agent service, and there is no SQL DDL for agent services.
What are common scenarios?
Share an MCP with a team. In Unity Gateway, open the MCP's Permissions tab, grant EXECUTE to the group, then grant USE CATALOG and USE SCHEMA on the parents in Catalog Explorer.
Expose an existing REST API. Use the MCP Server (OpenAPI) template, with an OpenAPI 3.x specification saved as spec.json in a volume and an HTTP connection that stores the API credentials.
FAQs
How do I limit which tools an MCP exposes?
Registered MCPs expose all of a server's tools by default. During registration, choose Select manually, or choose Advanced to enter exact names or prefixes such as get_*. Exclusion patterns such as !delete_* aren't supported, and unselected tools don't appear in tools/list.
Do end users need access to the connection?
No. End users don't need USE CONNECTION on a registered MCP. Reserve it for MCP authors and administrators.
Can I add guardrails or limits to an MCP?
Yes. Policies, which require the Unity Gateway beta, can allow, block or require approval for a tool call, and rate limits apply to tools/call requests. Over-limit calls return HTTP 429.
How do I see who is using an MCP?
Query system.ai_gateway.usage with service_type = 'MCP_SERVICE', and review MCP changes and invocations in system.access.audit.
Where do I find registered assets?
Registered MCPs are listed on the MCPs page in Unity Gateway. Registered agent services appear in Catalog Explorer under their schema. Unity Catalog Global Search surfaces neither.
The information provided herein is for general informational purposes only and may not reflect the most current product capabilities or configurations.