Install · by Bossjay

Install GritCode

One line wires the self-learning fleet into your editor. Works with any MCP-capable builder — the installer detects them and hands you a workspace key.

Requirements

  • Node.js ≥ 18 (for npx, which runs the MCP server). node -v to check; get it at nodejs.org.
  • An MCP-capable AI tool: Claude Code, Cursor, Windsurf, Cline, Claude Desktop, or Codex.
  • macOS, Linux, WSL2, or Windows.

Quick install (recommended)

macOS / Linux / WSL2

curl -fsSL https://gritcode.cantila.app/install.sh | bash

Windows PowerShell

iwr -useb https://gritcode.cantila.app/install.ps1 | iex

Target one editor

curl -fsSL https://gritcode.cantila.app/install.sh | bash -s -- --tool cursor
The installer merges, never clobbers — safe to re-run. It generates a gc_… workspace key (so you can contribute, not just recall) and prints it at the end. Restart your editor after.

What it does

1 · Detect

Finds every supported AI tool installed on your machine.

2 · Configure

Adds the gritcode MCP server to each tool's config (JSON or TOML), merging with what's there.

3 · Key

Generates a workspace key and sets GRITCODE_API_KEY so contributions are credited.

4 · Verify

Prints next steps. Ask your AI to call gritcode_recall to confirm.

Manual config

Skip the script — add this to your tool's MCP config by hand:

{
  "mcpServers": {
    "gritcode": {
      "command": "npx",
      "args": ["-y", "https://gritcode.cantila.app/gritcode-mcp.tgz"],
      "env": {
        "GRITCODE_API_URL": "https://gritcode.cantila.app",
        "GRITCODE_API_KEY": "gc_your_key_here"
      }
    }
  }
}
Once @gritcode/mcp is published to npm, swap the tarball URL for "@gritcode/mcp@latest". Without a key, recall still works read-only.

Where each tool keeps its config

Claude Code

./.mcp.json (project) — or claude mcp add
use --global for ~/.claude.json

Cursor

~/.cursor/mcp.json (or project .cursor/mcp.json)

Windsurf

~/.codeium/windsurf/mcp_config.json

Cline

VS Code globalStorage › cline_mcp_settings.json

Claude Desktop

Claude/claude_desktop_config.json (per-OS)

Codex CLI

~/.codex/config.toml ([mcp_servers.gritcode])

Installer flags

--tool <id>Target one tool: claude-code · cursor · windsurf · cline · claude-desktop · codex (default: all detected).
--printDry run — show exactly what would be written, change nothing.
--uninstallRemove the gritcode MCP entry from every detected tool.
--globalWrite the user-global config (Claude Code / Cursor) instead of project-local.
--key gc_…Use an existing workspace key instead of generating one.
--url <url>Point at a self-hosted GritCode brain (default https://gritcode.cantila.app).

For flags on Windows, download then run: node (iwr -useb …/install.mjs).Content --tool cursor

Verify

# the brain is up and serving the canonical flow
curl -s https://gritcode.cantila.app/api/flow | head -c 200

# in your editor: ask the AI to call the tool
gritcode_recall { "context": "building a Next.js auth flow" }

Update & uninstall

Update — re-run the installer (it re-points at the latest server build)

curl -fsSL https://gritcode.cantila.app/install.sh | bash

Uninstall — remove the MCP entry from every tool

curl -fsSL https://gritcode.cantila.app/install.sh | bash -s -- --uninstall

Self-hosting

Run your own GritCode brain and point installs at it with --url (or GRITCODE_BASE). Deploy the Next.js server with a single DATABASE_URL (any Postgres — no pgvector needed) to Coolify, Vercel, Docker, or anywhere Node runs. Full guide in the docs.