Implement Tool Use and Environment Interaction
This domain tests your ability to configure agent tools, set up MCP servers and registries, scope agents to repositories and branches, enable autonomous code actions, and build safe execution paths with error handling, escalation, and traceability. It accounts for 23% of the exam — the largest single domain — so mastery here is essential for a passing score.
Identifying and Configuring Required Agent Tools and Tool Permissions
Agent tools are discrete capabilities granted to a Copilot agent that allow it to read data, execute commands, or interact with external systems. Tools are declared explicitly; an agent cannot use a capability it has not been granted.
Tool Categories
| Tool Type | What It Does | Example |
|---|---|---|
| Built-in tools | Provided natively by GitHub Copilot agents | Code search, file read, terminal |
| MCP tools | Exposed by a Model Context Protocol server | Fetch URL, query database |
| GitHub API tools | Operate on GitHub resources | Create PR, list issues |
| Custom tools | User-defined functions registered to the agent | Internal REST calls |
Permission Scoping
Each tool requires explicit permission to be active. Permissions are scoped at two levels:
- Agent-level: declared in the agent manifest or
copilot-instructions.mdcontext block - Organization-level: administrators enable or disable tool categories for all agents in the org via GitHub Copilot policy settings
The principle of least privilege applies: grant only the tools required for the agent's stated task. Over-provisioning tools is flagged as a policy violation in enterprise audits.
Common Traps
- Assuming tools are inherited from the user's personal Copilot subscription — they are not; tools must be declared per agent.
- Confusing tool permissions (what the agent can call) with repository permissions (what the agent's token can access) — both must be configured independently.
- Believing that adding a tool to an agent manifest automatically grants it write access to GitHub resources — API tools still require a token with appropriate scopes.
Configuring MCP Servers: Adding an MCP Server as a Tool, GitHub Remote MCP Server
Model Context Protocol (MCP) is an open standard that defines how AI agents discover and invoke external tools through a structured server-client interface. An MCP server exposes one or more tools; the agent acts as the MCP client.
Adding an MCP Server as a Tool
MCP servers are configured in the agent's settings file (typically .github/copilot/mcp.json or the equivalent VS Code settings.json block):
{
"mcpServers": {
"my-tool-server": {
"url": "https://my-mcp-server.example.com",
"transport": "http"
}
}
}
Key configuration fields:
| Field | Required | Description |
|---|---|---|
url | Yes | HTTPS endpoint of the MCP server |
transport | Yes | http or stdio |
headers | No | Auth headers (e.g., bearer tokens) |
timeout | No | Request timeout in milliseconds (default: 30000) |
GitHub Remote MCP Server
The GitHub Remote MCP Server is a managed MCP server hosted and operated by GitHub. It exposes GitHub-native capabilities (issue read/write, PR management, code search) as MCP-compliant tools without requiring the agent administrator to run any server infrastructure.
| Property | GitHub Remote MCP Server | Self-Hosted MCP Server |
|---|---|---|
| Infrastructure | Managed by GitHub | Customer-managed |
| Authentication | GitHub App token / PAT | Custom header/OAuth |
| Availability | GitHub SLA | Customer responsibility |
| Tool set | GitHub-native tools only | Arbitrary tools |
| Config location | mcp.json with github reserved key | mcp.json custom key |
The GitHub Remote MCP Server is referenced with the reserved key github in mcp.json:
{
"mcpServers": {
"github": {
"url": "https://api.github.com/mcp",
"transport": "http"
}
}
}
Common Traps
- Using
stdiotransport for a remote server —stdiois only valid for locally-spawned processes; remote servers requirehttp. - Thinking the GitHub Remote MCP Server requires a separately provisioned resource — it is accessed via the standard GitHub API endpoint.
- Confusing the MCP server
urlwith the GitHub API base URL — the MCP endpoint path is/mcp, not/v3or/graphql.
Unlock with a paid plan
11 more sections (about 2,672 words) continue below. Every paid plan unlocks all GH-600 study guides, the full question bank and mock exams, from $4.97/month.