paperware_mcp
Paperware MCP Server (paperware_mcp)
为 Paperware Factory(erp.paperwarefactory.com)的 ERPNext/Frappe bench 提供的原生 Model Context Protocol(MCP)Server。
此应用使 Prime AI Agent(NousResearch Hermes Agent framework,"Prime" persona,托管于 Docker/Coolify)能够直接使用 Frappe ORM 与 ERPNext 通信。
🌟 核心特性(Key Features)
Direct Frappe ORM Integration:无需任何外部 HTTP REST API 调用或 API Key/Secret。直接使用
frappe.get_doc、frappe.get_list、doc.insert()、doc.submit()、doc.cancel()等。Per-Request Permission Impersonation:每次工具调用时根据
requesting_user参数执行frappe.set_user(),并让真实的 Frappe 权限引擎生效。Whitelisted Execution Security:
call_method工具只能运行带有@frappe.whitelist()装饰器的函数。未经授权的 Python 代码执行完全受到保护并被阻止。FastMCP Integration:基于 Python
mcp>=1.9.0,<2.0.0包中的FastMCP进行工具设置。同时支持stdio和sse两种传输方式。Native Bench Command:与 Frappe CLI 集成 — 可通过
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 依赖
在 Bench 虚拟环境中安装必需的 packages(mcp>=1.9.0,<2.0.0):
./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)
运行 paperware-mcp CLI 命令时,可以使用以下选项:
Option | Type | Default | 说明 |
|
|
| MCP 自定义传输选项。 |
|
|
| SSE 传输的端口号(仅在 |
|
|
| 未提供 |
[!WARNING] 生产环境中不应使用
--default-user Administrator。在生产环境中,必须传入一个专用的机器人用户邮箱。
命令示例:
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 内创建一个专用的 Bot User:
在 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 Configuration(Supervisor 配置)
创建 /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 Unit Configuration(Systemd 服务)
创建 /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🤖 Hermes Agent MCP Client Config(Hermes Agent 配置)
向 Hermes Agent(或任何 MCP Client)的 mcp_config.json 文件中添加 paperware_mcp 的规则:
1. 适用于 SSE Transport(推荐用于 Docker/远程连接):
{
"mcpServers": {
"paperware_mcp": {
"url": "http://erp.paperwarefactory.com:8931/sse"
}
}
}2. 适用于 Stdio Transport(同一容器/本地执行的情况):
{
"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。 |
| [Irreversible] 删除 Document。 |
| 根据筛选条件获取 Document 数量。 |
| 提交 Draft(草稿)Document。 |
| [Irreversible] 取消(Cancel)已提交的 Document。 |
| 修改 Document 中指定字段的值。 |
| 获取 DocType 的架构(Schema)与字段列表。 |
| 对链接(Link)字段进行搜索。 |
| 运行 ERPNext 中的任意 standard/custom 报表。 |
| 仅执行 Whitelisted(白名单)Python Method。 |
| 将 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