MCP Server Reference

23
Total Tools
5
Modules

Overview

Welcome to the DefProd MCP server documentation. This MCP server provides AI agents with access to DefProd's functionality and data. When AI agents interact with your product definition, the magic really starts to happen!

Tool Summary

The DefProd MCP server provides these tools:

  • createArchitectureElement: Create a new architecture element
  • createArea: Create a new product area
  • createProduct: Create a new product definition
  • createUserStory: Create a new user story
  • deleteArchitectureElement: Delete an architecture element
  • deleteArea: Delete a product area
  • deleteProduct: Delete a product definition
  • deleteUserStory: Delete a user story
  • getArchitectureForProduct: Get the architecture for a product
  • getArchitectureTree: Get the architecture tree for an architecture
  • getArea: Get a product area
  • getBriefForProduct: Get the brief for a product
  • getProduct: Get a product definition
  • getUserStory: Get a user story
  • listAreas: List areas for a product
  • listProducts: List all product definitions
  • listUserStories: List user stories for a product
  • moveArchitectureElement: Move an architecture element to a new parent and/or position
  • patchArchitectureElement: Apply patch changes to an architecture element
  • patchArea: Apply patch changes to a product area
  • patchBrief: Apply patch changes to a product brief
  • patchProduct: Apply patch changes to a product definition
  • patchUserStory: Apply patch changes to a user story

Transports

The DefProd MCP server supports both MCP transport protocols:

  • SSE (Server-Sent Events) - https://mcp.defprod.one/sse
  • HTTP Streaming - https://mcp.defprod.one

Both transports provide real-time bidirectional communication between MCP clients and the MCP server. Which one you use will often depend on the capabilities of the MCP client you are using.

Authentication

All requests to the MCP server require authentication using an API key. The API key must be provided in the x-api-key header.

Users can generate API keys through their user settings in the DefProd application. Each user can create multiple API keys for different purposes.

MCP Client Configuration

To connect to the DefProd MCP server, configure your MCP client with the appropriate transport URL and authentication headers. Here are the typical configuration examples for some popular MCP clients:

SSE Transport Configuration

{ "defprod-mcp-sse": { "url": "https://mcp.defprod.one/sse", "headers": { "x-api-key": "<key>" } } }

HTTP Streaming Transport Configuration

{ "defprod-mcp-http": { "url": "https://mcp.defprod.one", "headers": { "x-api-key": "<key>" } } }

Replace <key> with your actual API key obtained from your DefProd user settings.

Tools

architecture(6 tools)
createArchitectureElement
Create a new architecture element
command
Input Schema
{ "type": "object", "properties": { "architectureId": { "type": "string", "description": "Architecture ID" }, "name": { "type": "string", "description": "Architecture element name" }, "content": { "type": "string", "description": "Architecture element content" }, "type": { "type": "string", "description": "Architecture element type" }, "parentId": { "type": "string", "description": "Parent architecture element ID" } }, "required": [ "architectureId", "name", "content", "type", "parentId" ], "description": "Create architecture element request" }
Example Input
{ "architectureId": "ARCHITECTURE-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb", "name": "API Gateway", "content": "Main API gateway component", "type": "component", "parentId": "ARCHITECTURE_ELEMENT-12345678-1234-1234-1234-123456789012" }
Output Schema
{ "type": "object", "properties": { "_id": { "type": "string" }, "architectureId": { "type": "string" }, "name": { "type": "string" }, "type": { "type": "string" }, "content": { "type": "string" }, "parentId": { "type": "string" }, "childrenIds": { "type": "array", "items": { "type": "string" } }, "metadata": { "type": "string" } }, "required": [ "_id", "architectureId", "name", "type" ], "description": "Output for creating an architecture element" }
Example Output
{ "_id": "ARCHITECTURE_ELEMENT-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb", "architectureId": "ARCHITECTURE-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb", "name": "API Gateway", "type": "component", "content": "Main API gateway component", "parentId": "ARCHITECTURE_ELEMENT-12345678-1234-1234-1234-123456789012", "childrenIds": [] }
deleteArchitectureElement
Delete an architecture element
command
Input Schema
{ "type": "object", "properties": { "architectureElementId": { "type": "string", "description": "Architecture element ID" } }, "required": [ "architectureElementId" ], "description": "Architecture element selector" }
Example Input
{ "architectureElementId": "ARCHITECTURE_ELEMENT-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb" }
getArchitectureForProduct
Get the architecture for a product
query
Input Schema
{ "type": "object", "properties": { "productId": { "type": "string", "description": "Product ID" } }, "required": [ "productId" ], "description": "Product selector" }
Example Input
{ "productId": "PRODUCT-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb" }
Output Schema
{ "type": "object", "properties": { "_id": { "type": "string" }, "name": { "type": "string" }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" }, "description": { "type": "string" }, "metadata": { "type": "string" } }, "required": [ "_id", "name", "createdAt", "updatedAt" ] }
Example Output
{ "architecture": { "_id": "ARCHITECTURE-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb", "name": "System Architecture", "description": "Main system architecture", "createdAt": "2024-01-01T00:00:00Z", "updatedAt": "2024-01-01T00:00:00Z" } }
getArchitectureTree
Get the architecture tree for an architecture
query
Input Schema
{ "type": "object", "properties": { "architectureId": { "type": "string", "description": "Architecture ID" } }, "required": [ "architectureId" ], "description": "Architecture selector" }
Example Input
{ "architectureId": "ARCH-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb" }
Output Schema
{ "type": "object", "properties": { "_id": { "type": "string" }, "architectureId": { "type": "string" }, "name": { "type": "string" }, "type": { "type": "string" }, "content": { "type": "string" }, "parentId": { "type": "string" }, "childrenIds": { "type": "array", "items": { "type": "string" } }, "metadata": { "type": "string" } }, "required": [ "_id", "architectureId", "name", "type" ] }
Example Output
{ "_id": "ARCHELEM-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb", "architectureId": "ARCH-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb", "name": "Root Element", "type": "component", "content": "Root architecture element", "parentId": null, "children": [ { "_id": "ARCHELEM-e152210e-9d1c-4f46-8b7f-2964161e1d06", "architectureId": "ARCH-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb", "createdAt": "2025-06-02T08:34:06.140Z", "name": "Frontend", "parentId": "ARCHELEM-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb", "type": "frontend", "updatedAt": "2025-06-04T00:57:33.349Z", "content": "Our chief weapons are components! Components and services... Our two weapons are components and services... and an almost fanatical devotion to RxJS Observables! Our *three* weapons are..." } ] }
moveArchitectureElement
Move an architecture element to a new parent and/or position
command
Input Schema
{ "type": "object", "properties": { "architectureElementId": { "type": "string", "description": "Architecture element ID to move" }, "newParentId": { "type": "string", "description": "New parent ID (null for root, undefined to keep current parent)" }, "order": { "type": "number", "description": "New order position (defaults to last sibling if not provided)" } }, "required": [ "architectureElementId" ], "description": "Parameters for moving an architecture element" }
Example Input
{ "architectureElementId": "ARCHELEM-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb", "newParentId": "ARCHELEM-12345678-1234-1234-1234-123456789012", "order": 1 }
Output Schema
No schema defined
Example Output
{}
patchArchitectureElement
Apply patch changes to an architecture element
command
Input Schema
{ "type": "object", "properties": { "architectureElementId": { "type": "string", "description": "Architecture element ID" }, "patch": { "type": "array", "description": "JSON Patch operations", "items": { "type": "object", "properties": { "op": { "type": "string", "description": "The operation type" }, "path": { "type": "string", "description": "JSON pointer format path (e.g., \"/requirements/0/title\")" }, "value": { "type": "string", "description": "Value for add/replace operations" }, "from": { "type": "string", "description": "Source path for move/copy operations" } }, "required": [ "op", "path" ], "description": "A single JSON Patch operation (RFC 6902)" } }, "comment": { "type": "string", "description": "Patch comment" } }, "required": [ "architectureElementId", "patch" ], "description": "Parameters for patching an architecture element" }
Example Input
{ "architectureElementId": "ARCHITECTURE_ELEMENT-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb", "patch": [ { "op": "replace", "path": "/name", "value": "Updated Element Name" } ], "comment": "Update element name" }
Output Schema
{ "type": "object", "properties": { "architectureElementId": { "type": "string", "description": "Architecture element ID" }, "patch": { "type": "array", "description": "JSON Patch operations", "items": { "type": "object", "properties": { "op": { "type": "string", "description": "The operation type" }, "path": { "type": "string", "description": "JSON pointer format path (e.g., \"/requirements/0/title\")" }, "value": { "type": "string", "description": "Value for add/replace operations" }, "from": { "type": "string", "description": "Source path for move/copy operations" } }, "required": [ "op", "path" ], "description": "A single JSON Patch operation (RFC 6902)" } }, "patchId": { "type": "string", "description": "Patch ID" } }, "required": [ "architectureElementId", "patch", "patchId" ], "description": "Output for patching an architecture element" }
Example Output
{ "architectureElementId": "ARCHITECTURE_ELEMENT-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb", "patch": [ { "op": "replace", "path": "/name", "value": "Updated Element Name" } ], "patchId": "PATCH-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb" }
area(5 tools)
createArea
Create a new product area
command
Input Schema
{ "type": "object", "properties": { "name": { "type": "string", "description": "The name of the area" }, "productId": { "type": "string", "description": "ID of the product this area belongs to" }, "displayId": { "type": "string", "description": "Display identifier for the area" }, "description": { "type": "string", "description": "Description of the area (optional)" }, "visibility": { "type": "string", "description": "Visibility of the area" } }, "required": [ "name", "productId", "displayId" ] }
Example Input
{ "productId": "PRODUCT-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb", "name": "User Management", "description": "Area for managing users", "displayId": "USER", "order": 1 }
Output Schema
{ "type": "object", "properties": { "areaId": { "type": "string", "description": "Area ID" } }, "required": [ "areaId" ], "description": "Area selector" }
Example Output
{ "areaId": "AREA-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb" }
deleteArea
Delete a product area
command
Input Schema
{ "type": "object", "properties": { "areaId": { "type": "string", "description": "Area ID" } }, "required": [ "areaId" ], "description": "Area selector" }
Example Input
{ "areaId": "AREA-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb" }
getArea
Get a product area
query
Input Schema
{ "type": "object", "properties": { "areaId": { "type": "string", "description": "Area ID" } }, "required": [ "areaId" ], "description": "Area selector" }
Example Input
{ "areaId": "AREA-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb" }
Output Schema
{ "type": "object", "properties": { "_id": { "type": "string" }, "displayId": { "type": "string" }, "name": { "type": "string" }, "productId": { "type": "string" }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" }, "description": { "type": "string" }, "visibility": { "type": "string" }, "docs": { "type": "array", "items": { "type": "string" } }, "tags": { "type": "array", "items": { "type": "string" } }, "order": { "type": "number" } }, "required": [ "_id", "displayId", "name", "productId", "createdAt", "updatedAt" ] }
Example Output
{ "_id": "AREA-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb", "productId": "PRODUCT-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb", "name": "User Management", "description": "Area for managing users", "displayId": "USER", "order": 1, "createdAt": "2024-01-01T00:00:00.000Z", "updatedAt": "2024-01-01T00:00:00.000Z", "visibility": "public" }
listAreas
List areas for a product
query
Input Schema
{ "type": "object", "properties": { "productId": { "type": "string", "description": "Product ID" } }, "required": [ "productId" ], "description": "Product selector" }
Example Input
{ "productId": "PRODUCT-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb" }
Output Schema
{ "type": "array", "items": { "type": "object", "properties": { "_id": { "type": "string" }, "displayId": { "type": "string" }, "name": { "type": "string" }, "productId": { "type": "string" }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" }, "description": { "type": "string" }, "visibility": { "type": "string" }, "docs": { "type": "array", "items": { "type": "string" } }, "tags": { "type": "array", "items": { "type": "string" } }, "order": { "type": "number" } }, "required": [ "_id", "displayId", "name", "productId", "createdAt", "updatedAt" ] } }
Example Output
[ { "_id": "AREA-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb", "productId": "PRODUCT-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb", "name": "User Management", "description": "Area for managing users", "displayId": "USER", "order": 1, "createdAt": "2024-01-01T00:00:00.000Z", "updatedAt": "2024-01-01T00:00:00.000Z", "visibility": "public" } ]
patchArea
Apply patch changes to a product area
command
Input Schema
{ "type": "object", "properties": { "areaId": { "type": "string", "description": "Area ID" }, "patch": { "type": "array", "description": "JSON Patch operations", "items": { "type": "object", "properties": { "op": { "type": "string", "description": "The operation type" }, "path": { "type": "string", "description": "JSON pointer format path (e.g., \"/requirements/0/title\")" }, "value": { "type": "string", "description": "Value for add/replace operations" }, "from": { "type": "string", "description": "Source path for move/copy operations" } }, "required": [ "op", "path" ], "description": "A single JSON Patch operation (RFC 6902)" } }, "comment": { "type": "string", "description": "Patch comment" } }, "required": [ "areaId", "patch" ], "description": "Parameters for patching an area" }
Example Input
{ "areaId": "AREA-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb", "patch": [ { "op": "replace", "path": "/name", "value": "Updated Area Name" } ], "comment": "Update area name" }
Output Schema
{ "type": "object", "properties": { "areaId": { "type": "string", "description": "Area ID" }, "patch": { "type": "array", "description": "JSON Patch operations", "items": { "type": "object", "properties": { "op": { "type": "string", "description": "The operation type" }, "path": { "type": "string", "description": "JSON pointer format path (e.g., \"/requirements/0/title\")" }, "value": { "type": "string", "description": "Value for add/replace operations" }, "from": { "type": "string", "description": "Source path for move/copy operations" } }, "required": [ "op", "path" ], "description": "A single JSON Patch operation (RFC 6902)" } }, "patchId": { "type": "string", "description": "Patch ID" } }, "required": [ "areaId", "patch", "patchId" ], "description": "Output for patching an area" }
Example Output
{ "areaId": "AREA-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb", "patch": [ { "op": "replace", "path": "/name", "value": "Updated Area Name" } ], "patchId": "PATCH-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb" }
brief(2 tools)
getBriefForProduct
Get the brief for a product
query
Input Schema
{ "type": "object", "properties": { "productId": { "type": "string", "description": "Product ID" } }, "required": [ "productId" ], "description": "Product selector" }
Example Input
{ "productId": "PRODUCT-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb" }
Output Schema
{ "type": "object", "properties": { "_id": { "type": "string", "description": "Brief ID" }, "productId": { "type": "string", "description": "Product ID" }, "description": { "type": "string", "description": "Brief description" }, "userId": { "type": "string", "description": "User ID" }, "problem": { "type": "object", "properties": { "summary": { "type": "string" }, "context": { "type": "string" }, "impact": { "type": "string" } }, "required": [ "summary", "context", "impact" ], "description": "Problem definition" }, "users": { "type": "array", "description": "User personas", "items": { "type": "object", "properties": { "persona": { "type": "string" }, "goals": { "type": "array", "items": { "type": "string" } }, "painPoints": { "type": "array", "items": { "type": "string" } } }, "required": [ "persona", "goals", "painPoints" ] } }, "requirements": { "type": "array", "description": "Requirements", "items": { "type": "object", "properties": { "id": { "type": "string" }, "title": { "type": "string" }, "description": { "type": "string" }, "priority": { "type": "string" } }, "required": [ "id", "title", "description", "priority" ] } }, "aesthetics": { "type": "object", "properties": { "tone": { "type": "string" }, "visualStyle": { "type": "string" }, "interactionPrinciples": { "type": "array", "items": { "type": "string" } } }, "required": [ "tone", "visualStyle", "interactionPrinciples" ], "description": "Aesthetics" }, "successCriteria": { "type": "array", "description": "Success criteria", "items": { "type": "string" } }, "outOfScope": { "type": "array", "description": "Out of scope items", "items": { "type": "string" } }, "references": { "type": "array", "description": "References", "items": { "type": "object", "properties": { "type": { "type": "string" }, "url": { "type": "string" }, "description": { "type": "string" } }, "required": [ "type" ] } }, "version": { "type": "string", "description": "Version number" }, "history": { "type": "array", "description": "Version history", "items": { "type": "object", "properties": { "version": { "type": "number" }, "updatedAt": { "type": "string" }, "changesSummary": { "type": "string" } }, "required": [ "version", "updatedAt", "changesSummary" ] } }, "createdAt": { "type": "string", "description": "Creation timestamp" }, "updatedAt": { "type": "string", "description": "Last update timestamp" } }, "required": [ "_id", "productId", "description", "userId", "problem", "users", "requirements", "aesthetics", "successCriteria", "outOfScope", "references", "version", "history", "createdAt", "updatedAt" ], "description": "Brief" }
Example Output
{ "_id": "BRIEF-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb", "productId": "PRODUCT-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb", "description": "A product brief", "userId": "USER-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb", "problem": { "statement": "Problem statement", "context": "Problem context" }, "users": [], "requirements": [], "aesthetics": { "style": "modern", "colorScheme": "blue" }, "successCriteria": [], "outOfScope": [], "references": [], "version": 1, "history": [], "createdAt": "2024-01-01T00:00:00Z", "updatedAt": "2024-01-01T00:00:00Z" }
patchBrief
Apply patch changes to a product brief
command
Input Schema
{ "type": "object", "properties": { "briefId": { "type": "string", "description": "Brief ID" }, "patch": { "type": "array", "description": "JSON Patch operations", "items": { "type": "object", "properties": { "op": { "type": "string", "description": "The operation type" }, "path": { "type": "string", "description": "JSON pointer format path (e.g., \"/requirements/0/title\")" }, "value": { "type": "string", "description": "Value for add/replace operations" }, "from": { "type": "string", "description": "Source path for move/copy operations" } }, "required": [ "op", "path" ], "description": "A single JSON Patch operation (RFC 6902)" } }, "comment": { "type": "string", "description": "Patch comment" } }, "required": [ "briefId", "patch" ], "description": "Parameters for patching a brief" }
Example Input
{ "briefId": "BRIEF-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb", "patch": [ { "op": "replace", "path": "/description", "value": "Updated brief description" } ], "comment": "Update brief description" }
Output Schema
{ "type": "object", "properties": { "briefId": { "type": "string", "description": "Brief ID" }, "patch": { "type": "array", "description": "JSON Patch operations", "items": { "type": "object", "properties": { "op": { "type": "string", "description": "The operation type" }, "path": { "type": "string", "description": "JSON pointer format path (e.g., \"/requirements/0/title\")" }, "value": { "type": "string", "description": "Value for add/replace operations" }, "from": { "type": "string", "description": "Source path for move/copy operations" } }, "required": [ "op", "path" ], "description": "A single JSON Patch operation (RFC 6902)" } }, "patchId": { "type": "string", "description": "Patch ID" } }, "required": [ "briefId", "patch", "patchId" ], "description": "Output for patching a brief" }
Example Output
{ "briefId": "BRIEF-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb", "patch": [ { "op": "replace", "path": "/description", "value": "Updated brief description" } ], "patchId": "PATCH-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb" }
product(5 tools)
createProduct
Create a new product definition
command
Input Schema
{ "type": "object", "properties": { "name": { "type": "string", "description": "Product name" }, "description": { "type": "string", "description": "Product description" } }, "required": [ "name" ], "description": "Create product request" }
Example Input
{ "name": "My New Product", "description": "A sample product description" }
Output Schema
{ "type": "object", "properties": { "productId": { "type": "string", "description": "Product ID" } }, "required": [ "productId" ], "description": "Product selector" }
Example Output
{ "productId": "PRODUCT-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb" }
deleteProduct
Delete a product definition
command
Input Schema
{ "type": "object", "properties": { "productId": { "type": "string", "description": "Product ID" } }, "required": [ "productId" ], "description": "Product selector" }
Example Input
{ "productId": "PRODUCT-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb" }
getProduct
Get a product definition
query
Input Schema
{ "type": "object", "properties": { "productId": { "type": "string", "description": "Product ID" } }, "required": [ "productId" ], "description": "Product selector" }
Example Input
{ "productId": "PRODUCT-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb" }
Output Schema
{ "type": "object", "properties": { "_id": { "type": "string", "description": "Product ID" }, "name": { "type": "string", "description": "Product name" }, "createdAt": { "type": "string", "description": "Creation timestamp" }, "updatedAt": { "type": "string", "description": "Last update timestamp" }, "userId": { "type": "string", "description": "User ID" }, "description": { "type": "string", "description": "Product description" }, "status": { "type": "string", "description": "Product status" }, "lastActivityAt": { "type": "string", "description": "Last activity timestamp" }, "brief": { "type": "object", "properties": { "_id": { "type": "string", "description": "Brief ID" }, "productId": { "type": "string", "description": "Product ID" }, "description": { "type": "string", "description": "Brief description" }, "userId": { "type": "string", "description": "User ID" }, "problem": { "type": "object", "properties": { "summary": { "type": "string" }, "context": { "type": "string" }, "impact": { "type": "string" } }, "required": [ "summary", "context", "impact" ], "description": "Problem definition" }, "users": { "type": "array", "description": "User personas", "items": { "type": "object", "properties": { "persona": { "type": "string" }, "goals": { "type": "array", "items": { "type": "string" } }, "painPoints": { "type": "array", "items": { "type": "string" } } }, "required": [ "persona", "goals", "painPoints" ] } }, "requirements": { "type": "array", "description": "Requirements", "items": { "type": "object", "properties": { "id": { "type": "string" }, "title": { "type": "string" }, "description": { "type": "string" }, "priority": { "type": "string" } }, "required": [ "id", "title", "description", "priority" ] } }, "aesthetics": { "type": "object", "properties": { "tone": { "type": "string" }, "visualStyle": { "type": "string" }, "interactionPrinciples": { "type": "array", "items": { "type": "string" } } }, "required": [ "tone", "visualStyle", "interactionPrinciples" ], "description": "Aesthetics" }, "successCriteria": { "type": "array", "description": "Success criteria", "items": { "type": "string" } }, "outOfScope": { "type": "array", "description": "Out of scope items", "items": { "type": "string" } }, "references": { "type": "array", "description": "References", "items": { "type": "object", "properties": { "type": { "type": "string" }, "url": { "type": "string" }, "description": { "type": "string" } }, "required": [ "type" ] } }, "version": { "type": "string", "description": "Version number" }, "history": { "type": "array", "description": "Version history", "items": { "type": "object", "properties": { "version": { "type": "number" }, "updatedAt": { "type": "string" }, "changesSummary": { "type": "string" } }, "required": [ "version", "updatedAt", "changesSummary" ] } }, "createdAt": { "type": "string", "description": "Creation timestamp" }, "updatedAt": { "type": "string", "description": "Last update timestamp" } }, "required": [ "_id", "productId", "description", "userId", "problem", "users", "requirements", "aesthetics", "successCriteria", "outOfScope", "references", "version", "history", "createdAt", "updatedAt" ], "description": "Brief" } }, "required": [ "_id", "name", "createdAt", "updatedAt", "userId" ], "description": "Product view" }
Example Output
{ "_id": "PRODUCT-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb", "name": "My Product", "description": "A sample product", "userId": "USER-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb", "createdAt": "2024-01-01T00:00:00Z", "updatedAt": "2024-01-01T00:00:00Z" }
listProducts
List all product definitions
query
Input Schema
{ "type": "object", "properties": { "filter": { "type": "string", "description": "A database query filter (can be any MongoDB filter object)" }, "sort": { "type": "string", "description": "A database query sort mapping field names to 1 (ascending) or -1 (descending)" }, "page": { "type": "object", "properties": { "number": { "type": "number", "description": "The page number (1-indexed)" }, "size": { "type": "number", "description": "The number of items per page" } }, "required": [ "number", "size" ], "description": "Pagination parameters for a database query" } }, "description": "Request parameters for retrieving a list of items with optional filtering, sorting, and pagination" }
Example Input
{ "page": 1, "pageSize": 10 }
Output Schema
{ "type": "array", "items": { "type": "object", "properties": { "_id": { "type": "string", "description": "Product ID" }, "name": { "type": "string", "description": "Product name" }, "createdAt": { "type": "string", "description": "Creation timestamp" }, "updatedAt": { "type": "string", "description": "Last update timestamp" }, "userId": { "type": "string", "description": "User ID" }, "description": { "type": "string", "description": "Product description" }, "status": { "type": "string", "description": "Product status" }, "lastActivityAt": { "type": "string", "description": "Last activity timestamp" } }, "required": [ "_id", "name", "createdAt", "updatedAt", "userId" ], "description": "Product" } }
Example Output
[ { "_id": "PRODUCT-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb", "name": "My Product", "description": "A sample product", "userId": "USER-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb", "createdAt": "2024-01-01T00:00:00Z", "updatedAt": "2024-01-01T00:00:00Z" } ]
patchProduct
Apply patch changes to a product definition
command
Input Schema
{ "type": "object", "properties": { "productId": { "type": "string", "description": "Product ID" }, "patch": { "type": "array", "description": "JSON Patch operations", "items": { "type": "object", "properties": { "op": { "type": "string", "description": "The operation type" }, "path": { "type": "string", "description": "JSON pointer format path (e.g., \"/requirements/0/title\")" }, "value": { "type": "string", "description": "Value for add/replace operations" }, "from": { "type": "string", "description": "Source path for move/copy operations" } }, "required": [ "op", "path" ], "description": "A single JSON Patch operation (RFC 6902)" } }, "comment": { "type": "string", "description": "Patch comment" } }, "required": [ "productId", "patch" ], "description": "Parameters for patching a product" }
Example Input
{ "productId": "PRODUCT-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb", "patch": [ { "op": "replace", "path": "/name", "value": "Updated Product Name" } ], "comment": "Update product name" }
Output Schema
{ "type": "object", "properties": { "productId": { "type": "string", "description": "Product ID" }, "patch": { "type": "array", "description": "JSON Patch operations", "items": { "type": "object", "properties": { "op": { "type": "string", "description": "The operation type" }, "path": { "type": "string", "description": "JSON pointer format path (e.g., \"/requirements/0/title\")" }, "value": { "type": "string", "description": "Value for add/replace operations" }, "from": { "type": "string", "description": "Source path for move/copy operations" } }, "required": [ "op", "path" ], "description": "A single JSON Patch operation (RFC 6902)" } }, "patchId": { "type": "string", "description": "Patch ID" } }, "required": [ "productId", "patch", "patchId" ], "description": "Output for patching a product" }
Example Output
{ "productId": "PRODUCT-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb", "patch": [ { "op": "replace", "path": "/name", "value": "Updated Product Name" } ], "patchId": "PATCH-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb" }
userStory(5 tools)
createUserStory
Create a new user story
command
Input Schema
{ "type": "object", "properties": { "title": { "type": "string", "description": "User story title" }, "displayId": { "type": "string", "description": "User story display ID" }, "productId": { "type": "string", "description": "Product ID" }, "status": { "type": "string", "description": "User story status" }, "priority": { "type": "string", "description": "User story priority" }, "acceptanceCriteria": { "type": "array", "description": "User story acceptance criteria", "items": { "type": "string" } }, "description": { "type": "string", "description": "User story description" }, "areaId": { "type": "string", "description": "Area ID" } }, "required": [ "title", "displayId", "productId", "status", "priority", "acceptanceCriteria" ], "description": "Create user story request" }
Example Input
{ "title": "User Story Title", "description": "User story description", "displayId": "US-001", "productId": "PRODUCT-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb", "status": "todo", "priority": "medium", "acceptanceCriteria": [ "Criterion 1", "Criterion 2" ] }
Output Schema
{ "type": "object", "properties": { "userStoryId": { "type": "string", "description": "User story ID" } }, "required": [ "userStoryId" ], "description": "User story selector" }
Example Output
{ "userStoryId": "USER_STORY-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb" }
deleteUserStory
Delete a user story
command
Input Schema
{ "type": "object", "properties": { "userStoryId": { "type": "string", "description": "User story ID" } }, "required": [ "userStoryId" ], "description": "User story selector" }
Example Input
{ "userStoryId": "USERSTORY-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb" }
getUserStory
Get a user story
query
Input Schema
{ "type": "object", "properties": { "userStoryId": { "type": "string", "description": "User story ID" } }, "required": [ "userStoryId" ], "description": "User story selector" }
Example Input
{ "userStoryId": "USERSTORY-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb" }
Output Schema
{ "type": "object", "properties": { "_id": { "type": "string" }, "title": { "type": "string" }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" }, "displayId": { "type": "string" }, "description": { "type": "string", "description": "Format: As a [role], I want [action] so that [benefit]" }, "acceptanceCriteria": { "type": "array", "items": { "type": "string" } }, "priority": { "type": "string" }, "status": { "type": "string" }, "storyPoints": { "type": "number" }, "assigneeId": { "type": "string" }, "areaId": { "type": "string" }, "tags": { "type": "array", "items": { "type": "string" } }, "metadata": { "type": "string" }, "order": { "type": "number" } }, "required": [ "_id", "title", "createdAt", "updatedAt", "displayId" ] }
Example Output
{ "_id": "USERSTORY-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb", "title": "User can log in", "description": "As a user, I want to log in so that I can access my account", "priority": "high", "status": "todo", "storyPoints": 5, "displayId": "US-001", "createdAt": "2024-01-01T00:00:00.000Z", "updatedAt": "2024-01-01T00:00:00.000Z" }
listUserStories
List user stories for a product
query
Input Schema
{ "type": "object", "properties": { "productId": { "type": "string", "description": "Product ID" } }, "required": [ "productId" ], "description": "Parameters for fetching user stories by product ID" }
Example Input
{ "productId": "PRODUCT-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb" }
Output Schema
{ "type": "array", "items": { "type": "object", "properties": { "_id": { "type": "string" }, "title": { "type": "string" }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" }, "displayId": { "type": "string" }, "description": { "type": "string", "description": "Format: As a [role], I want [action] so that [benefit]" }, "acceptanceCriteria": { "type": "array", "items": { "type": "string" } }, "priority": { "type": "string" }, "status": { "type": "string" }, "storyPoints": { "type": "number" }, "assigneeId": { "type": "string" }, "areaId": { "type": "string" }, "tags": { "type": "array", "items": { "type": "string" } }, "metadata": { "type": "string" }, "order": { "type": "number" } }, "required": [ "_id", "title", "createdAt", "updatedAt", "displayId" ] } }
Example Output
[ { "_id": "USERSTORY-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb", "title": "User can log in", "description": "As a user, I want to log in so that I can access my account", "priority": "high", "status": "todo", "storyPoints": 5, "displayId": "US-001", "createdAt": "2024-01-01T00:00:00.000Z", "updatedAt": "2024-01-01T00:00:00.000Z" } ]
patchUserStory
Apply patch changes to a user story
command
Input Schema
{ "type": "object", "properties": { "userStoryId": { "type": "string", "description": "User story ID" }, "patch": { "type": "array", "description": "JSON Patch operations", "items": { "type": "object", "properties": { "op": { "type": "string", "description": "The operation type" }, "path": { "type": "string", "description": "JSON pointer format path (e.g., \"/requirements/0/title\")" }, "value": { "type": "string", "description": "Value for add/replace operations" }, "from": { "type": "string", "description": "Source path for move/copy operations" } }, "required": [ "op", "path" ], "description": "A single JSON Patch operation (RFC 6902)" } }, "comment": { "type": "string", "description": "Patch comment" } }, "required": [ "userStoryId", "patch" ], "description": "Parameters for patching a user story" }
Example Input
{ "userStoryId": "USER_STORY-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb", "patch": [ { "op": "replace", "path": "/name", "value": "Updated Story Name" } ], "comment": "Update story name" }
Output Schema
{ "type": "object", "properties": { "userStoryId": { "type": "string", "description": "User story ID" }, "patch": { "type": "array", "description": "JSON Patch operations", "items": { "type": "object", "properties": { "op": { "type": "string", "description": "The operation type" }, "path": { "type": "string", "description": "JSON pointer format path (e.g., \"/requirements/0/title\")" }, "value": { "type": "string", "description": "Value for add/replace operations" }, "from": { "type": "string", "description": "Source path for move/copy operations" } }, "required": [ "op", "path" ], "description": "A single JSON Patch operation (RFC 6902)" } }, "patchId": { "type": "string", "description": "Patch ID" } }, "required": [ "userStoryId", "patch", "patchId" ], "description": "Output for patching a user story" }
Example Output
{ "userStoryId": "USER_STORY-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb", "patch": [ { "op": "replace", "path": "/name", "value": "Updated Story Name" } ], "patchId": "PATCH-f97658ab-4af4-420a-a1a3-2f2b3ae70bdb" }