A kubectl-style CLI for the entire Frappe ecosystem.
One tool for humans and AI agents.
Requires Bun โฅ 1.3 ยท also works with npm i -g frappe-ctl
From zero to your first ERPNext result in under 2 minutes.
Get your API key from Frappe โ User Settings โ API Access.
The grammar is always: frappe-ctl <app> <verb> <DocType> [name] [flags]
// How many open Sales Orders?
// Find a project by partial name
// What fields does Sales Order require?
// Check payload before creating (no wasted API calls)
// Follow a link field โ Sales Order โ its Project, one command
Two ways to plug frappe-ctl into any AI assistant.
frappe-ctl.skill.md ships in the package. Drop it into your AI and it immediately knows the CLI โ token patterns, verb reference, safety rules.
Start a JSON-RPC stdio server. Claude Desktop and Cursor get typed tools (frappe_get, frappe_count, frappe_validate, โฆ) โ no commands to write.
// Skill file โ load once, works everywhere
| Platform | How to load | Auto? |
|---|---|---|
| Claude Code | Add @frappe-ctl.skill.md to your project CLAUDE.md |
1 line |
| Cursor | Already in .cursor/rules/ โ opens automatically |
โ auto |
| OpenAI Codex CLI | AGENTS.md at project root โ loaded automatically |
โ auto |
| ChatGPT / Perplexity | Paste frappe-ctl.skill.md into custom instructions |
paste |
| Claude Desktop | Add as project knowledge, or use MCP server below | manual |
Find the skill file after install: cat $(npm root -g)/frappe-ctl/frappe-ctl.skill.md
ยท Full AI setup guide โ
// MCP โ Add to claude_desktop_config.json or .cursor/mcp.json
Read-only by default (5 tools). Add --allow-mutations for create/patch/delete.
ยท Full setup guide โ