---
title: "Get Mcp Harnesses"
method: GET
path: "/user/mcp/harnesses"
---

# Get Mcp Harnesses

`GET /user/mcp/harnesses`

Every harness the caller has connected to Traversal MCP from.

The organization and user are always the caller's. Harnesses come from
self-reported client names, and unrecognized or missing names read as Other.

## Response `200`

Successful Response

- McpUserHarnessesResponse — Every harness the caller has used to connect to Traversal MCP.
  - `harnesses` McpHarness[], required — Each harness once, in McpHarness order. All time.
  - `stream_cursor` integer, nullable, required — Highest seq on this user's harness stream. Null when nothing was published. Pass it as the stream_data cursor when opening the websocket. Each event carries the raw client_name; refetch this endpoint for harness labels.

## Changes

> 63 revisions in range; 9 not diffed.

- **2026-09-30** `4fa2a4911e01` — 1 info
  - added the required property `stream_cursor` to the response with the `200` status
- **2026-09-28** `ff08ffe40f1a` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/traversal/apis/fastapi/changes/user/mcp/harnesses/get.md)

---

[API](https://skmtc.dev/traversal/apis/fastapi.md) · [All operations](https://skmtc.dev/traversal/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc.dev/traversal/apis/fastapi/revisions/53b6ebae31bc?raw)
