Frappe Dev MCP Server について
Frappe Dev MCP Serverは、Frappe/ERPNext開発者向けにDocType、アプリ、benchコマンド、API、データベース移行のAI支援ツールを提供します。MCPクライアント向けにSSEとstdioのトランスポートに対応しています。
主な機能
- 01DocType定義とコントローラーの生成
- 02benchコマンドの実行
- 03Frappeアプリの作成と管理
- 04カスタムAPIエンドポイントの生成
- 05データベース移行の実行
- 06アプリのディレクトリ構成の確認
活用シーン
- 01Frappeアプリ用DocTypeの作成
- 02サイトに対するbenchコマンドの実行
- 03カスタムAPIエンドポイントの追加
- 04アプリのインストールやサイトの移行
MCP 対応
DocType作成、bench実行、アプリ管理、エンドポイント生成、移行などのFrappeおよびERPNext開発ツールをMCPクライアントに公開します。SSEとstdioのトランスポートに対応しています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
29掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| fields | array | はい | フィールド定義の配列 |
| module | string | はい | DocType が属するモジュール |
| app_name | string | はい | Frappe アプリの名前 |
| is_child | boolean | いいえ | |
| doctype_name | string | はい | DocType の名前 |
| is_submittable | boolean | いいえ |
詳細
Frappe/ERPNext MCP サーバー
Frappe/ERPNext の開発を AI アシスタントで支援する Model Context Protocol(MCP)サーバーです。DocType の作成、bench コマンドの実行、アプリの管理など、Frappe の開発タスクに役立つツールを提供します。
機能
- DocType の作成:DocType の JSON 定義と Python コントローラーを自動生成します
- Bench コマンド:開発ワークフロー向けに bench コマンドを実行します
- アプリ管理:Frappe アプリの作成、インストール、管理を行います
- API エンドポイント:カスタム API エンドポイントを生成します
- データベース操作:マイグレーションとデータベース管理を実行します
- アプリ構造の分析:アプリのディレクトリ構造を詳しく確認できます
インストール
-
このリポジトリをクローンまたはダウンロードします
-
依存関係をインストールします:
npm install -
サーバーをビルドします:
npm run build
設定
FRAPPE_PATH 環境変数に、Frappe bench ディレクトリのパスを設定します:
export FRAPPE_PATH="/path/to/your/frappe/bench"
設定されていない場合、デフォルトで /Users/mac/ERPNext/mkahawa が使用されます。
使用方法
GitHub Copilot Chat を使用する場合(SSE トランスポート)
このサーバーは、GitHub Copilot Chat で使用する SSE トランスポートに対応しています:
-
SSE サーバーをビルドして実行します:
npm run build npm run sse -
サーバーは
http://localhost:3000/sseで GitHub Copilot Chat に自動的に検出されます
Claude Desktop を使用する場合(Stdio トランスポート)
以下の設定を Claude Desktop の設定ファイル(macOS の場合は ~/Library/Application Support/Claude/claude_desktop_config.json)に追加します:
{
"mcpServers": {
"frappe-dev": {
"command": "node",
"args": ["/Users/mac/ERPNext/mkahawa/frappe-mcp-server/dist/index.js"],
"env": {
"FRAPPE_PATH": "/Users/mac/ERPNext/mkahawa"
}
}
}
}
その他の MCP クライアントを使用する場合
サーバーを直接実行します:
node dist/index.js
利用可能なツール
frappe_create_doctype
JSON 定義と Python コントローラーを含む、新しい Frappe DocType を作成します。
パラメーター:
app_name:Frappe アプリの名前doctype_name:DocType の名前module:DocType が属するモジュールfields:フィールド定義の配列is_submittable:DocType を送信可能にするかどうか(デフォルト:false)is_child:子 DocType かどうか(デフォルト:false)
frappe_run_bench_command
Frappe の開発向けに bench コマンドを実行します。
パラメーター:
command:実行する bench コマンドsite:サイト名(任意)cwd:作業ディレクトリ(任意)
frappe_get_app_structure
Frappe アプリのディレクトリ構造を取得します。
パラメーター:
app_name:Frappe アプリの名前
frappe_create_api_endpoint
Frappe アプリ用のカスタム API エンドポイントを作成します。
パラメーター:
app_name:Frappe アプリの名前endpoint_name:API エンドポイントの名前method:HTTP メソッド(get、post、put、delete)(デフォルト:get)code:API エンドポイント用の Python コード
frappe_migrate_database
Frappe サイトのデータベースマイグレーションを実行します。
パラメーター:
site:マイグレーションするサイト名
frappe_install_app
サイトに Frappe アプリをインストールします。
パラメーター:
app_name:インストールするアプリの名前site:サイト名
frappe_create_app
新しい Frappe アプリを作成します。
パラメーター:
app_name:新しいアプリの名前title:アプリのタイトルpublisher:発行者名description:アプリの説明(任意)
使用例
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
}
]
}
Bench コマンドの実行
{
"command": "migrate",
"site": "my_site.local"
}
開発
サーバーを変更するには:
src/ディレクトリ内のファイルを編集しますnpm run buildを実行して TypeScript をコンパイルします- 開発モードで
npm run devを実行してテストします
要件
- Node.js 18+
- Frappe/ERPNext bench 環境
- Frappe bench コマンドへのアクセス
ライセンス
MIT ライセンス — 詳細は LICENSE ファイルを参照してください
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。