# AI PM Lab

> Learn how AI products work: lessons, model cost comparisons, real experiments, PM guides.

- name: io.aipmlab/ai-pm-lab
- version: 1.2.0
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 79/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.aipmlab%2Fai-pm-lab
- tools: https://api.protogrid.dev/v1/servers/io.aipmlab%2Fai-pm-lab/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "ai-pm-lab": {
      "type": "http",
      "url": "https://aipmlab.io/api/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-100% +updated-7d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 79/100 (good)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 18 of 18 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 3,332 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 25 (weight 15)

- warn `stability.changes`: 32 tool changes in 30 days
- fail `stability.rug_pull`: 2 tools kept their name but changed most of their description in 30 days; review before trusting them

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 18, about 3,332 tokens to load them all
- tool set hash: 098bd1d6b49c8228a8af0d3ac11e5004
- tools last changed: 2026-10-17T17:17:39.758Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.aipmlab/ai-pm-lab.svg)](https://protogrid.dev/servers/io.aipmlab/ai-pm-lab)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-17 `get_lesson` changed (description) **meaning changed**
  - before: A lesson's key idea, concepts, things to try and suggested prompts, with links to the lesson, its 3D tour and its challenge.
  - after: A lesson in full: the product decision it informs, its key idea and concepts, things to try with what to notice in each (from recorded runs), what a PM takes away and questions to ask engineers, with links to the lesson, its 3D tour and its challenge.
- 2026-10-12 `launch_readiness_review` removed
  - A go/no-go review of an AI feature's launch plan: evals, grounding, attacks, approvals, cost, latency, monitoring, rollout and support, each marked ready, at risk or missing, with blockers and a launch-day watch list. Returns instructions to follow with the user's text.
- 2026-10-12 `define` removed
  - A plain-language definition of an AI product concept (tokens, temperature, RAG, embeddings, LLM-as-judge, prompt injection…), with the lessons that teach it.
- 2026-10-12 `ai_incident_review` removed
  - A blameless post-incident review for an AI feature: where it failed (input, retrieval, prompt, model, tools, output checks), why evals and monitoring missed it, actions, and the new eval cases that would catch it next time. Returns instructions to follow with the user's text.
- 2026-10-12 `review_ai_incident` added
  - A blameless post-incident review for an AI feature: where it failed (input, retrieval, prompt, model, tools, output checks), why evals and monitoring missed it, actions, and the new eval cases that would catch it next time. Returns instructions to follow with the user's text.
- 2026-10-12 `review_launch_readiness` added
  - A go/no-go review of an AI feature's launch plan: evals, grounding, attacks, approvals, cost, latency, monitoring, rollout and support, each marked ready, at risk or missing, with blockers and a launch-day watch list. Returns instructions to follow with the user's text.
- 2026-10-12 `plan_ai_launch` added
  - A phased roadmap from where an AI feature is today to launch and its first month live: frame, prototype and model, evals, hardening, pilot, launch, monitoring. Each phase has exit criteria and the tests and checks for this feature, backed by findings from AI PM Lab's recorded real runs (injection, grounding, evals, agent cost). Returns instructions to follow with the user's text.
- 2026-10-12 `price_ai_feature` changed (outputSchema)
- 2026-10-12 `write_acceptance_criteria` changed (outputSchema)
- 2026-10-12 `design_eval_suite` changed (outputSchema)

Full history: https://api.protogrid.dev/v1/servers/io.aipmlab%2Fai-pm-lab/changes

## Remotes

- https://aipmlab.io/api/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (18)

- `compare_models`: Compare several models side by side at a given volume: cost per request and per month, prices, context window, output limit, release date and knowledge cutoff, from AI Gateway's live catalog. Pass ids like 'openai/gpt-4.1-mini', or a provider name ('anthropic', 'openai', 'google') for its newest models, so you don't need to know which models are current.
- `count_tokens`: Count the tokens in a text (an estimate with OpenAI's cl100k tokenizer; other model families differ slightly).
- `define_term`: A plain-language definition of an AI product concept (tokens, temperature, RAG, embeddings, LLM-as-judge, prompt injection…), with the lessons that teach it.
- `design_eval_suite`: Build an evaluation suite for a planned AI feature with AI PM Lab's method: test cases (typical, edge, out of scope, attacks), graders with a judge rubric, pass bars, and a JSON test set. Returns instructions to follow with the user's text.
- `estimate_cost`: What a model call costs per request, per day and per month at a given volume, from AI Gateway's live prices. Model ids look like 'openai/gpt-4.1-mini' or 'anthropic/claude-sonnet-4.5'.
- `get_lesson`: A lesson in full: the product decision it informs, its key idea and concepts, things to try with what to notice in each (from recorded runs), what a PM takes away and questions to ask engineers, with links to the lesson, its 3D tour and its challenge.
- `list_challenges`: The challenges (games scored from real recorded runs, with leaderboards) and what each asks you to do.
- `list_experiments`: The real runs recorded on one of AI PM Lab's 3D pages or lessons, each described by its setup (e.g. which defences or settings were on). Replay one to see what happened.
- `plan_ai_launch`: A phased roadmap from where an AI feature is today to launch and its first month live: frame, prototype and model, evals, hardening, pilot, launch, monitoring. Each phase has exit criteria and the tests and checks for this feature, backed by findings from AI PM Lab's recorded real runs (injection, grounding, evals, agent cost). Returns instructions to follow with the user's text.
- `prep_planning_meeting`: The questions a PM should ask engineers about a planned AI feature, with why each matters and what a good answer sounds like. Returns instructions to follow with the user's text.
- `price_ai_feature`: Work out an AI feature's unit economics and pricing: cost per request and per user (light, typical, heavy), levers like caching and routing, pricing options with margins, guardrails, and the assumptions to validate. Returns instructions to follow with the user's text.
- `quiz_me`: A round from AI PM Lab's challenges, built from real recorded runs: Call It (predict what a model did), Spot the Failure (ship or flag a real output) or Which Wins? (pick the better of two setups). Returns the question without its answer; call again with the round id and the user's choice to mark it, see how players on the site called it, and get the next round.
- `replay_experiment`: What happened in one recorded real run (e.g. whether a prompt injection leaked data with given defences, or how many answers were made up without a facts sheet): the setup, each step, the result and the model's reply, with a link to run it on the site.
- `review_ai_incident`: A blameless post-incident review for an AI feature: where it failed (input, retrieval, prompt, model, tools, output checks), why evals and monitoring missed it, actions, and the new eval cases that would catch it next time. Returns instructions to follow with the user's text.
- `review_ai_spec`: Check an AI feature spec or PRD against what AI PM Lab teaches: approach, model and cost, prompt, grounding, output contract, tools, security, human oversight, evals, monitoring, fallbacks. Gaps link to lessons. Returns instructions to follow with the user's text.
- `review_launch_readiness`: A go/no-go review of an AI feature's launch plan: evals, grounding, attacks, approvals, cost, latency, monitoring, rollout and support, each marked ready, at risk or missing, with blockers and a launch-day watch list. Returns instructions to follow with the user's text.
- `search_lessons`: Find AI PM Lab lessons on a topic (e.g. RAG, evals, agents, prompt injection, cost). Returns the best matches with their key idea and link.
- `write_acceptance_criteria`: Acceptance criteria for an AI feature or user story that can actually be tested: Given/When/Then with measurable pass bars on a test set, must-pass safety criteria, latency and cost budgets, and example test cases, ready to paste into a ticket. Returns instructions to follow with the user's text.
