Skip to content
Agentmart
Submit a tool

Frappe Dev MCP Server

MCP server for Frappe/ERPNext development with AI assistance for DocTypes, bench commands, and APIs

Connector by SajmustafaKe · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 4
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/sajmustafake-frappe-dev-mcp-server

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

MCP server for Frappe/ERPNext development with AI assistance for DocTypes, bench commands, and APIs

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
36 read · 82 write · 8 delete · 14 not yet classified
Secrets
None asked for
Install scripts
Not scanned yet
Runs as
Node.js package

Tools by what they do 140

Read from the source code; the running server may list different tools.

Read 36 · Look things up without changing anything.

  • frappe_check_permission
  • frappe_get_app_structure
  • frappe_get_count
  • frappe_get_customize_form
  • frappe_get_data_import_template
  • frappe_get_doctype_list
  • frappe_get_doctype_schema
  • frappe_get_document
  • frappe_get_field_options
  • frappe_get_financial_statements
  • frappe_get_frappe_usage_info
  • frappe_get_frontend_structure
Show 24 more tools
  • frappe_get_hooks
  • frappe_get_job_status
  • frappe_get_permissions
  • frappe_get_print
  • frappe_get_report_meta
  • frappe_get_ui_templates
  • frappe_get_value
  • frappe_get_vue_component_tree
  • frappe_get_workflow
  • frappe_get_workflow_actions
  • frappe_get_workspace_sidebar
  • frappe_list_apps
  • frappe_list_client_scripts
  • frappe_list_custom_fields
  • frappe_list_desktop_icons
  • frappe_list_documents
  • frappe_list_notifications
  • frappe_list_print_formats
  • frappe_list_reports
  • frappe_list_server_scripts
  • frappe_list_web_pages
  • frappe_list_workspace_sidebars
  • frappe_list_workspaces
  • frappe_scheduler_status

Write 82 · Create, change, send or run things.

  • frappe_add_apps_screen_hook
  • frappe_add_boot_session
  • frappe_add_custom_field
  • frappe_add_custom_fields_bulk
  • frappe_add_doc_events
  • frappe_add_fixtures
  • frappe_add_jinja
  • frappe_add_override_method
  • frappe_add_permission
  • frappe_add_permission_query
  • frappe_add_property_setter
  • frappe_add_scheduler_events
Show 70 more tools
  • frappe_add_to_my_workspace
  • frappe_add_user_permission
  • frappe_add_web_include
  • frappe_add_website_generator
  • frappe_apply_workflow_action
  • frappe_build_assets
  • frappe_build_frontend
  • frappe_bulk_update
  • frappe_call_method
  • frappe_cancel_document
  • frappe_create_api_endpoint
  • frappe_create_app
  • frappe_create_client_script
  • frappe_create_controller_method
  • frappe_create_dashboard_chart
  • frappe_create_desktop_icon
  • frappe_create_doctype
  • frappe_create_doctype_dashboard
  • frappe_create_document
  • frappe_create_document_naming
  • frappe_create_email_template
  • frappe_create_form_js
  • frappe_create_frontend_component
  • frappe_create_frontend_form
  • frappe_create_frontend_list
  • frappe_create_frontend_page
  • frappe_create_letter_head
  • frappe_create_list_js
  • frappe_create_module_def
  • frappe_create_notification
  • frappe_create_number_card
  • frappe_create_page
  • frappe_create_patch
  • frappe_create_pinia_store
  • frappe_create_portal_page
  • frappe_create_print_format
  • frappe_create_resource_composable
  • frappe_create_role
  • frappe_create_role_profile
  • frappe_create_scheduled_task
  • frappe_create_script_report
  • frappe_create_server_script
  • frappe_create_test
  • frappe_create_ui_block
  • frappe_create_virtual_doctype
  • frappe_create_web_form
  • frappe_create_web_page
  • frappe_create_web_template
  • frappe_create_webhook
  • frappe_create_workflow
  • frappe_create_workspace
  • frappe_create_workspace_sidebar
  • frappe_import_data
  • frappe_import_fixtures
  • frappe_install_app
  • frappe_migrate_database
  • frappe_new_site
  • frappe_rename_document
  • frappe_restart
  • frappe_run_bench_command
  • frappe_run_patch
  • frappe_run_tests
  • frappe_send_email
  • frappe_set_hooks_property
  • frappe_set_value
  • frappe_setup_frontend_proxy
  • frappe_setup_requirements
  • frappe_submit_document
  • frappe_update_document
  • frappe_update_website_settings

Delete 8 · Delete, drop, revoke or wipe things.

  • frappe_clear_cache
  • frappe_create_frontend_detail
  • frappe_delete_custom_field
  • frappe_delete_desktop_icon
  • frappe_delete_document
  • frappe_purge_jobs
  • frappe_uninstall_app
  • frappe_update_workspace_sidebar

Not yet classified 14 · We could not tell from the name and description.

  • frappe_amend_document
  • frappe_enqueue_job
  • frappe_export_data
  • frappe_export_fixtures
  • frappe_generate_frappe_ui_component
  • frappe_generate_vue_page
  • frappe_get_app
  • frappe_inspire_ui_block
  • frappe_refine_ui_block
  • frappe_run_doctype_report
  • frappe_run_query_report
  • frappe_scaffold_frontend_app
Show 2 more tools
  • frappe_setup_field_level_security
  • tool

Secrets and settings it asks for

Other settings (environment variables or headers).

  • FRAPPE_PATH

Files it touches

  • Any path the agent passes to its tools

Tools (140)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • frappe_add_apps_screen_hook

    Add the add_to_apps_screen hook to hooks.py (v16) - this is how custom apps register their icon and entry point on the desktop apps screen

  • frappe_add_boot_session

    Add boot_session hook to hooks.py for custom boot data

  • frappe_add_custom_field

    Add a Custom Field to an existing DocType without modifying the original app's code

  • frappe_add_custom_fields_bulk

    Add multiple Custom Fields to one or more DocTypes at once

  • frappe_add_doc_events

    Add document event hooks (before_save, after_insert, on_submit, on_cancel, on_update, before_validate, etc.) to hooks.py

  • frappe_add_fixtures

    Add fixtures list to hooks.py for exporting configuration data

  • frappe_add_jinja

    Add custom Jinja methods or filters to hooks.py

  • frappe_add_override_method

    Add override_whitelisted_methods or override_doctype_class entries to hooks.py

  • frappe_add_permission

    Add DocType permission rules for a role (DocPerm row)

  • frappe_add_permission_query

    Add permission_query_conditions or has_permission hooks to hooks.py

  • frappe_add_property_setter

    Change a property of an existing DocType field without modifying the original code

  • frappe_add_scheduler_events

    Add scheduler event hooks (cron, all, daily, hourly, weekly, monthly) to hooks.py

  • frappe_add_to_my_workspace

    Add a workspace to the current user's 'My Workspaces' sidebar (v16 private workspace cloning)

  • frappe_add_user_permission

    Add a User Permission to restrict a user to specific documents

  • frappe_add_web_include

    Add app_include_js, app_include_css, web_include_js, or web_include_css entries to hooks.py

Show 125 more tools
  • frappe_add_website_generator

    Add website_generators hook for DocTypes that generate web pages

  • frappe_amend_document

    Amend a cancelled document (create amended copy)

  • frappe_apply_workflow_action

    Apply a workflow action/transition on a document

  • frappe_build_assets

    Build front-end assets for all apps or a specific app

  • frappe_build_frontend

    Run the frontend build process (yarn build) and copy assets to the Frappe app's public directory

  • frappe_bulk_update

    Bulk update documents of a DocType

  • frappe_call_method

    Execute a whitelisted Frappe/ERPNext method via bench. Note: In v16, state-changing methods require POST.

  • frappe_cancel_document

    Cancel a submitted document

  • frappe_check_permission

    Check if a user has permission on a document

  • frappe_clear_cache

    Clear cache for a Frappe site

  • frappe_create_api_endpoint

    Create a custom whitelisted API endpoint for a Frappe app

  • frappe_create_app

    Create a new Frappe app with the bench scaffolding

  • frappe_create_client_script

    Create a Client Script (custom JavaScript form script) for a DocType

  • frappe_create_controller_method

    Add a controller method (Python) to an existing DocType's controller file. Common methods: validate, before_save, after_insert, on_submit, on_cancel, on_update_after_submit, before_naming, autoname.

  • frappe_create_dashboard_chart

    Create a Dashboard Chart for data visualization

  • frappe_create_desktop_icon

    Create a Desktop Icon document (v16) - icons shown on the desktop/home screen. Supports Link, Folder, and App icon types with role-based visibility.

  • frappe_create_doctype

    Create a new Frappe DocType with JSON definition and Python controller. Supports all v16 field types including Tab Break, Dynamic Link, Table MultiSelect, Geolocation, JSON, etc.

  • frappe_create_doctype_dashboard

    Create a DocType dashboard configuration showing connections, charts, and related documents

  • frappe_create_document

    Create a new Frappe document

  • frappe_create_document_naming

    Configure document naming rules (Naming Series, autoname patterns, etc.)

  • frappe_create_email_template

    Create an Email Template with Jinja support for use in notifications and emails

  • frappe_create_form_js

    Create or update a DocType's form JavaScript file (.js) for client-side customization

  • frappe_create_frontend_component

    Create a Vue component file on disk using frappe-ui patterns with proper imports

  • frappe_create_frontend_detail

    Generate a detail/show page for viewing a single document with createDocumentResource, field display, actions (submit/cancel/amend/delete), timeline, and comments

  • frappe_create_frontend_form

    Generate a form page/component with frappe-ui FormControl components, validation, and createDocumentResource integration for creating/editing documents

  • frappe_create_frontend_list

    Generate a list view page with frappe-ui ListView, createListResource, filters, pagination, search, and row click navigation

  • frappe_create_frontend_page

    Create a Vue page component with frappe-ui patterns and register its route in the router

  • frappe_create_letter_head

    Create a Letter Head template for document printing

  • frappe_create_list_js

    Create a DocType's list view JavaScript file for list view customization

  • frappe_create_module_def

    Create a Module Definition for a Frappe app

  • frappe_create_notification

    Create a Frappe Notification (email, system, SMS, or push notification triggered by document events)

  • frappe_create_number_card

    Create a Number Card for dashboard KPIs

  • frappe_create_page

    Create a custom Desk Page (single-page application within the desk). In v16, pages JS is evaluated as IIFE.

  • frappe_create_patch

    Create a database migration patch file for an app. Patches run during bench migrate.

  • frappe_create_pinia_store

    Create a Pinia store with frappe-ui resource integration for complex state management

  • frappe_create_portal_page

    Create a Portal Page (www/ directory) with HTML/Jinja template and Python controller for a Frappe app

  • frappe_create_print_format

    Create a custom Print Format (HTML/Jinja) for a DocType. v16 supports custom print formats for reports.

  • frappe_create_resource_composable

    Generate a composable wrapping frappe-ui's resource system (createDocumentResource, createListResource, or createResource/call)

  • frappe_create_role

    Create a new Role in the Frappe system

  • frappe_create_role_profile

    Create a Role Profile that groups multiple roles together

  • frappe_create_scheduled_task

    Create a Python method and register it as a scheduled task in hooks.py

  • frappe_create_script_report

    Create a Script Report with Python data generation and optional JS client-side script

  • frappe_create_server_script

    Create a Server Script (DocType Event, API, Permission Query, or Scheduled) directly in Frappe's database

  • frappe_create_test

    Create a test file (unit + integration) for a DocType using Frappe v16 test patterns

  • frappe_create_ui_block

    Create UI blocks using frappe-ui and Tailwind CSS patterns

  • frappe_create_virtual_doctype

    Create a Virtual DocType (no database table, data from external source or computed). Common in v16 for API-backed data.

  • frappe_create_web_form

    Create a Web Form for public-facing data entry

  • frappe_create_web_page

    Create a Web Page document for the website

  • frappe_create_web_template

    Create a Jinja template file for emails, print, or web pages

  • frappe_create_webhook

    Create a Webhook to send data to external services on document events

  • frappe_create_workflow

    Create a complete Workflow with states, transitions, and actions for a DocType

  • frappe_create_workspace

    Create a Workspace page (v16 redesigned workspace with sidebar navigation and desktop icon support)

  • frappe_create_workspace_sidebar

    Create a Workspace Sidebar (v16) - the persistent left sidebar navigation. Public sidebars (no for_user) appear for all users. Private sidebars (with for_user) appear only for that user in 'My Workspaces'.

  • frappe_delete_custom_field

    Delete a Custom Field from a DocType

  • frappe_delete_desktop_icon

    Delete a Desktop Icon by name/label

  • frappe_delete_document

    Delete a Frappe document

  • frappe_enqueue_job

    Enqueue a background job using frappe.enqueue() (RQ)

  • frappe_export_data

    Export data from a DocType to JSON

  • frappe_export_fixtures

    Export fixture data for an app (exports DocTypes defined in hooks.py fixtures)

  • frappe_generate_frappe_ui_component

    Generate a Vue 3 component using frappe-ui library

  • frappe_generate_vue_page

    Generate a complete Vue page with frappe-ui layout and components

  • frappe_get_app

    Clone/get a Frappe app from a git URL

  • frappe_get_app_structure

    Get the directory structure of a Frappe app

  • frappe_get_count

    Get count of documents matching filters

  • frappe_get_customize_form

    Get the full customization of a DocType (custom fields, property setters, etc.)

  • frappe_get_data_import_template

    Get a CSV import template for a DocType

  • frappe_get_doctype_list

    List all available DocTypes, optionally filtered by module or app

  • frappe_get_doctype_schema

    Get the complete schema/structure of a DocType including fields, permissions, and properties

  • frappe_get_document

    Retrieve a Frappe document by DocType and name

  • frappe_get_field_options

    Get available options for Link or Select fields in a DocType

  • frappe_get_financial_statements

    Get financial statements (Profit & Loss, Balance Sheet, Cash Flow) from ERPNext

  • frappe_get_frappe_usage_info

    Get comprehensive Frappe development information: version, installed apps, DocType stats, API endpoints, and development tips

  • frappe_get_frontend_structure

    Get the directory structure of a frappe-ui frontend app

  • frappe_get_hooks

    Read and display the current hooks.py file of a Frappe app

  • frappe_get_job_status

    Get the status of background jobs

  • frappe_get_permissions

    Get all permission rules for a DocType

  • frappe_get_print

    Get rendered print output for a document

  • frappe_get_report_meta

    Get metadata for a Frappe report (columns, filters, etc.)

  • frappe_get_ui_templates

    Get available UI templates and patterns organized by category

  • frappe_get_value

    Get specific field value(s) from a document

  • frappe_get_vue_component_tree

    Get the Vue component tree structure for a page

  • frappe_get_workflow

    Get workflow definition for a DocType

  • frappe_get_workflow_actions

    Get available workflow actions for a document based on current state and user role

  • frappe_get_workspace_sidebar

    Get the Workspace Sidebar configuration for the current user or a specific sidebar by title

  • frappe_import_data

    Import data from CSV/JSON into a DocType using Frappe Data Import

  • frappe_import_fixtures

    Import fixture data from an app's fixtures directory

  • frappe_inspire_ui_block

    Generate creative UI blocks inspired by modern design patterns

  • frappe_install_app

    Install a Frappe app on a site

  • frappe_list_apps

    List all installed apps on a site

  • frappe_list_client_scripts

    List all Client Scripts

  • frappe_list_custom_fields

    List all Custom Fields for a DocType

  • frappe_list_desktop_icons

    List Desktop Icon documents (v16), optionally filtered by app, icon_type, or role

  • frappe_list_documents

    List Frappe documents with filters, field selection, ordering, and pagination

  • frappe_list_notifications

    List all Notification documents

  • frappe_list_print_formats

    List all Print Formats, optionally filtered by DocType

  • frappe_list_reports

    List all available reports, optionally filtered by type or DocType

  • frappe_list_server_scripts

    List all Server Scripts

  • frappe_list_web_pages

    List all web pages

  • frappe_list_workspace_sidebars

    List all Workspace Sidebars (v16), optionally filtered by user or standard status

  • frappe_list_workspaces

    List all workspaces (v16: public ones appear as desktop icons, private ones in 'My Workspaces' sidebar)

  • frappe_migrate_database

    Run database migration for a Frappe site

  • frappe_new_site

    Create a new Frappe site

  • frappe_purge_jobs

    Purge failed/pending background jobs

  • frappe_refine_ui_block

    Refine and improve existing UI blocks with responsive, dark mode, or animation enhancements

  • frappe_rename_document

    Rename a document

  • frappe_restart

    Restart bench services (web, worker, scheduler)

  • frappe_run_bench_command

    Execute any bench command for Frappe development

  • frappe_run_doctype_report

    Generate a quick report based on a DocType listing with filters

  • frappe_run_patch

    Run a specific patch manually

  • frappe_run_query_report

    Execute a Frappe query report with filters

  • frappe_run_tests

    Run tests for a Frappe app, module, or specific DocType

  • frappe_scaffold_frontend_app

    Scaffold a complete frappe-ui SPA inside a Frappe app's frontend/ directory with Vue 3, Vite, Tailwind CSS, frappe-ui, vue-router, and optionally Pinia

  • frappe_scheduler_status

    Check scheduler status or enable/disable scheduler

  • frappe_send_email

    Send an email programmatically via Frappe. Note: v16 frappe.sendmail(now=True) no longer commits transactions.

  • frappe_set_hooks_property

    Set any arbitrary property in hooks.py (for hooks not covered by specialized tools)

  • frappe_set_value

    Set a specific field value on a document

  • frappe_setup_field_level_security

    Configure field-level permissions (permlevel) for DocType fields. v16 supports role-based field masking.

  • frappe_setup_frontend_proxy

    Create/update the proxyOptions.js file for connecting the Vite dev server to a Frappe backend site

  • frappe_setup_requirements

    Install Python and Node dependencies for all apps

  • frappe_submit_document

    Submit a submittable document

  • frappe_uninstall_app

    Uninstall a Frappe app from a site

  • frappe_update_document

    Update an existing Frappe document

  • frappe_update_website_settings

    Update website settings (homepage, navbar, footer, brand, favicon, etc.)

  • frappe_update_workspace_sidebar

    Update an existing Workspace Sidebar - add, remove, or reorder items

  • tool

    A decorator that registers a function as a tool that can be used by an LLM. Example: >>> @mcp.tool() ... def get_current_weather(location: str, unit: str = "celsius"): ... '''Get the current weather in a given location.''' ... # ... implementation ... Args: name: The name of the tool. If not provided, the function's `__name__` will be used. description: A description of what the tool does. If not provided, it will be extracted from the function's docstring. input_schema: The JSON schema for the tool's input. If not provided, it will be infe…

Signals

Stars
4
Forks
1
Open issues
0
Last commit
Mar 4, 2026 (7 months ago)
Last release
Nov 8, 2025 (11 months ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
io.github.SajmustafaKe/frappe-dev-mcp-server
Version
1.0.1
Auth
No auth
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026
Cite this page

Frappe Dev MCP Server. Agent Mart. https://agentmart.dev/connectors/sajmustafake-frappe-dev-mcp-server (last updated 2026-10-24)