{"id":"0e4b60bd-ebdc-4795-b706-a0eef3cd39e6","slug":"prepboard","kind":"mcp","name":"prepboard","summary":"Calaf seeds core subset (4 of 38): format, validate, import, list workspaces.","owner":"CloudCorpRecords","repoUrl":"https://github.com/CloudCorpRecords/prepboard","license":"MIT","licenseTier":"permissive","trust":"community","stars":0,"match":null,"fewStars":true,"format":"mcp","createdAt":"2026-11-02T08:43:48.000Z","addedAt":"2026-11-02T12:47:55.743Z","logoUrl":"https://avatars.githubusercontent.com/u/95189389?u=8e277e1a24ff84ae7b49c89e6897fa44178a5c34&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["utilities"],"tags":[],"runtime":"node","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-11-02T12:51:48.498Z","sample":false,"url":"https://conduits.dev/tools/prepboard","language":"TypeScript","transports":["stdio"],"install":{"npm":"@reneturcios/prepboard"},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# prepboard\n\nprepboard is a small forwarding client for the Calaf recruiting\nworkspace servers. It covers the seed workflow: read the seed\ndocument format, validate a seed against it, import a seed into a\nworkspace, and list your workspaces. One binary serves a\ncommand-line interface and a stdio MCP server.\n\n> **Labelled core subset — 4 of 38 tools.** The original Calaf\n> account server documents 38 tools, but only four of them have\n> published parameter tables. prepboard builds exactly those four\n> and omits the other 34 rather than inventing their schemas. The\n> omitted tools are: `export_seed`, `get_profile_schema`,\n> `get_firm_profile`, `submit_firm_profile`, `log_touchpoint`,\n> `update_contact`, `add_task`, `get_contacts`, `get_firms`,\n> `log_firm_work`, `get_firm_work`, `remove_firm_work`,\n> `get_applications`, `schedule_interview`, `add_application`,\n> `update_application`, `get_tasks`, `complete_task`, `snooze_task`,\n> `add_firm`, `update_firm`, `add_office`, `add_note`, `get_notes`,\n> `update_note`, `create_workspace`, `rename_workspace`,\n> `archive_workspace`, `add_template`, `get_templates`,\n> `update_template`, `add_prep_question`, `get_prep`,\n> `draft_prep_answer`.\n\n## How it talks to Calaf\n\nCalls are forwarded as JSON-RPC `tools/call` POSTs to the upstream\nMCP endpoints — this wire shape is a documented reconstruction from\nthe public spec, and the upstream `result` value is returned\nverbatim.\n\n- Public seeds endpoint: `https://calaf.ai/api/mcp` — no auth.\n  Serves `seed-format` / `get_seed_format` and\n  `validate-seed` / `validate_seed`.\n- Account endpoint: `https://calaf.ai/api/mcp-account` — requires\n  `Authorization: Bearer <token>` with the token from the\n  `CALAF_ACCESS_TOKEN` environment variable. Serves\n  `import-seed` / `import_seed` and `workspaces` /\n  `list_workspaces`. When the token is missing, these commands fail\n  with an error naming `CALAF_ACCESS_TOKEN`; they never fabricate a\n  result.\n\nEndpoint overrides: `CALAF_MCP_URL` for the public endpoint and\n`CALAF_ACCOUNT_MCP_URL` for the account endpoint.\n\n## Install\n\n```bash\nnpx @reneturcios/prepboard seed-format\n```\n\nOr run the container image:\n\n```bash\ndocker run -i ghcr.io/cloudcorprecords/prepboard\n```\n\nThe container defaults to the MCP server (see below). Pass CLI\narguments to use it as a CLI instead. Account commands inside the\ncontainer need `-e CALAF_ACCESS_TOKEN=...`.\n\n## CLI\n\n```bash\nprepboard seed-format\nprepboard validate-seed '<seed-json-or-string>'\nprepboard import-seed my-workspace '<seed-json-or-string>' --parts orgs,templates,prep,contacts\nprepboard workspaces\n\nprepboard --version\n```\n\nA `<seed>` argument is taken as a JSON value when it parses as an\nobject, otherwise as a plain string seed — the Calaf seed format\naccepts both a string and an object form. Commands print the\nupstream result as JSON. Exit codes: `0` on success, `1` when a call\nfails (including a missing token or an upstream error), `2` for\nusage errors.\n\n## MCP server\n\nOne bin serves both faces. The `mcp` subcommand starts a stdio MCP\nserver:\n\n```bash\nnpx -y @reneturcios/prepboard mcp\n```\n\nMCP client configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"prepboard\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@reneturcios/prepboard\", \"mcp\"],\n      \"env\": {\n        \"CALAF_ACCESS_TOKEN\": \"<your Calaf access token>\"\n      }\n    }\n  }\n}\n```\n\nThe token is only needed for `import_seed` and `list_workspaces`;\n`get_seed_format` and `validate_seed` work with nothing configured.\n\n### Tools\n\n| Tool | Input | Endpoint | What it returns |\n| --- | --- | --- | --- |\n| `get_seed_format` | (none) | public | The seed document format. |\n| `validate_seed` | `seed` (string or object, required) | public | The validation result for that seed. |\n| `import_seed` | `workspace` (required), `seed` (string or object, required), `parts` (string array, optional: orgs / templates / prep / contacts) | account | The import result. |\n| `list_workspaces` | (none) | account | The caller's workspaces. |\n\n## Development\n\n```bash\nnpm install\nnpm run build   # tsc -> dist/\nnpm test        # node test runner over test/*.test.ts, no network (fake fetch fixtures)\nnpm run dev     # run the CLI from source via tsx\n```\n\n## License\n\nMIT — see `LICENSE`.\n"}