buildswithpaul

Frappe Assistant Core

Community buildswithpaul
Updated

Infrastructure that connects LLMs to ERPNext. Frappe Assistant Core works with the Model Context Protocol (MCP) to expose ERPNext functionality to any compatible Language Model

Frappe Assistant Core

Talk to your ERPNext site. FAC lets Claude, ChatGPT, and otherMCP-ready LLMs work directly with your invoices, customers, stock,workflows, and custom apps — inside your ERPNext permissions, withevery call logged.

VersionPythonLicenseMCPTools

CIFrappe CloudStarsForksSponsors

What you get

Once FAC is installed, your team can ask an LLM for things they'dnormally do by hand:

"Show me overdue invoices from our top five customers."

"Update this lead's status to Qualified and set next action date toMonday."

"Run the monthly revenue report and summarise the top movers."

"How much stock of SKU-1234 do we have across all warehouses?"

Behind that simple interaction, FAC exposes 24 built-in tools forthe things your team does every day — document CRUD, search, reports,workflows, analytics, file extraction, and dashboards. Admins canpublish Skills (reusable instructions that teach the LLM how tohandle a specific job) and Prompt Templates (saved starting pointsusers can pick from the admin UI) so answers stay consistent and usethe right reports. The LLM authenticates over OAuth 2.0 as a realERPNext user, so it only sees data that user can already see in thedesk. Every call is recorded in the Assistant Audit Log.

It's a Frappe app, so developers can extend the toolset from their ownFrappe apps through a hook — your data model, your business logic,scoped per your app.

Your data stays in your site. You control which LLM connects.

Quick start

Two install paths depending on how you run Frappe.

On Frappe Cloud (recommended)

  1. Go to your site's Apps tab in the Frappe Cloud dashboard.
  2. Find Frappe Assistant Core in the marketplace and click Install.
  3. Frappe Cloud installs and migrates the app for you.

Marketplace: https://cloud.frappe.io/marketplace/apps/frappe_assistant_core

On self-hosted bench

cd frappe-bench
bench get-app https://github.com/buildswithpaul/Frappe_Assistant_Core
bench --site <your-site> install-app frappe_assistant_core

Connect your LLM

Once installed, the same four steps work for any MCP-compatible client.Example shown for Claude Desktop:

  1. Go to Desk → FAC Admin and copy the MCP Endpoint URL.
  2. In Claude Desktop → Settings → Connectors → Add Custom Connector,paste the URL and click Add.
  3. Click Connect, log in with your ERPNext account, and authorize.
  4. Ask Claude something — for example, "List all customers created thismonth."

For ChatGPT, Claude Web, and MCP Inspector walkthroughs, see theGetting Started guide.

Skills and Prompt Templates

FAC gives you two ways to shape what the LLM does with your data.

Skills are reusable instructions you give the LLM — stored asFAC Skill documents inside your site. Each skill has a skill_id,a description, and markdown content describing how to handle a specifictask using the available tools. The LLM lists skills on connect andpulls them on demand, so every time someone asks about, say, themonthly sales close, the answer is consistent and uses the rightreports.

Prompt Templates are saved starting points for the user's sideof the conversation — Jinja-templated prompts with typed arguments(dropdowns, dates, booleans). Authors publish them from the admin page;users pick one, fill in the arguments, and the rendered prompt is sentto the LLM. Use them for frequently-asked analyses like "SalesAnalysis", "Manufacturing Analysis", or your own industry-specificworkflows.

Both live in Frappe, so they're version-controlled with your site,shareable across users, and can be shipped by external Frappe appsthrough the assistant_skills hook.

Tools at a glance

FAC ships 24 tools across four plugins: Core (Frappe operations),Data Science (Python execution, analytics, file extraction),Visualization (dashboards and charts), and Custom Tools (theregistry for tools contributed by external apps).

Category Tools
Documents get_document, list_documents, create_document, update_document, delete_document, submit_document
Search search, search_documents, search_doctype, search_link, fetch
Reports report_list, report_requirements, generate_report
Approvals get_pending_approvals, run_workflow
Schema get_doctype_info
Analytics run_python_code, run_database_query, analyze_business_data
Files extract_file_content
Dashboards create_dashboard, create_dashboard_chart, list_user_dashboards

Full specification for each tool is in theTool Reference.

Extend with your own tools

If you have a Frappe app and want the LLM to reach into it, use theassistant_tools hook in your app's hooks.py. This is the recommendedpath — tools travel with the app, survive upgrades, and stay scoped toyour data model. The same pattern works for Skills via theassistant_skills hook.

If you need to modify core FAC behaviour instead, write an internalplugin.

See the External App Development guidefor the hook contract, and thePlugin Development guide forinternal plugins.

Authentication & security

FAC uses OAuth 2.0 with PKCE for LLM connections — the LLM never seesthe user's Frappe password. Every tool call is scoped to the callinguser's Frappe and ERPNext roles and permissions: if the user cannotread a DocType in the desk, they cannot read it through the LLM either.Every call is logged to Assistant Audit Log with caller, tool,arguments, and result status, so admins always have a full record ofwhat the LLM did.

For setup and advanced configuration:

  • OAuth Setup Guide
  • Code Execution Security
  • MCP StreamableHTTP Guide

Documentation

  • Getting Started — full setup walkthrough, including Claude Desktop and ChatGPT
  • OAuth Quick Start — OAuth setup in 2 minutes
  • Tool Reference — every tool, arguments, return format
  • API Reference — MCP endpoints and OAuth APIs
  • Internals — system design and plugin internals
  • External App Development — add tools from your own Frappe app
  • Full documentation index — everything else

Sponsor and professional services

Frappe Assistant Core is built and maintained in the open. If it savesyour team time, please consider sponsoring ongoing maintenance and newfeatures on GitHub Sponsors— recurring or one-time contributions.

Professional implementation, customization, training, and enterprisesupport are delivered by our official services partnerPromantia. Reach them at[email protected], or registeryour project athttps://erp.promantia.in/fac-registration/new. Full details inCOMMERCIAL.md.

The software itself remains completely free and open source underAGPL-3.0. Professional services are optional.

License

AGPL-3.0 — see LICENSE.

For dual-licensing, new partnerships, or sponsorship inquiries, contact[email protected].

Contributing

Contributions welcome. See Contributing.md for thepull-request workflow and coding standards.

MCP Server · Populars

MCP Server · New

    ant4g0nist

    LLDB MCP Integration

    LLDB MCP Integration + other helpful commands

    Community ant4g0nist
    protomated

    LegalContext

    LegalContext is an open-source Model Context Protocol (MCP) server that creates a secure, standardized bridge between law firms' document management systems (specifically Clio) and AI assistants (starting with Claude Desktop)

    Community protomated
    blitzdotdev

    iPhone-mcp

    The MCP Server the lets AI use an iPhone

    Community blitzdotdev
    hhszzzz

    太卜

    🔮 高精度AI算命工具,涵盖八字、紫微斗数、六爻、梅花易数、奇门遁甲、大六壬、小六壬、占星术、太乙神数、塔罗、MBTI、面相手相、合盘配对、每日/每月运势、周公解梦等。支持MCP服务和Skills

    Community hhszzzz
    buildswithpaul

    Frappe Assistant Core

    Infrastructure that connects LLMs to ERPNext. Frappe Assistant Core works with the Model Context Protocol (MCP) to expose ERPNext functionality to any compatible Language Model

    Community buildswithpaul