Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Dear Claude

by sns45version 1.2.0i★ –iRuns on your computer
Registry nameio.github.sns45/dear-claude

Install

Overview

Description from the maker (original English)

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

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Other
  • You need to fill in: 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

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: 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_KEY

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "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"
      }
    }
  }
}

Run this in your terminal

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-claude

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "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"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "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"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • DEAR_CLAUDE_PORT env
    HTTP server port for webhooks (default: 3334)
  • DEAR_CLAUDE_HOST env
    Bind address for the HTTP server (default: 127.0.0.1, loopback only)
  • DEAR_CLAUDE_DATA_DIR env
    Override the data directory (default: $XDG_DATA_HOME/dear-claude or ~/.local/share/dear-claude)
  • DEAR_CLAUDE_API_TOKEN secret env
    Token guarding the /api/* and /mcp control endpoints (auto-generated at /api-token if unset)
  • TAILSCALE_HOSTNAME env
    Override Tailscale hostname for webhook URLs (auto-detected if not set)
  • GITHUB_CLIENT_ID env
    GitHub OAuth App or GitHub App client ID
  • GITHUB_CLIENT_SECRET secret env
    GitHub OAuth App or GitHub App client secret
  • GITHUB_WEBHOOK_SECRET secret env
    GitHub webhook signature secret
  • GITHUB_ACCESS_TOKEN secret env
    GitHub personal access token (alternative to OAuth)
  • GITHUB_APP_ID env
    GitHub App ID (for installation-based auth)
  • GITHUB_APP_PRIVATE_KEY_PATH env
    Path to GitHub App private key PEM file
  • LINEAR_CLIENT_ID env
    Linear OAuth application client ID
  • LINEAR_CLIENT_SECRET secret env
    Linear OAuth application client secret
  • LINEAR_WEBHOOK_SECRET secret env
    Linear webhook signing secret
  • LINEAR_ACCESS_TOKEN secret env
    Linear personal API key (alternative to OAuth)
  • JIRA_DOMAIN env
    Jira Cloud domain (e.g. 'mycompany' for mycompany.atlassian.net)
  • JIRA_USER_EMAIL env
    Jira account email for API authentication
  • JIRA_API_TOKEN secret env
    Jira API token from id.atlassian.com
  • JIRA_WEBHOOK_SECRET secret env
    Shared secret for Jira webhook URL validation
  • GITLAB_ACCESS_TOKEN secret env
    GitLab personal or project access token
  • GITLAB_WEBHOOK_SECRET secret env
    GitLab webhook secret token
  • NOTION_CLIENT_ID env
    Notion OAuth integration client ID
  • NOTION_CLIENT_SECRET secret env
    Notion OAuth integration client secret
  • NOTION_ACCESS_TOKEN secret env
    Notion internal integration token (alternative to OAuth)
  • NOTION_WEBHOOK_SECRET secret env
    Notion webhook verification secret
  • OBSIDIAN_VAULT_PATH env
    Absolute path to Obsidian vault directory for file watching
  • GIPHY_API_KEY secret env
    Giphy API key for embedding GIF reactions in responses

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account sns45, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Otheri

  • More stars than 0% of the other 32718 servers in this category
  • Published to the registry more recently than 30% of the other 32718 servers in this category
  • Basic checks equal to or better than 100% of the other 32718 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Dear Claude safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: 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

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (1.2.0) reached the registry 2 months ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: Spec Driven Development, Remote Desktop Commander, MemberVault MCP by usefulapi

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Spec Driven Development

by formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Runs on your computer★ 440MITUpdated 14 months ago
Install

Remote Desktop Commander

by desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Runs in the cloud★ 211Updated 2 days ago
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

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.


What is this?

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:

  • Reads the issue/comment/note context
  • Executes the requested task (code, review, create tasks, etc.)
  • Posts results back to the originating platform
  • Persists sessions for 7 days so you can have multi-turn conversations

No Anthropic API keys needed. Works with your existing Claude Code subscription. 100% local and private — your code never leaves your machine.

Supported Platforms

PlatformTrigger on issue/PRTrigger on commentComment backEmoji reactionsSub-tasksPR/MR review
GitHubYesYesYesYes-Yes
LinearYesYesYesYesYes-
JiraYesYesYes-Yes-
GitLabYesYesYesYes-Yes
NotionYesYesYes---
ObsidianYes-Yes---

Cross-Platform Orchestration

Instances from any platform get API access to all configured platforms. This enables workflows like:

  1. Write a spec in Obsidian → "Dear Claude, create these tasks in Linear"
  2. Discuss on Linear → "Dear Claude, code this on GitHub"
  3. Review on GitHub → "Dear Claude, resolve the merge conflicts"
  4. Parallel coding → Claude spawns multiple instances, one per branch, using git worktrees

Quick Start

Install in one line
claude mcp add dear-claude -- bunx dear-claude start --mcp

That's it. Start Claude Code and Dear Claude is ready.

Prerequisites
  • Claude Code CLI installed (claude command available)
  • Bun runtime (for bunx)
  • Tailscale with Funnel enabled (for webhooks from external platforms)
Manual setup (alternative)

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.


Platform Setup

Tailscale Funnel

Dear Claude uses Tailscale Funnel for stable public HTTPS URLs to receive webhooks. Setup is mostly automatic.

  1. Install Tailscale:
   # macOS

brew install tailscale

Linux

curl -fsSL https://tailscale.com/install.sh | sh

  1. Authenticate: tailscale up
  1. Enable Funnel in the admin console: https://login.tailscale.com/admin/acls
  • Add the "funnel" capability to your ACL policy
  1. The server auto-configures Funnel on startup. Your public URL will be:
   https://<your-hostname>.ts.net/dc

Tip: Run tailscale serve status --json to verify your config. The health check auto-repairs the Funnel config every 10 seconds.


GitHub
Option A: GitHub App (recommended)
  1. Go to GitHub Settings → Developer settings → GitHub Apps → New GitHub App
  2. Set these fields:
  • Homepage URL: https:// .ts.net/dc
  • Callback URL: https:// .ts.net/dc/oauth/callback/github
  • Webhook URL: https:// .ts.net/dc/webhook/github
  • Webhook secret: generate a random string
  1. Under Permissions:
  • Repository: Issues (Read & Write), Pull Requests (Read & Write), Contents (Read & Write)
  1. Under Subscribe to events:
  • Issue comments, Pull request review comments
  1. Copy credentials and set env vars:
   GITHUB_CLIENT_ID=Iv1.abc123...

GITHUB_CLIENT_SECRET=abc123... GITHUB_WEBHOOK_SECRET=your-webhook-secret

6. Install the app on your repos
  1. Complete OAuth: visit https:// .ts.net/dc/setup/github
Option B: Personal Access Token (simpler, no webhooks)
  1. Go to GitHub Settings → Developer settings → Personal access tokens → Tokens (classic)
  2. Create a token with scopes: repo, write:discussion
  3. Set: GITHUB_ACCESS_TOKEN=ghp_...

Note: With a PAT alone you won't get webhook-triggered instances. You'd use the spawn_instance MCP tool or /api/spawn endpoint instead.

Environment VariableDescription
GITHUB_CLIENT_IDGitHub App client ID
GITHUB_CLIENT_SECRETGitHub App client secret
GITHUB_WEBHOOK_SECRETWebhook signature verification secret
GITHUB_ACCESS_TOKENPersonal access token (alternative to OAuth)

Linear
  1. Go to Linear Settings → API → OAuth Applications → New Application
  2. Set the callback URL: https:// .ts.net/dc/oauth/callback/linear
  3. Copy Client ID and Client Secret
  4. Enable the Webhooks toggle on the OAuth app
  5. Go to Linear Settings → API → Webhooks → New Webhook:
  • URL: https:// .ts.net/dc/webhook/linear
  • Copy the Signing Secret
  • Enable events: Comments (create), Issues (create, update)
  1. Set env vars:
   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 VariableDescription
LINEAR_CLIENT_IDOAuth client ID
LINEAR_CLIENT_SECRETOAuth client secret
LINEAR_WEBHOOK_SECRETWebhook signing secret
LINEAR_ACCESS_TOKENPersonal API key (alternative to OAuth)

Jira Cloud
  1. Create an API token at https://id.atlassian.com/manage-profile/security/api-tokens
  2. Set env vars:
   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:
  • Go to Jira Admin → System → Webhooks → Create webhook
  • URL: https:// .ts.net/dc/webhook/jira
  • If using JIRA_WEBHOOK_SECRET, append it: ?secret=YOUR_SECRET
  • Select events: issue_created, issue_updated, comment_created
  1. Save the webhook

Claude can create sub-tasks, transition issue status, and add comments via the Jira REST API v2.

Environment VariableDescription
JIRA_DOMAINJira subdomain (e.g. mycompany for mycompany.atlassian.net)
JIRA_USER_EMAILYour Atlassian email
JIRA_API_TOKENAPI token from Atlassian
JIRA_WEBHOOK_SECRETOptional shared secret for webhook verification

GitLab
  1. Create a Personal Access Token at GitLab → Settings → Access Tokens
  • Scopes: api, read_repository, write_repository
  1. Set env vars:
   GITLAB_ACCESS_TOKEN=glpat-...

GITLAB_WEBHOOK_SECRET=your-secret

3. **Add a webhook** to your project (or group):
  • Go to Settings → Webhooks
  • URL: https:// .ts.net/dc/webhook/gitlab
  • Secret token: same as GITLAB_WEBHOOK_SECRET
  • Trigger events: Comments, Issues events, Merge request events
  1. Save

For self-hosted GitLab, also set GITLAB_URL=https://your-gitlab-instance.com.

Environment VariableDescription
GITLAB_ACCESS_TOKENPersonal access token
GITLAB_WEBHOOK_SECRETWebhook secret token
GITLAB_URLGitLab instance URL (default: https://gitlab.com)

Notion
Option A: Internal Integration (simpler)
  1. Go to https://www.notion.so/my-integrations → New integration
  2. Give it a name, select your workspace
  3. Copy the Internal Integration Secret
  4. Set: NOTION_ACCESS_TOKEN=ntn_...
  5. Share pages/databases with the integration (click "..." on a page → Connections → Add your integration)
Option B: OAuth (public app)
  1. Create an OAuth integration at https://www.notion.so/my-integrations
  2. Set callback URL: https:// .ts.net/dc/oauth/callback/notion
  3. Set env vars:
   NOTION_CLIENT_ID=your-client-id

NOTION_CLIENT_SECRET=your-secret

4. Complete OAuth: visit `https://<your-hostname>.ts.net/dc/setup/notion`
Webhook setup

Notion doesn't have native webhooks yet. To trigger Claude from Notion:

  • Use Notion's automation rules with a webhook action (if available)
  • Or use a third-party service like Zapier/Make to POST to https:// .ts.net/dc/webhook/notion
  • Set NOTION_WEBHOOK_SECRET if you want signature verification
Environment VariableDescription
NOTION_ACCESS_TOKENInternal integration token
NOTION_CLIENT_IDOAuth client ID
NOTION_CLIENT_SECRETOAuth client secret
NOTION_WEBHOOK_SECRETWebhook verification secret

Obsidian

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.

  1. Set env var with the absolute path to your vault:
   OBSIDIAN_VAULT_PATH=/Users/yourname/Documents/MyVault
  1. That's it! Write "Dear Claude, ..." in any .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:

  • Watches for .md file changes in the vault
  • Ignores files in .obsidian/, .trash/, and dotfile directories
  • 2-second debounce to avoid triggering on every keystroke
  • Supports wikilink references ([[other-note]]) — Claude resolves and reads them
  • Supports embedded images — Claude can see and analyze them
Environment VariableDescription
OBSIDIAN_VAULT_PATHAbsolute path to your Obsidian vault
OBSIDIAN_WATCH_DEBOUNCE_MSDebounce delay in ms (default: 2000)

Usage

Trigger Format

Write "Dear Claude" (case-insensitive, with a space) anywhere in:

  • GitHub issue/PR comments
  • Linear issue descriptions or comments
  • Jira issue descriptions or comments
  • GitLab issue/MR descriptions or comments
  • Notion page comments
  • Obsidian .md files
Example

GitHub 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

Only the beginning is shown; read the rest in the repo

Ask PopNx