About
Demo ERPNEXT — Model Context Protocol server
README
Colaborador Axel Cuadros
Este proyecto es un ejemplo de servidor MCP para chatbot integrado con ERPNEXT(Para este proyecto ya se considera que tienes acceso a la ERP)
Configuraciones
Dirigete a la pagina principal haciendo uso de la ip obtenido de la VM con ifconfig

Dirigete a settings

Dezplazate hacia abajo, genera y copia la API key y API secret

Guarda las credenciales
Descarga o clona el repositorio
Instalación de python
Este documento explica cómo instalar Python entorno Windows usando winget.
Requisitos Previos
- Windows 10 o superior
- Tener habilitado el administrador de paquetes
winget
Paso 1: Instalar Python
Abre una terminal de Windows (PowerShell o CMD) como administrador y ejecuta:
winget install Python.Python.3
## Instalación de dependencias con uv en Windows
1. Abre PowerShell.
2. Instala pipx si no lo tienes:
```powershell
pip install pipx
Instala uv usando pipx:
pipx install uvO directamente con pip:
pip install uvVerifica la instalación:
uv --versionCrea un entorno virtual con uv:
uv venv .venvActiva el entorno virtual:
.venv\Scripts\Activate.ps1Instala las dependencias del proyecto:
uv pip install -r requirements.txtSi tienes problemas con la instalaciónde uv prueba como administrador:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Configura tus variables de entorno
Crea un archivo llamado .env en la raíz del proyecto con el siguiente contenido (reemplaza los valores según tu ERPNext):
URL_ERPNext=http://192.168.52.128/
API_KEY=tu_api_key
API_SECRET=tu_api_secret
Asegúrate de que estos datos coincidan con los que obtuviste en la configuración de tu ERPNext.
Este repositorio contiene:
- Código fuente del servidor
- Imágenes y diagramas
Para más información, revisa la documentación en la carpeta Docs/.
¿Cómo funciona la herramienta para asignar profesor a una orden de venta?
La función asignar_profesor_a_orden_venta permite asignar un profesor (que debe existir previamente como "Sales Person" en ERPNext) a una orden de venta específica.
¿Qué hace?
- Recibe el ID de la orden de venta (
sales_order_id) y el nombre del profesor (profesor). - Actualiza el campo
sales_teamde la orden de venta en ERPNext, asignando el profesor con el 100% de participación. - Devuelve el resultado de la operación e imprime un mensaje indicando si la actualización fue exitosa o si hubo un error.
Ejemplo de uso:
asignar_profesor_a_orden_venta("SO-0001", "Juan Perez")
Esto asignará a "Juan Perez" como responsable de la orden de venta con ID "SO-0001".
Nota: El profesor debe existir previamente como "Sales Person" en ERPNext para que la asignación funcione correctamente.
¿Qué es MCP y cómo funciona en este proyecto?
MCP (Model Context Protocol) es un protocolo y framework que permite exponer funciones de Python como herramientas accesibles para asistentes inteligentes, chatbots o integraciones externas. En este proyecto, se utiliza la clase FastMCP para registrar y exponer funciones que interactúan con ERPNext.
- Cada función decorada con
@mcp.tool()se convierte en una herramienta disponible para el asistente o para ser llamada desde otros sistemas. - MCP gestiona la comunicación, el registro y la ejecución de estas funciones de manera estructurada y segura.
- El servidor MCP puede ejecutarse en diferentes modos de transporte (por ejemplo,
stdio, HTTP, etc.), facilitando la integración con otros servicios o interfaces conversacionales.
Ejemplo básico:
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("Demo1")
@mcp.tool()
def mi_funcion(param):
# lógica aquí
return resultado
Esto permite que mi_funcion sea llamada desde un asistente o interfaz conectada al servidor MCP.
Para el uso en local con Github local debes usar el archivo mcp.json
Agrega la ruta del archivo main.py en tu equipo y luego selecciona restart o start

Luego da click en el simbolo de herramienta en el chat de Github copilot

Luego verás si tus herramientas estan disponibles

Running the standalone MCP development tools
To run the mcp command with uv:
uv run mcp
Quickstart
Let's create a simple MCP server that exposes a calculator tool and some data:
# server.py
from mcp.server.fastmcp import FastMCP
# Create an MCP server
mcp = FastMCP("Demo")
# Add an addition tool
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add two numbers"""
return a + b
# Add a dynamic greeting resource
@mcp.resource("greeting://{name}")
def get_greeting(name: str) -> str:
"""Get a personalized greeting"""
return f"Hello, {name}!"
You can install this server in Claude Desktop and interact with it right away by running:
mcp install server.py
Alternatively, you can test it with the MCP Inspector:
mcp dev server.py
Prueba
Luego de las configuraciones modifica tus funciones para mayor precisión, puedes probar el servidor desde el chat de Github copilot con este ejemplo:

Puedes validar la creación en Customer

BONUS - usando Claude desktop
You can install this server in Claude Desktop and interact with it right away by running:
mcp install server.py

Abre claude
Verifica que las herramientas estén presentes

Prueba creando un alumno
Te aparecerá una ventana emergente, autotiza el mcp

Luego revisa la salida y el ERP

ERPNEXT

Installing Demo ERPNEXT
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/Orm15/mcp-server-demo-ERPNEXTFAQ
Is Demo ERPNEXT MCP free?
Yes, Demo ERPNEXT MCP is free — one-click install via Unyly at no cost.
Does Demo ERPNEXT need an API key?
No, Demo ERPNEXT runs without API keys or environment variables.
Is Demo ERPNEXT hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Demo ERPNEXT in Claude Desktop, Claude Code or Cursor?
Open Demo ERPNEXT on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Demo ERPNEXT with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
