Skip to main content
Glama
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