Frappe MCP Server
by muthaniiio.github.muthanii/frappe_mcpv1.2.0
Interact with Frappe/ERPNext sites — document CRUD, search, and whitelisted method calls
context tax
queued
security
queued
cold start
queued
freshness
Maintained2mo ago
Install Frappe MCP server
Install in Claude Code
claude mcp add frappe -e FRAPPE_URL='<frappe-url>' -e FRAPPE_API_KEY='<frappe-api-key>' -e FRAPPE_API_SECRET='<frappe-api-secret>' -- uvx frappe-mcp-serverInstall in Cursor
{
"mcpServers": {
"frappe": {
"command": "uvx",
"args": [
"frappe-mcp-server"
],
"env": {
"FRAPPE_URL": "<frappe-url>",
"FRAPPE_API_KEY": "<frappe-api-key>",
"FRAPPE_API_SECRET": "<frappe-api-secret>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"frappe": {
"command": "uvx",
"args": [
"frappe-mcp-server"
],
"env": {
"FRAPPE_URL": "<frappe-url>",
"FRAPPE_API_KEY": "<frappe-api-key>",
"FRAPPE_API_SECRET": "<frappe-api-secret>"
}
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"frappe": {
"type": "stdio",
"command": "uvx",
"args": [
"frappe-mcp-server"
],
"env": {
"FRAPPE_URL": "<frappe-url>",
"FRAPPE_API_KEY": "<frappe-api-key>",
"FRAPPE_API_SECRET": "<frappe-api-secret>"
}
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"frappe": {
"command": "uvx",
"args": [
"frappe-mcp-server"
],
"env": {
"FRAPPE_URL": "<frappe-url>",
"FRAPPE_API_KEY": "<frappe-api-key>",
"FRAPPE_API_SECRET": "<frappe-api-secret>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| FRAPPE_URL | yes | — | Base URL of your Frappe/ERPNext site, e.g. https://your-site.erpnext.com |
| FRAPPE_API_KEY | yes | yes | Frappe API key for token-based authentication |
| FRAPPE_API_SECRET | yes | yes | Frappe API secret paired with the API key |
| FRAPPE_VERIFY_SSL | — | — | Set to 'false' to skip TLS certificate verification. Defaults to 'true'. |
| FRAPPE_TIMEOUT | — | — | Per-request timeout in seconds. Defaults to 30. |
Freshness
Maintained — last maintenance signal 2mo ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-07-29 · 2mo ago · GitHub
Latest release
2026-07-28 · 2mo ago · GitHub · v1.1.0
Package published
no data · npm/PyPI
Registry entry updated
2026-07-29 · 2mo ago · official registry · v1.2.0
FAQ
›How do I install the Frappe MCP server in Claude Code?
Run: claude mcp add frappe -e FRAPPE_URL='<frappe-url>' -e FRAPPE_API_KEY='<frappe-api-key>' -e FRAPPE_API_SECRET='<frappe-api-secret>' -- uvx frappe-mcp-server. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does Frappe require an API key?
Yes. It expects FRAPPE_URL, FRAPPE_API_KEY, FRAPPE_API_SECRET, of which 2 are secrets.
›Can I use Frappe as a remote (hosted) MCP server?
No hosted endpoint is published; it runs locally over stdio.
›Is Frappe in the official MCP registry?
Yes, as io.github.muthanii/frappe_mcp.