Search / io.github.sns45/dear-claude
dear-claude
L0· runs locallySpawn Claude Code instances from 6 platforms when 'Dear Claude' is mentioned.
v1.2.0 · active · repository · descriptor JSON · versions
Search / io.github.sns45/dear-claude
L0· runs locallySpawn Claude Code instances from 6 platforms when 'Dear Claude' is mentioned.
v1.2.0 · active · repository · descriptor JSON · versions
{
"mcpServers": {
"dear-claude": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"DEAR_CLAUDE_API_TOKEN": "${DEAR_CLAUDE_API_TOKEN}",
"GITHUB_CLIENT_SECRET": "${GITHUB_CLIENT_SECRET}",
"GITHUB_WEBHOOK_SECRET": "${GITHUB_WEBHOOK_SECRET}",
"GITHUB_ACCESS_TOKEN": "${GITHUB_ACCESS_TOKEN}",
"LINEAR_CLIENT_SECRET": "${LINEAR_CLIENT_SECRET}",
"LINEAR_WEBHOOK_SECRET": "${LINEAR_WEBHOOK_SECRET}",
"LINEAR_ACCESS_TOKEN": "${LINEAR_ACCESS_TOKEN}",
"JIRA_API_TOKEN": "${JIRA_API_TOKEN}",
"JIRA_WEBHOOK_SECRET": "${JIRA_WEBHOOK_SECRET}",
"GITLAB_ACCESS_TOKEN": "${GITLAB_ACCESS_TOKEN}",
"GITLAB_WEBHOOK_SECRET": "${GITLAB_WEBHOOK_SECRET}",
"NOTION_CLIENT_SECRET": "${NOTION_CLIENT_SECRET}",
"NOTION_ACCESS_TOKEN": "${NOTION_ACCESS_TOKEN}",
"NOTION_WEBHOOK_SECRET": "${NOTION_WEBHOOK_SECRET}",
"GIPHY_API_KEY": "${GIPHY_API_KEY}"
}
}
}
}claude mcp add dear-claude -e "DEAR_CLAUDE_API_TOKEN=${DEAR_CLAUDE_API_TOKEN}" -e "GITHUB_CLIENT_SECRET=${GITHUB_CLIENT_SECRET}" -e "GITHUB_WEBHOOK_SECRET=${GITHUB_WEBHOOK_SECRET}" -e "GITHUB_ACCESS_TOKEN=${GITHUB_ACCESS_TOKEN}" -e "LINEAR_CLIENT_SECRET=${LINEAR_CLIENT_SECRET}" -e "LINEAR_WEBHOOK_SECRET=${LINEAR_WEBHOOK_SECRET}" -e "LINEAR_ACCESS_TOKEN=${LINEAR_ACCESS_TOKEN}" -e "JIRA_API_TOKEN=${JIRA_API_TOKEN}" -e "JIRA_WEBHOOK_SECRET=${JIRA_WEBHOOK_SECRET}" -e "GITLAB_ACCESS_TOKEN=${GITLAB_ACCESS_TOKEN}" -e "GITLAB_WEBHOOK_SECRET=${GITLAB_WEBHOOK_SECRET}" -e "NOTION_CLIENT_SECRET=${NOTION_CLIENT_SECRET}" -e "NOTION_ACCESS_TOKEN=${NOTION_ACCESS_TOKEN}" -e "NOTION_WEBHOOK_SECRET=${NOTION_WEBHOOK_SECRET}" -e "GIPHY_API_KEY=${GIPHY_API_KEY}" -- npx -y [email protected][mcp_servers.dear-claude]
command = "npx"
args = ["-y", "[email protected]"]
env = { "DEAR_CLAUDE_API_TOKEN" = "${DEAR_CLAUDE_API_TOKEN}", "GITHUB_CLIENT_SECRET" = "${GITHUB_CLIENT_SECRET}", "GITHUB_WEBHOOK_SECRET" = "${GITHUB_WEBHOOK_SECRET}", "GITHUB_ACCESS_TOKEN" = "${GITHUB_ACCESS_TOKEN}", "LINEAR_CLIENT_SECRET" = "${LINEAR_CLIENT_SECRET}", "LINEAR_WEBHOOK_SECRET" = "${LINEAR_WEBHOOK_SECRET}", "LINEAR_ACCESS_TOKEN" = "${LINEAR_ACCESS_TOKEN}", "JIRA_API_TOKEN" = "${JIRA_API_TOKEN}", "JIRA_WEBHOOK_SECRET" = "${JIRA_WEBHOOK_SECRET}", "GITLAB_ACCESS_TOKEN" = "${GITLAB_ACCESS_TOKEN}", "GITLAB_WEBHOOK_SECRET" = "${GITLAB_WEBHOOK_SECRET}", "NOTION_CLIENT_SECRET" = "${NOTION_CLIENT_SECRET}", "NOTION_ACCESS_TOKEN" = "${NOTION_ACCESS_TOKEN}", "NOTION_WEBHOOK_SECRET" = "${NOTION_WEBHOOK_SECRET}", "GIPHY_API_KEY" = "${GIPHY_API_KEY}" }
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"dear-claude": {
"type": "local",
"command": [
"npx",
"-y",
"[email protected]"
],
"enabled": true,
"environment": {
"DEAR_CLAUDE_API_TOKEN": "{env:DEAR_CLAUDE_API_TOKEN}",
"GITHUB_CLIENT_SECRET": "{env:GITHUB_CLIENT_SECRET}",
"GITHUB_WEBHOOK_SECRET": "{env:GITHUB_WEBHOOK_SECRET}",
"GITHUB_ACCESS_TOKEN": "{env:GITHUB_ACCESS_TOKEN}",
"LINEAR_CLIENT_SECRET": "{env:LINEAR_CLIENT_SECRET}",
"LINEAR_WEBHOOK_SECRET": "{env:LINEAR_WEBHOOK_SECRET}",
"LINEAR_ACCESS_TOKEN": "{env:LINEAR_ACCESS_TOKEN}",
"JIRA_API_TOKEN": "{env:JIRA_API_TOKEN}",
"JIRA_WEBHOOK_SECRET": "{env:JIRA_WEBHOOK_SECRET}",
"GITLAB_ACCESS_TOKEN": "{env:GITLAB_ACCESS_TOKEN}",
"GITLAB_WEBHOOK_SECRET": "{env:GITLAB_WEBHOOK_SECRET}",
"NOTION_CLIENT_SECRET": "{env:NOTION_CLIENT_SECRET}",
"NOTION_ACCESS_TOKEN": "{env:NOTION_ACCESS_TOKEN}",
"NOTION_WEBHOOK_SECRET": "{env:NOTION_WEBHOOK_SECRET}",
"GIPHY_API_KEY": "{env:GIPHY_API_KEY}"
}
}
}
}{
"mcpServers": {
"dear-claude": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"DEAR_CLAUDE_API_TOKEN": "${DEAR_CLAUDE_API_TOKEN}",
"GITHUB_CLIENT_SECRET": "${GITHUB_CLIENT_SECRET}",
"GITHUB_WEBHOOK_SECRET": "${GITHUB_WEBHOOK_SECRET}",
"GITHUB_ACCESS_TOKEN": "${GITHUB_ACCESS_TOKEN}",
"LINEAR_CLIENT_SECRET": "${LINEAR_CLIENT_SECRET}",
"LINEAR_WEBHOOK_SECRET": "${LINEAR_WEBHOOK_SECRET}",
"LINEAR_ACCESS_TOKEN": "${LINEAR_ACCESS_TOKEN}",
"JIRA_API_TOKEN": "${JIRA_API_TOKEN}",
"JIRA_WEBHOOK_SECRET": "${JIRA_WEBHOOK_SECRET}",
"GITLAB_ACCESS_TOKEN": "${GITLAB_ACCESS_TOKEN}",
"GITLAB_WEBHOOK_SECRET": "${GITLAB_WEBHOOK_SECRET}",
"NOTION_CLIENT_SECRET": "${NOTION_CLIENT_SECRET}",
"NOTION_ACCESS_TOKEN": "${NOTION_ACCESS_TOKEN}",
"NOTION_WEBHOOK_SECRET": "${NOTION_WEBHOOK_SECRET}",
"GIPHY_API_KEY": "${GIPHY_API_KEY}"
}
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=dear-claude&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsImRlYXItY2xhdWRlQDEuMi4wIl0sImVudiI6eyJERUFSX0NMQVVERV9BUElfVE9LRU4iOiIke0RFQVJfQ0xBVURFX0FQSV9UT0tFTn0iLCJHSVRIVUJfQ0xJRU5UX1NFQ1JFVCI6IiR7R0lUSFVCX0NMSUVOVF9TRUNSRVR9IiwiR0lUSFVCX1dFQkhPT0tfU0VDUkVUIjoiJHtHSVRIVUJfV0VCSE9PS19TRUNSRVR9IiwiR0lUSFVCX0FDQ0VTU19UT0tFTiI6IiR7R0lUSFVCX0FDQ0VTU19UT0tFTn0iLCJMSU5FQVJfQ0xJRU5UX1NFQ1JFVCI6IiR7TElORUFSX0NMSUVOVF9TRUNSRVR9IiwiTElORUFSX1dFQkhPT0tfU0VDUkVUIjoiJHtMSU5FQVJfV0VCSE9PS19TRUNSRVR9IiwiTElORUFSX0FDQ0VTU19UT0tFTiI6IiR7TElORUFSX0FDQ0VTU19UT0tFTn0iLCJKSVJBX0FQSV9UT0tFTiI6IiR7SklSQV9BUElfVE9LRU59IiwiSklSQV9XRUJIT09LX1NFQ1JFVCI6IiR7SklSQV9XRUJIT09LX1NFQ1JFVH0iLCJHSVRMQUJfQUNDRVNTX1RPS0VOIjoiJHtHSVRMQUJfQUNDRVNTX1RPS0VOfSIsIkdJVExBQl9XRUJIT09LX1NFQ1JFVCI6IiR7R0lUTEFCX1dFQkhPT0tfU0VDUkVUfSIsIk5PVElPTl9DTElFTlRfU0VDUkVUIjoiJHtOT1RJT05fQ0xJRU5UX1NFQ1JFVH0iLCJOT1RJT05fQUNDRVNTX1RPS0VOIjoiJHtOT1RJT05fQUNDRVNTX1RPS0VOfSIsIk5PVElPTl9XRUJIT09LX1NFQ1JFVCI6IiR7Tk9USU9OX1dFQkhPT0tfU0VDUkVUfSIsIkdJUEhZX0FQSV9LRVkiOiIke0dJUEhZX0FQSV9LRVl9In19"
}{
"servers": {
"dear-claude": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"DEAR_CLAUDE_API_TOKEN": "${DEAR_CLAUDE_API_TOKEN}",
"GITHUB_CLIENT_SECRET": "${GITHUB_CLIENT_SECRET}",
"GITHUB_WEBHOOK_SECRET": "${GITHUB_WEBHOOK_SECRET}",
"GITHUB_ACCESS_TOKEN": "${GITHUB_ACCESS_TOKEN}",
"LINEAR_CLIENT_SECRET": "${LINEAR_CLIENT_SECRET}",
"LINEAR_WEBHOOK_SECRET": "${LINEAR_WEBHOOK_SECRET}",
"LINEAR_ACCESS_TOKEN": "${LINEAR_ACCESS_TOKEN}",
"JIRA_API_TOKEN": "${JIRA_API_TOKEN}",
"JIRA_WEBHOOK_SECRET": "${JIRA_WEBHOOK_SECRET}",
"GITLAB_ACCESS_TOKEN": "${GITLAB_ACCESS_TOKEN}",
"GITLAB_WEBHOOK_SECRET": "${GITLAB_WEBHOOK_SECRET}",
"NOTION_CLIENT_SECRET": "${NOTION_CLIENT_SECRET}",
"NOTION_ACCESS_TOKEN": "${NOTION_ACCESS_TOKEN}",
"NOTION_WEBHOOK_SECRET": "${NOTION_WEBHOOK_SECRET}",
"GIPHY_API_KEY": "${GIPHY_API_KEY}"
}
}
}
}{
"mcpServers": {
"dear-claude": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"DEAR_CLAUDE_API_TOKEN": "${DEAR_CLAUDE_API_TOKEN}",
"GITHUB_CLIENT_SECRET": "${GITHUB_CLIENT_SECRET}",
"GITHUB_WEBHOOK_SECRET": "${GITHUB_WEBHOOK_SECRET}",
"GITHUB_ACCESS_TOKEN": "${GITHUB_ACCESS_TOKEN}",
"LINEAR_CLIENT_SECRET": "${LINEAR_CLIENT_SECRET}",
"LINEAR_WEBHOOK_SECRET": "${LINEAR_WEBHOOK_SECRET}",
"LINEAR_ACCESS_TOKEN": "${LINEAR_ACCESS_TOKEN}",
"JIRA_API_TOKEN": "${JIRA_API_TOKEN}",
"JIRA_WEBHOOK_SECRET": "${JIRA_WEBHOOK_SECRET}",
"GITLAB_ACCESS_TOKEN": "${GITLAB_ACCESS_TOKEN}",
"GITLAB_WEBHOOK_SECRET": "${GITLAB_WEBHOOK_SECRET}",
"NOTION_CLIENT_SECRET": "${NOTION_CLIENT_SECRET}",
"NOTION_ACCESS_TOKEN": "${NOTION_ACCESS_TOKEN}",
"NOTION_WEBHOOK_SECRET": "${NOTION_WEBHOOK_SECRET}",
"GIPHY_API_KEY": "${GIPHY_API_KEY}"
}
}
}
}extensions:
"dear-claude":
enabled: true
name: "dear-claude"
type: stdio
cmd: "npx"
args:
- "-y"
- "[email protected]"
envs:
"DEAR_CLAUDE_API_TOKEN": "${DEAR_CLAUDE_API_TOKEN}"
"GITHUB_CLIENT_SECRET": "${GITHUB_CLIENT_SECRET}"
"GITHUB_WEBHOOK_SECRET": "${GITHUB_WEBHOOK_SECRET}"
"GITHUB_ACCESS_TOKEN": "${GITHUB_ACCESS_TOKEN}"
"LINEAR_CLIENT_SECRET": "${LINEAR_CLIENT_SECRET}"
"LINEAR_WEBHOOK_SECRET": "${LINEAR_WEBHOOK_SECRET}"
"LINEAR_ACCESS_TOKEN": "${LINEAR_ACCESS_TOKEN}"
"JIRA_API_TOKEN": "${JIRA_API_TOKEN}"
"JIRA_WEBHOOK_SECRET": "${JIRA_WEBHOOK_SECRET}"
"GITLAB_ACCESS_TOKEN": "${GITLAB_ACCESS_TOKEN}"
"GITLAB_WEBHOOK_SECRET": "${GITLAB_WEBHOOK_SECRET}"
"NOTION_CLIENT_SECRET": "${NOTION_CLIENT_SECRET}"
"NOTION_ACCESS_TOKEN": "${NOTION_ACCESS_TOKEN}"
"NOTION_WEBHOOK_SECRET": "${NOTION_WEBHOOK_SECRET}"
"GIPHY_API_KEY": "${GIPHY_API_KEY}"
timeout: 300
Placeholders to fill from your own secret store: ${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}. The registry never accepts secret values.
This is a local package: the command runs on your machine.
Not scored: fewer than three checks apply, usually because no remote answered a credential-free probe or the server is a local package.
protocol.modern, protocol.stateless, protocol.transport, protocol.list_ttlno remote answered a protocol handshake (not probed yet, unreachable, or local-only)auth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptions, tools.description_length, tools.schemas, tools.annotations, tools.directory_hints, tools.token_cost, tools.api_dumptool list unknown (behind auth, not probed, or empty)stability.changes, stability.rug_pulltool list unknowndeps.known_vulnsno known advisory in 136 resolved packagesdeps.mcp_sdk_version@modelcontextprotocol/sdk 1.30.1 has 1 known advisory (GHSA-6qxp-vccf-f47h); update @modelcontextprotocol/sdk to 1.31.0 or laterdeps.resolvable[email protected] resolved: 136 packagesNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +namespace-matches-repo ~liveness-unmeasured ~updated-53d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
[email protected] npm135 dependencies, resolved · MCP SDK @modelcontextprotocol/sdk 1.30.1 · advisories checked 2026-10-19
| advisory | severity | package | fixed in |
|---|---|---|---|
| GHSA-6qxp-vccf-f47hMCP TypeScript SDK: OAuth client could send credentials to an authorization server chosen by the MCP server | high | @modelcontextprotocol/[email protected]MCP SDK, direct | fixed in 1.31.0 |
Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.
| package | registry | version | runtime | secrets |
|---|---|---|---|---|
dear-claude | npm | 1.2.0 | – | 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 |
No tools observed. Local packages are never executed by the registry.
Schemas: list_tools.
{
"name": "io.github.sns45/dear-claude",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"version": "1.2.0",
"packages": [
{
"version": "1.2.0",
"transport": {
"type": "stdio"
},
"identifier": "dear-claude",
"registryType": "npm",
"environmentVariables": [
{
"name": "DEAR_CLAUDE_PORT",
"format": "string",
"description": "HTTP server port for webhooks (default: 3334)"
},
{
"name": "DEAR_CLAUDE_HOST",
"format": "string",
"description": "Bind address for the HTTP server (default: 127.0.0.1, loopback only)"
},
{
"name": "DEAR_CLAUDE_DATA_DIR",
"format": "string",
"description": "Override the data directory (default: $XDG_DATA_HOME/dear-claude or ~/.local/share/dear-claude)"
},
{
"name": "DEAR_CLAUDE_API_TOKEN",
"format": "string",
"isSecret": true,
"description": "Token guarding the /api/* and /mcp control endpoints (auto-generated at <dataDir>/api-token if unset)"
},
{
"name": "TAILSCALE_HOSTNAME",
"format": "string",
"description": "Override Tailscale hostname for webhook URLs (auto-detected if not set)"
},
{
"name": "GITHUB_CLIENT_ID",
"format": "string",
"description": "GitHub OAuth App or GitHub App client ID"
},
{
"name": "GITHUB_CLIENT_SECRET",
"format": "string",
"isSecret": true,
"description": "GitHub OAuth App or GitHub App client secret"
},
{
"name": "GITHUB_WEBHOOK_SECRET",
"format": "string",
"isSecret": true,
"description": "GitHub webhook signature secret"
},
{
"name": "GITHUB_ACCESS_TOKEN",
"format": "string",
"isSecret": true,
"description": "GitHub personal access token (alternative to OAuth)"
},
{
"name": "GITHUB_APP_ID",
"format": "string",
"description": "GitHub App ID (for installation-based auth)"
},
{
"name": "GITHUB_APP_PRIVATE_KEY_PATH",
"format": "string",
"description": "Path to GitHub App private key PEM file"
},
{
"name": "LINEAR_CLIENT_ID",
"format": "string",
"description": "Linear OAuth application client ID"
},
{
"name": "LINEAR_CLIENT_SECRET",
"format": "string",
"isSecret": true,
"description": "Linear OAuth application client secret"
},
{
"name": "LINEAR_WEBHOOK_SECRET",
"format": "string",
"isSecret": true,
"description": "Linear webhook signing secret"
},
{
"name": "LINEAR_ACCESS_TOKEN",
"format": "string",
"isSecret": true,
"description": "Linear personal API key (alternative to OAuth)"
},
{
"name": "JIRA_DOMAIN",
"format": "string",
"description": "Jira Cloud domain (e.g. 'mycompany' for mycompany.atlassian.net)"
},
{
"name": "JIRA_USER_EMAIL",
"format": "string",
"description": "Jira account email for API authentication"
},
{
"name": "JIRA_API_TOKEN",
"format": "string",
"isSecret": true,
"description": "Jira API token from id.atlassian.com"
},
{
"name": "JIRA_WEBHOOK_SECRET",
"format": "string",
"isSecret": true,
"description": "Shared secret for Jira webhook URL validation"
},
{
"name": "GITLAB_ACCESS_TOKEN",
"format": "string",
"isSecret": true,
"description": "GitLab personal or project access token"
},
{
"name": "GITLAB_WEBHOOK_SECRET",
"format": "string",
"isSecret": true,
"description": "GitLab webhook secret token"
},
{
"name": "NOTION_CLIENT_ID",
"format": "string",
"description": "Notion OAuth integration client ID"
},
{
"name": "NOTION_CLIENT_SECRET",
"format": "string",
"isSecret": true,
"description": "Notion OAuth integration client secret"
},
{
"name": "NOTION_ACCESS_TOKEN",
"format": "string",
"isSecret": true,
"description": "Notion internal integration token (alternative to OAuth)"
},
{
"name": "NOTION_WEBHOOK_SECRET",
"format": "string",
"isSecret": true,
"description": "Notion webhook verification secret"
},
{
"name": "OBSIDIAN_VAULT_PATH",
"format": "string",
"description": "Absolute path to Obsidian vault directory for file watching"
},
{
"name": "GIPHY_API_KEY",
"format": "string",
"isSecret": true,
"description": "Giphy API key for embedding GIF reactions in responses"
}
]
}
],
"repository": {
"url": "https://github.com/sns45/dear-claude",
"source": "github"
},
"description": "Spawn Claude Code instances from 6 platforms when 'Dear Claude' is mentioned."
}