dts-mcp
Enables uploading source data, queuing Windows DTS Engine publishing jobs, monitoring them, and downloading hash-verified 3DT results.
README
Claude Code DTS MCP Plugin
Private Claude Code plugin for the DTS Engine gateway at
https://192.168.50.170:8770/mcp.
It lets Claude Code on macOS or Windows upload source data, queue Windows DTS Engine 6.1 publishing jobs, monitor them, and download hash-verified 3DT results. The plugin contains no DTS Engine binaries and no server secrets.
This is the Claude Code counterpart to
codex-dts-mcp-plugin,
which serves the same gateway to Codex on macOS. Both plugins can share the
same stored bearer token because they target the same gateway and the same
DTS_MCP_TOKEN environment variable.
Prerequisites
- The client machine can route to
192.168.50.170:8770through the private LAN or VPN. - GitHub access can clone
zhouning/claudecode-dts-mcp-plugin. - Claude Code CLI is installed (
claude plugin --helpsucceeds). - The Windows DTS MCP gateway is healthy and DTS Engine is installed, licensed, and running in a logged-in interactive Windows session.
- You have the gateway Bearer Token through a secure channel.
Do not paste the token into a shell command. Both installers prompt without
terminal echo: configure-macos.sh stores it in the macOS login Keychain,
configure-windows.ps1 stores it in Windows Credential Manager.
Install On macOS
git clone git@github.com:zhouning/claudecode-dts-mcp-plugin.git
./claudecode-dts-mcp-plugin/plugins/dts-mcp/scripts/configure-macos.sh
The script imports only the public DTS MCP CA into the login Keychain, stores
the Bearer Token under service dts-mcp, installs a user LaunchAgent that
restores DTS_MCP_TOKEN, adds the zhouning-dts marketplace, installs
dts-mcp@zhouning-dts, and verifies the fixed health endpoint.
Verify with:
./claudecode-dts-mcp-plugin/plugins/dts-mcp/scripts/verify-connection-macos.sh
Install On Windows
git clone https://github.com/zhouning/claudecode-dts-mcp-plugin.git
.\claudecode-dts-mcp-plugin\plugins\dts-mcp\scripts\configure-windows.ps1
The script stores the Bearer Token as a Generic Credential in Windows
Credential Manager under target dts-mcp, persists DTS_MCP_TOKEN as a user
environment variable and broadcasts the change so new processes see it,
trusts the bundled CA in Cert:\CurrentUser\Root, adds the zhouning-dts
marketplace, installs dts-mcp@zhouning-dts, and verifies the fixed health
endpoint.
Verify with:
.\claudecode-dts-mcp-plugin\plugins\dts-mcp\scripts\verify-connection-windows.ps1
Restart Claude Code and open a new session after installation on either platform.
Update
git -C claudecode-dts-mcp-plugin pull --ff-only
claude plugin marketplace update zhouning-dts
claude plugin install dts-mcp@zhouning-dts
Restart Claude Code and use a new session after an update.
Rotate The Bearer Token
Rotate the token on the Windows gateway first, then run:
./claudecode-dts-mcp-plugin/plugins/dts-mcp/scripts/configure-macos.sh --rotate-token
.\claudecode-dts-mcp-plugin\plugins\dts-mcp\scripts\configure-windows.ps1 --rotate-token
Refresh The CA
After the Windows host address or DTS MCP CA changes, update the checkout and run:
git -C claudecode-dts-mcp-plugin pull --ff-only
./claudecode-dts-mcp-plugin/plugins/dts-mcp/scripts/configure-macos.sh --refresh-ca
./claudecode-dts-mcp-plugin/plugins/dts-mcp/scripts/verify-connection-macos.sh
git -C claudecode-dts-mcp-plugin pull --ff-only
.\claudecode-dts-mcp-plugin\plugins\dts-mcp\scripts\configure-windows.ps1 --refresh-ca
.\claudecode-dts-mcp-plugin\plugins\dts-mcp\scripts\verify-connection-windows.ps1
The refresh does not read or rewrite the Bearer Token. Discard signed URLs issued before an endpoint or signing-key change.
Remove
macOS:
claude plugin uninstall dts-mcp
claude plugin marketplace remove zhouning-dts
launchctl bootout "gui/$UID/com.dts.mcp.token" 2>/dev/null || true
rm -f "$HOME/Library/LaunchAgents/com.dts.mcp.token.plist"
rm -rf "$HOME/Library/Application Support/dts-mcp"
security delete-generic-password -a "$USER" -s dts-mcp
launchctl unsetenv DTS_MCP_TOKEN
Windows:
claude plugin uninstall dts-mcp
claude plugin marketplace remove zhouning-dts
[Environment]::SetEnvironmentVariable('DTS_MCP_TOKEN', $null, 'User')
cmdkey /delete:dts-mcp 2>$null
Remove the DTS MCP Local CA certificate from the login Keychain
(security delete-certificate) or Cert:\CurrentUser\Root
(Remove-Item) only after confirming its fingerprint.
Publishing Constraints
- Only
roadis verified end to end. - Road inputs require a projected CRS and
domPath; a matching DEM is strongly recommended. - OSGB publishing requires both stages and must use
dts_publish_osgb. - Remote path flags use artifact IDs and artifact-relative paths, never Windows paths.
- Upload and download bytes use signed HTTPS URLs without the Bearer Token.
- The remote gateway registers 14 tools;
dts_validateremains local-only. - A successful result ZIP must retain both its
.3dtdata andDataInfor.txt.
Troubleshooting Order
- Confirm private routing to
192.168.50.170:8770. - Confirm the Windows host is logged in and the DTS MCP gateway is healthy.
- Run the platform's
verify-connection-*script and fix the first failed layer. - Use
--rotate-tokenfor authentication failures. - Use
--refresh-caafter an address or certificate change. - Confirm
dts-mcpappears inclaude plugin list. - Confirm
dtsappears inclaude mcp list. - Start a new Claude Code session and call
dts_ping.
Verification Status
- DTS server remote gateway implementation and its own remote smoke test: not
re-verified from this repository; see
zhouning/dts-mcp-server. - Plugin manifests, Skill, certificate, script syntax, and secret checks: covered by this repository's tests.
- Windows Credential Manager and macOS Keychain acceptance is pending on target machines.
- Do not report end-to-end plugin success until a target machine completes a real road upload, publish, download, and SHA-256 verification.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.