paperware_mcp
Paperware MCP Server (paperware_mcp)
Нативный Model Context Protocol (MCP) Server для ERPNext/Frappe bench компании Paperware Factory (erp.paperwarefactory.com).
Это приложение позволяет Prime AI Agent (фреймворк NousResearch Hermes Agent, персона "Prime", размещённый в Docker/Coolify) напрямую взаимодействовать с ERPNext через Frappe ORM.
🌟 Ключевые возможности (Key Features)
Прямая интеграция с Frappe ORM: не требуются внешние HTTP REST API вызовы или API Key/Secret. Напрямую используются
frappe.get_doc,frappe.get_list,doc.insert(),doc.submit(),doc.cancel()и т.д.Имперсонация прав на каждый запрос: при каждом вызове инструмента выполняется
frappe.set_user()в соответствии с параметромrequesting_user, и действует настоящий механизм разрешений Frappe.Безопасность выполнения через белый список: инструмент
call_methodможет выполнять только функции с декоратором@frappe.whitelist(). Несанкционированное выполнение Python-кода полностью защищено и заблокировано.Интеграция FastMCP: настройка инструментов на основе
FastMCPиз пакета Pythonmcp>=1.9.0,<2.0.0. Доступны оба транспорта:stdioиsse.Нативная команда Bench: интегрирована с CLI Frappe — сервис можно запустить командой
bench --site erp.paperwarefactory.com paperware-mcp.
Related MCP server: MCP Task
🛠️ Руководство по установке (Step-by-Step Installation)
Шаг 1: Размещение исходного кода приложения
Перейдите в каталог вашего Frappe Bench (/home/prime/frappe-bench/) и убедитесь, что приложение присутствует в папке apps/paperware_mcp.
cd /home/prime/frappe-benchШаг 2: Установка Python-зависимостей
Установите необходимые пакеты (mcp>=1.9.0,<2.0.0) в виртуальное окружение Bench:
./env/bin/pip install -r apps/paperware_mcp/requirements.txtШаг 3: Установка приложения на сайт ERPNext
Установите приложение paperware_mcp на нужный сайт:
bench --site erp.paperwarefactory.com install-app paperware_mcp🚀 Запуск сервиса и использование команд (Usage & Command Options)
Для запуска CLI-команды paperware-mcp доступны следующие опции:
Option | Type | Default | Описание |
|
|
| Опция пользовательского транспорта MCP. |
|
|
| Номер порта для SSE-транспорта (применимо только при |
|
|
| Email пользователя Frappe, используемый по умолчанию, если не указан |
[!WARNING] Не следует использовать
--default-user Administratorв продакшене. В продакшене обязательно передавайте email конкретного бот-пользователя.
Примеры команд:
1. Запуск в режиме Standard Input/Output (stdio):
bench --site erp.paperwarefactory.com paperware-mcp --transport stdio --default-user hermes.bot@paperwarefactory.com2. Запуск в режиме Server-Sent Events (SSE) на указанном порту:
bench --site erp.paperwarefactory.com paperware-mcp --transport sse --port 8931 --default-user hermes.bot@paperwarefactory.com🛡️ Создание выделенного пользователя Hermes Bot (Security Best Practices)
Для работы в продакшене рекомендуется создать в ERPNext специального бот-пользователя:
В ERPNext Desk перейдите в User List и создайте New User.
Email:
hermes.bot@paperwarefactory.comFirst Name:
Hermes BotRole Profile: предоставьте только необходимые роли (например: Stock User, Sales User, Accounts User), чтобы Hermes Agent не получал излишних административных полномочий.
При запуске сервера используйте флаг
--default-user hermes.bot@paperwarefactory.com.
🏭 Продакшен-развёртывание (Production Deployment)
Для автоматического запуска и поддержания сервиса в фоновом режиме используйте Supervisor или Systemd.
Способ 1: Конфигурация Supervisor (Supervisor Configuration)
Создайте файл /etc/supervisor/conf.d/paperware_mcp.conf и впишите следующий код:
[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"Перезагрузите конфигурацию и запустите:
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl status paperware-mcpСпособ 2: Конфигурация Systemd (Systemd Unit Configuration)
Создайте файл /etc/systemd/system/paperware-mcp.service и укажите следующую конфигурацию:
[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.targetВключите и запустите сервис:
sudo systemctl daemon-reload
sudo systemctl enable paperware-mcp
sudo systemctl start paperware-mcp
sudo systemctl status paperware-mcp🤖 Конфигурация MCP-клиента Hermes Agent (Конфигурация агента Hermes)
Правила добавления paperware_mcp в файл mcp_config.json агента Hermes (или любого MCP-клиента):
1. Для SSE-транспорта (рекомендуется для Docker/удалённого подключения):
{
"mcpServers": {
"paperware_mcp": {
"url": "http://erp.paperwarefactory.com:8931/sse"
}
}
}2. Для Stdio-транспорта (для выполнения в том же контейнере/локально):
{
"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"
]
}
}
}📦 Всего инструментов (Exposed MCP Tools - 15 Tools)
Tool Name | Описание |
| Чтение подробной информации о конкретном Document. |
| Получение списка Document с фильтрацией и пагинацией. |
| Создание нового Document (с опциональным Auto Submit). |
| Обновление существующего Document. |
| [Необратимо] Удаление Document. |
| Получение количества Document по фильтру. |
| Отправка (submit) Document в статусе Draft. |
| [Необратимо] Отмена (cancel) Document в статусе Submitted. |
| Изменение значения конкретного поля Document. |
| Получение схемы DocType и списка полей. |
| Поиск для полей-ссылок (link fields). |
| Запуск любого standard/custom отчёта ERPNext. |
| Выполнение только Whitelisted Python-методов. |
| Преобразование Document из формата предпечати в PDF Base64. |
| Загрузка локального файла в файловый менеджер ERPNext. |
📄 Лицензия
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