MCP Server Setup

Connect PreBriefed to Claude Desktop, Cursor, or Windsurf via Model Context Protocol.

1. Security & Paid Access

For paid-only access, use signed user tokens (`MCP_AUTH_MODE=user_token`) and enable `MCP_REQUIRE_PRO=1`.

MCP_AUTH_MODE=user_token
MCP_REQUIRE_PRO=1
MCP_TOKEN_SIGNING_SECRET=replace-with-random-secret

2. Remote HTTP Endpoint

Use the hosted MCP HTTP endpoint directly via your domain. Client sends initialize first, then reuses the `Mcp-Session-Id` response header for subsequent calls.

claude mcp add --transport http prebriefed https://www.prebriefed.com/api/mcp

3. Local Fallback (stdio)

{
  "mcpServers": {
    "prebriefed": {
      "command": "npx",
      "args": ["tsx", "/absolute/path/to/prebriefed/scripts/mcp-server.ts"],
      "env": {
        "DATABASE_URL": "file:./dev.db",
        "MCP_AUTH_MODE": "user_token",
        "MCP_REQUIRE_PRO": "1",
        "MCP_TOKEN_SIGNING_SECRET": "replace-with-random-secret"
      }
    }
  }
}

4. Create User Token

Pass the generated token as `authToken` in the MCP initialize request.

npm run mcp:token -- --email you@company.com --days 30

5. Test the Connection

Expected result: "MCP smoke test passed".

npm run test:mcp

6. Personalized Conversation Hooks

You can send your own profile in the tool call (`requester_profile` / `requester_profile_context`) so hooks adapt to your interests, role, and goals.

{
  "name": "Satya Nadella",
  "company": "Microsoft",
  "meeting_context": "Partner strategy discussion",
  "requester_profile": {
    "currentRole": "VP Partnerships",
    "interests": ["AI", "Enterprise GTM"],
    "meetingGoal": "Define a joint 90-day plan",
    "communicationStyle": "direct"
  }
}