Duck Framework MCP

Official Duck Framework MCP server for AI-assisted development and project scaffolding.

Should I use this

Quality & Safety

A
Description quality
95%
Schema completeness
63%
Naming quality
92%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • LOWTool 'get_blueprint_locations' description lacks action verbin get_blueprint_locations
  • LOWTool 'get_project_structure' description lacks action verbin get_project_structure

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,126Tokens (tool definitions)
~284 BTypical response size
Moderate attention impact (0.88% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "duckframework-mcp": {
      "url": "https://duckframework.com/mcp"
    }
  }
}

Remote endpoints

https://duckframework.com/mcpstreamable-http

What it can do

Tool inventory

Tools (13)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢fetch_ai_guide(guide)

Fetch an official Duck Framework AI guide. Use this after get_ai_guides() to retrieve the full guide content for AI-assisted Duck Framework development. Always read the relevant guide before generating code instead of relying on memory.

Input Schema

{
  "type": "object",
  "properties": {
    "guide": {
      "type": "string"
    }
  },
  "required": [
    "guide"
  ]
}
🟢get_ai_guides

List available Duck Framework AI guides. Use this to discover available guides before fetching one with fetch_ai_guide(). Returns guide identifiers and their descriptions.

Input Schema

{
  "type": "object",
  "properties": {},
  "required": []
}
🟢get_blueprint_locations

Explain where Duck Framework blueprints can be located. Describes the supported blueprint layouts and when each organization approach is appropriate.

Input Schema

{
  "type": "object",
  "properties": {},
  "required": []
}
🟢get_blueprint_structure

Return the standard internal structure of a Duck Framework blueprint. Use this before generating a new blueprint or adding files to an existing one to understand where components, pages, templates, automations, and views belong.

Input Schema

{
  "type": "object",
  "properties": {},
  "required": []
}
🟢get_component_api(component_name)

Look up a built-in Duck Framework component API. Returns the confirmed import path, container type, and supported keyword arguments for a component without requiring the full HTML components guide to be loaded. Use this before using any component that has not already been confirmed. Returns close-name suggestions when the component does not exist.

Input Schema

{
  "type": "object",
  "properties": {
    "component_name": {
      "type": "string"
    }
  },
  "required": [
    "component_name"
  ]
}
🟢get_project_structure

Return the standard Duck Framework project directory structure. Use this before creating or modifying projects to understand where files and directories belong.

Input Schema

{
  "type": "object",
  "properties": {},
  "required": []
}
🟢lint_component_code(code)

Check Duck Framework component or page code for common mistakes. Detects known patterns such as incorrect component imports, invalid page imports, incorrect Heading usage, leading-underscore method names, and separator comments. This is a pattern check for known issues, not a complete correctness validator. An empty result only means no known issues were detected. Run this on generated component code before presenting it as final.

Input Schema

{
  "type": "object",
  "properties": {
    "code": {
      "type": "string"
    }
  },
  "required": [
    "code"
  ]
}
🟢list_doc_categories(version)

List all Duck Framework documentation categories and their pages. Use this when browsing available documentation without a specific search query.

Input Schema

{
  "type": "object",
  "properties": {
    "version": {
      "type": "string"
    }
  },
  "required": []
}
🟡plan_feature(request, version)

Analyze a Duck Framework feature request and create an implementation plan. Returns relevant documentation to read and a suggested order of operations before writing code. Use this before implementing non-trivial Duck Framework features.

Input Schema

{
  "type": "object",
  "properties": {
    "request": {
      "type": "string"
    },
    "version": {
      "type": "string"
    }
  },
  "required": [
    "request"
  ]
}
⚪reindex_docs(version)

Rebuild the Duck Framework documentation index. Crawls the live documentation sitemap for a given version and merges the result in: curated tags/summary/category are preserved, new pages are added, and pages no longer in the sitemap are removed. Requires the admin scope.

Input Schema

{
  "type": "object",
  "properties": {
    "version": {
      "type": "string"
    }
  },
  "required": []
}
🟡scaffold_blueprint(blueprint_name, urlpatterns, enable_template_dir, enable_static_dir, prepend_name_to_urls)

Scaffold a new Duck Framework blueprint. Generates a blueprint structure containing blueprint.py, views.py, and optional UI, template, and static directories following the documented Duck blueprint conventions. Returns generated file contents and the settings configuration needed to register the blueprint. This tool does not write files.

Input Schema

{
  "type": "object",
  "properties": {
    "blueprint_name": {
      "type": "string"
    },
    "urlpatterns": {
      "type": "string"
    },
    "enable_template_dir": {
      "type": "string"
    },
    "enable_static_dir": {
      "type": "string"
    },
    "prepend_name_to_urls": {
      "type": "string"
    }
  },
  "required": [
    "blueprint_name"
  ]
}
🟡scaffold_project(project_name, features)

Scaffold a new Duck Framework project. Returns the required CLI commands and generated file contents for supported features with confirmed APIs. Unsupported features return documentation guidance instead of generated code to avoid guessing framework APIs. This tool does not write files. It only returns generated content for the calling client to add to the user's project directory.

Input Schema

{
  "type": "object",
  "properties": {
    "project_name": {
      "type": "string"
    },
    "features": {
      "type": "string"
    }
  },
  "required": [
    "project_name"
  ]
}
🟢search_docs(query, top_k, category, version)

Fuzzy-search the Duck Framework documentation. Use this whenever the correct documentation page for a feature is unknown. Returns ranked matches containing title, URL, category, summary, and relevance score.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    },
    "top_k": {
      "type": "string"
    },
    "category": {
      "type": "string"
    },
    "version": {
      "type": "string"
    }
  },
  "required": [
    "query"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded13 tools