Frappe MCP Server

السجل الرسمي البحث والويب

Interact with Frappe/ERPNext sites — document CRUD, search, and whitelisted method calls

ماذا يمكنك أن تفعل مع Frappe MCP Server؟

  • 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

التثبيت

أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: ‏.cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).

PYPI package frappe-mcp-server
Claude Code
claude mcp add frappe-mcp-server -e 'FRAPPE_URL=<FRAPPE_URL>' -e 'FRAPPE_API_KEY=<your frappe_api_key>' -e 'FRAPPE_API_SECRET=<your frappe_api_secret>' -e 'FRAPPE_VERIFY_SSL=true' -e 'FRAPPE_TIMEOUT=30' -- uvx frappe-mcp-server==1.2.0
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "frappe-mcp-server": {
            "command": "uvx",
            "args": [
                "frappe-mcp-server==1.2.0"
            ],
            "env": {
                "FRAPPE_URL": "<FRAPPE_URL>",
                "FRAPPE_API_KEY": "<your frappe_api_key>",
                "FRAPPE_API_SECRET": "<your frappe_api_secret>",
                "FRAPPE_VERIFY_SSL": "true",
                "FRAPPE_TIMEOUT": "30"
            }
        }
    }
}

متغيرات البيئة

  • FRAPPE_URL إلزامي Base URL of your Frappe/ERPNext site, e.g. https://your-site.erpnext.com
  • FRAPPE_API_KEY إلزامي سري Frappe API key for token-based authentication
  • FRAPPE_API_SECRET إلزامي سري 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.
OCI package docker.io/muthanii/frappe-mcp:1.2.0
Claude Code
claude mcp add frappe-mcp-server -e 'FRAPPE_URL=<FRAPPE_URL>' -e 'FRAPPE_API_KEY=<your frappe_api_key>' -e 'FRAPPE_API_SECRET=<your frappe_api_secret>' -e 'FRAPPE_VERIFY_SSL=true' -e 'FRAPPE_TIMEOUT=30' -- docker run -i --rm docker.io/muthanii/frappe-mcp:1.2.0
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "frappe-mcp-server": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "docker.io/muthanii/frappe-mcp:1.2.0"
            ],
            "env": {
                "FRAPPE_URL": "<FRAPPE_URL>",
                "FRAPPE_API_KEY": "<your frappe_api_key>",
                "FRAPPE_API_SECRET": "<your frappe_api_secret>",
                "FRAPPE_VERIFY_SSL": "true",
                "FRAPPE_TIMEOUT": "30"
            }
        }
    }
}

متغيرات البيئة

  • FRAPPE_URL إلزامي Base URL of your Frappe/ERPNext site, e.g. https://your-site.erpnext.com
  • FRAPPE_API_KEY إلزامي سري Frappe API key for token-based authentication
  • FRAPPE_API_SECRET إلزامي سري 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.
OCI package ghcr.io/muthanii/frappe-mcp:1.2.0
Claude Code
claude mcp add frappe-mcp-server -e 'FRAPPE_URL=<FRAPPE_URL>' -e 'FRAPPE_API_KEY=<your frappe_api_key>' -e 'FRAPPE_API_SECRET=<your frappe_api_secret>' -e 'FRAPPE_VERIFY_SSL=true' -e 'FRAPPE_TIMEOUT=30' -- docker run -i --rm ghcr.io/muthanii/frappe-mcp:1.2.0
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "frappe-mcp-server": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "ghcr.io/muthanii/frappe-mcp:1.2.0"
            ],
            "env": {
                "FRAPPE_URL": "<FRAPPE_URL>",
                "FRAPPE_API_KEY": "<your frappe_api_key>",
                "FRAPPE_API_SECRET": "<your frappe_api_secret>",
                "FRAPPE_VERIFY_SSL": "true",
                "FRAPPE_TIMEOUT": "30"
            }
        }
    }
}

متغيرات البيئة

  • FRAPPE_URL إلزامي Base URL of your Frappe/ERPNext site, e.g. https://your-site.erpnext.com
  • FRAPPE_API_KEY إلزامي سري Frappe API key for token-based authentication
  • FRAPPE_API_SECRET إلزامي سري 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.

التوثيق

مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.

المحتويات
  1. Frappe MCP Server
  2. Where to get it
  3. Features
  4. Quick start
  5. Available tools
  6. Configuration
  7. MCP client config
  8. Local development
  9. License

Frappe MCP Server

mcp-name: io.github.muthanii/frappe_mcp

A 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

DistributionReferencePage
PyPIfrappe-mcp-serverpypi.org/project/frappe-mcp-server
Docker Hubmuthanii/frappe-mcphub.docker.com/r/muthanii/frappe-mcp
GitHub Container Registryghcr.io/muthanii/frappe-mcpghcr package
MCP Registryio.github.muthanii/frappe_mcpregistry API
Glama—glama.ai/mcp/servers/muthanii/frappe_mcp
Source—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):

FRAPPE_URL=https://your-site.com \
FRAPPE_API_KEY=your-api-key \
FRAPPE_API_SECRET=your-api-secret \
  uvx frappe-mcp-server

With pip:

pip install frappe-mcp-server
frappe-mcp-server

With 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-mcp

With 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-mcp

Available tools

Every tool ships MCP tool annotations and a declared outputSchema, so a client can tell read tools from destructive ones before calling them.

ToolDescriptionAccessDestructiveIdempotent
frappe_pingCheck connectivity and credentialsread-onlynoyes
frappe_get_docRetrieve a single document by doctype + nameread-onlynoyes
frappe_search_docsSearch/list documents with filtersread-onlynoyes
frappe_create_docCreate a new documentwritenono
frappe_update_docUpdate an existing documentwriteyesyes
frappe_delete_docDelete a document — irreversiblewriteyesno
frappe_run_methodCall a whitelisted server-side methodwriteyesno

frappe_run_method is marked destructive because its effect is determined entirely by the method you name.

Configuration

Environment variableRequiredDescription
FRAPPE_URLYesBase URL of your Frappe site (e.g. https://erp.example.com)
FRAPPE_API_KEYYesFrappe API key
FRAPPE_API_SECRETYesFrappe API secret
FRAPPE_VERIFY_SSLNoSet to false to skip TLS verification (default: true)
FRAPPE_TIMEOUTNoRequest timeout in seconds (default: 30)

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-mcp

License

MIT — see LICENSE.


الأسئلة الشائعة

ما هو Frappe MCP Server؟

Interact with Frappe/ERPNext sites — document CRUD, search, and whitelisted method calls

كيف أثبّت Frappe MCP Server؟

يعمل على جهازك. في Claude Code: claude mcp add frappe-mcp-server -e 'FRAPPE_URL=<FRAPPE_URL>' -e 'FRAPPE_API_KEY=<your frappe_api_key>' -e 'FRAPPE_API_SECRET=<your frappe_api_secret>' -e 'FRAPPE_VERIFY_SSL=true' -e 'FRAPPE_TIMEOUT=30' -- uvx frappe-mcp-server==1.2.0. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.

هل يحتاج Frappe MCP Server إلى مفتاح API؟

نعم. يتطلب FRAPPE_URL, FRAPPE_API_KEY, FRAPPE_API_SECRET، وتضبطها في إعداداته.

هل Frappe MCP Server مفتوح المصدر؟

نعم. شيفرته متاحة على GitHub بترخيص MIT.

من يصون Frappe MCP Server؟

ينشره muthanii. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.

من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.