---
title: "Open MCP server-to-client stream"
method: GET
path: "/api/v1/mcp"
tags: ["MCP"]
---

# Open MCP server-to-client stream

`GET /api/v1/mcp`

Opens a text/event-stream connection for server-initiated notifications as described in the MCP Streamable HTTP transport. The endpoint currently sends no notifications — clients that only care about request/response use POST.

## Query parameters

- `token` string

## Headers

- `Mcp-Session-Id` string

## Response `200`

SSE stream

## Other responses

- `401` — Missing or invalid API key
- `403` — Origin rejected.
- `429` — Rate limit exceeded. Two independent budgets. (1) 100 requests/minute per user (sliding window), on every authenticated route. (2) On the BATCH routes only: 2500 batch item units/minute per user, reserved before any item is executed. A batch with N requested items costs N item units, including duplicate and invalid items. 2500 = 100 requests x 25 items per batch, which is the most item work a key can buy through the request limiter at all: a caller may spend their entire 100-request minute on full 25-item batches without the item budget being what stops them. The REQUEST budget is the effective ceiling, and batching is never the more expensive choice. The item budget can still deny at a sliding-window boundary (both counters carry the previous window forward with a floor, and the item counter runs 25x the request counter), so honor a 429 from either. Over-quota batches return 429 with Retry-After plus RateLimit-Limit, RateLimit-Remaining, and RateLimit-Reset before any item work is done.

## Changes

- **2026-08-29** `7c0c7cdd41ee` — 3 warning
  - added the new `database_unavailable` enum value to the `error/reason` response property for the response status `401`
  - added the new `database_unavailable` enum value to the `error/reason` response property for the response status `403`
  - added the new `database_unavailable` enum value to the `error/reason` response property for the response status `429`
- **2026-08-29** `8582a359fa07` — 5 info
  - added the media type `application/json` for the response with the status `403`
  - added the optional property `meta/ranking_as_of` to the response with the `401` status
  - added the optional property `meta/ranking_as_of` to the response with the `429` status
  - added the optional property `meta/ranking_generation` to the response with the `401` status
  - …1 more
- **2026-07-30** `19193b177154` — 4 warning, 22 info
  - added the new `idempotency_in_progress` enum value to the `error/reason` response property for the response status `401`
  - added the new `idempotency_in_progress` enum value to the `error/reason` response property for the response status `429`
  - added the new `webhook_delivery_in_progress` enum value to the `error/reason` response property for the response status `401`
  - added the new `webhook_delivery_in_progress` enum value to the `error/reason` response property for the response status `429`
  - …22 more
- …earlier changes not shown

[Full history](https://skmtc.dev/0xinsider/apis/0xinsider-api/changes/api/v1/mcp/get.md)

---

[API](https://skmtc.dev/0xinsider/apis/0xinsider-api.md) · [All operations](https://skmtc.dev/0xinsider/apis/0xinsider-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/0xinsider/0xinsider-api/revisions/7c0c7cdd41ee/schema)
