BACK TO CORTEX

DEVELOPER DOCS

MCP

Give an agent a Cortex as a set of tools. It can ask the person a question, read their profile, or check how they communicate, all over the Model Context Protocol.

Server

  • URL: https://makecortex.com/mcp/<username>
  • Transport: HTTP. JSON-RPC 2.0 over POST; every reply is a single JSON body (no SSE). Protocol version 2024-11-05.
  • Auth: Authorization: Bearer cx_... on every call. The owner's key, or an organization teammate's own key.
  • The profile does not need to be public. Which tools are listed depends on the owner's plan.

Keep the key in your shell, not in the config file and never in a chat: mint one on Activate, then export CORTEX_API_KEY='cx_...'. Every snippet below reads it from the environment.

Set up your client

Claude Code

claude mcp add \
  --transport http cortex-<username> https://makecortex.com/mcp/<username> \
  --scope user \
  --header "Authorization: Bearer ${CORTEX_API_KEY}"

Cursor

Paste the whole block into a terminal at the root of your project. It writes .cursor/mcp.json; then restart Cursor and enable the server under Settings, MCP.

mkdir -p .cursor && cat > .cursor/mcp.json <<'EOF'
{
  "mcpServers": {
    "cortex-<username>": {
      "type": "http",
      "url": "https://makecortex.com/mcp/<username>",
      "headers": { "Authorization": "Bearer ${CORTEX_API_KEY}" }
    }
  }
}
EOF

Codex

Append to ~/.codex/config.toml (or .codex/config.toml in the repo), then restart Codex.

[mcp_servers.cortex-<username>]
url = "https://makecortex.com/mcp/<username>"
bearer_token_env_var = "CORTEX_API_KEY"

Any other MCP client

A project .mcp.json. It references the key by variable, so it is safe to commit.

{
  "mcpServers": {
    "cortex-<username>": {
      "type": "http",
      "url": "https://makecortex.com/mcp/<username>",
      "headers": { "Authorization": "Bearer ${CORTEX_API_KEY}" }
    }
  }
}

Signed in? Coding loop shows these with your username filled in, plus a one-line browser login that mints and stores a key for you.

Tools

TOOLINPUTRETURNS
query_personquestion (required), context, conversationHistory, querierContext, imagesThe answer in their voice, then a JSON block with response, confidence, sources and mode.
get_profilenoneValues, expertise, decision framework and communication style.
get_expertise_ondomain (required)What they know and think about that domain.
get_communication_stylenoneHow they write and speak.
coding_loop_reviewsessionId, goal, report, evidenceConcierge only. The owner reviews an agent’s work in a loop until it approves.

Owners on a plan with the agent arm also see list_calendar_events, search_emails and get_daily_brief on their own key. Teammates never do.

EXAMPLE TOOL CALL
query_person({
  question: "I wrote this launch plan. What feels weak or naive?",
  context: "Give me direct feedback before I ship it.",
  querierContext: { type: "ai", identity: "Claude helping with launch review" }
})

Calling it directly

You do not need an MCP client to try it. tools/list over curl:

curl -X POST https://makecortex.com/mcp/<username> \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $CORTEX_API_KEY" \
  -d '{ "jsonrpc": "2.0", "id": 1, "method": "tools/list" }'
curl -X POST https://makecortex.com/mcp/<username> \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $CORTEX_API_KEY" \
  -d '{ "jsonrpc": "2.0", "id": 2, "method": "tools/call",
        "params": { "name": "query_person", "arguments": { "question": "What do you look for in a first hire?" } } }'

GET https://makecortex.com/mcp/<username> with the same header returns a discovery document listing the tools.

Errors and limits

Errors come back as JSON-RPC errors, usually with HTTP 200, so check the error field rather than the status.

CODEMEANING
-32041Missing or invalid API key. Mint one on Activate and set CORTEX_API_KEY.
-32002Rate limited. data.retryAfter is the wait in seconds. The daily per-Cortex limit counts query_person and get_expertise_on.
-32001The Cortex cannot answer: for example its plan does not include MCP, or the profile does not exist.
-32601Unknown method or tool.
-32602Invalid parameters, for example a missing question.
-32700 / -32600The request is not valid JSON-RPC (HTTP 400).

Daily limits and monthly usage are the same as REST; see the overview.

Pricing · Trust · Contact · Terms · Privacy

v-27c86ea