Frappe MCP Server
This MCP server enables seamless interaction with any Frappe/ERPNext site via its REST API, allowing you to manage documents and invoke server-side methods from MCP-compatible clients. It uses API key/secret for secure token-based authentication.
Check Connectivity (
frappe_ping): Verify the connection to the configured Frappe/ERPNext site.Retrieve Documents (
frappe_get_doc): Fetch a single document by specifying its DocType (e.g.,Sales Invoice,Customer) and name/ID.Search & List Documents (
frappe_search_docs): Search or list documents of any DocType with support for filters, field selection, pagination, and custom ordering.Create Documents (
frappe_create_doc): Create a new document of any DocType by providing the required field values.Update Documents (
frappe_update_doc): Modify an existing document by specifying its DocType, name/ID, and the fields to update.Delete Documents (
frappe_delete_doc): Permanently delete a document by its DocType and name/ID.Run Server-Side Methods (
frappe_run_method): Invoke any whitelisted Python method on the Frappe server using its dotted path (e.g.,frappe.auth.get_logged_user), with optional keyword arguments.
Enables management of ERPNext site data through the Frappe REST API, including document creation, retrieval, update, deletion, and remote method calls.
Allows interaction with a Frappe Framework site via REST API, providing CRUD operations on documents, full-text search, filtered document search, and invocation of server-side methods.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Frappe MCP ServerShow me the latest 10 sales orders"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Frappe MCP Server
mcp-name: io.github.muthanii/frappe_mcpA Model Context Protocol (MCP) server for Frappe Framework. Connect Claude Desktop, VS Code Copilot, and other MCP clients to any Frappe/ERPNext site via its REST API.
Where to get it
Distribution | Reference | Page |
PyPI |
| |
Docker Hub |
| |
GitHub Container Registry |
| |
MCP Registry |
| |
Glama | — | |
Source | — |
Related MCP server: frappe-api-mcp
Features
Document CRUD — get, create, update, delete Frappe doctypes
Search — full-text and filtered document search
Remote method calls — invoke any server-side Python method
Authentication — API key + secret (token-based auth)
Docker-first — single
docker runcommand, no Python install needed
Quick start
With uvx (no install):
FRAPPE_URL=https://your-site.com \
FRAPPE_API_KEY=your-api-key \
FRAPPE_API_SECRET=your-api-secret \
uvx frappe-mcp-serverWith pip:
pip install frappe-mcp-server
frappe-mcp-serverWith Docker (Docker Hub):
docker run -i --rm \
-e FRAPPE_URL=https://your-site.com \
-e FRAPPE_API_KEY=your-api-key \
-e FRAPPE_API_SECRET=your-api-secret \
muthanii/frappe-mcpWith Docker (GHCR):
docker run -i --rm \
-e FRAPPE_URL=https://your-site.com \
-e FRAPPE_API_KEY=your-api-key \
-e FRAPPE_API_SECRET=your-api-secret \
ghcr.io/muthanii/frappe-mcpAvailable tools
Every tool ships MCP tool annotations and a declared outputSchema, so a client can tell read tools from destructive ones before calling them.
Tool | Description | Access | Destructive | Idempotent |
| Check connectivity and credentials | read-only | no | yes |
| Retrieve a single document by doctype + name | read-only | no | yes |
| Search/list documents with filters | read-only | no | yes |
| Create a new document | write | no | no |
| Update an existing document | write | yes | yes |
| Delete a document — irreversible | write | yes | no |
| Call a whitelisted server-side method | write | yes | no |
frappe_run_method is marked destructive because its effect is determined entirely by the method you name.
Configuration
Environment variable | Required | Description |
| Yes | Base URL of your Frappe site (e.g. |
| Yes | Frappe API key |
| Yes | Frappe API secret |
| No | Set to |
| No | Request timeout in seconds (default: |
MCP client config
Add this to your claude_desktop_config.json or Copilot config.
Via uvx:
{
"mcpServers": {
"frappe": {
"command": "uvx",
"args": ["frappe-mcp-server"],
"env": {
"FRAPPE_URL": "https://your-site.com",
"FRAPPE_API_KEY": "your-api-key",
"FRAPPE_API_SECRET": "your-api-secret"
}
}
}
}Via Docker:
{
"mcpServers": {
"frappe": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "FRAPPE_URL",
"-e", "FRAPPE_API_KEY",
"-e", "FRAPPE_API_SECRET",
"muthanii/frappe-mcp"
],
"env": {
"FRAPPE_URL": "https://your-site.com",
"FRAPPE_API_KEY": "your-api-key",
"FRAPPE_API_SECRET": "your-api-secret"
}
}
}
}Local development
pip install -e .
frappe-mcpLicense
MIT — see LICENSE.
Maintenance
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables interaction with Frappe Framework sites through comprehensive document operations, schema introspection, report generation, and method execution. Provides secure API-based access to create, read, update, and delete Frappe documents while supporting financial reporting and DocType management.Last updated2414ISC
- FlicenseBqualityDmaintenanceEnables interaction with Frappe and ERPNext sites through their REST API endpoints. It supports standard HTTP methods for performing CRUD operations and managing site data using natural language.Last updated12

Frappe MCPofficial
Alicense-qualityCmaintenanceAllows Frappe Framework apps to function as MCP servers, exposing Python-defined tools for LLM interaction.Last updated147MIT- Alicense-qualityAmaintenanceMCP server that enables LLMs to interact with ERPNext/Frappe sites for document CRUD, search, reports, workflows, and analytics, respecting user permissions and logging all actions.Last updated270AGPL 3.0
Related MCP Connectors
Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.
Managed LinkedIn MCP server for AI agents: search, connect, message and enrich on accounts you own.
Provide seamless access to Appfolio Property Manager Reporting API through a standardized MCP serv…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/muthanii/frappe_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server