Skip to content
Conduit

mcp server

prepboard

Calaf seeds core subset (4 of 38): format, validate, import, list workspaces.

CloudCorpRecords/prepboardcommunitylistedunreviewed

Set up

Runs on your computer. Pick your agent and operating system.

Before you start

  • Node.js 20 or newer
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "prepboard": {
      "command": "npx",
      "args": [
        "-y",
        "@reneturcios/prepboard"
      ]
    }
  }
}

same format Cursor, GitHub Copilot CLI, Junie, JetBrains AI Assistant, Augment (Auggie CLI), Factory Droid, Kiro, Devin CLI +12

Values in angle brackets are placeholders. Restart Claude Desktop after editing its config.Claude Desktop docs

README

synced Nov 2, 2026

prepboard

prepboard is a small forwarding client for the Calaf recruiting workspace servers. It covers the seed workflow: read the seed document format, validate a seed against it, import a seed into a workspace, and list your workspaces. One binary serves a command-line interface and a stdio MCP server.

Labelled core subset — 4 of 38 tools. The original Calaf account server documents 38 tools, but only four of them have published parameter tables. prepboard builds exactly those four and omits the other 34 rather than inventing their schemas. The omitted tools are: export_seed, get_profile_schema, get_firm_profile, submit_firm_profile, log_touchpoint, update_contact, add_task, get_contacts, get_firms, log_firm_work, get_firm_work, remove_firm_work, get_applications, schedule_interview, add_application, update_application, get_tasks, complete_task, snooze_task, add_firm, update_firm, add_office, add_note, get_notes, update_note, create_workspace, rename_workspace, archive_workspace, add_template, get_templates, update_template, add_prep_question, get_prep, draft_prep_answer.

How it talks to Calaf

Calls are forwarded as JSON-RPC tools/call POSTs to the upstream MCP endpoints — this wire shape is a documented reconstruction from the public spec, and the upstream result value is returned verbatim.

  • Public seeds endpoint: https://calaf.ai/api/mcp — no auth. Serves seed-format / get_seed_format and validate-seed / validate_seed.
  • Account endpoint: https://calaf.ai/api/mcp-account — requires Authorization: Bearer <token> with the token from the CALAF_ACCESS_TOKEN environment variable. Serves import-seed / import_seed and workspaces / list_workspaces. When the token is missing, these commands fail with an error naming CALAF_ACCESS_TOKEN; they never fabricate a result.

Endpoint overrides: CALAF_MCP_URL for the public endpoint and CALAF_ACCOUNT_MCP_URL for the account endpoint.

Install

npx @reneturcios/prepboard seed-format

Or run the container image:

docker run -i ghcr.io/cloudcorprecords/prepboard

The container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead. Account commands inside the container need -e CALAF_ACCESS_TOKEN=....

CLI

prepboard seed-format
prepboard validate-seed '<seed-json-or-string>'
prepboard import-seed my-workspace '<seed-json-or-string>' --parts orgs,templates,prep,contacts
prepboard workspaces

prepboard --version

A <seed> argument is taken as a JSON value when it parses as an object, otherwise as a plain string seed — the Calaf seed format accepts both a string and an object form. Commands print the upstream result as JSON. Exit codes: 0 on success, 1 when a call fails (including a missing token or an upstream error), 2 for usage errors.

MCP server

One bin serves both faces. The mcp subcommand starts a stdio MCP server:

npx -y @reneturcios/prepboard mcp

MCP client configuration:

{
  "mcpServers": {
    "prepboard": {
      "command": "npx",
      "args": ["-y", "@reneturcios/prepboard", "mcp"],
      "env": {
        "CALAF_ACCESS_TOKEN": "<your Calaf access token>"
      }
    }
  }
}

The token is only needed for import_seed and list_workspaces; get_seed_format and validate_seed work with nothing configured.

Tools

ToolInputEndpointWhat it returns
get_seed_format(none)publicThe seed document format.
validate_seedseed (string or object, required)publicThe validation result for that seed.
import_seedworkspace (required), seed (string or object, required), parts (string array, optional: orgs / templates / prep / contacts)accountThe import result.
list_workspaces(none)accountThe caller's workspaces.

Development

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, no network (fake fetch fixtures)
npm run dev     # run the CLI from source via tsx

License

MIT — see LICENSE.

↑↓ navigate openesc close