Claude Architect Lab
← Back to lesson

Practice — Tool Design & MCP Integration

20 questions — none attempted yet.

A company has built three different AI-powered apps, each needing access to the same five internal systems (CRM, ticketing, inventory, calendar, and billing). Historically, each app team wrote its own bespoke integration code for each system it needed.

What problem does adopting the Model Context Protocol (MCP) primarily solve here?

A developer is building a custom internal chat assistant. They want it to connect to an existing MCP server that exposes their company's ticketing system.

Which statement correctly describes the roles involved?

An MCP server exposes a resource representing the contents of a company's onboarding handbook document, alongside a tool called send_welcome_email.

What's the key architectural difference in how these two primitives get used during a conversation?

A team's MCP server exposes a prompt called "draft-incident-report" that pre-fills a structured template with placeholders for severity, affected systems, and timeline.

How is this prompt primitive actually meant to be used?

A reviewer is quizzing a candidate: "An MCP server exposes a tool, a resource, and a prompt. For each, who decides when it gets used?"

Which answer is correct?

A developer defines a tool called update_record with an input schema of a single freeform string field called 'instructions,' intended to cover any kind of record update.

What's the main problem with this design?

Two tools exist on the same server: search_docs, described only as "searches", and search_knowledge_base, described as "Searches the internal knowledge base for articles matching a query string; returns up to 5 titles and short excerpts, ranked by relevance."

Which statement is accurate?

A tool called get_weather sometimes returns a plain sentence like "It's sunny and 72 degrees in Austin today," and other times returns a JSON object with temperature and condition fields, depending on which underlying API responded.

What's the issue with this tool's design?

A team is deciding between giving Claude one tool called manage_database that accepts arbitrary SQL statements, versus three narrow tools: get_customer_by_id, get_recent_orders, and update_shipping_address.

Which design better reflects least-privilege tool scoping?

A support agent has one tool, run_admin_action, that accepts a string 'action' parameter and can create, modify, or delete any record in the company's systems. During a session, a piece of retrieved document content contains hidden text instructing the model to delete a customer's account.

What does this scenario illustrate about tool scoping?

A team gives their Claude-based assistant access to 60 tools spanning nearly every internal system, reasoning that more tools available means the assistant can handle more requests well.

Evaluate this reasoning.

A team is standing up an MCP server that connects to an internal ticketing API. They're deciding between a static API key baked into the server's configuration and an OAuth-based flow where each user authorizes access to their own ticketing account.

What's an accurate way to think about this choice?

A developer is worried that giving Claude a tool that calls an authenticated internal API means the model itself will need to know or handle the API credentials.

Is this concern accurate?

A tool's implementation currently just throws a generic exception with the message "Error" whenever the underlying API call fails, for any reason — invalid input, not found, rate limiting, or an outage.

What should change about this tool's error handling?

A submit_expense tool returns a structured error of {isError: true, code: "invalid_input", message: "amount must be a positive number"} when called with a negative amount.

Why is this a well-designed error response?

A reviewer is evaluating a proposed MCP integration for a company's internal HR system, meant to let an assistant answer employee questions about PTO balances and submit PTO requests.

Which design would a reviewer most likely approve as a safe MCP integration?

A developer says: "We don't need MCP — we can just write direct API integration code inside each of our AI apps for each tool we want."

What's the most accurate response to this claim?

A proposed tool named file_operation has this input schema: { operation: string, path: string, content?: string }, where 'operation' can be any of "read", "write", "delete", or "list", applied to any path on the server's filesystem.

What's the concern with this tool as designed?

A host application lets a user attach a specific project's design document to the conversation via a UI button, backed by an MCP resource exposed by that project's MCP server. Separately, the same server exposes a create_task tool.

Which statement correctly distinguishes how these two get used?

A logistics company wants Claude, used from both an internal support console and an internal Slack bot, to answer questions using their shipment-tracking system and carrier-rates database, and to submit a shipment reroute request when a delivery is delayed.

Which architecture best satisfies these requirements?