Can DeepSeek V4.1 Flash call Sume's hosted MCP tools?

DeepSeek V4.1 Flash supports tool calls. Your code maps each call to Sume MCP tools_list, tools_schema and a gated paid call. The model never holds your key.

5 min readSume
All posts

Yes, through your own client code. The vendor's docs list tool calls as supported for DeepSeek V4.1 Flash, but they do not speak to Sume. You write the loop: read tools_list from Sume's hosted MCP, give the model the tool names and schemas as its function list, execute the call it picks against Sume with your credentials, and return the result. The key stays in your process and never goes into a prompt.

Who fills which field

Paid tools need the same care here as anywhere. Add dry_run, idempotency_key and max_spend_usd in your code, not in the model's arguments.

Fields in a model-driven MCP call (read 2026-10-05)
FieldFilled byWhy
Tool nameModelChosen from tools_list
Content argumentsModelValidated against tools_schema
idempotency_keyYour codeDerived from the job, not the model
max_spend_usdYour codeA model must not set its own ceiling
def finalize_args(model_args: dict, job_id: str, cap_usd: float) -> dict:
    args = {k: v for k, v in model_args.items()
            if k not in ("idempotency_key", "max_spend_usd")}
    args["idempotency_key"] = f"{job_id}-v1"
    args["max_spend_usd"] = cap_usd
    return args


print(finalize_args({"text": "hello", "max_spend_usd": 999}, "job-7", 0.5))

Start read-only

Under a read-only OAuth scope the paid tools are not in the list at all, which is a cheap way to run a first trial of a new model with no spend path.

Check the docs before you ship

Sume's limits and field names change faster than blog posts do. Read the linked docs pages for the current request fields before you ship, and send a dry_run or a low spend cap on your first real call.

Sources

Related posts

More in Integrations

All Integrations posts

Written by Sume