DPF

DPF MCP API

Remote Streamable HTTP MCP (Model Context Protocol) server. A single JSON-RPC endpoint, authenticated with a Bearer token from either the OAuth 2.1 Authorization Server (recommended) or a plain `/auth/login` JWT. Stateless — no session is held between requests.

Operations 1

POST /mcp Remote MCP server (Streamable HTTP, JSON-RPC 2.0) #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/dpf-it-com:dpf-it-com-mcp-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

dpf-it-com-mcp-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: DPF MCP API
  version: 1.1.0
  description: '## Common error responses


    Unless otherwise noted, any authenticated endpoint may also return the following

    responses, each with the standard `ErrorResponse` body. To avoid repetition they are

    not listed individually on each operation:


    - **400 Bad Request** — malformed JSON, unknown action, or missing/invalid fields

    - **401 Unauthorized** — missing or invalid JWT bearer token

    - **402 Payment Required** — the account has insufficient credits or an inactive subscription

    - **403 Forbidden** — authenticated but not permitted (no access to the resource, or a higher access level / plan tier is required)


    Operation-specific responses (e.g. `404`, `409`) are documented on each endpoint.'
  contact:
    name: Contact DPF
    url: mailto:contact@dpf-it.com
  license:
    name: Proprietary
    url: https://dpf-it.com/#terms
servers:
- url: https://api.dpf-it.com
  description: Production API
security: []
tags:
- name: MCP
  description: 'Remote Streamable HTTP MCP (Model Context Protocol) server. A single JSON-RPC endpoint,

    authenticated with a Bearer token from either the OAuth 2.1 Authorization Server (recommended)

    or a plain `/auth/login` JWT. Stateless — no session is held between requests.'
paths:
  /mcp:
    post:
      tags:
      - MCP
      summary: Remote MCP server (Streamable HTTP, JSON-RPC 2.0)
      description: 'Single endpoint implementing the MCP Streamable HTTP transport, stateless (no session is

        held between requests — every request is independently authenticated and dispatched).

        Responses are always direct JSON (never SSE) since every tool here is a synchronous

        request/response against the DPF REST API.


        **Auth is required on every request, including `initialize`.** Send

        `Authorization: Bearer `, where the token is either an OAuth 2.1 access token (see

        `/oauth/token`) or a plain `/auth/login` JWT. An unauthenticated request gets a `401` with a

        `WWW-Authenticate` header pointing at the authorization/token endpoints — this is what makes

        OAuth-aware clients (VS Code, Cursor, Claude) discover they need to authenticate and run the

        OAuth flow automatically.


        Body is a standard JSON-RPC 2.0 MCP message (`initialize`, `tools/list`, `tools/call`, etc.)

        — see the Model Context Protocol specification for the message format. Tools available:

        list_my_workspaces, create_workspace, list_data, get_status, delete_data_spec, submit_query,

        manage_connection, manage_trigger, onboard_data_source, finish_data_source_onboarding,

        update_data_spec, finish_data_spec_update, run_data_job, finish_data_job,

        setup_scheduled_pull, call_dpf_api.'
      operationId: mcpRemote
      security:
      - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: JSON-RPC 2.0 MCP message
      responses:
        '200':
          description: JSON-RPC response
          content:
            application/json:
              schema:
                type: object
        '401':
          description: Missing or invalid Authorization header
        '405':
          description: Method not allowed — only POST is supported on this endpoint
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT token obtained from login or registration