DS Claude Haha MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HAHA_SERVER_URL | No | Loopback HTTP address of the Haha Desktop server. Auto-detected if not set. | auto-detect |
| DS_WORKER_MODEL_ID | No | Default execution model ID. | deepseek-v4-flash |
| DS_WORKER_PROVIDER_ID | No | Provider ID to use for the execution model. Query with deepseek_profiles if needed. | currently active provider |
| DS_WORKER_ALLOWED_ROOTS | No | Semicolon-separated list of absolute directory paths allowed as working roots. Strongly recommended. | |
| DS_WORKER_PERMISSION_MODE | No | Permission mode for the execution agent: 'acceptEdits' or 'bypassPermissions'. | acceptEdits |
| DS_WORKER_TIMEOUT_SECONDS | No | Default timeout for a single task in seconds. | 1800 |
| DS_WORKER_MAX_TIMEOUT_SECONDS | No | Maximum timeout that a caller can request in seconds. | 3600 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| deepseek_profilesA | List sanitized Claude Code Haha providers and model ids. Never returns API keys, base URLs, or headers. |
| deepseek_startC | Start a DeepSeek coding task asynchronously through Claude Code Haha Desktop. |
| deepseek_statusA | Get current task state, recent events, final response, changed files, and warnings. |
| deepseek_waitB | Wait until a task emits a newer event or finishes. Use afterSequence to avoid repeated output. |
| deepseek_cancelA | Cancel a running DeepSeek task by sending stop_generation to Haha Desktop. |
| deepseek_runA | Run one complete A-to-B delegation: create a Haha session, select DeepSeek, execute, stream progress, and return the full result and file audit. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool has a distinct role: profiles for listing, status for snapshots, start for async initiation, wait for polling, cancel for stopping, and run for full delegation. Start and run overlap slightly in that both initiate tasks, but run is explicitly end-to-end while start is async, making them distinguishable.
All tools share the deepseek_ prefix, with a mix of nouns (profiles, status) and verbs (start, wait, cancel, run). The pattern is consistent in that getters use nouns and actions use verbs, though a fully consistent verb_noun convention would be clearer.
Six tools is well-scoped for managing DeepSeek task delegation: listing options, checking status, starting, waiting, cancelling, and running end-to-end. Each tool earns its place without unnecessary redundancy.
The surface covers the full lifecycle: profile discovery, async start, status monitoring, waiting for completion, cancellation, and a combined run operation. A minor gap is the lack of an explicit 'list active tasks' tool, but status and wait cover most monitoring needs.