Frappe MCP
Provides tools to list Sales Invoices and query General Ledger entries from an ERPNext instance.
Provides read-only access to a Frappe instance, enabling querying of custom doctypes such as Franchisees, Franchise Agreements, FBUs, Assets, and Certificates of Insurance, as well as generic Frappe document operations.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Frappe MCPlist franchise agreements expiring in 45 days"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Frappe MCP
Read-only Model Context Protocol server for the TourScale ERPNext / FranOS instance at erp.tourscale.com. Lets agents query Franchisees, Franchise Agreements, FBUs, Assets, COIs, and ERPNext invoices/GL entries.
What it exposes
Tool | Purpose |
| Connectivity probe — returns the API user identity |
| Franchisees with optional filters |
| Full Franchisee doc by name (e.g. |
| Franchise Agreements; expiring window key for Compliance Watchdog |
| One FA with child tables (brands/royalty/territory) |
| FBUs |
| One FBU with operating addresses |
| Vehicles/vessels |
| Certificate of Insurance, with renewal-window filter |
| Generic escape hatch for any doctype |
| Generic get-by-name |
| Count records |
| Sales Invoices |
| GL ledger entries |
How auth works
Talks to ERPNext REST API as the claude-mcp@tourscale.com user via API key + secret (Frappe-native auth scheme: Authorization: token <key>:<secret>).
The user has the System Manager role on ERPNext. The MCP layer is the trust boundary — the tools above are read-only by design. Don't add write tools casually; agents that need to mutate should call narrow, purpose-specific tools, not generic CRUD.
To rotate keys: re-run the generate_keys flow in bench --site erp.tourscale.local console, update FRAPPE_API_KEY + FRAPPE_API_SECRET in master env, restart ts-frappe-mcp.
Deployment
Container:
ts-frappe-mcpontourscale-netPort: bound to
127.0.0.1:8096(loopback only — reach via local agent client or SSH tunnel)Compose entry lives in
/opt/tourscale/docker-compose.services.ymlEnv file:
/opt/tourscale/frappe-mcp/.env(sourced from master env)
Local dev
FRAPPE_API_URL=https://erp.tourscale.com \
FRAPPE_API_KEY=... \
FRAPPE_API_SECRET=... \
python3 server.pyThen call tools via any MCP client (Claude Code, FastMCP debug tools, etc.).
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/tourscale-repos/frappe-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server