> ## Documentation Index
> Fetch the complete documentation index at: https://docs.askfutures.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Internal HTTP API

> Why the web app's HTTP layer is private, and how the MCP tools map onto it.

The AskFutures web app talks to a private HTTP backend. That backend is **not a
third-party API** — it's an internal interface, and its endpoints are not a
supported, stable contract for outside callers.

<Warning>
  Don't build against the internal HTTP endpoints. They are private, can change
  without notice, and aren't documented as callable contracts. The
  **[MCP tools](/api-reference/mcp-tools)** are the supported public mapping of
  what the app can do.
</Warning>

## What this means

* **The MCP server is the public surface.** Anything you'd want to do
  programmatically — sessions, strategies, backtests, optimization, reference
  data — is exposed as an MCP tool. Use those.
* **The HTTP backend is an implementation detail.** The web app uses it; the MCP
  server uses it on your behalf. It's not for you to call directly.
* **No endpoint contracts here.** We deliberately don't publish request/response
  schemas for the internal endpoints, because they aren't a promise we keep for
  external integrations.

## How the layers fit

The browser app and the MCP server are both clients of the same private backend.
You sit on the MCP side.

```mermaid theme={null}
flowchart LR
  W["Web app<br/>(browser)"] --> B["Private HTTP backend<br/><i>internal — not third-party callable</i>"]
  Y["You / your tools"] --> M["MCP server<br/><b>public surface</b>"]
  M --> B
```

The MCP tools are a stable, intentional mapping over that backend: each tool
takes care of the calls, the async polling, and the response shaping for you. So
when you call [`create_strategy`](/api-reference/mcp-tools#create_strategy) or
[`wait_for_completion`](/api-reference/mcp-tools#wait_for_completion), you're
getting the supported version of what the app does — without depending on
internal endpoints.

<Info>
  The supported public surface is the MCP server. The internal HTTP backend
  exists, but it's private and outside the support boundary.
</Info>

## What to use instead

<CardGroup cols={2}>
  <Card title="MCP tool reference" icon="square-terminal" href="/api-reference/mcp-tools">
    The public, documented tools — inputs and response shapes.
  </Card>

  <Card title="Developers overview" icon="code" href="/developers/overview">
    Connect a client and start driving AskFutures.
  </Card>
</CardGroup>

## Next steps

<CardGroup cols={2}>
  <Card title="Quickstart" icon="bolt" href="/developers/quickstart">
    Connect and run your first strategy programmatically.
  </Card>

  <Card title="Tools walkthrough" icon="toolbox" href="/developers/tools">
    The MCP tools, explained as a workflow.
  </Card>
</CardGroup>
