Skip to content
DPF logo

DPF MCP server

Which MCP servers are DPF's own, from the official registry and from asking its own domain, whether they answer, and what they offer. A program checked each of these, nobody copied them from a product page.

read 2026-10-24

← Back to DPF

Whose server it is
  • Registry namecom.dpf-it/mcp-serververified in the MCP registry

The registry name sits under dpf-it.com. The registry only lets a publisher use that namespace after proving control of the domain through DNS or HTTP.

When we asked itchecked 2026-10-24
  • Stateanswerschecked 2026-10-24
  • Tools18
  • Server calls itselfdpf-mcp-remote
  • Server version1.0.0
  • Protocol version2025-06-18

On 2026-10-24 the server answered initialize and tools/list without a sign-in. First answer in 1144 ms.

Should an agent connect itNot proven either way yet
  • Its tools do every use case we checked: turn raw CSV, JSON, XML or Excel files into queryable data; generate parsing and transformation pipelines from plain-language descriptions; land transformed results in open Apache Iceberg tables.
  • Checked on 3 of the 7 days it takes to judge reliability.

Once connected

  • For "generate parsing and transformation pipelines from plain-language descriptions", the likely first call is onboard_data_source.
  • For "land transformed results in open Apache Iceberg tables", the likely first call is list_my_workspaces.
  • create_workspace, delete_data_spec, update_data_spec change data without a sign-in: anyone with the address can call them.

Said by rules from the measurements above. The likely first call is a model's pick from the tool list; read its description before relying on it.

Measured dailydaily checks: 3, the first on 2026-10-24
  • INITE MCP scoreafter a weeka score needs 7 daily checks: 3 so far
  • What an agent can do with it3 of 3 use cases
  • Answeredmeasuring3 of the 7 daily checks it takes to print a share
  • Median first answer117 ms
  • Space in an agent's context≈ 10,554 tokensthe definitions of all its tools (18), which an agent carries on every turn
  • Tool definitionsA · 98 of 100
  • Typed results16 of 18 toolsdeclared outputSchema: results come typed, read once
  • Parameters without a description: in 2 of 18

What an agent can do with it

  • can do · turn raw CSV, JSON, XML or Excel files into queryable data
  • can do · generate parsing and transformation pipelines from plain-language descriptions
  • can do · land transformed results in open Apache Iceberg tables

Each of the product's use cases, put to Jev against this server's tool list: can an agent do it with these tools?

Worth a look

  • Tools that change data, on a server that answers without a sign-in: create_workspace, delete_data_spec, update_data_spec

A program checks the server once a day: initialize and tools/list, no model. Tokens are the definitions' length at about four characters a token. The grade averages six checks of every tool's name, description, schema and annotations; it says how well the tools are described, not whether they work. The score weighs what was measured and nothing else: answering (25%), doing the product's job (25%), definitions (20%), context (10%), use (10%) and how readily a client connects (10%). A part that was not measured is left out, and a hidden instruction caps the score at 40. The state of vendors' MCP servers: method and numbers →

Tools it offers18 tools · read 2026-10-24
  • list_my_workspaces

    List every workspace the authenticated user has access to, including their permission on each.

  • create_workspace

    Create a new workspace, owned by the authenticated user. Use this if list_my_workspaces returns none.

  • list_data

    List either the data specs (parsing + mapping rule sets, resource: "specs") or the data processing jobs (executions of a spec, resource: "jobs") defined in a workspace. Each spec includes its specId and current status — poll a specific…

  • get_status

    Poll the status of either a data spec's own process (schema inference + code generation, run by start-analysis — pass specId, reaches "ready" or "failed") or a data-load job (pass jobId, reaches "complete" or "failed"). Pass exactly one…

  • delete_data_spec

    Permanently delete a data spec and its associated configuration.

  • submit_query

    Run a SQL query against the Iceberg tables loaded into a workspace. To list the tables that actually exist in the workspace, run `SHOW TABLES` — this is the authoritative source (unlike list_data's specs, which describe pipelines, not…

  • manage_connection

    Create, list, test, or delete a workspace connection to an external data source. Two types are supported: "sftp" and "aws_s3". For sftp, create generates a keypair and returns the public key — it must be installed in the remote server's…

  • manage_trigger

    Create, list, update, delete, or fire a workspace job trigger. Four types: - "sftp"/"aws_s3": pulls files from a connection (sftp: remote server; aws_s3: S3 bucket/prefix) into an already-analyzed data spec on a schedule…

  • onboard_data_source

    First step of setting up a new data integration: creates a data spec. By default (sourceType "file") this returns presigned upload URL(s) for the sample file (and optional format/target-schema file). Creating the spec does NOT upload…

  • finish_data_source_onboarding

    Call ONLY after the file(s) returned by onboard_data_source have actually been uploaded (each PUT returned HTTP 200) — kicks off AI analysis and waits until the spec reaches "ready" or "failed". This tool verifies the upload against…

  • update_data_spec

    Change an existing data spec's configuration. If no replacement file names are given, this runs synchronously (no upload needed): saves changes and — by default — re-runs AI analysis, returning the final status directly. If a replacement…

  • finish_data_spec_update

    Call ONLY after the file(s) returned by update_data_spec have actually been uploaded (each PUT returned HTTP 200) — kicks off AI analysis and waits until the spec reaches "ready" or "failed". The upload is verified against storage first…

  • run_data_job

    First step of processing new data files through an already-configured data spec: creates a job and returns presigned upload URL(s) for each file. Upload the file(s) per the returned instructions, then call finish_data_job with the…

  • finish_data_job

    Call after uploading the file(s) returned by run_data_job — starts processing and waits until the job completes or fails. If it returns before that (timedOut: true), do NOT call this tool again just to keep checking — that re-attempts…

  • setup_scheduled_pull

    End-to-end workflow for "pull files from this SFTP server / S3 bucket on a schedule" requests: reuses a matching connection if one already exists in the workspace (same hostname/username for sftp, same roleArn for aws_s3), otherwise…

  • call_dpf_api

    Escape hatch for DPF capabilities that don't have a dedicated tool yet. ALWAYS prefer a dedicated tool when one exists — get_status, list_data, submit_query, delete_data_spec, onboard_data_source, update_data_spec, run_data_job…

  • manage_account

    Returns instructions for creating a DPF account, verifying its email, resending the verification code, or resetting a forgotten password — it never performs these itself and never asks for a password. A password typed into this chat would…

  • contact

    Send a message to the DPF team — request a demo, ask about licensing, report an issue, or request a feature. No authentication required. Always ask the user for their email if they have not already given it in this conversation.

How to connect

Add the server to your MCP client config. Claude Desktop, Cursor and most other clients read this shape:

{
  "mcpServers": {
    "dpf-it": {
      "type": "http",
      "url": "https://api.dpf-it.com/mcp"
    }
  }
}

Add it

Claude Code, in a terminal

claude mcp add --transport http dpf-it https://api.dpf-it.com/mcp

Add to CursorAdd to VS Code

claude.ai, ChatGPT and other clients: add https://api.dpf-it.com/mcp as a custom connector in the settings.

Each line is something a program found when it went looking: the registry entry, the server's own answer, a spec that parses. A missing line means we did not find it, not that it does not exist.