Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Beschreibung vom Entwickler (englisches Original)
Spawn Claude Code instances from 6 platforms when 'Dear Claude' is mentioned.
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
DEAR_CLAUDE_PORT, DEAR_CLAUDE_HOST, DEAR_CLAUDE_DATA_DIR, DEAR_CLAUDE_API_TOKEN, TAILSCALE_HOSTNAME, GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET, GITHUB_WEBHOOK_SECRET, GITHUB_ACCESS_TOKEN, GITHUB_APP_ID, GITHUB_APP_PRIVATE_KEY_PATH, LINEAR_CLIENT_ID, LINEAR_CLIENT_SECRET, LINEAR_WEBHOOK_SECRET, LINEAR_ACCESS_TOKEN, JIRA_DOMAIN, JIRA_USER_EMAIL, JIRA_API_TOKEN, JIRA_WEBHOOK_SECRET, GITLAB_ACCESS_TOKEN, GITLAB_WEBHOOK_SECRET, NOTION_CLIENT_ID, NOTION_CLIENT_SECRET, NOTION_ACCESS_TOKEN, NOTION_WEBHOOK_SECRET, OBSIDIAN_VAULT_PATH, GIPHY_API_KEYAls geheim markierte Werte sind Schlüssel zu deinem Konto. Gib sie nie weiter und füge sie nie in einen Chat ein.
Du brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"dear-claude": {
"command": "npx",
"args": [
"-y",
"dear-claude"
],
"env": {
"DEAR_CLAUDE_PORT": "your-value",
"DEAR_CLAUDE_HOST": "your-value",
"DEAR_CLAUDE_DATA_DIR": "your-value",
"DEAR_CLAUDE_API_TOKEN": "your-value",
"TAILSCALE_HOSTNAME": "your-value",
"GITHUB_CLIENT_ID": "your-value",
"GITHUB_CLIENT_SECRET": "your-value",
"GITHUB_WEBHOOK_SECRET": "your-value",
"GITHUB_ACCESS_TOKEN": "your-value",
"GITHUB_APP_ID": "your-value",
"GITHUB_APP_PRIVATE_KEY_PATH": "your-value",
"LINEAR_CLIENT_ID": "your-value",
"LINEAR_CLIENT_SECRET": "your-value",
"LINEAR_WEBHOOK_SECRET": "your-value",
"LINEAR_ACCESS_TOKEN": "your-value",
"JIRA_DOMAIN": "your-value",
"JIRA_USER_EMAIL": "your-value",
"JIRA_API_TOKEN": "your-value",
"JIRA_WEBHOOK_SECRET": "your-value",
"GITLAB_ACCESS_TOKEN": "your-value",
"GITLAB_WEBHOOK_SECRET": "your-value",
"NOTION_CLIENT_ID": "your-value",
"NOTION_CLIENT_SECRET": "your-value",
"NOTION_ACCESS_TOKEN": "your-value",
"NOTION_WEBHOOK_SECRET": "your-value",
"OBSIDIAN_VAULT_PATH": "your-value",
"GIPHY_API_KEY": "your-value"
}
}
}
}Führe das in deinem Terminal aus
claude mcp add dear-claude --env DEAR_CLAUDE_PORT=your-value --env DEAR_CLAUDE_HOST=your-value --env DEAR_CLAUDE_DATA_DIR=your-value --env DEAR_CLAUDE_API_TOKEN=your-value --env TAILSCALE_HOSTNAME=your-value --env GITHUB_CLIENT_ID=your-value --env GITHUB_CLIENT_SECRET=your-value --env GITHUB_WEBHOOK_SECRET=your-value --env GITHUB_ACCESS_TOKEN=your-value --env GITHUB_APP_ID=your-value --env GITHUB_APP_PRIVATE_KEY_PATH=your-value --env LINEAR_CLIENT_ID=your-value --env LINEAR_CLIENT_SECRET=your-value --env LINEAR_WEBHOOK_SECRET=your-value --env LINEAR_ACCESS_TOKEN=your-value --env JIRA_DOMAIN=your-value --env JIRA_USER_EMAIL=your-value --env JIRA_API_TOKEN=your-value --env JIRA_WEBHOOK_SECRET=your-value --env GITLAB_ACCESS_TOKEN=your-value --env GITLAB_WEBHOOK_SECRET=your-value --env NOTION_CLIENT_ID=your-value --env NOTION_CLIENT_SECRET=your-value --env NOTION_ACCESS_TOKEN=your-value --env NOTION_WEBHOOK_SECRET=your-value --env OBSIDIAN_VAULT_PATH=your-value --env GIPHY_API_KEY=your-value -- npx -y dear-claudeTrag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"dear-claude": {
"command": "npx",
"args": [
"-y",
"dear-claude"
],
"env": {
"DEAR_CLAUDE_PORT": "your-value",
"DEAR_CLAUDE_HOST": "your-value",
"DEAR_CLAUDE_DATA_DIR": "your-value",
"DEAR_CLAUDE_API_TOKEN": "your-value",
"TAILSCALE_HOSTNAME": "your-value",
"GITHUB_CLIENT_ID": "your-value",
"GITHUB_CLIENT_SECRET": "your-value",
"GITHUB_WEBHOOK_SECRET": "your-value",
"GITHUB_ACCESS_TOKEN": "your-value",
"GITHUB_APP_ID": "your-value",
"GITHUB_APP_PRIVATE_KEY_PATH": "your-value",
"LINEAR_CLIENT_ID": "your-value",
"LINEAR_CLIENT_SECRET": "your-value",
"LINEAR_WEBHOOK_SECRET": "your-value",
"LINEAR_ACCESS_TOKEN": "your-value",
"JIRA_DOMAIN": "your-value",
"JIRA_USER_EMAIL": "your-value",
"JIRA_API_TOKEN": "your-value",
"JIRA_WEBHOOK_SECRET": "your-value",
"GITLAB_ACCESS_TOKEN": "your-value",
"GITLAB_WEBHOOK_SECRET": "your-value",
"NOTION_CLIENT_ID": "your-value",
"NOTION_CLIENT_SECRET": "your-value",
"NOTION_ACCESS_TOKEN": "your-value",
"NOTION_WEBHOOK_SECRET": "your-value",
"OBSIDIAN_VAULT_PATH": "your-value",
"GIPHY_API_KEY": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"dear-claude": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"dear-claude"
],
"env": {
"DEAR_CLAUDE_PORT": "your-value",
"DEAR_CLAUDE_HOST": "your-value",
"DEAR_CLAUDE_DATA_DIR": "your-value",
"DEAR_CLAUDE_API_TOKEN": "your-value",
"TAILSCALE_HOSTNAME": "your-value",
"GITHUB_CLIENT_ID": "your-value",
"GITHUB_CLIENT_SECRET": "your-value",
"GITHUB_WEBHOOK_SECRET": "your-value",
"GITHUB_ACCESS_TOKEN": "your-value",
"GITHUB_APP_ID": "your-value",
"GITHUB_APP_PRIVATE_KEY_PATH": "your-value",
"LINEAR_CLIENT_ID": "your-value",
"LINEAR_CLIENT_SECRET": "your-value",
"LINEAR_WEBHOOK_SECRET": "your-value",
"LINEAR_ACCESS_TOKEN": "your-value",
"JIRA_DOMAIN": "your-value",
"JIRA_USER_EMAIL": "your-value",
"JIRA_API_TOKEN": "your-value",
"JIRA_WEBHOOK_SECRET": "your-value",
"GITLAB_ACCESS_TOKEN": "your-value",
"GITLAB_WEBHOOK_SECRET": "your-value",
"NOTION_CLIENT_ID": "your-value",
"NOTION_CLIENT_SECRET": "your-value",
"NOTION_ACCESS_TOKEN": "your-value",
"NOTION_WEBHOOK_SECRET": "your-value",
"OBSIDIAN_VAULT_PATH": "your-value",
"GIPHY_API_KEY": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
DEAR_CLAUDE_PORT envDEAR_CLAUDE_HOST envDEAR_CLAUDE_DATA_DIR envTAILSCALE_HOSTNAME envGITHUB_CLIENT_ID envGITHUB_APP_ID envGITHUB_APP_PRIVATE_KEY_PATH envLINEAR_CLIENT_ID envJIRA_DOMAIN envJIRA_USER_EMAIL envNOTION_CLIENT_ID envOBSIDIAN_VAULT_PATH envDiese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 7. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto sns45 bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Das musst du eintragen: DEAR_CLAUDE_API_TOKEN, GITHUB_CLIENT_SECRET, GITHUB_WEBHOOK_SECRET, GITHUB_ACCESS_TOKEN, LINEAR_CLIENT_SECRET, LINEAR_WEBHOOK_SECRET, LINEAR_ACCESS_TOKEN, JIRA_API_TOKEN, JIRA_WEBHOOK_SECRET, GITLAB_ACCESS_TOKEN, GITLAB_WEBHOOK_SECRET, NOTION_CLIENT_SECRET, NOTION_ACCESS_TOKEN, NOTION_WEBHOOK_SECRET, GIPHY_API_KEY
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (1.2.0) kam vor 2 Monaten in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Node.js auf deinem Computer.
In derselben Kategorie: Spec Driven Development, Remote Desktop Commander, SuperCollider
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Make sound with SuperCollider: synths, drums, chords, melodies and soundscapes over OSC.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
Dear Claude
MCP server that triggers local Claude Code instances from external platforms.
Say "Dear Claude" in Linear, GitHub, Jira, GitLab, Notion, or Obsidian — and a Claude Code instance spins up to handle it.
Your notes become architecture. Your tasks become pull requests.
Dear Claude is an MCP (Model Context Protocol) server that watches your project management tools for the phrase "Dear Claude". When detected, it spawns a local Claude Code instance that:
No Anthropic API keys needed. Works with your existing Claude Code subscription. 100% local and private — your code never leaves your machine.
| Platform | Trigger on issue/PR | Trigger on comment | Comment back | Emoji reactions | Sub-tasks | PR/MR review |
|---|---|---|---|---|---|---|
| GitHub | Yes | Yes | Yes | Yes | - | Yes |
| Linear | Yes | Yes | Yes | Yes | Yes | - |
| Jira | Yes | Yes | Yes | - | Yes | - |
| GitLab | Yes | Yes | Yes | Yes | - | Yes |
| Notion | Yes | Yes | Yes | - | - | - |
| Obsidian | Yes | - | Yes | - | - | - |
Instances from any platform get API access to all configured platforms. This enables workflows like:
claude mcp add dear-claude -- bunx dear-claude start --mcp
That's it. Start Claude Code and Dear Claude is ready.
claude command available)bunx)If you prefer manual configuration, add to ~/.claude.json under mcpServers:
{
"mcpServers": { "dear-claude": { "command": "bunx", "args": ["dear-claude", "start", "--mcp"], "env": { "DEAR_CLAUDE_PORT": "3334", "GITHUB_CLIENT_ID": "...", "GITHUB_CLIENT_SECRET": "...", "GITHUB_WEBHOOK_SECRET": "...", "LINEAR_CLIENT_ID": "...", "LINEAR_CLIENT_SECRET": "...", "LINEAR_WEBHOOK_SECRET": "..." } } } }
Then start Claude Code:
claude
The MCP server starts automatically, sets up Tailscale Funnel, and prints your public webhook URLs.
Dear Claude uses Tailscale Funnel for stable public HTTPS URLs to receive webhooks. Setup is mostly automatic.
# macOS
brew install tailscale
curl -fsSL https://tailscale.com/install.sh | sh
tailscale up"funnel" capability to your ACL policy https://<your-hostname>.ts.net/dc
Tip: Run
tailscale serve status --jsonto verify your config. The health check auto-repairs the Funnel config every 10 seconds.
https:// .ts.net/dchttps:// .ts.net/dc/oauth/callback/githubhttps:// .ts.net/dc/webhook/github GITHUB_CLIENT_ID=Iv1.abc123...
GITHUB_CLIENT_SECRET=abc123... GITHUB_WEBHOOK_SECRET=your-webhook-secret
6. Install the app on your repos
https:// .ts.net/dc/setup/githubrepo, write:discussionGITHUB_ACCESS_TOKEN=ghp_...Note: With a PAT alone you won't get webhook-triggered instances. You'd use the
spawn_instanceMCP tool or/api/spawnendpoint instead.
| Environment Variable | Description |
|---|---|
GITHUB_CLIENT_ID | GitHub App client ID |
GITHUB_CLIENT_SECRET | GitHub App client secret |
GITHUB_WEBHOOK_SECRET | Webhook signature verification secret |
GITHUB_ACCESS_TOKEN | Personal access token (alternative to OAuth) |
https:// .ts.net/dc/oauth/callback/linearhttps:// .ts.net/dc/webhook/linear LINEAR_CLIENT_ID=your-client-id
LINEAR_CLIENT_SECRET=your-client-secret LINEAR_WEBHOOK_SECRET=your-signing-secret
7. Complete OAuth: visit `https://<your-hostname>.ts.net/dc/setup/linear`
After OAuth, only issues/comments from your authenticated Linear account trigger Claude.
Alternative: Use a Personal API Key (LINEAR_ACCESS_TOKEN=lin_api_...) from Linear Settings → Account → API.
| Environment Variable | Description |
|---|---|
LINEAR_CLIENT_ID | OAuth client ID |
LINEAR_CLIENT_SECRET | OAuth client secret |
LINEAR_WEBHOOK_SECRET | Webhook signing secret |
LINEAR_ACCESS_TOKEN | Personal API key (alternative to OAuth) |
JIRA_DOMAIN=mycompany # Your Jira subdomain (mycompany.atlassian.net)
JIRA_USER_EMAIL=you@example.com # Your Atlassian account email JIRA_API_TOKEN=ATATT3x... # The API token you just created JIRA_WEBHOOK_SECRET=optional-secret # Optional shared secret
3. **Create a webhook** in Jira:
https:// .ts.net/dc/webhook/jiraJIRA_WEBHOOK_SECRET, append it: ?secret=YOUR_SECRETissue_created, issue_updated, comment_createdClaude can create sub-tasks, transition issue status, and add comments via the Jira REST API v2.
| Environment Variable | Description |
|---|---|
JIRA_DOMAIN | Jira subdomain (e.g. mycompany for mycompany.atlassian.net) |
JIRA_USER_EMAIL | Your Atlassian email |
JIRA_API_TOKEN | API token from Atlassian |
JIRA_WEBHOOK_SECRET | Optional shared secret for webhook verification |
api, read_repository, write_repository GITLAB_ACCESS_TOKEN=glpat-...
GITLAB_WEBHOOK_SECRET=your-secret
3. **Add a webhook** to your project (or group):
https:// .ts.net/dc/webhook/gitlabGITLAB_WEBHOOK_SECRETFor self-hosted GitLab, also set GITLAB_URL=https://your-gitlab-instance.com.
| Environment Variable | Description |
|---|---|
GITLAB_ACCESS_TOKEN | Personal access token |
GITLAB_WEBHOOK_SECRET | Webhook secret token |
GITLAB_URL | GitLab instance URL (default: https://gitlab.com) |
NOTION_ACCESS_TOKEN=ntn_...https:// .ts.net/dc/oauth/callback/notion NOTION_CLIENT_ID=your-client-id
NOTION_CLIENT_SECRET=your-secret
4. Complete OAuth: visit `https://<your-hostname>.ts.net/dc/setup/notion`
Notion doesn't have native webhooks yet. To trigger Claude from Notion:
https:// .ts.net/dc/webhook/notionNOTION_WEBHOOK_SECRET if you want signature verification| Environment Variable | Description |
|---|---|
NOTION_ACCESS_TOKEN | Internal integration token |
NOTION_CLIENT_ID | OAuth client ID |
NOTION_CLIENT_SECRET | OAuth client secret |
NOTION_WEBHOOK_SECRET | Webhook verification secret |
Obsidian integration works via filesystem watching — no webhooks needed. Claude watches your vault for files containing "Dear Claude" and responds by appending to the same file.
OBSIDIAN_VAULT_PATH=/Users/yourname/Documents/MyVault
.md file and save.Claude's response appears as a callout block appended to the same note. The frontmatter gets a claude-status field (processing → done / error).
How it works:
.md file changes in the vault.obsidian/, .trash/, and dotfile directories[[other-note]]) — Claude resolves and reads them| Environment Variable | Description |
|---|---|
OBSIDIAN_VAULT_PATH | Absolute path to your Obsidian vault |
OBSIDIAN_WATCH_DEBOUNCE_MS | Debounce delay in ms (default: 2000) |
Write "Dear Claude" (case-insensitive, with a space) anywhere in:
.md filesGitHub PR Comment:
Dear Claude, please review this code for bugs and security issues.
Claude responds on GitHub:
Claude Instance Started (Instance:
abc12345)
Processing your request...
Task Completed
Found 2 issues:
1. SQL injection in
user.ts:45
2. Mis
Nur der Anfang wird gezeigt; den Rest findest du im Repo