---
title: "Mcp Post"
method: POST
path: "/api/v1/mcp"
tags: ["mcp"]
---

# Mcp Post

`POST /api/v1/mcp`

## Request

- Base URL: `https://app.sentineliq.net`
- URL: `https://app.sentineliq.net/api/v1/mcp`
- Auth: HTTP bearer

Keyed stateless JSON-RPC 2.0 dispatch — all ten tools, metered.

Auth and rate limits run before JSON-RPC parsing. Execution quota is
reserved only after tool arguments validate, leaving discovery usable
when a quota is exhausted. These rejections use HTTP errors with no-store.

## Request body

- object
  - `jsonrpc` '2.0', required
  - `id` unknown
  - `method` 'initialize' | 'server/discover' | 'tools/list' | 'tools/call' | 'ping', required
  - `params` object

## Response `200`

One JSON-RPC 2.0 response object: {jsonrpc, id, result} or {jsonrpc, id, error: {code, message}}. Tool failures are result.isError=true with a {code, message} text block. Batch requests are rejected (-32600).

- object
  - `jsonrpc` '2.0', required
  - `id` unknown, required
  - `result` object
  - `error` object
    - `code` integer, required
    - `message` string, required

## Other responses

- `202`: Notification (request without id) accepted.
- `400`: Unsupported MCP-Protocol-Version header.
- `401`: INVALID_KEY — key missing, malformed, revoked, or not authorized.
- `402`: PLAN_REQUIRED (valid key, no active plan, free answers spent) or TRIAL_QUOTA_EXHAUSTED. Carries upgrade_url and X-Quota-Remaining: 0.
- `403`: Supplied Origin is not in the configured origin allowlist.
- `413`: PAYLOAD_TOO_LARGE — serialized body exceeds 65536 bytes; never metered. Reduce it before retrying.
- `429`: RATE_LIMITED (per-key burst; Retry-After) or QUOTA_EXCEEDED (rolling 24h ledger; Retry-After, upgrade_url, X-Quota-Remaining: 0), or CUSTOMER_BUDGET_EXCEEDED (customer-selected daily/monthly cap; X-Quota-Remaining: 0).

---

[API](https://skmtc.dev/sentineliq/apis/sentinel-property-research-api.md) · [All operations](https://skmtc.dev/sentineliq/apis/sentinel-property-research-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sentineliq/apis/sentinel-property-research-api/revisions/64c34d5f2937?raw)
