frappe-dev-mcp-server
MCP server for Frappe/ERPNext development with AI assistance for DocTypes, bench commands, and APIs
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"frappe-dev-mcp-server": {
"args": [
"frappe-dev-mcp-server@1.0.1"
],
"command": "npx"
}
}
}
可用工具 (5 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
tavily_search 14 个参数 需填 1 项
Search the web for current information on any topic. Use for news, facts, or data beyond your knowledge cutoff. Returns snippets and source URLs.
必填参数:query
tavily_extract 6 个参数 需填 1 项
Extract content from URLs. Returns raw page content in markdown or text format.
必填参数:urls
tavily_crawl 11 个参数 需填 1 项
Crawl a website starting from a URL. Extracts content from pages with configurable depth and breadth.
必填参数:url
tavily_map 8 个参数 需填 1 项
Map a website's structure. Returns a list of URLs found starting from the base URL.
必填参数:url
tavily_research 2 个参数 需填 1 项
Perform comprehensive research on a given topic or question. Use this tool when you need to gather information from multiple sources to answer a question or complete a task. Returns a detailed response based on the research findings.
必填参数:input
服务介绍
Frappe/ERPNext MCP Server
A Model Context Protocol (MCP) server that provides AI assistance for Frappe/ERPNext development. This server offers tools to help with creating DocTypes, running bench commands, managing apps, and other Frappe development tasks.
# Features
- DocType Creation: Automatically generate DocType JSON definitions and Python controllers
- Bench Commands: Execute bench commands for development workflows
- App Management: Create, install, and manage Frappe apps
- API Endpoints: Generate custom API endpoints
- Database Operations: Run migrations and database management
- App Structure Analysis: Get detailed app directory structures
# Installation
-
Clone or download this repository
-
Install dependencies:
npm install -
Build the server:
npm run build
# Configuration
Set the FRAPPE_PATH environment variable to point to your Frappe bench directory:
export FRAPPE_PATH="/path/to/your/frappe/bench"
If not set, it defaults to /Users/mac/ERPNext/mkahawa.
# Usage
# # With GitHub Copilot Chat (SSE Transport)
The server now supports SSE transport for use with GitHub Copilot Chat:
-
Build and run the SSE server:
npm run build npm run sse -
The server will be automatically discovered by GitHub Copilot Chat at
http://localhost:3000/sse
# # With Claude Desktop (Stdio Transport)
Add the following configuration to your Claude Desktop config file (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"frappe-dev": {
"command": "node",
"args": ["/Users/mac/ERPNext/mkahawa/frappe-mcp-server/dist/index.js"],
"env": {
"FRAPPE_PATH": "/Users/mac/ERPNext/mkahawa"
}
}
}
}
# # With other MCP clients
Run the server directly:
node dist/index.js
# Available Tools
# # frappe_create_doctype
Creates a new Frappe DocType with JSON definition and Python controller.
Parameters:
app_name: Name of the Frappe appdoctype_name: Name of the DocTypemodule: Module where DocType belongsfields: Array of field definitionsis_submittable: Whether the DocType is submittable (default: false)is_child: Whether this is a child DocType (default: false)
# # frappe_run_bench_command
Executes bench commands for Frappe development.
Parameters:
command: Bench command to executesite: Site name (optional)cwd: Working directory (optional)
# # frappe_get_app_structure
Gets the directory structure of a Frappe app.
Parameters:
app_name: Name of the Frappe app
# # frappe_create_api_endpoint
Creates a custom API endpoint for a Frappe app.
Parameters:
app_name: Name of the Frappe appendpoint_name: Name of the API endpointmethod: HTTP method (get, post, put, delete) (default: get)code: Python code for the API endpoint
# # frappe_migrate_database
Runs database migration for a Frappe site.
Parameters:
site: Site name to migrate
# # frappe_install_app
Installs a Frappe app on a site.
Parameters:
app_name: Name of the app to installsite: Site name
# # frappe_create_app
Creates a new Frappe app.
Parameters:
app_name: Name of the new apptitle: Title of the apppublisher: Publisher namedescription: App description (optional)
# Example Usage
# # Creating a DocType
{
"app_name": "my_app",
"doctype_name": "Customer Order",
"module": "Orders",
"fields": [
{
"fieldname": "customer",
"label": "Customer",
"fieldtype": "Link",
"options": "Customer",
"reqd": true
},
{
"fieldname": "order_date",
"label": "Order Date",
"fieldtype": "Date",
"reqd": true
},
{
"fieldname": "total_amount",
"label": "Total Amount",
"fieldtype": "Currency",
"reqd": true
}
]
}
# # Running Bench Commands
{
"command": "migrate",
"site": "my_site.local"
}
# Development
To modify the server:
- Edit files in the
src/directory - Run
npm run buildto compile TypeScript - Test with
npm run devfor development mode
# Requirements
- Node.js 18+
- Frappe/ERPNext bench environment
- Access to Frappe bench commands
# License
MIT License - see LICENSE file for details