Skill 79 · Amazon Workspaces Agent Access
Subchapter 79.6
references/tool-forwarding.mdMarkdown3 KBView on GitHub
Tool forwarding lets agents call MCP servers running on the Windows fleet host — filesystem, fetch, or your own tools — alongside the desktop computer-use tools, through the same endpoint. Prefer forwarded tools over desktop automation for file and web tasks: reading a file with a forwarded tool is far more reliable than opening it in an app and reading pixels.
Agent → Agent Access MCP Server → DCV Server → your MCP server (stdio on the host)Tool forwarding needs both an IAM grant and a service setting — IAM access does not override the service setting.
Enable the service action: turn on FORWARD_MCP_TOOLS in the stack’s agent action configuration (API or console).
IAM: grant agentaccess-mcp:CallForwardedTool (plus agentaccess-mcp:InvokeMcp to establish the session, and any computer-use actions the agent also uses), scoped to the stack with the agentaccess-mcp:StackArn condition key. Prefer enumerated actions over agentaccess-mcp:*:
{
"Effect": "Allow",
"Action": [
"agentaccess-mcp:InvokeMcp",
"agentaccess-mcp:CallForwardedTool"
],
"Resource": "*",
"Condition": {
"ArnLike": { "agentaccess-mcp:StackArn": "arn:aws:appstream:<region>:<account>:stack/<stack>" }
}
}Manifest on the fleet image at C:/ProgramData/NICE/dcv/mcp_server_redirection_config.json:
{
"mcpServers": {
"filesystem": {
"command": "C:/path/to/python.exe",
"args": ["C:/mcpServerPath/filesystem.py", "C:/Users/Public/Documents"]
},
"weather": {
"command": "C:/Program Files/my-mcp/weather.exe"
}
}
}Only command (required, absolute path) and args (optional) are supported — no env vars or working directory. Servers inherit the session environment and run as the session user. The manifest must be saved as UTF-8 without a BOM — the service rejects a manifest that has one (Windows PowerShell 5.1’s writes a BOM; ensure your editor/tool saves plain UTF-8).
\ as an escape). Windows accepts / in absolute paths.Forwarded tools are renamed to avoid collisions:
forwarded___<server-name>___<original-tool-name>e.g. a get_forecast tool on the weather server appears as forwarded___weather___get_forecast. Agent code matching on tool names must expect this prefix. (Note: Bedrock Converse requires tool names match [a-zA-Z0-9_-]+, so some clients normalize dots to dashes — match forwarded tools by description, not exact spelling.)
Fleet image with a DCV Server build that supports MCP forwarding (check the current Agent Access documentation (opens in a new tab) for the minimum version), Desktop stream view, FORWARD_MCP_TOOLS enabled on the stack, and MCP server binaries installed system-wide on the image.
Out-File -Encoding utf8