tuqo
CLI · tqk_ key in a header

Tuqo in DeepSeek Harness

DeepSeek Harness (the dsh command) is DeepSeek's open agent environment with a web UI. External MCP servers are connected through the @deepseek-ai/dsh-mcp-client plugin: a row with the address and headers goes into the profile patch, cordis.patch.yml. This client has no OAuth sign-in, so Tuqo connects with a tqk_ project key.

Project key in the Authorization header · scope of your choice
1

Create a project key

In the Tuqo panel at app.tuqo.dev → project → AI & API → create. Format tqk_…, shown once.

2

Open the profile patch

The cordis.patch.yml of the profile you run dsh with. For the web UI it is usually ~/.dsh/profiles/web/cordis.patch.yml.

3

Add the Tuqo row

A row for the @deepseek-ai/dsh-mcp-client plugin: transport streamable-http, the MCP address and the Authorization header (example below). Use an id and a serverName that are not taken yet.

4

Check and deploy

With hot reload on, dsh picks up the edit by itself; without it, restart dsh. dsh web --dump-config shows the row in the resulting config; then ask the agent to publish a site.

# ~/.dsh/profiles/web/cordis.patch.yml
- insert:
    - id: mcp-tuqo
      name: '@deepseek-ai/dsh-mcp-client'
      config:
        serverName: tuqo
        transport: streamable-http
        url: https://mcp.tuqo.ru/mcp
        headers:
          Authorization: Bearer tqk_xxx_yyy

The Tuqo panel is in English, and the labels here are the ones it shows.

DeepSeek Harness + Tuqo: frequently asked

Do I need OAuth? +

No. The built-in MCP client of DeepSeek Harness sends static headers and does not run a browser sign-in. Connect with a tqk_ key: you create it in the panel at app.tuqo.dev and revoke it there too.

The row is there, but the Tuqo tools are not +

Check the resulting config: dsh web --dump-config should show the mcp-tuqo row. If the id is already taken, the patch replaces that row's config instead of adding a new one; serverName must be unique too.

How do I keep the key out of the file? +

The header value can come from an environment variable when the config loads, as the plugin docs show: Authorization: !!js '`Bearer ${process.env.TUQO_API_KEY}`'. Set the variable in the shell you start dsh from.

Can the config format change? +

DeepSeek Harness is still a developer preview, and its developers warn about breaking changes. If the row stops working, check the dsh-mcp-client plugin docs: the Tuqo address and header stay the same.

How many tools does the agent get? +

All 52 Tuqo tools: sites, deploy_files/deploy_site, domains, rollbacks, gated access, form submissions. The key sets the permissions: editor is enough for deploys.

Connect another AI