Enhanced Model Context Protocol server for Frappe Framework with comprehensive API instructions and helper tools
Connect Frappe to Claude, Cursor or any other MCP client and it stops being a tab you switch to. Enhanced Model Context Protocol server for Frappe Framework with comprehensive API instructions and helper tools. The frappe mcp server is what makes that connection.
A Model Context Protocol (MCP) server for Frappe Framework that exposes Frappe's functionality to AI assistants through the official REST API, with a focus on document CRUD operations, schema handling, and detailed API instructions.
This MCP server allows AI assistants to interact with Frappe applications through a standardized interface using the official Frappe REST API. It provides tools for:
frappe-mcp-server on npm is all you need. Most clients run it directly, so configuration is a few lines and a restart.
The toolset is worth reading before you wire it up, because it tells you what the integration is really for:
find_doctypes — Find DocTypes in the system matching a search termget_module_list — Get a list of all modules in the systemget_doctypes_in_module — Get a list of DocTypes in a specific modulecheck_doctype_exists — Check if a DocType exists in the systemcheck_document_exists — Check if a document existsget_document_count — Get a count of documents matching filtersget_naming_info — Get the naming series information for a DocTypeget_required_fields — Get a list of required fields for a DocTypeget_api_instructions — Get detailed instructions for using the Frappe APIPrerequisites — The Prerequisites tool exposed by this serverSetup — The Setup tool exposed by this serverAuthentication — This MCP server only supports API key/secret authentication via the Frappe REST API. Username/password authentication is not supportedConfiguration is passed through the environment: FRAPPE_URL, FRAPPE_API_KEY, FRAPPE_API_SECRET. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.
Among the developer tooling options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. Frappe's toolset — find_doctypes, get_module_list, get_doctypes_in_module and 9 more — is a fair guide to whether it matches your workflow. It is maintained by Sena-IT; worth a glance at recent repository activity before you build anything load-bearing on it.
SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.
| Tool | What it does |
|---|---|
| find_doctypes | Find DocTypes in the system matching a search term |
| get_module_list | Get a list of all modules in the system |
| get_doctypes_in_module | Get a list of DocTypes in a specific module |
| check_doctype_exists | Check if a DocType exists in the system |
| check_document_exists | Check if a document exists |
| get_document_count | Get a count of documents matching filters |
| get_naming_info | Get the naming series information for a DocType |
| get_required_fields | Get a list of required fields for a DocType |
| get_api_instructions | Get detailed instructions for using the Frappe API |
| Prerequisites | The Prerequisites tool exposed by this server. |
| Setup | The Setup tool exposed by this server. |
| Authentication | This MCP server **only supports API key/secret authentication** via the Frappe REST API. Username/password authentication is not supported. |
{
"mcpServers": {
"frappe": {
"command": "npx",
"args": ["frappe-mcp-server"], // Assumes frappe-mcp-server is in MCP server path
"env": {
"FRAPPE_URL": "https://your-frappe-instance.com",
"FRAPPE_API_KEY": "your_api_key", // REQUIRED
"FRAPPE_API_SECRET": "your_api_secret" // REQUIRED
},
"disabled": false,
"alwaysAllow": []
}
}
}Configuration as documented by the project. Restart the client after saving.
| Variable | Description | Required |
|---|---|---|
| FRAPPE_URL | Endpoint or connection string the server talks to. | Yes |
| FRAPPE_API_KEY | Credential the server authenticates with. | Yes |
| FRAPPE_API_SECRET | Credential the server authenticates with. | Yes |
Kill hallucinated APIs — version-accurate, up-to-date library documentation injected straight into context.
Microsoft's official browser automation server — drive a real browser through the accessibility tree, no screenshots needed.
GitHub's official server — repos, issues, pull requests, Actions and code security, straight from your assistant.
Issue tracking at the speed of conversation — Linear's official hosted server with OAuth and zero install.
Local repository surgery — status, diffs, commits, branches and history for any repo on disk.
Timezone sanity for AI — current time anywhere and correct conversions, without the model doing date math.