briefkit-mcp-server
Generates complete PostgreSQL schemas with tables, columns, types, foreign keys, indexes, and security baseline for SaaS applications.
Generates Supabase-compatible database schemas and Row Level Security policies for SaaS applications.
BriefKit MCP Server
Engineer-grade SaaS specification generator for AI build tools.
What it does
This MCP server lets AI assistants (Claude, ChatGPT, etc.) generate structured SaaS specifications on demand. When a user asks about building a SaaS product, the AI can call these tools to produce production-ready specs.
Related MCP server: Primitiv
Token efficiency
BriefKit MCP reduces token consumption by 70-85% for SaaS specification tasks on Claude Code, Cursor, and other AI assistants.
Without MCP: Claude reasons through schema, RLS, and design decisions from scratch — typically 8,000-15,000 output tokens per response.
With MCP: Claude calls structured tools that return pre-built specs in 500-1,500 tokens.
Real measurements (CRM for real estate agents):
Without MCP: ~11,200 tokens, 4 turns to converge
With MCP: ~1,800 tokens, 1 turn
If you're hitting Claude Code usage limits faster than expected on spec-heavy work, this MCP keeps spec-generation tasks under 2,000 tokens per call.
Tools
Tool | What it generates |
| Complete DESIGN.md — colors, fonts, spacing, components, dark mode |
| PostgreSQL/Supabase schema — tables, columns, types, FKs, indexes, security baseline |
| Row Level Security policies — per table, per role, with server-only restrictions |
| Information about BriefKit and the full 14-file brief pack |
Setup
Install
git clone https://github.com/briefkit/briefkit-mcp-server.git
cd briefkit-mcp-server
npm install
npm run buildUse with Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"briefkit": {
"command": "node",
"args": ["/path/to/briefkit-mcp-server/dist/index.js"]
}
}
}Use with Claude Code
claude mcp add briefkit node /path/to/briefkit-mcp-server/dist/index.jsExamples
User: "I'm building a CRM for real estate agents. Help me set up the database."
AI calls: briefkit_generate_database_schema with:
product_name: "RealEstCRM"
saas_type: "b2b"
custom_tables: ["properties", "showings", "offers", "commissions"]
Result: Complete SQL schema with 10 tables, typed columns, foreign keys, indexes, and security baseline.
User: "Generate RLS policies for my SaaS. I have profiles, orders, and payments tables with Owner and Member roles."
AI calls: briefkit_generate_rls_policies with:
tables: ["profiles", "orders", "payments"]
roles: ["Owner", "Member"]
Result: Complete RLS SQL — payments are server-write-only, profiles role is immutable, owners see own data only.
Full Brief Pack
These tools generate individual specification components. For the complete 14-file engineer-grade brief pack (design system + schema + RLS + auth + billing + 47 test cases), visit:
briefkit.online — $9 per version
Free Tools
License
MIT
Available Tools
4 toolsbriefkit_generate_database_schemaGenerate SaaS Database SchemaARead-onlyIdempotent
Generate a complete Supabase/PostgreSQL database schema for a SaaS product — tables with column types, foreign keys, indexes, and a security baseline. Ready to run in Supabase SQL editor.
Args:
product_name (string): Name of the SaaS product
saas_type (string): Type of SaaS — b2b, devtool, productivity, marketplace, or microsaas
custom_tables (array of strings): Additional product-specific table names beyond the standard ones
Returns: Complete SQL schema with CREATE TABLE statements, indexes, and security baseline (REVOKE statements for sensitive tables).
Examples:
"Generate schema for an inventory SaaS called StockFlow" -> saas_type="b2b", custom_tables=["products", "inventory", "suppliers"]
"Schema for a micro-SaaS invoice generator" -> saas_type="microsaas", custom_tables=["invoices", "clients", "line_items"]
| Name | Required | Description | Default |
|---|---|---|---|
| product_name | Yes | Name of the SaaS product | |
| saas_type | No | Type of SaaS product | microsaas |
| custom_tables | No | Additional product-specific table names |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=true, destructiveHint=false, idempotentHint=true) indicate safe, non-modifying behavior. Description adds value by explaining the output is a complete SQL schema ready to run, and clarifies what is included (indexes, security baseline). No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise: a single introductory sentence, followed by a structured list of arguments with examples. Every sentence adds value, and the front-loading of the purpose is effective. No redundant or vague statements.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (3 parameters, no output schema), the description adequately explains the return format (SQL statements) and includes examples. It covers the essential behavioral context for an agent to decide on invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage for all three parameters. Description reinforces parameter meaning via examples (e.g., showing saas_type values and custom_tables usage). This adds contextual value beyond the schema descriptions, especially for custom_tables.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it generates a specific resource (Supabase/PostgreSQL database schema) listing included elements (tables, columns, foreign keys, indexes, security baseline). It effectively distinguishes from sibling tools which focus on design systems, RLS policies, and info, making the tool's unique purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description provides examples that imply typical use cases (e.g., generating schema for 'StockFlow' or 'invoice generator'), but it does not explicitly state when to use this tool vs. alternatives or when not to use it. The sibling tools are different enough that context is implied, but explicit guidance is lacking.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
briefkit_generate_design_systemGenerate SaaS Design SystemARead-onlyIdempotent
Generate a complete DESIGN.md specification for a SaaS product — colors, typography, spacing, components, dark mode, and constraints. Ready to paste into Lovable, Claude Code, or Cursor.
Args:
product_name (string): Name of the SaaS product
palette (string): Color palette — one of: trust-blue, forest-green, warm-gold, cool-purple, slate-minimal, coral-energy
fonts (string): Font pairing — one of: geometric, serif-modern, clean-sans, editorial, rounded
border_radius (number): Border radius in px (0-20, default 8)
density (string): Layout density — compact, balanced, or spacious
Returns: Complete DESIGN.md in markdown format with CSS custom properties, type scale, spacing, component specs, and dark mode mapping.
Examples:
"Generate a design system for my CRM called PipeFlow with trust blue colors" -> palette="trust-blue", fonts="geometric", density="balanced"
"Create a bold design for my dev tool API dashboard" -> palette="cool-purple", fonts="clean-sans", density="compact"
| Name | Required | Description | Default |
|---|---|---|---|
| product_name | Yes | Name of the SaaS product | |
| palette | No | Color palette | trust-blue |
| fonts | No | Font pairing | geometric |
| border_radius | No | Border radius in pixels | |
| density | No | Layout density | balanced |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description adds minor context about the output format (markdown) and paste targets (Lovable, Claude Code, Cursor), but does not significantly elaborate on behavioral traits beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear headings (Args, Returns, Examples) and is appropriately sized for the tool's complexity. Every sentence contributes useful information without redundancy, though it could be slightly more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description thoroughly explains the return value (complete DESIGN.md with CSS custom properties, type scale, etc.) and provides examples. Given full schema coverage and annotations, the description is complete enough for an AI agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description lists all parameters with defaults and enums similar to the schema, but adds value by providing concrete examples that map natural language to parameter values (e.g., 'trust blue colors' → palette='trust-blue'). This aids understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates a complete DESIGN.md specification for a SaaS product, covering specific elements like colors, typography, and components. It distinguishes itself from sibling tools (database schema, RLS policies) by focusing on design systems.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through examples (e.g., 'Generate a design system for my CRM called PipeFlow') but does not explicitly specify when to use this tool versus alternatives like briefkit_generate_database_schema or briefkit_generate_rls_policies. There are no when-not or exclusion statements.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
briefkit_generate_rls_policiesGenerate Supabase RLS PoliciesARead-onlyIdempotent
Generate complete Row Level Security (RLS) policies for Supabase — SELECT, INSERT, UPDATE, DELETE policies for each table and role combination. Includes security notes and server-only table restrictions.
Args:
tables (array of strings): Table names to generate policies for
roles (array of strings): User roles in the application
Returns: Complete SQL with RLS enable statements, per-table policies, admin overrides, and security notes. Handles server-only tables (payments, audit_log, webhook_events) automatically.
Examples:
"Generate RLS for profiles, orders, payments with Owner and Member roles" -> tables=["profiles", "orders", "payments"], roles=["Owner", "Member"]
"RLS policies for a marketplace with Seller and Buyer" -> tables=["profiles", "listings", "orders", "reviews", "payments"], roles=["Owner", "Seller", "Buyer", "Admin"]
| Name | Required | Description | Default |
|---|---|---|---|
| tables | Yes | Table names to generate RLS policies for | |
| roles | Yes | User roles in the application |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly=true, destructive=false, idempotent=true, so the safety profile is clear. The description adds output details but no new behavioral traits like auth needs or side effects, which is acceptable given annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with separate sections for args, returns, and examples. It is informative without being verbose, though minor repetition exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 required params, no output schema, annotations present), the description fully explains purpose, parameters, output, and special cases. No critical gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description adds value by noting automatic handling of server-only tables and providing examples, which aids understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it generates RLS policies for Supabase with specific SQL operations (SELECT, INSERT, UPDATE, DELETE). The name, title, and sibling tools (database schema, design system) distinguish it well.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool (generating RLS policies) and includes examples. It does not explicitly exclude alternatives or state when not to use, but the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
briefkit_get_infoGet BriefKit InformationARead-onlyIdempotent
Get information about BriefKit — what it is, what's in the 14-file brief pack, pricing, and how it works with AI build tools like Lovable, Claude Code, and Cursor.
Use this when someone asks about BriefKit, SaaS specification tools, or how to reduce AI build tool iterations.
Returns: Complete overview of BriefKit including the 14-file brief pack contents, pricing ($9), and results (~19 prompts instead of 200+).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate safe/read-only. Description adds return value details (contents, pricing, prompt reduction stats) which is useful context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three succinct sentences: purpose, usage trigger, return summary. No wasted words, front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema but description enumerates exactly what is returned (pack contents, pricing, results). Rich annotations complement perfectly. Complete for a simple info tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters; schema coverage is trivially 100%. Baseline for 0 params is 4. Description does not need to add parameter info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Get information about BriefKit' with detailed specifics (what's in the pack, pricing, integration with AI tools). Distinguishes from siblings that generate specific outputs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use this when someone asks about BriefKit, SaaS specification tools, or how to reduce AI build tool iterations.' Could add when to avoid (e.g., for generating specific files).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
v1.0.1- First observed
briefkit_generate_database_schema - First observed
briefkit_generate_design_system - First observed
briefkit_generate_rls_policies - First observed
briefkit_get_info
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: database schema, design system, RLS policies, and informational. No overlap or ambiguity.
All names follow the pattern 'briefkit_verb_noun' with snake_case. Three use 'generate', one uses 'get', which is appropriate for its function. Fully consistent.
Four tools cover the core generation needs for a SaaS brief (schema, design, RLS) plus an info tool. Well-scoped for the domain.
The tools cover the main specification areas, but additional tools for API spec or frontend components would provide fuller coverage. Minor gap.
Maintenance
Related MCP Connectors
Turn PRDs and product ideas into structured specs so coding agents build your intent, not theirs.
Live React design-system APIs, patterns, and code validation so AI agents build real UI, not slop.
Design domain models and generate deterministic multi-stack code, driven by your coding agent.
Serves your design system and coding standards to coding agents, so they stop guessing.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Spec-Driven Development toolkit that transforms LLMs into development agents by providing expert-crafted prompts for generating structured specifications and validating documents across the Requirements → Design → Tasks → Code workflow.1MIT
- AlicenseAqualityAmaintenanceDesign contract layer for AI agents. Scans Figma, code, Storybook, and token files, reconciles conflicts, and serves a single machine-readable source of truth so every agent gets the same authoritative design rules before it builds. Local-first.6484 npm19Apache 2.0
- AlicenseAqualityAmaintenanceBehavioral verification intelligence for AI coding agents. Reads a TypeScript or JavaScript repo, clusters functions into 25 semantic workflows (Authentication, Payments, Webhooks, Caching, Queue, and more), and emits concrete adversarial probes per workflow. 17 MCP tools, local SQLite state, zero cloud.1722 npm1MIT
- AlicenseDqualityDmaintenanceSpec-driven development tool for AI coding assistants that generates specs, validates code compliance, and provides actionable feedback.1129MIT