Frappe MCP Server
An MCP server that enables AI agents to interact with Frappe and ERPNext sites. It supports document CRUD operations (get, create, update, delete), full-text and filtered document search, and invocation of whitelisted server-side Python methods via the Frappe REST API. It handles authentication using API keys and secrets.
Package and access
Local package with source-attributed installation metadata. Koskamo does not execute packages during review.
What you can do with it
- Retrieve, create, update, or delete documents in Frappe doctypes
- Search and list documents using full-text or filtered queries
- Invoke whitelisted server-side Python methods on a Frappe site
Source and maintenance
- Maintenance checked
Packages and installation
Source-provided package data. Koskamo has not executed or live-probed this package.
ghcr.io/muthanii/frappe-mcp:1.2.0
{
"transport": "stdio",
"identifier": "ghcr.io/muthanii/frappe-mcp:1.2.0",
"registryType": "oci",
"environmentVariables": [
{
"name": "FRAPPE_URL",
"format": "string",
"isRequired": true,
"description": "Base URL of your Frappe/ERPNext site, e.g. https://your-site.erpnext.com"
},
{
"name": "FRAPPE_API_KEY",
"format": "string",
"isRequired": true,
"description": "Frappe API key for token-based authentication"
},
{
"name": "FRAPPE_API_SECRET",
"format": "string",
"isRequired": true,
"description": "Frappe API secret paired with the API key"
},
{
"name": "FRAPPE_VERIFY_SSL",
"format": "string",
"default": "true",
"description": "Set to 'false' to skip TLS certificate verification. Defaults to 'true'."
},
{
"name": "FRAPPE_TIMEOUT",
"format": "number",
"default": "30",
"description": "Per-request timeout in seconds. Defaults to 30."
}
]
}Tools
Reported by the attributed source; not independently observed by Koskamo.
Connect from your client
Each snippet configures the same source-provided package; replace placeholders before use.
Cursor
{
"mcpServers": {
"frappe-mcp-server-1-2-0": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"FRAPPE_URL=<YOUR_FRAPPE_URL>",
"-e",
"FRAPPE_API_KEY=<YOUR_FRAPPE_API_KEY>",
"-e",
"FRAPPE_API_SECRET=<YOUR_FRAPPE_API_SECRET>",
"-e",
"FRAPPE_VERIFY_SSL=<YOUR_FRAPPE_VERIFY_SSL>",
"-e",
"FRAPPE_TIMEOUT=<YOUR_FRAPPE_TIMEOUT>",
"ghcr.io/muthanii/frappe-mcp:1.2.0"
],
"env": {
"FRAPPE_URL": "<YOUR_FRAPPE_URL>",
"FRAPPE_API_KEY": "<YOUR_FRAPPE_API_KEY>",
"FRAPPE_API_SECRET": "<YOUR_FRAPPE_API_SECRET>",
"FRAPPE_VERIFY_SSL": "<YOUR_FRAPPE_VERIFY_SSL>",
"FRAPPE_TIMEOUT": "<YOUR_FRAPPE_TIMEOUT>"
}
}
}
}Cline
{
"mcpServers": {
"frappe-mcp-server-1-2-0": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"FRAPPE_URL=<YOUR_FRAPPE_URL>",
"-e",
"FRAPPE_API_KEY=<YOUR_FRAPPE_API_KEY>",
"-e",
"FRAPPE_API_SECRET=<YOUR_FRAPPE_API_SECRET>",
"-e",
"FRAPPE_VERIFY_SSL=<YOUR_FRAPPE_VERIFY_SSL>",
"-e",
"FRAPPE_TIMEOUT=<YOUR_FRAPPE_TIMEOUT>",
"ghcr.io/muthanii/frappe-mcp:1.2.0"
],
"env": {
"FRAPPE_URL": "<YOUR_FRAPPE_URL>",
"FRAPPE_API_KEY": "<YOUR_FRAPPE_API_KEY>",
"FRAPPE_API_SECRET": "<YOUR_FRAPPE_API_SECRET>",
"FRAPPE_VERIFY_SSL": "<YOUR_FRAPPE_VERIFY_SSL>",
"FRAPPE_TIMEOUT": "<YOUR_FRAPPE_TIMEOUT>"
}
}
}
}VS Code
{
"servers": {
"frappe-mcp-server-1-2-0": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"FRAPPE_URL=<YOUR_FRAPPE_URL>",
"-e",
"FRAPPE_API_KEY=<YOUR_FRAPPE_API_KEY>",
"-e",
"FRAPPE_API_SECRET=<YOUR_FRAPPE_API_SECRET>",
"-e",
"FRAPPE_VERIFY_SSL=<YOUR_FRAPPE_VERIFY_SSL>",
"-e",
"FRAPPE_TIMEOUT=<YOUR_FRAPPE_TIMEOUT>",
"ghcr.io/muthanii/frappe-mcp:1.2.0"
],
"env": {
"FRAPPE_URL": "<YOUR_FRAPPE_URL>",
"FRAPPE_API_KEY": "<YOUR_FRAPPE_API_KEY>",
"FRAPPE_API_SECRET": "<YOUR_FRAPPE_API_SECRET>",
"FRAPPE_VERIFY_SSL": "<YOUR_FRAPPE_VERIFY_SSL>",
"FRAPPE_TIMEOUT": "<YOUR_FRAPPE_TIMEOUT>"
}
}
}
}Claude Desktop
{
"mcpServers": {
"frappe-mcp-server-1-2-0": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"FRAPPE_URL=<YOUR_FRAPPE_URL>",
"-e",
"FRAPPE_API_KEY=<YOUR_FRAPPE_API_KEY>",
"-e",
"FRAPPE_API_SECRET=<YOUR_FRAPPE_API_SECRET>",
"-e",
"FRAPPE_VERIFY_SSL=<YOUR_FRAPPE_VERIFY_SSL>",
"-e",
"FRAPPE_TIMEOUT=<YOUR_FRAPPE_TIMEOUT>",
"ghcr.io/muthanii/frappe-mcp:1.2.0"
],
"env": {
"FRAPPE_URL": "<YOUR_FRAPPE_URL>",
"FRAPPE_API_KEY": "<YOUR_FRAPPE_API_KEY>",
"FRAPPE_API_SECRET": "<YOUR_FRAPPE_API_SECRET>",
"FRAPPE_VERIFY_SSL": "<YOUR_FRAPPE_VERIFY_SSL>",
"FRAPPE_TIMEOUT": "<YOUR_FRAPPE_TIMEOUT>"
}
}
}
}Let your agent find its tools
Find servers like Frappe MCP Server from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.