---
title: "Hand a locally selected folder on that Mac to agents [machine connect token]"
method: POST
path: "/desktop/machines/{id}/mounts"
---

# Hand a locally selected folder on that Mac to agents \[machine connect token\]

`POST /desktop/machines/{id}/mounts`

## Request

- Base URL: `https://api.agentsky.dev/v1`
- URL: `https://api.agentsky.dev/v1/desktop/machines/{id}/mounts`
- Auth: HTTP bearer

Answers the address a spec's `mcp_servers` entry carries (`{type: "url", name: "this-mac", url: mcp_url}`): a pod's MCP calls on it are relayed to the Mac app, which answers them with file tools rooted at the folder and holds every change for the person's confirmation. This route accepts only that Mac's connect token after its native picker returns a normalized absolute path; an account token cannot create a mount. A Mac that is not polling answers 503 machine_offline to the pod.

## Path parameters

- `id` string, required

## Request body

- DesktopMountRequest
  - `root` string, required: The folder's absolute path on that Mac, "browser:" for the Mac app's browser window, "screen:" for that Mac's screen, or "host:" for the Mac app's own apps and files, each lent to one task
  - `label` string, required: What the thread shows for it
  - `reach_request_id` string: drr_… — the Mac grants that reach request: the mount carries the capability its caller was handed, and this answer's mcp_url is null

## Response `201`

Mounted

- DesktopMount
  - `id` string, required: dmt_…
  - `machine_id` string, required
  - `root` string, required
  - `label` string, required
  - `mcp_url` string, nullable, required: https://mac-<token>.agentsky.dev/mcp — put it in a spec's mcp_servers as a url server; the token is the credential. Null when the mount grants a reach request (its caller already holds it)
  - `created_at` string, date-time, required

## Other responses

- `default`: Error — { error: { code, message, request_id } }

## Changes

- **2026-11-02** `e5e8f0229a99`: 1 breaking, 5 info
  - the response property `mcp_url` became nullable for the status `201`
  - added the new optional request property `reach_request_id`
  - added the optional property `error/request_id` to the response with the `default` status
  - the response property `error` became required for the status `default`
  - …2 more

[Operation history](https://skmtc.dev/agentsky/apis/agentsky-developer-api/changes/desktop/machines/:id/mounts/post.md)

---

[API](https://skmtc.dev/agentsky/apis/agentsky-developer-api.md) - [All operations](https://skmtc.dev/agentsky/apis/agentsky-developer-api/llms.txt) - [OpenAPI document](https://skmtc.dev/agentsky/apis/agentsky-developer-api/revisions/0d435187cd55?raw)
