Generative AI Engineer Associate · Domain 4: Assembling and Deploying Applications · 22% of the exam
Task 4.4: Configure a persistent datastore to store and retrieve intermediate memory or structured information; Integrate managed, external, and custom MCP servers based on a given application requirements; Develop an appropriate interactive user facing interface for an agent usage scenario (Apps, Slack, Teams, etc.)
Lakebase for agent state and structured lookups, Databricks-provided, external and custom MCP servers, and Databricks Apps or chat channels as the agent's front end.
Front ends for agents: Databricks Apps, Slack and Teams
Lesson coming
Sample questions
Try each one before opening the answer. Every option is explained, with the Databricks documentation page that proves it.
Question 1 · choose 1
A support agent on Databricks Apps must look up customer profiles from the Unity Catalog gold table customers_gold in milliseconds. It must also record each case it opens as a row that support staff update for days afterwards, with full transactions. The data team wants no sync scripts to maintain. Which datastore design fits?
AAn AI Search index of the profiles, with cases written to a Delta table through a SQL warehouse
BProfile lookups and case writes against the Delta gold table through a SQL warehouse
CA Lakebase synced table of the profiles, with each case inserted and updated in that table
DA Lakebase synced table of the profiles, with cases in the app's own Postgres table beside it
Show the answer and why
AAn AI Search index of the profiles, with cases written to a Delta table through a SQL warehouse
Incorrect
Similarity search is not a keyed profile lookup, and a SQL warehouse over Delta is built for analytics, not per-request transactional writes.
BProfile lookups and case writes against the Delta gold table through a SQL warehouse
Incorrect
The lakehouse is optimized for analytics; fast lookup-style queries with full ACID transactions are what Lakebase is designed for.
CA Lakebase synced table of the profiles, with each case inserted and updated in that table
Incorrect
The sync pipeline owns a synced table's data: it is read-only for applications, and direct writes are overwritten on the next refresh.
DA Lakebase synced table of the profiles, with cases in the app's own Postgres table beside it
Correct
A managed sync pipeline serves the gold table in Postgres for low-latency reads, and the app inserts and updates its own tables in the same database.
Synced tables bring Unity Catalog data into Lakebase with a fully managed pipeline, so no sync scripts are needed. Applications query the synced data alongside their own operational tables, which they read and write with standard Postgres drivers.
A team wants its agents to use a vendor's hosted MCP server that speaks Streamable HTTP and requires OAuth. Access must be shared with other teams and governed centrally. What should the engineer do?
ARegister it as an external MCP in Unity Gateway with an HTTP connection for its OAuth
BRebuild the vendor's tools as a custom MCP server on Databricks Apps and share that app with each team
CHard-code the vendor token in each agent's environment variables
DAdd the vendor server to the Genie One MCP configuration
Show the answer and why
ARegister it as an external MCP in Unity Gateway with an HTTP connection for its OAuth
Correct
External MCP registration creates a Unity Catalog connection for the credentials and makes the server a governed service that can be shared.
BRebuild the vendor's tools as a custom MCP server on Databricks Apps and share that app with each team
Incorrect
Custom MCP servers on Apps are for your own tools or APIs; rewriting a vendor's hosted server adds work and maintenance.
CHard-code the vendor token in each agent's environment variables
Incorrect
Per-agent credentials are not shared, governed or audited centrally.
DAdd the vendor server to the Genie One MCP configuration
Incorrect
Genie One is a Databricks-provided MCP for business questions over governed data; it does not proxy other vendors' servers.
Use a Databricks-provided MCP when one exists, register a self-hosted or third-party server as an external MCP, or build a custom server on Databricks Apps for your own tools. Registered MCPs use Unity Catalog permissions.
A team deploys an MCP server from the MCP Server (Starter) template on Databricks Apps. Which URL should its agents use?
AThe app URL with /mcp appended
BThe workspace URL with /serving-endpoints
CThe app URL with /api/2.0/genie
DAny URL, if the app name starts with mcp-
Show the answer and why
AThe app URL with /mcp appended
Correct
Copy the app URL from its Overview page and append /mcp to connect an agent.
BThe workspace URL with /serving-endpoints
Incorrect
Serving endpoints are a different service.
CThe app URL with /api/2.0/genie
Incorrect
That is a Genie API path, not the app's MCP endpoint.
DAny URL, if the app name starts with mcp-
Incorrect
The mcp- prefix is a naming convention that helps Databricks tools recognize the server; the endpoint is still /mcp.
Databricks Apps provides the compute and an HTTPS URL for a custom MCP server. For the Starter and OpenAPI templates the MCP path is /mcp; an existing server uses the path it was configured with.
An agent front end on Databricks Apps calls a partner API with a key that sits in a secret scope, and the app has a secret resource for it with the resource key partner_key. A reviewer finds the key's value in plain text on the app's Environment page. What should the team change?
AHard-code the key in the app's source instead of the environment
BRaise the secret resource to Can manage so that the value is masked
CStore the key in a second scope and add both scopes as resources
DDefine the variable with valueFrom: partner_key in app.yaml
Show the answer and why
AHard-code the key in the app's source instead of the environment
Incorrect
Databricks says never to store sensitive values in app code or directly in environment variables.
BRaise the secret resource to Can manage so that the value is masked
Incorrect
The permission level sets what the app may do with the scope's secrets; it does not hide a value that is injected directly.
CStore the key in a second scope and add both scopes as resources
Incorrect
More scopes do not change how the value reaches the app or where it is shown.
DDefine the variable with valueFrom: partner_key in app.yaml
Correct
A variable defined with valueFrom keeps the secret value managed by Databricks and out of plain text; values injected directly appear on the Environment page.
Databricks Apps injects each secret resource as an environment variable named after its resource key. Define the variable in app.yaml with valueFrom and retrieve the value in app code at runtime, so the secret is never written out in plain text.