---
title: "MCP server (streamable HTTP, JSON-RPC 2.0). Same data and billing as the REST API."
method: POST
path: "/mcp"
---

# MCP server (streamable HTTP, JSON-RPC 2.0). Same data and billing as the REST API.

`POST /mcp`

## Request

- Base URL: `https://soren.com`
- URL: `https://soren.com/mcp`
- Auth: none declared

Tools: get_free_games (paid), get_upcoming (paid), check_for_changes (free), get_status (free). Calling a paid tool without payment_proof returns payment instructions rather than an error, so an agent can discover the price and pay unattended. MCP has no conditional-request mechanism, so the REST API's free-304 behaviour is surfaced as the explicit check_for_changes tool.

## Response `200`

JSON-RPC response

## Other responses

- `202`: Notification accepted, no body
- `429`: Rate limited

---

[API](https://skmtc.dev/soren/apis/soren-free-games-api.md) · [All operations](https://skmtc.dev/soren/apis/soren-free-games-api/llms.txt) · [OpenAPI document](https://skmtc.dev/soren/apis/soren-free-games-api/revisions/00402cfcf30d?raw)
