Quickstart¶
Get Meridian running and connected to Claude Code in under 10 minutes.
Prerequisites¶
- A Claude Code, Claude Desktop, Cursor, or Windsurf installation
- No Python required for the Windows or macOS tray apps (tabs below)
Step 1 — Install Meridian¶
Download meridian-tray.exe from the Releases page (under Assets).
- Double-click
meridian-tray.exe. Windows SmartScreen may warn because the binary is unsigned. - A Meridian icon appears in the system tray. The tray starts the dashboard server on port 7878.
- Choose Open Dashboard from the tray menu. It opens http://127.0.0.1:7878/.
Note
meridian.exe is the tunnel client and does not serve the dashboard. Use meridian-tray.exe for the dashboard.
Download meridian-tray-mac.dmg from the Releases page.
- Open the DMG and drag Meridian.app to Applications.
- The app is not notarized. The first time, right-click Meridian.app and choose Open.
- Choose Open Dashboard from the menu-bar icon. It opens http://127.0.0.1:7878/.
Installs the dashboard server from PyPI. Requires uv.
Linux has no tray app yet, so run meridian in a terminal to start the server.
pixi installs all dependencies in a locked environment. Best for contributors or power users.
Requires Python 3.11+
Confirm it's running:
Open the dashboard: http://localhost:7878
Step 2 — Create your first project¶
In the dashboard, click New Project and give it a name (e.g. my-project).
Or via the MCP tools (after Step 3):
Step 3 — Connect your AI client¶
Claude Code¶
Add to .mcp.json in your project root (or under mcpServers in ~/.claude.json for every project):
{
"mcpServers": {
"meridian": {
"command": "pixi",
"args": ["run", "python", "-m", "meridian", "--mcp"],
"cwd": "/absolute/path/to/Meridian"
}
}
}
Tip
Replace /absolute/path/to/Meridian with the actual path where you cloned the repo.
On Windows use forward slashes: C:/Users/you/Meridian.
Server already running (tray app or uv)¶
If meridian-tray.exe, the macOS tray app or meridian is already running, point Claude Code at its HTTP endpoint:
A self-hosted server needs no API key. If you set MERIDIAN_PORT, change the port in the URL to match.
Claude Desktop¶
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or
%APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"meridian": {
"command": "pixi",
"args": ["run", "python", "-m", "meridian", "--mcp"],
"cwd": "/absolute/path/to/Meridian"
}
}
}
Cursor¶
Add to Cursor's user-global config, ~/.cursor/mcp.json:
{
"mcpServers": {
"meridian": {
"command": "pixi",
"args": ["run", "python", "-m", "meridian", "--mcp"],
"cwd": "/absolute/path/to/Meridian"
}
}
}
Windsurf¶
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"meridian": {
"command": "pixi",
"args": ["run", "python", "-m", "meridian", "--mcp"],
"cwd": "/absolute/path/to/Meridian"
}
}
}
Browser clients (Claude and ChatGPT)¶
For hosted Meridian, no extension is required:
- Open Claude Customize > Connectors or ChatGPT Settings > Apps
- Add
https://usemeridian.us/mcp - Complete the OAuth prompt
For self-hosted localhost browser access, use a local Claude SSE bridge or put Meridian behind a public HTTPS URL first.
See the full guide here: Browser Connector
Step 4 — Your first coordinated session¶
Start a session in Claude Code. Meridian tools will be available automatically.
Paste this into your first Claude Code message:
start_session(
project_id="<your-project-id>",
session_name="my-first-session"
)
get_goal(project_id="<your-project-id>")
Finding your project ID
Open the Meridian dashboard at http://localhost:7878, select your project, and copy the ID from the URL or project settings.
Set MERIDIAN_HUMAN_ID to identify yourself
Meridian attributes sessions and tasks to a human so the dashboard can group
work per person. Set this env var before starting the server (or add it to
your .env file):
export MERIDIAN_HUMAN_ID=alice # macOS / Linux
set MERIDIAN_HUMAN_ID=alice # Windows cmd
$env:MERIDIAN_HUMAN_ID="alice" # PowerShell
If omitted, Meridian falls back to $USER / $USERNAME / hostname.
You can also pass it explicitly per session:
Step 5 — Use Meridian in your workflow¶
Once connected, add these calls to your Claude prompts:
Start of session:
Log progress:
log_task(session_id="...", project_id="...",
description="Fixed JWT refresh token bug — tokens now invalidated on rotation",
status="done")
When context is filling up — or before ending:
Returns a compact delta handoff and the next/goal string. Start a new session and paste it to resume instantly.
See what other sessions are doing:
Optional: Auto-checkpoint with hooks¶
Wire Claude Code to call start_session on every start and checkpoint on every stop automatically, with no extra prompting:
Both installers prompt for your Meridian URL and project ID, then write SessionStart and Stop hooks to ~/.claude/settings.json. From that point on, every Claude Code session auto-injects context on start and snapshots progress on end.
Tip
After installing hooks, you no longer need to manually call start_session at the top of each prompt.
Casual user path (no CLI required)¶
Not running Claude Code? Meridian works entirely from the browser via the Browser Connector.
1 — Connect on claude.ai
Open Customize > Connectors and add:
- Hosted: https://usemeridian.us/mcp
- Self-hosted: your public HTTPS URL (see self-hosting)
2 — Start a session in chat
start_session(project_id="<your-project-id>", session_name="planning-2026-06")
get_context_block(project_id="<your-project-id>", mode="chat")
3 — Work inline with MCP tools
Log decisions and notes as you chat:
pin_decision(project_id="...", title="Use psycopg3", body="asyncpg has DLL issues on Windows", category="TECHNICAL")
log_task(session_id="...", project_id="...", description="Reviewed auth refactor plan")
add_note(session_id="...", project_id="...", title="Design notes", body="...")
4 — Save progress before ending
5 — Hand off to the next session
Paste the handoff at the start of the next chat. That's the full lightweight loop — no local server, no terminal, full session continuity.
Lightweight workflow (hosted tier)¶
Skip the install entirely. The hosted tier at usemeridian.us gives you a
managed Meridian instance — sign in with Google or GitHub, paste the .mcp.json snippet from your
welcome email, and you're coordinating in minutes.
For browser-based clients (Claude.ai, ChatGPT), the Browser Connector needs no config files at all — just add your MCP URL in the client's connector settings.
Minimal session pattern — paste at the start of every chat:
Log work as you complete it:
Before context fills or before ending:
Start the next session with full context:
Paste the handoff block at the top of the next chat. That's the whole workflow — four tools, no local server, full session continuity.
Troubleshooting¶
MCP tools not showing up in Claude Code¶
- Make sure the Meridian server is running (tray app,
meridian, orpixi run start) - Verify the
cwdpath in your.mcp.jsonis correct and uses absolute path - Restart Claude Code after editing
.mcp.json - Check Claude Code's MCP panel (⚙️ → MCP) for error messages
Server won't start — port already in use¶
# Change the port (uv install)
MERIDIAN_PORT=7879 meridian
# Change the port (pixi)
MERIDIAN_PORT=7879 pixi run start
For the tray apps, set MERIDIAN_PORT in your environment before launching them.
If you use a non-default port, update the url in your HTTP MCP config to match. The stdio (pixi) config does not use a port.
Database error on startup¶
Meridian creates ./data/meridian.db automatically. If you see permission errors:
Windows PATH too long error¶
This happens after many restarts on Windows. Fix:
Can't find project ID¶
Open http://localhost:7878, click your project, and look at the URL:
http://localhost:7878/dashboard#project-<uuid> — the UUID is your project ID.
Or use the MCP tool:
Postgres connection failing¶
Set MERIDIAN_DB_URL to your Postgres connection string:
Meridian auto-detects Postgres vs SQLite from the URL scheme.