---
title: "Mcp Recommend Surfaces"
method: GET
path: "/v1/mcp/projects/{project_id}/recommend-surfaces"
tags: ["mcp"]
---

# Mcp Recommend Surfaces

`GET /v1/mcp/projects/{project_id}/recommend-surfaces`

## Request

- Base URL: `https://api.sonenta.dev`
- URL: `https://api.sonenta.dev/v1/mcp/projects/{project_id}/recommend-surfaces`
- Auth: none declared

Per-key a11y surface recommendations from the key's semantic type
(A11Y_TREATMENTS_BY_TYPE) — the turn-key signal for the sonenta-surface agent
so it never duplicates the type->treatment mapping. Each key lists its relevant
a11y treatments with active + present_in_source flags (active & not present =>
a gap to author). Device surfaces are out of scope (use list_surfaces).

## Path parameters

- `project_id` string, required

## Query parameters

- `version_id` string, nullable
- `namespace_id` string, nullable
- `key_id` string, nullable
- `only_gaps` boolean

## Response `200`

Successful Response

- RecommendSurfacesOut
  - `project_uuid` string, required
  - `version_uuid` string, nullable, required
  - `active_a11y_surfaces` string[], required
  - `keys_scanned` integer, required
  - `keys_with_gaps` integer, required
  - `gaps_by_surface` object, required
  - `items` RecommendedKey[], required
    - `key_uuid` string, required
    - `key_name` string, required
    - `namespace_slug` string, required
    - `type` string, required
    - `base_role` string, required
    - `recommended_surfaces` SurfaceRecommendation[], required
      - `surface` string, required
      - `active` boolean, required
      - `present_in_source` boolean, required
    - `has_gap` boolean, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/sonenta/apis/sonenta-api.md) · [All operations](https://skmtc.dev/sonenta/apis/sonenta-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sonenta/apis/sonenta-api/revisions/f853ea49fb05?raw)
