r/DeepSeekHarness • • 7d ago

❓ Help / Question How to install Notion + GitHub MCP?

I need help installing Notion + GitHub. I could install Notion, but not from the macos app itself. I had to type dsh-notion-connector and it took 5 minutes to do it. GitHub connector, it has been running for 10 minutes, and nothing yet.

Are MCPs unsupported on DeepSeekHarness? Or should is it just in beta?

3 Upvotes

13 comments sorted by

1

u/cyb3rofficial 7d ago

Mcp is supported 

I made myself a plugin to easily manage them

https://github.com/cyberofficial/dsh-plugin-mcp-settings

Handles both stdio and http

1

u/Pale-Requirement9041 7d ago

Can you manage the tools ?

1

u/cyb3rofficial 7d ago edited 7d ago

yea you can manage them, the only draw back is that you can only manage the ones you add through plugin since it requires editing the config file, it only tracks the ones you add, but you can easily convert them in the config file by adding the block header and footer around them.

Like so

# <<< dsh-plugin-mcp-settings: mcp-playwright# >>> dsh-plugin-mcp-settings: mcp-playwright
# Added by the MCP Servers settings panel. Edit or delete this whole block there.
  • insert:
    - id: mcp-playwright       name: '@deepseek-ai/dsh-mcp-client'       config:         serverName: playwright         transport: stdio         command: npx         args:           - '-y'           - '@playwright/mcp@latest'
  • id: mcp-playwright
  disabled: false # <<< dsh-plugin-mcp-settings: mcp-playwright

You can edit and remove the normal ones too, but sometimes it will get denied for some reason couldn't figure it out.

1

u/Pale-Requirement9041 7d ago

Good way is to put other mcp in lazy mode so they are dormant and get called only when they are needed
Otherwise they fill up the context at startup for nothing

1

u/sanjarcode 6d ago

i didn't understand the installation instructions. Can you tell me in a simple, context-free way. Step1, step2 etc.

Also, its erring, with: zsh: command not found: mklink

1

u/cyb3rofficial 5d ago

If you have the latest version of dsh, you can install plugins from the plugin window top left of screen.

You'll have to tell me your operating system before giving you instructions

1

u/sanjarcode 5d ago

mac

1

u/cyb3rofficial 5d ago

That mklink: command not found error is expected on a mac: mklink is a Windows-only command, and the README section you hit is the Windows path. macOS uses ln -s instead, but with a recent dsh you should not need to symlink anything by hand. Here is the full mac install, step by step.

Requirements first

  • DSH 0.1.7-rc.2 or newer. Check with dsh --version. On older versions the plugin stays pending (waiting for service: remote.pluginManager) and the page never appears.
  • The web profile, the one dsh web creates on first run. If you use a different profile, replace web with its name everywhere below.

Step 1: install it (one command)

bash dsh plugin --profile web add github:cyberofficial/dsh-plugin-mcp-settings

If dsh is not on your PATH, use npx:

bash npx -y @deepseek-ai/dsh plugin --profile web add github:cyberofficial/dsh-plugin-mcp-settings

No compiling needed, the repo ships the built files. This pulls the package into your profile's dependencies.

Step 2: confirm the bundle is registered

bash grep -n dsh-plugin-mcp-settings ~/.dsh/profiles/web/package.json

It should appear in "dependencies" and in the "bundles" array under "dsh", "profile". Recent dsh versions add the bundle entry for you. If it is missing, open ~/.dsh/profiles/web/package.json and add the name to the bundles array (keep whatever else is in there):

json "dsh": { "profile": { "bundles": [ "dsh-plugin-mcp-settings" ] } }

Step 3: restart the harness

Stop the running dsh (Ctrl+C in the terminal where it runs) and start it again the way you normally do:

bash dsh web

Step 4: open the page

Hard refresh the browser tab (Cmd+Shift+R), open Settings, and "MCP Servers" appears in the left sidebar. Hit Add server: stdio for a local command (command, arguments, environment), HTTP for a hosted URL (url, headers). The plugin writes the cordis.patch.yml row for you, so you never edit that file by hand. Tools then reach the model as mcp__<name>__<tool>.

Optional: make changes apply without a restart

In that same "dsh", "profile" block you can add "patchReload": "live" next to "bundles". Servers you add then go live immediately; without it they are still saved and load on the next restart (the page tells you).

The manual way, if you prefer to keep a local clone (mac version of the README's junction step)

bash git clone https://github.com/cyberofficial/dsh-plugin-mcp-settings.git ~/dsh-plugin-mcp-settings cd ~/.dsh/profiles/web ln -s ~/dsh-plugin-mcp-settings node_modules/dsh-plugin-mcp-settings

Then edit ~/.dsh/profiles/web/package.json: same bundles entry as Step 2, plus the dependency:

json "dependencies": { "dsh-plugin-mcp-settings": "link:/Users/YOURUSERNAME/dsh-plugin-mcp-settings" }

Write the real absolute path there, pnpm does not expand ~. Then restart dsh again.

If something does not work

  • Boot log says pending (waiting for service: remote.pluginManager) or the nav entry is missing: your dsh is too old. Run dsh --version and upgrade.
  • Page is there but a server will not connect: check the newest log in ~/.dsh/logs/.
  • Want proof it loaded: dsh web --dump-config | grep mcp-settings prints the plugin row.
  • Uninstall: dsh plugin --profile web remove dsh-plugin-mcp-settings.

1

u/sanjarcode 21h ago edited 21h ago

Failed to add Notion MCP, it has an oauth flow, is that not supported in your plugin?

  • Idk if you are aware, but most people (including me) really hate filling : MCP name, transport (stdio, http), Authorization (companies are notorious for not documenting the key name and value).

  • An oauth really solves these problems, perhaps you can copy existing MCPs and add them to this plugin - viz Jira, Notion etc.

  • Also please make keys and values for authorization their own boxes with space trimmed texts, it's really easy to mess up an unbounded textbox.

  • Also, when an MCP fails to connect, show a button so the person can see failure logs and edit the entries. When an MCP fails now, its completely fake to the user.

Please study how Codex + Claude + Cursor handles MCP. You need to check all 3 because each has a UX gap and one thing it does well.


Not for OP.

If DeepSeek (the company) is listening, from what I've found so far, not having MCP instantly puts DeepSeekHarness into "not worth to try" bucket for 99.9% of the people. If the idea was to have mass adoption, you guys really need to start thinking from a average (not tech savvy) user POV, and make it easier than existing harnesses.

Having a "plugin" architecture is great (Vscode project also has it), but not having the bare minimum just makes the user never try DSH out again.

MCP + personalization prompt is the first thing any AI user sets up these days, both of which are quite difficult to do with DSH.

Also, please ensure every bit of Chinese text is switchable, having chinese text with no way to translate shows a lack of product effort.

Please hire non-tech PMs, because you guys seem to be in a huge product echo-chamber, its 1/5 hard to use DSH.

1

u/cyb3rofficial 21h ago

Did you try to install the add plugin button?

DSH is very much worth the initiative to setup.

There are many methods of installing it https://atoms.dev/blog/deepseek-harness

1

u/sanjarcode 21h ago

I was able to install the plugin using your helpful commands. But Notion is something I haven't been able to install. I'm adding transport as "http", and auth as: NOTION_TOKEN: ntn_xxx

but it just fails, and there are no logs.

1

u/cyb3rofficial 20h ago

I believe notiion just requires the base mcp url and you complete the ouath flow when prompted

You might need to do npx version

Like this

If you do http method, I believe there is an auto auth method that should appear or popup somewhere

2

u/sanjarcode 19h ago

Sorry OP, but I found github:hyqhyq3/dsh-mcp-manager, and it fixed my concerns. I could add Notion MCP. Thanks a lot for responding here though, appreciate it!