frappe-api-mcp
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-api-mcpList the 5 most recent Sales Orders"
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-api-mcp
Model Context Protocol (MCP) server that exposes a single frappe_api tool to call Frappe REST endpoints under /api.
What it provides
Tool name:
frappe_apiMethods:
GET,POST,PUT,PATCH,DELETEInput:
path(required),method,query,body,headersAuth: uses
FRAPPE_AUTH_TOKENas theAuthorizationheader unless overridden
Related MCP server: ERPNext MCP Server
Requirements
Node.js 18+
A reachable Frappe/ERPNext site
Local setup
git clone https://github.com/danielsebastianc/frappe-api-mcp.git
cd frappe-api-mcp
npm install
cp .env.example .envSet these environment variables before running:
FRAPPE_BASE_URL(example:http://localhost:8000)FRAPPE_AUTH_TOKEN(example:token api_key:api_secret)
Run
npm startTest
npm testOpenCode MCP config example
Do not put real secrets in committed config files. Prefer environment injection.
{
"mcp": {
"frappe_api": {
"type": "local",
"command": ["node", "/path/to/your/folder/mcp/frappe-api-server.mjs"],
"environment": {
"FRAPPE_BASE_URL": "http://localhost:8000",
"FRAPPE_AUTH_TOKEN": "token api_key:api_secret"
}
}
}
}Available Tools
1 toolfrappe_apiC
Call any Frappe REST API endpoint via /api using configured token authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| method | No | GET | |
| path | Yes | API path under /api, e.g. /resource/ToDo | |
| query | No | Query string values | |
| body | No | JSON request body | |
| headers | No | Additional request headers |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions token authentication but doesn't disclose rate limits, error handling, response formats, or side effects (e.g., that DELETE methods are destructive). For a tool that can perform any REST operation, this lack of behavioral context is inadequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's front-loaded and appropriately sized for its purpose, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, no output schema, no annotations), the description is insufficient. It doesn't explain return values, error cases, or the scope of 'any Frappe REST API endpoint'. For a flexible, potentially destructive tool, more context is needed to ensure safe and correct usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 80%, so the schema documents most parameters well. The description adds no parameter-specific information beyond implying the path is under '/api'. It doesn't explain parameter interactions or provide examples, so it meets the baseline but doesn't compensate for the 20% coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Call any Frappe REST API endpoint via /api using configured token authentication.' It specifies the verb ('Call'), resource ('Frappe REST API endpoint'), and authentication method. However, without sibling tools, it cannot distinguish from alternatives, so it doesn't reach a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, prerequisites, or specific contexts. It only states what the tool does, not when it's appropriate. This is a significant gap for a general-purpose API tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
1 tool update
v0.1.0- First observed
frappe_api
TDQS
With only one tool, there is no possibility of ambiguity or overlap between tools. The single tool has a clearly defined purpose of calling any Frappe REST API endpoint, leaving no room for confusion or misselection.
Since there is only one tool, naming consistency is inherently perfect. The tool name 'frappe_api' follows a clear and appropriate pattern that matches the server's purpose, with no other tools to compare against or create inconsistency.
A single tool is too few for a server with the broad scope implied by 'frappe-api-mcp', which suggests a comprehensive API interface. While the tool is flexible, the lack of specialized tools for common operations (e.g., CRUD on specific resources) makes the surface feel thin and underdeveloped for the domain.
The tool set is severely incomplete for the apparent domain of Frappe API interactions. With only a generic 'call any endpoint' tool, there are significant gaps in coverage—no dedicated tools for common operations like creating, reading, updating, or deleting specific resources, which will likely cause agent failures due to lack of structured guidance.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Turn any task into the right API calls: discover, evaluate, and integrate public APIs.
Drive real Android & iOS devices and web browsers from natural language for mobile + web QA. 290+ tools across device control, app management, automation sessions, browser automation, and flow recording / replay. Bearer-auth — get a token at robotactions.com → Profile → API Tokens.
Build, validate, deploy — HTTP APIs, cron jobs, webhooks and MCP tools — from your AI client.
Provides access to Civic Plus - See Click Fix, allowing you to interact with your data via an LLM.…
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables interaction with Frappe Framework sites through comprehensive document operations, schema introspection, report generation, and method execution. Provides secure API-based access to create, read, update, and delete Frappe documents while supporting financial reporting and DocType management.2415ISC
- AlicenseBqualityDmaintenanceEnables AI assistants to interact with ERPNext/Frappe instances through the REST API, allowing document management, report execution, and DocType operations using natural language.6MIT
- AlicenseBqualityCmaintenanceEnables interaction with ERPNext instances via its REST API to manage documents, inventory, and reports. It supports full CRUD operations, submittable document workflows, and schema inspection through natural language.281MIT
- AlicenseNot gradedqualityDmaintenanceAllows AI assistants to interact with Frappe applications through the official REST API, enabling document CRUD operations, schema handling, and detailed API instructions.1432ISC
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/danielsebastianc/frappe-api-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server