PluginBench
MCP Server

io.github.sns45/dear-claude MCP Server

io.github.sns45/dear-claude

What is the io.github.sns45/dear-claude MCP server?

Spawn Claude Code instances from 6 platforms when 'Dear Claude' is mentioned.

How to install io.github.sns45/dear-claude

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • DEAR_CLAUDE_PORT

    HTTP server port for webhooks (default: 3334)

  • TAILSCALE_HOSTNAME

    Override Tailscale hostname for webhook URLs (auto-detected if not set)

  • GITHUB_CLIENT_ID

    GitHub OAuth App or GitHub App client ID

  • GITHUB_CLIENT_SECRET
    secret

    GitHub OAuth App or GitHub App client secret

  • GITHUB_WEBHOOK_SECRET
    secret

    GitHub webhook signature secret

  • GITHUB_ACCESS_TOKEN
    secret

    GitHub personal access token (alternative to OAuth)

  • GITHUB_APP_ID

    GitHub App ID (for installation-based auth)

  • GITHUB_APP_PRIVATE_KEY_PATH

    Path to GitHub App private key PEM file

  • LINEAR_CLIENT_ID

    Linear OAuth application client ID

  • LINEAR_CLIENT_SECRET
    secret

    Linear OAuth application client secret

  • LINEAR_WEBHOOK_SECRET
    secret

    Linear webhook signing secret

  • LINEAR_ACCESS_TOKEN
    secret

    Linear personal API key (alternative to OAuth)

  • JIRA_DOMAIN

    Jira Cloud domain (e.g. 'mycompany' for mycompany.atlassian.net)

  • JIRA_USER_EMAIL

    Jira account email for API authentication

  • JIRA_API_TOKEN
    secret

    Jira API token from id.atlassian.com

  • JIRA_WEBHOOK_SECRET
    secret

    Shared secret for Jira webhook URL validation

  • GITLAB_ACCESS_TOKEN
    secret

    GitLab personal or project access token

  • GITLAB_WEBHOOK_SECRET
    secret

    GitLab webhook secret token

  • NOTION_CLIENT_ID

    Notion OAuth integration client ID

  • NOTION_CLIENT_SECRET
    secret

    Notion OAuth integration client secret

  • NOTION_ACCESS_TOKEN
    secret

    Notion internal integration token (alternative to OAuth)

  • NOTION_WEBHOOK_SECRET
    secret

    Notion webhook verification secret

  • OBSIDIAN_VAULT_PATH

    Absolute path to Obsidian vault directory for file watching

  • GIPHY_API_KEY
    secret

    Giphy API key for embedding GIF reactions in responses

Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "dear-claude": {
      "command": "npx",
      "args": [
        "-y",
        "dear-claude"
      ],
      "env": {
        "DEAR_CLAUDE_PORT": "<YOUR_DEAR_CLAUDE_PORT>",
        "TAILSCALE_HOSTNAME": "<YOUR_TAILSCALE_HOSTNAME>",
        "GITHUB_CLIENT_ID": "<YOUR_GITHUB_CLIENT_ID>",
        "GITHUB_CLIENT_SECRET": "<YOUR_GITHUB_CLIENT_SECRET>",
        "GITHUB_WEBHOOK_SECRET": "<YOUR_GITHUB_WEBHOOK_SECRET>",
        "GITHUB_ACCESS_TOKEN": "<YOUR_GITHUB_ACCESS_TOKEN>",
        "GITHUB_APP_ID": "<YOUR_GITHUB_APP_ID>",
        "GITHUB_APP_PRIVATE_KEY_PATH": "<YOUR_GITHUB_APP_PRIVATE_KEY_PATH>",
        "LINEAR_CLIENT_ID": "<YOUR_LINEAR_CLIENT_ID>",
        "LINEAR_CLIENT_SECRET": "<YOUR_LINEAR_CLIENT_SECRET>",
        "LINEAR_WEBHOOK_SECRET": "<YOUR_LINEAR_WEBHOOK_SECRET>",
        "LINEAR_ACCESS_TOKEN": "<YOUR_LINEAR_ACCESS_TOKEN>",
        "JIRA_DOMAIN": "<YOUR_JIRA_DOMAIN>",
        "JIRA_USER_EMAIL": "<YOUR_JIRA_USER_EMAIL>",
        "JIRA_API_TOKEN": "<YOUR_JIRA_API_TOKEN>",
        "JIRA_WEBHOOK_SECRET": "<YOUR_JIRA_WEBHOOK_SECRET>",
        "GITLAB_ACCESS_TOKEN": "<YOUR_GITLAB_ACCESS_TOKEN>",
        "GITLAB_WEBHOOK_SECRET": "<YOUR_GITLAB_WEBHOOK_SECRET>",
        "NOTION_CLIENT_ID": "<YOUR_NOTION_CLIENT_ID>",
        "NOTION_CLIENT_SECRET": "<YOUR_NOTION_CLIENT_SECRET>",
        "NOTION_ACCESS_TOKEN": "<YOUR_NOTION_ACCESS_TOKEN>",
        "NOTION_WEBHOOK_SECRET": "<YOUR_NOTION_WEBHOOK_SECRET>",
        "OBSIDIAN_VAULT_PATH": "<YOUR_OBSIDIAN_VAULT_PATH>",
        "GIPHY_API_KEY": "<YOUR_GIPHY_API_KEY>"
      }
    }
  }
}
Cursor
~/.cursor/mcp.json
{
  "mcpServers": {
    "dear-claude": {
      "command": "npx",
      "args": [
        "-y",
        "dear-claude"
      ],
      "env": {
        "DEAR_CLAUDE_PORT": "<YOUR_DEAR_CLAUDE_PORT>",
        "TAILSCALE_HOSTNAME": "<YOUR_TAILSCALE_HOSTNAME>",
        "GITHUB_CLIENT_ID": "<YOUR_GITHUB_CLIENT_ID>",
        "GITHUB_CLIENT_SECRET": "<YOUR_GITHUB_CLIENT_SECRET>",
        "GITHUB_WEBHOOK_SECRET": "<YOUR_GITHUB_WEBHOOK_SECRET>",
        "GITHUB_ACCESS_TOKEN": "<YOUR_GITHUB_ACCESS_TOKEN>",
        "GITHUB_APP_ID": "<YOUR_GITHUB_APP_ID>",
        "GITHUB_APP_PRIVATE_KEY_PATH": "<YOUR_GITHUB_APP_PRIVATE_KEY_PATH>",
        "LINEAR_CLIENT_ID": "<YOUR_LINEAR_CLIENT_ID>",
        "LINEAR_CLIENT_SECRET": "<YOUR_LINEAR_CLIENT_SECRET>",
        "LINEAR_WEBHOOK_SECRET": "<YOUR_LINEAR_WEBHOOK_SECRET>",
        "LINEAR_ACCESS_TOKEN": "<YOUR_LINEAR_ACCESS_TOKEN>",
        "JIRA_DOMAIN": "<YOUR_JIRA_DOMAIN>",
        "JIRA_USER_EMAIL": "<YOUR_JIRA_USER_EMAIL>",
        "JIRA_API_TOKEN": "<YOUR_JIRA_API_TOKEN>",
        "JIRA_WEBHOOK_SECRET": "<YOUR_JIRA_WEBHOOK_SECRET>",
        "GITLAB_ACCESS_TOKEN": "<YOUR_GITLAB_ACCESS_TOKEN>",
        "GITLAB_WEBHOOK_SECRET": "<YOUR_GITLAB_WEBHOOK_SECRET>",
        "NOTION_CLIENT_ID": "<YOUR_NOTION_CLIENT_ID>",
        "NOTION_CLIENT_SECRET": "<YOUR_NOTION_CLIENT_SECRET>",
        "NOTION_ACCESS_TOKEN": "<YOUR_NOTION_ACCESS_TOKEN>",
        "NOTION_WEBHOOK_SECRET": "<YOUR_NOTION_WEBHOOK_SECRET>",
        "OBSIDIAN_VAULT_PATH": "<YOUR_OBSIDIAN_VAULT_PATH>",
        "GIPHY_API_KEY": "<YOUR_GIPHY_API_KEY>"
      }
    }
  }
}
Windsurf
~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "dear-claude": {
      "command": "npx",
      "args": [
        "-y",
        "dear-claude"
      ],
      "env": {
        "DEAR_CLAUDE_PORT": "<YOUR_DEAR_CLAUDE_PORT>",
        "TAILSCALE_HOSTNAME": "<YOUR_TAILSCALE_HOSTNAME>",
        "GITHUB_CLIENT_ID": "<YOUR_GITHUB_CLIENT_ID>",
        "GITHUB_CLIENT_SECRET": "<YOUR_GITHUB_CLIENT_SECRET>",
        "GITHUB_WEBHOOK_SECRET": "<YOUR_GITHUB_WEBHOOK_SECRET>",
        "GITHUB_ACCESS_TOKEN": "<YOUR_GITHUB_ACCESS_TOKEN>",
        "GITHUB_APP_ID": "<YOUR_GITHUB_APP_ID>",
        "GITHUB_APP_PRIVATE_KEY_PATH": "<YOUR_GITHUB_APP_PRIVATE_KEY_PATH>",
        "LINEAR_CLIENT_ID": "<YOUR_LINEAR_CLIENT_ID>",
        "LINEAR_CLIENT_SECRET": "<YOUR_LINEAR_CLIENT_SECRET>",
        "LINEAR_WEBHOOK_SECRET": "<YOUR_LINEAR_WEBHOOK_SECRET>",
        "LINEAR_ACCESS_TOKEN": "<YOUR_LINEAR_ACCESS_TOKEN>",
        "JIRA_DOMAIN": "<YOUR_JIRA_DOMAIN>",
        "JIRA_USER_EMAIL": "<YOUR_JIRA_USER_EMAIL>",
        "JIRA_API_TOKEN": "<YOUR_JIRA_API_TOKEN>",
        "JIRA_WEBHOOK_SECRET": "<YOUR_JIRA_WEBHOOK_SECRET>",
        "GITLAB_ACCESS_TOKEN": "<YOUR_GITLAB_ACCESS_TOKEN>",
        "GITLAB_WEBHOOK_SECRET": "<YOUR_GITLAB_WEBHOOK_SECRET>",
        "NOTION_CLIENT_ID": "<YOUR_NOTION_CLIENT_ID>",
        "NOTION_CLIENT_SECRET": "<YOUR_NOTION_CLIENT_SECRET>",
        "NOTION_ACCESS_TOKEN": "<YOUR_NOTION_ACCESS_TOKEN>",
        "NOTION_WEBHOOK_SECRET": "<YOUR_NOTION_WEBHOOK_SECRET>",
        "OBSIDIAN_VAULT_PATH": "<YOUR_OBSIDIAN_VAULT_PATH>",
        "GIPHY_API_KEY": "<YOUR_GIPHY_API_KEY>"
      }
    }
  }
}
VS Code
.vscode/mcp.json
{
  "servers": {
    "dear-claude": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "dear-claude"
      ],
      "env": {
        "DEAR_CLAUDE_PORT": "<YOUR_DEAR_CLAUDE_PORT>",
        "TAILSCALE_HOSTNAME": "<YOUR_TAILSCALE_HOSTNAME>",
        "GITHUB_CLIENT_ID": "<YOUR_GITHUB_CLIENT_ID>",
        "GITHUB_CLIENT_SECRET": "<YOUR_GITHUB_CLIENT_SECRET>",
        "GITHUB_WEBHOOK_SECRET": "<YOUR_GITHUB_WEBHOOK_SECRET>",
        "GITHUB_ACCESS_TOKEN": "<YOUR_GITHUB_ACCESS_TOKEN>",
        "GITHUB_APP_ID": "<YOUR_GITHUB_APP_ID>",
        "GITHUB_APP_PRIVATE_KEY_PATH": "<YOUR_GITHUB_APP_PRIVATE_KEY_PATH>",
        "LINEAR_CLIENT_ID": "<YOUR_LINEAR_CLIENT_ID>",
        "LINEAR_CLIENT_SECRET": "<YOUR_LINEAR_CLIENT_SECRET>",
        "LINEAR_WEBHOOK_SECRET": "<YOUR_LINEAR_WEBHOOK_SECRET>",
        "LINEAR_ACCESS_TOKEN": "<YOUR_LINEAR_ACCESS_TOKEN>",
        "JIRA_DOMAIN": "<YOUR_JIRA_DOMAIN>",
        "JIRA_USER_EMAIL": "<YOUR_JIRA_USER_EMAIL>",
        "JIRA_API_TOKEN": "<YOUR_JIRA_API_TOKEN>",
        "JIRA_WEBHOOK_SECRET": "<YOUR_JIRA_WEBHOOK_SECRET>",
        "GITLAB_ACCESS_TOKEN": "<YOUR_GITLAB_ACCESS_TOKEN>",
        "GITLAB_WEBHOOK_SECRET": "<YOUR_GITLAB_WEBHOOK_SECRET>",
        "NOTION_CLIENT_ID": "<YOUR_NOTION_CLIENT_ID>",
        "NOTION_CLIENT_SECRET": "<YOUR_NOTION_CLIENT_SECRET>",
        "NOTION_ACCESS_TOKEN": "<YOUR_NOTION_ACCESS_TOKEN>",
        "NOTION_WEBHOOK_SECRET": "<YOUR_NOTION_WEBHOOK_SECRET>",
        "OBSIDIAN_VAULT_PATH": "<YOUR_OBSIDIAN_VAULT_PATH>",
        "GIPHY_API_KEY": "<YOUR_GIPHY_API_KEY>"
      }
    }
  }
}
Claude Code
claude mcp add dear-claude --env DEAR_CLAUDE_PORT=<YOUR_DEAR_CLAUDE_PORT> --env TAILSCALE_HOSTNAME=<YOUR_TAILSCALE_HOSTNAME> --env GITHUB_CLIENT_ID=<YOUR_GITHUB_CLIENT_ID> --env GITHUB_CLIENT_SECRET=<YOUR_GITHUB_CLIENT_SECRET> --env GITHUB_WEBHOOK_SECRET=<YOUR_GITHUB_WEBHOOK_SECRET> --env GITHUB_ACCESS_TOKEN=<YOUR_GITHUB_ACCESS_TOKEN> --env GITHUB_APP_ID=<YOUR_GITHUB_APP_ID> --env GITHUB_APP_PRIVATE_KEY_PATH=<YOUR_GITHUB_APP_PRIVATE_KEY_PATH> --env LINEAR_CLIENT_ID=<YOUR_LINEAR_CLIENT_ID> --env LINEAR_CLIENT_SECRET=<YOUR_LINEAR_CLIENT_SECRET> --env LINEAR_WEBHOOK_SECRET=<YOUR_LINEAR_WEBHOOK_SECRET> --env LINEAR_ACCESS_TOKEN=<YOUR_LINEAR_ACCESS_TOKEN> --env JIRA_DOMAIN=<YOUR_JIRA_DOMAIN> --env JIRA_USER_EMAIL=<YOUR_JIRA_USER_EMAIL> --env JIRA_API_TOKEN=<YOUR_JIRA_API_TOKEN> --env JIRA_WEBHOOK_SECRET=<YOUR_JIRA_WEBHOOK_SECRET> --env GITLAB_ACCESS_TOKEN=<YOUR_GITLAB_ACCESS_TOKEN> --env GITLAB_WEBHOOK_SECRET=<YOUR_GITLAB_WEBHOOK_SECRET> --env NOTION_CLIENT_ID=<YOUR_NOTION_CLIENT_ID> --env NOTION_CLIENT_SECRET=<YOUR_NOTION_CLIENT_SECRET> --env NOTION_ACCESS_TOKEN=<YOUR_NOTION_ACCESS_TOKEN> --env NOTION_WEBHOOK_SECRET=<YOUR_NOTION_WEBHOOK_SECRET> --env OBSIDIAN_VAULT_PATH=<YOUR_OBSIDIAN_VAULT_PATH> --env GIPHY_API_KEY=<YOUR_GIPHY_API_KEY> -- npx -y dear-claude

Related MCP servers

Voice Calls, SMS, and WhatsApp for Claude Code with cross-channel context sharing.

View repository →