Skip to content

Add Salient to Claude Code

Connect Salient's MCP server to Claude Code in under a minute.

Option 1: CLI Command

cd /path/to/your/project
claude mcp add ttx-salient -- python3 /path/to/salient/tools/mcp-ttx/server.py

Set environment variables:

claude mcp add ttx-salient \
  -e SALIENT_API_URL=http://localhost:8000 \
  -e SALIENT_TOKEN=your-jwt-token \
  -- python3 /path/to/salient/tools/mcp-ttx/server.py

Option 2: Project .mcp.json

Create .mcp.json in your project root:

{
  "mcpServers": {
    "ttx-salient": {
      "type": "stdio",
      "command": "python3",
      "args": ["tools/mcp-ttx/server.py"],
      "env": {
        "SALIENT_API_URL": "http://localhost:8000",
        "SALIENT_TOKEN": ""
      }
    }
  }
}

No token needed for local dev

When running locally with make dev, leave SALIENT_TOKEN empty. The MCP server connects directly to the backend.

Option 3: Remote Server

Point to your production Salient instance:

{
  "mcpServers": {
    "ttx-salient": {
      "type": "stdio",
      "command": "python3",
      "args": ["tools/mcp-ttx/server.py"],
      "env": {
        "SALIENT_API_URL": "https://salient.yourdomain.com",
        "SALIENT_TOKEN": "your-jwt-token"
      }
    }
  }
}

Verify Connection

claude mcp list

You should see:

ttx-salient    stdio    tools/mcp-ttx/server.py    connected

Add SSH Server (Optional)

For managing your production droplet:

{
  "mcpServers": {
    "ttx-salient": { "..." : "..." },
    "salient-droplet": {
      "type": "stdio",
      "command": "python3",
      "args": ["tools/mcp-ssh/server.py"],
      "env": {
        "SSH_HOST": "root@your-droplet-ip",
        "SSH_IDENTITY_FILE": "~/.ssh/salient-key"
      }
    }
  }
}

Using the /ttx Skill

Once connected, the /ttx skill becomes available:

/ttx run              Facilitate a tabletop exercise
/ttx profile          Review digital twin completeness
/ttx gather           Guided evidence collection
/ttx evaluate 42      Re-evaluate exercise #42
/ttx playbook 42      Generate playbook from exercise #42
/ttx enrich           Pull data from sibling MCPs (Gmail, Notion, etc.)
/ttx status           Dashboard overview

Troubleshooting

Connection refused

If you see Cannot connect to Salient API at http://localhost:8000:

  1. Make sure the backend is running: make dev or docker ps
  2. Check the API URL in your .mcp.json or environment
  3. Verify the port isn't blocked: curl http://localhost:8000/health

Authentication error

If you see 401 Unauthorized:

  1. Get a fresh token from the Salient UI (Settings → API Token)
  2. Update SALIENT_TOKEN in your .mcp.json
  3. Restart Claude Code to pick up the new config