labs-catalog-mcp
README.md
# labs-catalog-mcp
**A real MCP server, with a real captured session.** LB-07 in the [AI Labs portfolio](https://ai-labs.sudeeplalka.com)'s
Live Builds collection: the portfolio's MCP Server Contract Workbench (GAP-01) *simulates* the wire protocol to teach
it — this repo is the live counterpart a real client can connect to.
The server exposes the portfolio's own labs registry as tools:
| tool | what it does |
|------|--------------|
| `list_labs` | list labs, filter by collection (0–5) or badge (LIVE/SIMULATED) |
| `get_lab` | one lab's problem, decision, status, route |
| `search_decisions` | find the lab for the enterprise decision you're facing |
## Run it
```bash
npm install
npm start # stdio MCP server
npm run capture # real client session -> session-transcript.jsonl + console output
```
## Connect Claude Desktop
```json
{
"mcpServers": {
"labs-catalog": { "command": "node", "args": ["/absolute/path/to/server.mjs"] }
}
}
```
## The captured session
`session-transcript.jsonl` / `session.md` hold an actual recorded session — initialize handshake, `tools/list`,
and three tool calls, both directions, timestamped. Recorded by `tee-wire.mjs`, a 30-line wire tap between
client and server; re-run `npm run capture` and it regenerates. No frame in this repo is hand-written.
## Honesty & attribution
Built on [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk) (MIT) and zod.
Catalog data is a generated snapshot of the portfolio's `packages/kit/src/registry.ts`. Server, wire tap, and
capture harness are original. MIT licensed.
TDQS
A4/5.0
Scored across 3 tools
Disambiguation5/5
Each tool targets a distinct operation: retrieving full details of a single lab, listing labs with filters, and searching by decision text. There is no overlap in functionality.
Naming Consistency5/5
All tool names follow a consistent verb_noun pattern (get_lab, list_labs, search_decisions), making the set predictable and easy to navigate.
Tool Count5/5
Three tools is an appropriate size for a focused catalog service, covering the primary use cases of detail retrieval, listing, and search without unnecessary bloat.
Completeness5/5
The tools provide full coverage for a read-only catalog: listing with filters, full detail retrieval, and full-text search. No obvious gaps exist for the stated purpose.
Maintenance
ActivityStale
ResponsivenessNo issues