Enhanced Model Context Protocol server for Frappe Framework with comprehensive API operations
Project description
Frappe MCP Server (Python + uv + Docker)
A modern, containerized Python implementation of the Model Context Protocol (MCP) server for Frappe Framework, built with FastMCP, uv for dependency management, and Docker for deployment.
Features
- Document Operations: Full CRUD operations for Frappe documents
- Schema Introspection: DocType field definitions and structure analysis
- Report Generation: Query reports, financial statements, and data exports
- Method Calling: Execute whitelisted Frappe methods
- Authentication: Secure API key/secret authentication
Quick Start
Prerequisites
- Docker and Docker Compose
- Access to a Frappe site with API credentials
Setup
git clone https://github.com/appliedrelevance/frappe_mcp_server_uv.git
cd frappe_mcp_server_uv
cp .env.example .env
# Edit .env with your Frappe credentials
docker-compose up -d frappe-mcp-server
Available MCP Tools
Document Operations
create_document: Create new Frappe documentsget_document: Retrieve document by DocType and nameupdate_document: Update existing documentsdelete_document: Delete documentslist_documents: Query documents with filterscall_method: Execute whitelisted Frappe methods
Schema Operations
get_doctype_schema: Get complete DocType structureget_field_options: Get Link/Select field optionsget_doctype_list: List available DocTypesget_frappe_usage_info: Combined schema and usage information
Report Operations
run_query_report: Execute Frappe query reportsget_report_meta: Get report metadata and structurelist_reports: List available reportsrun_doctype_report: Generate DocType-based reportsget_financial_statements: Access P&L, Balance Sheet, Cash Flow
Helper Operations
ping: Server health checkversion: Get server version informationvalidate_auth: Check API credential status
Development
# Install with development dependencies
uv sync --dev
# Run tests
uv run pytest
# Format code
uv run black src/ && uv run isort src/
License
ISC License - see LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file iflow_mcp_appliedrelevance_frappe_mcp_server-0.2.0.tar.gz.
File metadata
- Download URL: iflow_mcp_appliedrelevance_frappe_mcp_server-0.2.0.tar.gz
- Upload date:
- Size: 1.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8472f38c73fd9656d11d0af4e5fa898790ddd87245a920e4f474756741b37e3b
|
|
| MD5 |
fbed5cf71346e309ec1490e7ac56bcef
|
|
| BLAKE2b-256 |
3a4f7842bf4084b45063bbad89b6c154d22cb0ac72c7c1b140f03e4e0283fc3f
|
File details
Details for the file iflow_mcp_appliedrelevance_frappe_mcp_server-0.2.0-py3-none-any.whl.
File metadata
- Download URL: iflow_mcp_appliedrelevance_frappe_mcp_server-0.2.0-py3-none-any.whl
- Upload date:
- Size: 24.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8899a3883628fdac9036d58d60ce1d00d9d25f1f84d8d783a23b2c9e3bc99407
|
|
| MD5 |
fc75ba3161775021b3b2a46b4d4040b5
|
|
| BLAKE2b-256 |
ec69417a691d3d1895707a423e8ca865c0bae55c6d5dbcb07a0d257b1025fed3
|