---
title: "PRD Generator MCP Server (18 Tools)"
description: "Generate, validate, and manage Product Requirement Documents with full AINative platform awareness and ZeroDB-powered persistent memory"
canonical: "https://docs.ainative.studio/docs/mcp/prd-generator-server"
last-updated: "2026-10-22T17:48:46.689Z"
---

# PRD Generator MCP Server (18 Tools)

Source: https://docs.ainative.studio/docs/mcp/prd-generator-server

> Generate, validate, and manage Product Requirement Documents with full AINative platform awareness and ZeroDB-powered persistent memory

# PRD Generator MCP Server

The PRD Generator MCP server (`ainative-prd-mcp`) provides 18 tools for creating, validating, and managing Product Requirement Documents. It has built-in knowledge of all 22 AINative products and 1,968 API endpoints.

```bash
npm i ainative-prd-mcp
```

:::info AINative Account Required
Full functionality (AI generation, PRD persistence, semantic search) requires a ZeroDB API key. Template rendering, validation, and platform discovery work without an account. The server **auto-provisions a free instance** on first run if no credentials are found.
:::

## Quick Start

```bash
npx ainative-prd-mcp
```

On first run without credentials, the server:
1. Provisions a free ZeroDB instance (~800ms)
2. Saves credentials to `.mcp.json` and `.env`
3. Prints a **claim URL** to take permanent ownership

## Setup

### Claude Code / Cursor / Windsurf

```json
{
  "mcpServers": {
    "prd-generator": {
      "command": "npx",
      "args": ["-y", "ainative-prd-mcp"],
      "env": {
        "ZERODB_API_KEY": "ak_your_key",
        "ZERODB_API_URL": "https://api.ainative.studio"
      }
    }
  }
}
```

### Remote MCP (HTTP Transport)

```json
{
  "mcpServers": {
    "prd-generator": {
      "url": "https://mcp.ainative.studio/prd-generator",
      "headers": {
        "Authorization": "Bearer your-api-key"
      }
    }
  }
}
```

### Auto-Provisioning (No API Key)

```json
{
  "mcpServers": {
    "prd-generator": {
      "command": "npx",
      "args": ["-y", "ainative-prd-mcp"]
    }
  }
}
```

## Tools Reference

### Generation Tools (4)

#### prd_generate

Generate a full PRD with AI and AINative platform context. Auto-detects relevant services and saves to ZeroDB.

**Parameters:**
| Name | Type | Required | Description |
|------|------|----------|-------------|
| `product_name` | string | yes | Name of the product or feature |
| `description` | string | yes | What needs to be built |
| `target_audience` | string | yes | Who will use it |
| `core_features` | string[] | yes | List of core features |
| `constraints` | string[] | no | Technical or business constraints |
| `template` | string | no | Template: `standard`, `ainative-feature`, `agent-capability` |
| `issue_number` | integer | no | GitHub issue to link |
| `ainative_services` | string[] | no | AINative services to use (auto-detected if omitted) |
| `additional_context` | string | no | Extra context or requirements |

**Example:**
```json
{
  "product_name": "Agent Webhooks",
  "description": "Webhook notifications for agent lifecycle events",
  "target_audience": "Developers using Agent Cloud",
  "core_features": ["Registration", "Event filtering", "Retry logic"],
  "template": "ainative-feature",
  "ainative_services": ["Agent Cloud", "ZeroDB"]
}
```

---

#### prd_generate_section

Generate or regenerate a single section without touching the rest of the PRD.

**Parameters:**
| Name | Type | Required | Description |
|------|------|----------|-------------|
| `section_name` | string | yes | Section to generate (e.g., `technical_architecture`, `user_stories`) |
| `prd_id` | string | no | Existing PRD ID for context |
| `context` | string | no | Additional context for this section |

---

#### prd_refine

Refine an existing PRD based on feedback. Version history tracked automatically.

**Parameters:**
| Name | Type | Required | Description |
|------|------|----------|-------------|
| `prd_id` | string | yes | Saved PRD ID |
| `feedback` | string | yes | What needs to change |
| `sections_to_update` | string[] | no | Limit to specific sections |

---

#### prd_from_issue

Generate a PRD from a GitHub issue number.

**Parameters:**
| Name | Type | Required | Description |
|------|------|----------|-------------|
| `issue_number` | integer | yes | GitHub issue number |
| `repo` | string | no | Repository (default: `AINative-Studio/core`) |
| `template` | string | no | Template to use (default: `ainative-feature`) |

---

### Template Tools (4)

#### prd_list_templates

List built-in and custom templates.

#### prd_get_template

Get a template by name with placeholder variables.

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `name` | string | yes | Template name |

#### prd_create_template

Create a custom template stored persistently in ZeroDB.

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `name` | string | yes | Template name |
| `description` | string | yes | What it's for |
| `content` | string | yes | Markdown with `{{PLACEHOLDER}}` variables |

#### prd_render_template

Render a template with variable substitution (no AI, deterministic).

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `template_name` | string | yes | Template to render |
| `variables` | object | yes | Key-value pairs for substitution |

---

### Validation Tools (3)

#### prd_validate

Validate against 15 quality rules and AINative architecture constraints.

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `content` | string | conditional | PRD markdown (or use `prd_id`) |
| `prd_id` | string | conditional | Saved PRD to validate |
| `strict` | boolean | no | Include AINative-specific rules (default: true) |

**Rules include:**
- Structure: title, introduction, features, acceptance criteria, timeline
- Content: problem statement, user stories, test plan, security
- AINative: correct API paths, ZeroDB usage, no third-party memory (Supabase/Firebase rejected)

---

#### prd_score

Score completeness 0-100 with letter grade.

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `content` | string | conditional | PRD markdown |
| `prd_id` | string | conditional | Saved PRD ID |

**Returns:** `{ score: 85, grade: "B", breakdown: { ... } }`

---

#### prd_check_api_refs

Verify all API endpoint and service references actually exist in the AINative platform.

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `content` | string | conditional | PRD markdown |
| `prd_id` | string | conditional | Saved PRD ID |

---

### Memory Tools — ZeroDB-Powered (4)

#### prd_save

Save a PRD as a persistent ZeroDB plan artifact with automatic version tracking.

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `title` | string | yes | PRD title |
| `content` | string | yes | Full PRD markdown |
| `tags` | string[] | no | Tags for categorization |

**Returns:** `{ prd_id: "uuid", saved: true }`

---

#### prd_load

Load a saved PRD by ID. Use at session start to resume work.

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `prd_id` | string | yes | Artifact ID from `prd_save` |

---

#### prd_search

Semantic search across all saved PRDs. Find by topic, not just keywords.

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `query` | string | yes | Natural language query |
| `limit` | integer | no | Max results (default 10) |
| `tags` | string[] | no | Filter by tags |

---

#### prd_history

Get version history showing how a PRD evolved over time (unified diffs).

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `prd_id` | string | yes | Artifact ID |

---

### Platform Discovery Tools (3)

#### prd_list_services

List all 22 AINative products with descriptions, API prefixes, SDKs, and pricing.

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `category` | string | no | Filter by category |
| `verbose` | boolean | no | Include features, SDKs, endpoints |

---

#### prd_get_api_catalog

Get API details for a specific AINative service.

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `service` | string | yes | Service name (e.g., "ZeroDB", "Agent Cloud") |

---

#### prd_suggest_stack

Given requirements, suggest which AINative services to use.

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `requirements` | string | yes | What you need to build |
| `features` | string[] | no | Required features |
| `constraints` | string[] | no | Technical constraints |

## Authentication

| Method | Config | Notes |
|--------|--------|-------|
| API Key | `ZERODB_API_KEY=ak_...` | Recommended. Get one: `npx zerodb-cli init` |
| Username/Password | `ZERODB_USERNAME` + `ZERODB_PASSWORD` | Auto-refreshes JWT |
| Auto-provision | No config needed | Free instance on first run |

## Source Code

- **npm:** [`ainative-prd-mcp`](https://www.npmjs.com/package/ainative-prd-mcp)
- **GitHub:** [`AINative-Studio/ainative-prd-mcp`](https://github.com/AINative-Studio/ainative-prd-mcp)
