---
title: "Send an MCP JSON-RPC message (initialize, tools/list, tools/call, ...)"
method: POST
path: "/.well-known/mcp"
tags: ["MCP"]
---

# Send an MCP JSON-RPC message (initialize, tools/list, tools/call, ...)

`POST /.well-known/mcp`

## Request

- Base URL: `https://voltplan.app`
- URL: `https://voltplan.app/.well-known/mcp`
- Auth: none declared

Streamable HTTP transport: send one JSON-RPC 2.0 request per call. Start with `initialize`, then `tools/list` to enumerate tools, then `tools/call` with `{ name, arguments }` to run one. The response is `application/json` or `text/event-stream` depending on the `Accept` header sent.

## Headers

- `Mcp-Session-Id` string

## Request body

- JsonRpcRequest
  - `jsonrpc` '2.0', required
  - `id` union
    - string
    - integer
  - `method` 'initialize' | 'tools/list' | 'tools/call', required
  - `params` object

## Response `200`

JSON-RPC result or SSE stream of JSON-RPC messages

- JsonRpcResponse
  - `jsonrpc` '2.0'
  - `id` union
    - string
    - integer
  - `result` object
  - `error` JsonRpcError
    - `code` integer
    - `message` string

## Other responses

- `502`: MCP upstream unreachable; the proxy answers with a JSON-RPC error envelope.

---

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