MCP Server

Connect Claude Code to your Limn threads

Add one entry to .claude/mcp.json and Claude automatically reads every open thread on any Markdown file it accesses. Your team's context becomes Claude's context.

⏱ Under 15 minutes to complete setup

Prerequisites

  • Claude Code installed (npm install -g @anthropic-ai/claude-code)
  • A Limn account — sign in here if you don't have one
  • At least one public GitHub or GitLab Markdown file with threads (or create your first below)
  • Optional: Limn VS Code extension for editor gutter threads
1

Get your API token

Go to Settings → API and copy your personal access token.

Tokens are scoped to your account. Keep them out of version control.

2

Add the MCP server to .claude/mcp.json

Create or open .claude/mcp.json in your project root and add the limn server:

{
  "mcpServers": {
    "limn": {
      "command": "npx",
      "args": ["-y", "@limn/mcp", "--token", "YOUR_TOKEN_HERE"]
    }
  }
}

Replace YOUR_TOKEN_HERE with the token from step 1.

3

Open a Markdown file in Claude Code and verify

Open any Markdown file in your project, then ask Claude:

What open threads are there on the current file?

Claude will list all open threads on that file. If there are no threads yet, it will say so — that's correct behaviour.

4

Create your first thread (optional)

Paste any GitHub or GitLab Markdown URL into the Limn viewer, select a sentence, and add a comment. Then ask Claude Code about that file again — it will see the thread.

What Claude can do with Limn threads

  • Read threads — Claude sees all open threads on any file it reads, as structured context before its answer.
  • Reply to threads — Ask Claude to respond to a specific thread and it will post a reply via the Limn API.
  • Create threads — Claude can open a new thread on any line of a Markdown file.
  • Resolve threads — Claude can mark threads as resolved when the question is answered.

Troubleshooting

Claude says "No MCP server named limn found"

Check that .claude/mcp.json is in the same directory where you're running Claude Code, and that the JSON is valid (no trailing commas).

Claude sees 0 threads on a file I know has threads

The thread must be on the exact file URL Claude is reading. Check the thread's repo URL and file path in the Limn viewer match the file you have open.

I get a 401 Unauthorized error

Your token may be expired or malformed. Go to Settings → API and regenerate it.