{"id":"vyogotech-frappe-mcp-server","name":"frappe-mcp-server","homepage":null,"repo_url":"https://github.com/vyogotech/frappe-mcp-server","category":"infrastructure","subcategories":[],"tags":["mcp","frappe","erpnext","ai","agents","go","integration","crud","tooling"],"what_it_does":"Provides an MCP server (and local HTTP endpoint) that lets AI assistants query and manipulate ERPNext/Frappe data using generic “doctype” tools, plus wrapper project analytics tools. It can connect to ERPNext via Frappe/ERPNext APIs and to an OpenAI-compatible LLM provider (including local Ollama).","use_cases":["Answer natural-language questions about ERPNext/Frappe documents (any doctype, standard or custom)","Assist with CRUD-style operations on Frappe documents via MCP tools","Search and analyze documents and related records","Provide project-oriented summaries/metrics such as status and portfolio dashboards"],"not_for":["Directly exposing ERPNext production data to untrusted clients without proper network/auth controls","Use as a general-purpose ERP integration API independent of Frappe/ERPNext models","Use where strict enterprise compliance requirements (SOC2, ISO, etc.) must be contractually documented"],"best_when":"You have an ERPNext/Frappe deployment and want to integrate AI agents via MCP with tools that map to Frappe doctypes, optionally using a local model (Ollama) for privacy.","avoid_when":"You need a fully standardized, audited auth model (e.g., OAuth scopes per action) for third-party access, or you cannot validate the server’s security posture (because docs reviewed here don’t show detailed security guarantees).","alternatives":["Direct use of Frappe REST/GraphQL APIs with your own agent tooling","Other MCP servers for ERP/CRM systems (if available)","Custom “agent tool” wrappers around Frappe/Frappe APIs using OpenAI function calling/tool schemas"],"af_score":55.0,"security_score":40.8,"reliability_score":18.8,"package_type":"mcp_server","discovery_source":["github"],"priority":"low","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-04-04T21:22:09.550120+00:00","interface":{"has_rest_api":true,"has_graphql":false,"has_grpc":false,"has_mcp_server":true,"mcp_server_url":null,"has_sdk":false,"sdk_languages":["Go"],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":["Configuration-based API key for LLM provider (base_url/api_key/model)","Frappe/ERPNext credentials via config.yaml (not specified in provided README)"],"oauth":false,"scopes":false,"notes":"Auth for ERPNext/Frappe appears to be handled via config.yaml, but the provided README does not specify whether it uses API keys, session cookies, OAuth, or fine-grained permissions. LLM provider auth is described as a simple api_key for OpenAI-compatible endpoints."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"Open-source project (MIT). Costs depend on your chosen LLM provider and your ERPNext hosting."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":55.0,"security_score":40.8,"reliability_score":18.8,"mcp_server_quality":85.0,"documentation_accuracy":75.0,"error_message_quality":0.0,"error_message_notes":null,"auth_complexity":55.0,"rate_limit_clarity":10.0,"tls_enforcement":40.0,"auth_strength":45.0,"scope_granularity":20.0,"dependency_hygiene":50.0,"secret_handling":50.0,"security_notes":"Security details are not evidenced in the provided README (e.g., TLS requirements for the local HTTP API, auth mechanism for ERPNext, request validation, audit logging, or how secrets are stored/handled). The project’s approach of allowing generic CRUD across doctypes elevates the need for strict least-privilege ERPNext credentials and network isolation. Treat the README’s “production ready” claim as non-verifiable marketing without additional evidence.","uptime_documented":0.0,"version_stability":40.0,"breaking_changes_history":0.0,"error_recovery":35.0,"idempotency_support":"false","idempotency_notes":null,"pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["CRUD tools for “ANY doctype” increase the risk of accidental writes/overwrites if the agent is not constrained; ensure the agent is granted least-privilege permissions in ERPNext.","If LLM outputs unstructured or ambiguous intents, the server may attempt broader queries (e.g., search/analyze) that can be slow or return large result sets; constrain queries via doctype and filters.","Because pagination/limits aren’t evidenced in the README, agents may request large datasets without safeguards—implement client-side limits if needed."]}}