Skip to main content

Configuration

The Ductape MCP server uses stdio transport and requires no environment variables. Configure your MCP client to spawn the server as a child process.

Cursor

Add the server in MCP settings. Config file locations:

  • User-wide: ~/.cursor/mcp.json
  • Project-scoped: .cursor/mcp.json in your project root
{
"mcpServers": {
"ductape": {
"command": "node",
"args": ["/absolute/path/to/Ductape/platform/mcp-server/dist/index.js"]
}
}
}

Important: Use an absolute path for args[0]. Relative paths may fail depending on the client's working directory.

Development mode

Point to tsx for live reload during server development:

{
"mcpServers": {
"ductape": {
"command": "npx",
"args": ["tsx", "/absolute/path/to/Ductape/platform/mcp-server/src/index.ts"]
}
}
}

Global binary

If you ran npm link in platform/mcp-server/:

{
"mcpServers": {
"ductape": {
"command": "ductape-mcp"
}
}
}

After editing config, restart Cursor or reload MCP servers from the MCP settings panel.

Claude Desktop

Claude Desktop uses a similar JSON config. On macOS:

~/Library/Application Support/Claude/claude_desktop_config.json

On Windows:

%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"ductape": {
"command": "node",
"args": ["/absolute/path/to/Ductape/platform/mcp-server/dist/index.js"]
}
}
}

Restart Claude Desktop after saving.

Other MCP clients

Any client that supports stdio MCP servers can use the same pattern:

FieldValue
commandnode (or ductape-mcp if linked globally)
args["/absolute/path/to/platform/mcp-server/dist/index.js"]
Transportstdio (default for spawned processes)

Clients that support MCP over SSE or HTTP would need a separate adapter — the Ductape MCP server ships stdio only.

Credentials

The server itself stores no credentials. Pass them per tool call:

ToolCredential
ductape_executepublishable_key (required on every call)
ductape_generate_payloadpublic_key, workspace_id, user_id
ductape_generate_snippetSame as payload generation

Where to find keys

  • Publishable Key — Workbench → workspace settings, or SDK access panel
  • Public Key / Workspace ID / User ID — Same workspace settings; used for payload generation and direct SDK initialization

See Security for why credentials are per-request rather than in server config.

Project-scoped vs user-wide config

ScopeBest for
User-wide (~/.cursor/mcp.json)Personal development across all projects
Project-scoped (.cursor/mcp.json)Team-shared config committed to the repo

For team repos, consider documenting the required absolute path in a README and using project-scoped config with a path each developer adjusts locally, or a wrapper script that resolves the monorepo path.

Wrapper script (optional)

If absolute paths are awkward across machines, use a small launcher:

#!/usr/bin/env bash
# save as ~/bin/ductape-mcp-launch.sh
exec node "$(dirname "$0")/../../Ductape/platform/mcp-server/dist/index.js"

Then in MCP config:

{
"mcpServers": {
"ductape": {
"command": "/Users/you/bin/ductape-mcp-launch.sh"
}
}
}