Frappe MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FRAPPE_API_KEY | Yes | Frappe API key for a dedicated Frappe user, used with the token authentication header: Authorization: token <api_key>:<api_secret>. | |
| FRAPPE_API_SECRET | Yes | Frappe API secret corresponding to the API key, used with the token authentication header: Authorization: token <api_key>:<api_secret>. Store it in the MCP client's secret store or environment, never in a checked-in config file. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_installed_appsA | Discover apps and modules represented by the target site's Module Def records. |
| list_doctypesC | List DocTypes on the site, optionally filtered by app/module. |
| get_doctype_schemaB | Read the DocType schema and field metadata visible through Frappe's API. |
| list_documentsC | List permission-filtered records and fields through the standard Frappe REST API. |
| get_documentA | Read one document, selecting fields and bounding any returned child-table rows. |
| create_documentC | Preview or create a document via the native REST resource API. |
| update_documentB | Preview or update a record; confirmation requires the preview's modified token. |
| delete_documentC | Preview or delete a record; confirmation requires the preview's modified token. |
| run_reportC | Run an enabled report using Frappe's permission-checked query-report API. |
| create_doctypeB | Preview or create a standard or site-custom DocType through Frappe.
|
| set_role_permissionsC | Preview or set DocType role permissions through Frappe's native manager. |
| create_custom_fieldC | Preview or create a Custom Field through the standard Frappe REST API. |
| set_field_propertyC | Preview or save a Customize Form value as a Property Setter. |
| export_customizationsC | Preview or export DocType JSON and customization fixtures into an app, with rollback. |
| rollback_exportC | Preview or restore files from an export manifest without overwriting later edits. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 15 tools
Each tool targets a clearly distinct resource and action: document CRUD, DocType schema/creation/listing, reports, permissions, custom fields, property setters, exports, and app/module discovery. Similar-sounding tools like create_custom_field versus set_field_property are separated by descriptions and scope.
All tools use snake_case with a predictable verb_noun pattern, such as list_documents, create_document, run_report, and export_customizations. Minor variations like get_doctype_schema still fit the convention.
Fifteen tools is well-scoped for a Frappe MCP covering document operations, schema management, reports, permissions, customization, and export/rollback. Each tool appears to earn its place without excessive surface area.
The surface covers core CRUD for documents plus important Frappe metadata and customization workflows. Some gaps remain, such as first-class readback/discovery for role permissions and reports, and no explicit update/delete DocType tool, though generic document operations may provide workarounds.