Tool reference · Workspace

get_project_context

The reusable company / ICP / offer / voice record an agent should read before it writes anything

read-onlyreads the workspacenot rate limited

Updated 2026-09-18 · Server 2.0.0

What it does

Read the project record an agent writes from. Every field is plain text and every field can be empty; the response says which ones are, by name, so an agent asks for what is missing instead of inventing it.

Arguments

NameTypeRequiredMeaning
project_idstringnoProject id. Optional when the workspace has exactly one project.

This table is generated from the literal inputSchema that tools/list returns, so what your client sees and what this page says are the same object:

inputSchema
{
  "type": "object",
  "properties": {
    "project_id": {
      "type": "string",
      "description": "Project id. Optional when the workspace has exactly one project."
    }
  }
}

Request

Paste this, swap the key, and you have called the tool.

curl
curl -s https://topclozer.com/api/mcp \
  -H "Authorization: Bearer tcz_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "get_project_context",
      "arguments": { "project_id": "prj_4c81" }
    }
  }'

Returns

{ project, context, filled[], missing[], usable }. `context` is the stored row with every field present as a string — empty string where nothing has been entered.

The payload arrives inside an MCP content block — one text block whose body is this JSON, pretty-printed. Parse the string; there is no structured-content field.

payload
{
  "project": { "id": "prj_4c81", "name": "Northbeam · Series-B CTOs" },
  "context": {
    "project_id": "prj_4c81",
    "company": "Northbeam",
    "website": "https://northbeam.example",
    "product": "Observability for payments teams",
    "offer": "",
    "icp": "Series-B fintech, 50–300 people, own their payment rails",
    "target_roles": "CTO, VP Engineering",
    "industries": "Financial Services",
    "geographies": "US, DACH",
    "brand_voice": "",
    "crm": "",
    "linkedin_plan": "",
    "notes": "",
    "updated_at": 1789171200000
  },
  "filled": ["company", "website", "product", "icp", "target_roles", "industries", "geographies"],
  "missing": ["offer", "brand_voice", "crm", "linkedin_plan", "notes"],
  "usable": true
}

Worth knowing

There is no write tool here. Project context is edited in the app, by the person whose company it describes — an agent that could rewrite the ICP it is judged against is an agent that can move its own goalposts. `usable` is true once at least two of company, product, offer and icp have content; it is a floor, not a compliment.

Limits

No request limit. This tool reads the workspace database and costs nothing to serve. The limits that bite in this product are the sending controls — per-sender weekly invite caps, the warm-up ramp, the working-hours window and a randomised gap between actions — and no tool can raise them.

Related tools

All 21 tools are listed on the tool index. Connecting a client is on the Claude setup page, and the protocol details are on the server page.