MCP Server for the Frappe Framework.
claude mcp add frappe-mcp -- uvx frappe-mcp-server{
"mcpServers": {
"frappe-mcp": {
"command": "uvx",
"args": ["frappe-mcp-server"],
"env": {
"FRAPPE_URL": "<frappe_url>",
"FRAPPE_API_KEY": "<frappe_api_key>",
"FRAPPE_API_SECRET": "<frappe_api_secret>"
}
}
}
}FRAPPE_URLFRAPPE_API_KEYFRAPPE_API_SECRETMCP Servers overview
# Frappe MCP Server
[](https://pypi.org/project/frappe-mcp-server/)
[](https://pypi.org/project/frappe-mcp-server/)
[](https://hub.docker.com/r/muthanii/frappe-mcp)
[](https://hub.docker.com/r/muthanii/frappe-mcp)
[](https://github.com/muthanii/frappe_mcp/pkgs/container/frappe-mcp)
[](https://registry.modelcontextprotocol.io/v0/servers?search=io.github.muthanii/frappe_mcp)
[](LICENSE)
[](https://glama.ai/mcp/servers/muthanii/frappe_mcp)
```
mcp-name: io.github.muthanii/frappe_mcp
```
A **Model Context Protocol (MCP) server** for [Frappe Framework](https://frappeframework.com).
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** | `frappe-mcp-server` | [pypi.org/project/frappe-mcp-server](https://pypi.org/project/frappe-mcp-server/) |
| **Docker Hub** | `muthanii/frappe-mcp` | [hub.docker.com/r/muthanii/frappe-mcp](https://hub.docker.com/r/muthanii/frappe-mcp) |
| **GitHub Container Registry** | `ghcr.io/muthanii/frappe-mcp` | [ghcr package](https://github.com/muthanii/frappe_mcp/pkgs/container/frappe-mcp) |
| **MCP Registry** | `io.github.muthanii/frappe_mcp` | [registry API](https://registry.modelcontextprotocol.io/v0/servers?search=io.github.muthanii/frappe_mcp) |
| **Glama** | — | [glama.ai/mcp/servers/muthanii/frappe_mcp](https://glama.ai/mcp/servers/muthanii/frappe_mcp) |
| **Source** | — | [github.com/muthanii/frappe_mcp](https://github.com/muthanii/frappe_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 run` command, no Python install needed
## Quick start
**With `uvx` (no install):**
```bash
FRAPPE_URL=https://your-site.com \
FRAPPE_API_KEY=your-api-key \
FRAPPE_API_SECRET=your-api-secret \
uvx frappe-mcp-server
```
**With `pip`:**
```bash
pip install frappe-mcp-server
frappe-mcp-server
```
**With Docker (Docker Hub):**
```bash
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-mcp
```
**With Docker (GHCR):**
```bash
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-mcp
```
## Available tools
Every tool ships MCP [tool annotations](https://modelcontextprotocol.io/specification/server/tools) and a declared `outputSchema`, so a client can tell read tools from destructive ones before calling them.
| Tool | Description | Access | Destructive | Idempotent |
|------|-------------|--------|-------------|------------|
| `frappe_ping` | Check connectivity and credentials | read-only | no | yes |
| `frappe_get_doc` | Retrieve a single document by doctype + name | read-only | no | yes |
| `frappe_search_docs` | Search/list documents with filters | read-only | no | yes |
| `frappe_create_doc` | Create a new document | write | no | no |
| `frappe_update_doc` | Update an existing document | write | yes | yes |
| `frappe_delete_doc` | Delete a document — irreversible | write | yes | no |
| `frappe_run_method` | 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 |
|----------------------|----------|-------------|
| `FRAPPE_URL` | Yes | Base URL of your Frappe site (e.g. `https://erp.example.com`) |
| `FRAPPE_API_KEY` | Yes | Frappe API key |
| `FRAPPE_API_SECRET` | Yes | Frappe API secret |
| `FRAPPE_VERIFY_SSL` | No | Set to `false` to skip TLS verification (default: `true`) |
| `FRAPPE_TIMEOUT` | No | Request timeout in seconds (default: `30`) |
## MCP client config
Add this to your `claude_desktop_config.json` or Copilot config.
**Via `uvx`:**
```json
{
"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:**
```json
{
"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
```bash
pip install -e .
frappe-mcp
```
## License
MIT — see [LICENSE](LICENSE).
---
[](https://glama.ai/mcp/servers/muthanii/frappe_mcp)
What people ask about frappe_mcp
What is muthanii/frappe_mcp?
+
muthanii/frappe_mcp is mcp servers for the Claude AI ecosystem. MCP Server for the Frappe Framework. It has 0 GitHub stars and was last updated today.
How do I install frappe_mcp?
+
You can install frappe_mcp by cloning the repository (https://github.com/muthanii/frappe_mcp) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is muthanii/frappe_mcp safe to use?
+
muthanii/frappe_mcp has not been audited yet by our security agent. Review the original repository on GitHub before using it in production.
Who maintains muthanii/frappe_mcp?
+
muthanii/frappe_mcp is maintained by muthanii. The last recorded GitHub activity is from today, with 0 open issues.
Are there alternatives to frappe_mcp?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy frappe_mcp to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/muthanii-frappe-mcp)<a href="https://claudewave.com/repo/muthanii-frappe-mcp"><img src="https://claudewave.com/api/badge/muthanii-frappe-mcp" alt="Featured on ClaudeWave: muthanii/frappe_mcp" width="320" height="64" /></a>More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
The fastest path to AI-powered full stack observability, even for lean teams.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!