How to Use KwaFlux with DeepSeek: Connecting DeepSeek Harness (DSH) over MCP
Add KwaFlux to DeepSeek Harness with one insert row in cordis.patch.yml, pick the right profile, raise the tool timeout, and let DeepSeek run video jobs.
Key takeaways
- DeepSeek Harness (DSH) connects to KwaFlux through one
insertrow in acordis.patch.ymlfile. KwaFlux generates the row for you. - Put it where the DSH you run will read it: the home patch
~/.dsh/cordis.patch.ymlapplies to every profile; a profile's own file applies to that profile only. - DSH hot-reloads patch files, so the tools usually appear without a restart.
- Raise the per-call tool timeout, so a long video job isn't cut off while DeepSeek waits for it.
DeepSeek's agent can drive KwaFlux through the local MCP server that installs with the app. DeepSeek Harness (DSH) loads MCP servers as plugin rows in a layered config file called cordis.patch.yml. In KwaFlux, choose DeepSeek under MCP host, copy the row, and append it to the patch file your DSH profile reads.
In this guide, you'll learn where the row goes, why the profile matters, which timeout to raise, and what to ask DeepSeek first.
Contents
- How DSH loads MCP servers
- Before you start
- Step 1. Copy the row from KwaFlux
- Step 2. Pick the right patch file
- Step 3. Append the row
- Step 4. Check that it loaded
- Your first requests
- Troubleshooting
- FAQ
How DSH loads MCP servers
DeepSeek Harness builds its configuration from layers of patch files. Each profile has its own cordis.patch.yml; a home-level $DSH_HOME/cordis.patch.yml is, in the CLI reference's words, "machine-local preferences shared by every profile, so it outranks the per-profile layer."
MCP servers are rows that use DSH's MCP client plugin, @deepseek-ai/dsh-mcp-client. DSH turns none on by default: the reference explains that "each server command is trusted executable code outside the agent sandbox." Adding KwaFlux is an explicit choice to trust KwaFlux's server.
Before you start
- KwaFlux 1.0.14 or later, open.
- Node.js 18 or newer, on PATH. Check with
node --version. KwaFlux's Settings card also looks for Node.js and writes its full path into the config, as in the examples below; if it can't find Node.js, it says so and writesnodeinstead. - DeepSeek Harness installed. DSH is labeled Preview in its documentation, so paths and commands can change between releases.
Step 1. Copy the row from KwaFlux
In KwaFlux, open Settings › Agent (MCP), choose DeepSeek under MCP host, and click Copy config. For a default Windows install, the row is:
- insert:
- id: mcp-kwaflux
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: kwaflux
transport: stdio
command: 'C:\Program Files\nodejs\node.exe'
args: ['C:\Program Files\KwaFlux\Tools\kwaflux-mcp\kwaflux_mcp.mjs']Sidenote: The path is in single quotes. In YAML, single-quoted strings keep backslashes as they are, so a Windows path needs no escaping.
Step 2. Pick the right patch file
KwaFlux's hint names one file: "Insert this plugin row into ~/.dsh/profiles/web/cordis.patch.yml, then restart the DSH session." That's right if you run DSH's web profile, dsh web. If you use something else, choose accordingly:
| How you run DSH | File to edit |
|---|---|
dsh web | ~/.dsh/profiles/web/cordis.patch.yml |
| The DSH desktop app | The desktop profile's cordis.patch.yml, under ~/.dsh/profiles/desktop/ |
| More than one profile, or not sure | The home patch, ~/.dsh/cordis.patch.yml, which every profile reads |
On Windows, ~ is C:\Users\<you>. If you've set DSH_HOME, use that folder instead of ~/.dsh.
The most common reason KwaFlux "doesn't show up" in DSH is that the row went into a profile you aren't running.
Step 3. Append the row
- Back up the file first.
- The patch file is a YAML list. Add the KwaFlux row at the end, at the same indentation as the other top-level
- insert:or- replace:items. - If the file doesn't exist yet, create it with just the KwaFlux row.
- Optionally, raise the tool timeout inside
config::
- insert:
- id: mcp-kwaflux
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: kwaflux
transport: stdio
command: 'C:\Program Files\nodejs\node.exe'
args: ['C:\Program Files\KwaFlux\Tools\kwaflux-mcp\kwaflux_mcp.mjs']
toolCallTimeoutMs: 330000A third-party setup guide reports that DSH's default per-call timeout is 60 seconds. KwaFlux's wait tool can wait up to 300 seconds in one call, so 330,000 milliseconds leaves room. If your DSH version rejects the field, remove it; DeepSeek can still wait again after a cut-off.
Step 4. Check that it loaded
DSH watches patch files and applies valid edits through hot reload, so the server usually starts within seconds of saving. If nothing changes, restart the DSH session, as KwaFlux's hint suggests.
Then ask:
Use the KwaFlux tools to check whether KwaFlux is running.
In DSH, KwaFlux's tools are named mcp__kwaflux__<tool>, such as mcp__kwaflux__kwaflux_get_app_status. If KwaFlux is closed, the tool returns an error starting with app_not_running.
Your first requests
| Ask DeepSeek | What KwaFlux does |
|---|---|
| "D:\Phone\clip.mp4 won't play. Diagnose it, then repair it with the recommended mode." | Diagnosis, then a repair task; the repaired file is written next to the original |
| "Run Quality Repair on D:\Old\class-1998.mp4 and wait until it finishes." | An AI Quality Repair task with default settings, then waiting on it |
| "Export D:\Clips\vlog.mov for YouTube at HD 1080P." | Looks up the YouTube tiers, then queues the export |
| "Show my KwaFlux tasks that failed today and why." | Lists failed tasks with their error reasons |
Frame interpolation and the matting and replace tools stay in the app; the assistant is told to send you there for those. Agent downloads stay off unless you set Let agents start downloads under Agent access to Ask every time. KwaFlux then shows a popup for each download, and the assistant also asks you to confirm in the chat that you have the right to download that content.
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| No KwaFlux tools in DSH | The row is in a profile you don't run | Move it to the home patch ~/.dsh/cordis.patch.yml |
| YAML error after saving | Indentation off, or the row isn't a list item | Match the indentation of other - insert: rows; insert: holds an indented list |
| Two servers clash | Another row already uses serverName: kwaflux | Keep one; server names must be unique |
| Server starts, then fails | Node.js missing or not on PATH | Install the current Node.js LTS, or put the full path to node.exe in command |
Calls return app_not_running | KwaFlux is closed | Open KwaFlux and ask again |
| Waits fail after about a minute | Per-call tool timeout | Add toolCallTimeoutMs: 330000 |
For issues common to every host, see the KwaFlux MCP troubleshooting guide.
Final thoughts
Copy the row from KwaFlux, put it in the patch file the DSH you actually run will read, and add a longer tool timeout for video jobs. DSH reloads it on save. Then keep KwaFlux open and ask DeepSeek to check the app's status before your first real job.
Drive KwaFlux from DeepSeek
KwaFlux includes a local MCP server for DeepSeek Harness and other MCP apps. AI processing runs locally on your GPU — media files are not uploaded for processing. It runs on Windows 10 (64-bit, version 1809 or later), Windows 11, and macOS 12 or newer on Apple Silicon. Importing files and exploring the app need no account. Signing in with an active paid plan is required only to export, convert, repair a file, or download a file from a link.
Try It on Your Own Footage
Download KwaFlux and preview effects on your own footage for free before you pay — no account needed, and your media is processed on your GPU, not uploaded for processing. Video previews run 1, 3, or 5 seconds; stabilization previews run 5, 15, or 30 seconds.
Frequently asked questions
What is DeepSeek Harness?
It's DeepSeek's agent harness: a CLI and desktop app that runs DeepSeek models as an agent with tools, configured through layered cordis.patch.yml files. MCP servers are added as plugin rows. See what an AI agent is.
Where do I add MCP servers in DeepSeek Harness?
In a cordis.patch.yml file, as an insert row for the @deepseek-ai/dsh-mcp-client plugin. Use a profile's own file for that profile, or the home file ~/.dsh/cordis.patch.yml for every profile.
Do I need to restart DSH after editing cordis.patch.yml?
Usually not. DSH hot-reloads valid edits to the profile and home patch files. If the tools don't appear, restart the session.
Can I use a DeepSeek model in another MCP app instead?
Yes, if that app lets you choose the model provider. MCP setup then follows that app's rules. Our assistant comparison lists where each app keeps its MCP config.
Is it safe to add an MCP server to DSH?
Partly, and that's why DSH turns none on by default. A local server runs as a program on your computer, outside the agent's sandbox, so only add servers you trust, from the app that ships them.
Sources
- DeepSeek, deepseek-harness repository, CLI reference README (dsh-mcp-client; MCP servers as trusted executable code; home patch layer; hot reload) (accessed 2026-10-26)
- DeepSeek Harness documentation, "Architecture" reference (profile templates; reserved desktop profile; patch layer order) (accessed 2026-10-26)
- ZensInk, "DeepSeek Harness (DSH): A Hands-On Setup Guide with MCP Integration" (2026-08-15; toolCallTimeoutMs; mcp__server__tool naming) (accessed 2026-10-26)


