paperware_mcp
Paperware MCP Server (paperware_mcp)
Un Servidor de Protocolo de Contexto de Modelo (MCP) nativo para el bench de ERPNext/Frappe de Paperware Factory (erp.paperwarefactory.com).
Esta aplicación permite que Prime AI Agent (framework NousResearch Hermes Agent, persona "Prime", alojado en Docker/Coolify) se comunique con ERPNext directamente usando el ORM de Frappe.
🌟 Características clave
Integración directa con el ORM de Frappe: No se necesitan llamadas HTTP REST API externas ni API Key/Secret. Se usan directamente
frappe.get_doc,frappe.get_list,doc.insert(),doc.submit(),doc.cancel(), etc.Suplantación de permisos por solicitud: En cada llamada de herramienta, se ejecuta
frappe.set_user()según el parámetrorequesting_usery el motor de permisos real de Frappe se activa.Seguridad de ejecución en lista blanca: La herramienta
call_methodsolo puede ejecutar funciones con el decorador@frappe.whitelist(). La ejecución de código Python no autorizada está completamente protegida y bloqueada.Integración FastMCP: Configuración de herramientas basada en
FastMCPdel paquete Pythonmcp>=1.9.0,<2.0.0. Existen facilidades de transporte tantostdiocomosse.Comando nativo de Bench: Integrado con la CLI de Frappe — el servicio se puede iniciar mediante el comando
bench --site erp.paperwarefactory.com paperware-mcp.
Related MCP server: MCP Task
🛠️ Guía de instalación (paso a paso)
Paso 1: Colocar el código fuente de la aplicación
Vaya a su directorio de Frappe Bench (/home/prime/frappe-bench/) y asegúrese de que la aplicación esté presente en la carpeta apps/paperware_mcp.
cd /home/prime/frappe-benchPaso 2: Instalar dependencias de Python
Instale los paquetes necesarios (mcp>=1.9.0,<2.0.0) en el entorno virtual de Bench:
./env/bin/pip install -r apps/paperware_mcp/requirements.txtPaso 3: Instalar la aplicación en el sitio ERPNext
Instale la aplicación paperware_mcp en su sitio deseado:
bench --site erp.paperwarefactory.com install-app paperware_mcp🚀 Ejecución del servicio y uso de comandos
Se pueden usar las siguientes opciones para ejecutar el comando CLI paperware-mcp:
Option | Type | Default | Descripción |
|
|
| Opción de transporte personalizado de MCP. |
|
|
| Número de puerto para el transporte SSE (solo aplicable con |
|
|
| Correo electrónico del usuario de Frappe de respaldo si no se proporciona |
[!WARNING]
--default-user Administratorno debe usarse en producción. En producción, pase el correo electrónico de un usuario bot específico.
Ejemplos de comandos:
1. Ejecutar en modo Standard Input/Output (stdio):
bench --site erp.paperwarefactory.com paperware-mcp --transport stdio --default-user hermes.bot@paperwarefactory.com2. Ejecutar en modo Server-Sent Events (SSE) en un puerto específico:
bench --site erp.paperwarefactory.com paperware-mcp --transport sse --port 8931 --default-user hermes.bot@paperwarefactory.com🛡️ Creación de un usuario bot dedicado de Hermes (mejores prácticas de seguridad)
Se recomienda crear un usuario bot específico en ERPNext para trabajar en el entorno de producción:
En el escritorio de ERPNext, vaya a User List y cree un New User.
Email:
hermes.bot@paperwarefactory.comFirst Name:
Hermes BotRole Profile: Proporcione solo los roles necesarios (por ejemplo: Stock User, Sales User, Accounts User) para que Hermes Agent no obtenga poder administrativo innecesario.
Use la bandera
--default-user hermes.bot@paperwarefactory.comal iniciar el servidor.
🏭 Despliegue en producción
Use Supervisor o un servicio Systemd para iniciar y mantener el servicio automáticamente en segundo plano.
Método 1: Configuración de Supervisor
Cree el archivo /etc/supervisor/conf.d/paperware_mcp.conf y escriba el siguiente código:
[program:paperware-mcp]
command=/home/prime/frappe-bench/env/bin/bench --site erp.paperwarefactory.com paperware-mcp --transport sse --port 8931 --default-user hermes.bot@paperwarefactory.com
directory=/home/prime/frappe-bench
user=prime
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
stdout_logfile=/home/prime/frappe-bench/logs/paperware_mcp.out.log
stderr_logfile=/home/prime/frappe-bench/logs/paperware_mcp.err.log
environment=PATH="/home/prime/frappe-bench/env/bin:%(ENV_PATH)s"Recargue e inicie la configuración:
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl status paperware-mcpMétodo 2: Configuración de unidad Systemd
Cree el archivo /etc/systemd/system/paperware-mcp.service y proporcione la siguiente configuración:
[Unit]
Description=Paperware MCP Server for Hermes AI Agent
After=network.target redis-server.service mariadb.service
[Service]
Type=simple
User=prime
WorkingDirectory=/home/prime/frappe-bench
ExecStart=/home/prime/frappe-bench/env/bin/bench --site erp.paperwarefactory.com paperware-mcp --transport sse --port 8931 --default-user hermes.bot@paperwarefactory.com
Restart=always
RestartSec=5
StandardOutput=append:/home/prime/frappe-bench/logs/paperware_mcp.out.log
StandardError=append:/home/prime/frappe-bench/logs/paperware_mcp.err.log
[Install]
WantedBy=multi-user.targetHabilite e inicie el servicio:
sudo systemctl daemon-reload
sudo systemctl enable paperware-mcp
sudo systemctl start paperware-mcp
sudo systemctl status paperware-mcp🤖 Configuración del cliente MCP de Hermes Agent
Reglas para agregar paperware_mcp al archivo mcp_config.json de Hermes Agent (o cualquier cliente MCP):
1. Para transporte SSE (recomendado para conexiones Docker/remotas):
{
"mcpServers": {
"paperware_mcp": {
"url": "http://erp.paperwarefactory.com:8931/sse"
}
}
}2. Para transporte Stdio (para ejecución local/en el mismo contenedor):
{
"mcpServers": {
"paperware_mcp": {
"command": "/home/prime/frappe-bench/env/bin/bench",
"args": [
"--site",
"erp.paperwarefactory.com",
"paperware-mcp",
"--transport",
"stdio",
"--default-user",
"hermes.bot@paperwarefactory.com"
]
}
}
}📦 Herramientas totales (Herramientas MCP expuestas - 15 herramientas)
Tool Name | Descripción |
| Leer información detallada de un Document específico. |
| Obtener una lista de Documents con filtros y paginación. |
| Crear un nuevo Document (y Auto Submit opcional). |
| Actualizar un Document existente. |
| [Irreversible] Eliminar un Document. |
| Obtener el número de Documents según el filtro. |
| Enviar un Document en borrador. |
| [Irreversible] Cancelar un Document enviado. |
| Cambiar el valor de un campo específico de un Document. |
| Conocer el esquema y la lista de campos de un DocType. |
| Buscar para campos de enlace. |
| Ejecutar cualquier informe estándar/personalizado de ERPNext. |
| Ejecutar solo métodos de Python en lista blanca. |
| Convertir el formato de preimpresión de un Document a PDF Base64. |
| Subir un archivo local al administrador de archivos de ERPNext. |
📄 Licencia
MIT License — © 2026 Prime Technology of Bangladesh
This server cannot be installed
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 Servers
- 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
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to interact with any ERPNext instance through comprehensive CRUD operations, advanced permissions, and a web chat interface.1MIT
- AlicenseBqualityDmaintenanceIntegrates with ERPNext/Frappe API to enable AI assistants to create, read, update, and list documents, run reports, and authenticate via the Model Context Protocol.6MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI models to securely interact with Frappe Framework/ERPNext instances, supporting document CRUD, RPC methods, file management, workflows, reporting, and more via the Model Context Protocol.64ISC
Related MCP Connectors
Odoo ERP for AI agents: hosted OAuth endpoint, gated writes, one endpoint for every instance.
Give AI agents access to form submissions — read, search, update, and process file attachments.
Your company's brain for AI agents. Cited, permission-aware knowledge across every system.
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/sadikhossainnub/paperware_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server