# MCP servers in Claude Code and agents

*Claude Certified Architect - Foundations Study Guide · Tool Design & MCP Integration · Last updated October 22, 2026 · https://www.certifyforce.com/study-guide/claude-certified-architect-foundations/tool-design-and-mcp-integration/mcp-servers-in-claude-code-and-agents*

Where to configure an MCP server (local, project .mcp.json or user scope), how ${VAR} expansion keeps tokens out of git, why every configured server's tools are usable together, when to expose data as MCP resources instead of tools, and how Agent SDK agents get permission to call MCP tools.

- Certification: Claude Certified Architect - Foundations
- Exam section: Tool Design & MCP Integration
- Study guide: https://www.certifyforce.com/study-guide/claude-certified-architect-foundations

**Official exam objective:**

> Integrate MCP servers into Claude Code and agent workflows

## What the exam expects

- Choose project scope (`.mcp.json`, committed) for shared team servers and user scope (`~/.claude.json`) for personal or experimental ones; know local is the default.
- Keep credentials out of git with `${VAR}` and `${VAR:-default}` in `.mcp.json`, and predict the unset-variable behaviour.
- Configure several servers in one Claude Code or Agent SDK session, knowing all their tools are available together.
- Expose content catalogs (docs hierarchies, schemas, issue summaries) as MCP resources to avoid exploratory tool calls.
- Write MCP tool descriptions that beat built-in Grep, and reuse existing servers for standard integrations.

Key terms: **MCP server** (a program exposing tools, resources and prompts); **scope** (where a server definition lives and who it loads for); **`.mcp.json`** (the project-scope file at the repository root); **resource** (read-only data addressed by URI); **resource template** (a parameterized URI such as `docs://{product}/{version}`).

## Key facts

| Fact | Detail | Source |
|---|---|---|
| Default MCP scope | Local: current project only, private, stored in `~/.claude.json` | [Claude Code MCP](https://code.claude.com/docs/en/mcp) |
| Shared team servers | Project scope writes `.mcp.json` at the project root; commit it | [Claude Code MCP](https://code.claude.com/docs/en/mcp) |
| Personal servers in every project | User scope, `~/.claude.json`, private to your account | [Claude Code MCP](https://code.claude.com/docs/en/mcp) |
| Expansion syntax and locations | `${VAR}`, `${VAR:-default}` in `command`, `args`, `env`, `url`, `headers` | [Claude Code MCP](https://code.claude.com/docs/en/mcp) |
| Unset variable, no default | Config loads, warning in `claude mcp list`, literal `${VAR}` text used | [Claude Code MCP](https://code.claude.com/docs/en/mcp) |
| Tool search | On by default; names load at start, definitions on demand | [Claude Code MCP](https://code.claude.com/docs/en/mcp) |
| MCP tool names | `mcp__<server-name>__<tool-name>`, server name = the config key | [Agent SDK MCP](https://code.claude.com/docs/en/agent-sdk/mcp) |
| SDK MCP permission | Explicit permission required; `acceptEdits` does not cover MCP tools | [Agent SDK MCP](https://code.claude.com/docs/en/agent-sdk/mcp) |
| Resources | Application-controlled, read-only context, each with a unique URI | [MCP server concepts](https://modelcontextprotocol.io/docs/2026-07-28/learn/server-concepts), [MCP resources spec](https://modelcontextprotocol.io/specification/2026-07-28/server/resources) |

## Check yourself

- Why should a team commit `.mcp.json` with `${JIRA_TOKEN}` rather than a shared token?
- When does `${WH_REGION:-eu-west-1}` in `args` produce `eu-west-1`?
- Why should a runbook catalog be a resource and alert acknowledgement a tool?
- Which SDK setting lets an agent call every tool on a server registered as `crm`?

## Sources

- [Connect Claude Code to tools via MCP](https://code.claude.com/docs/en/mcp)
- [Connect to external tools with MCP](https://code.claude.com/docs/en/agent-sdk/mcp)
- [Understanding MCP servers](https://modelcontextprotocol.io/docs/2026-07-28/learn/server-concepts)
- [Resources (MCP specification)](https://modelcontextprotocol.io/specification/2026-07-28/server/resources)
- [Configure permissions](https://code.claude.com/docs/en/agent-sdk/permissions)
- [Define tools](https://platform.claude.com/docs/en/agents-and-tools/tool-use/define-tools)
- [Claude Certified Architect – Foundations Exam Guide v1.0](https://everpath-course-content.s3-accelerate.amazonaws.com/instructor%2F6nizmqk8tpzpfjvt6qmmav7rh%2Fpublic%2F1783542750%2FClaude+Certified+Architect+%E2%80%93+Foundations+Exam+Guide.pdf)

## About the full unit

The "Core concepts", "Exam traps" and "Worked scenario" sections of this unit, its 10 linked practice questions, and unlimited timed mock exams are included with the Claude Certified Architect - Foundations pack (USD $19): https://www.certifyforce.com/practice-exams
