Skip to main content
Glama
sadikhossainnub

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)

  1. Direct Frappe ORM Integration:无需任何外部 HTTP REST API 调用或 API Key/Secret。直接使用 frappe.get_docfrappe.get_listdoc.insert()doc.submit()doc.cancel() 等。

  2. Per-Request Permission Impersonation:每次工具调用时根据 requesting_user 参数执行 frappe.set_user(),并让真实的 Frappe 权限引擎生效。

  3. Whitelisted Execution Securitycall_method 工具只能运行带有 @frappe.whitelist() 装饰器的函数。未经授权的 Python 代码执行完全受到保护并被阻止。

  4. FastMCP Integration:基于 Python mcp>=1.9.0,<2.0.0 包中的 FastMCP 进行工具设置。同时支持 stdiosse 两种传输方式。

  5. 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

说明

--transport

stdio | sse

stdio

MCP 自定义传输选项。

--port

int

8931

SSE 传输的端口号(仅在 --transport sse 时适用)。

--default-user

string

None

未提供 requesting_user 时回退使用的 Frappe 用户邮箱。

[!WARNING] 生产环境中不应使用 --default-user Administrator。在生产环境中,必须传入一个专用的机器人用户邮箱。

命令示例:

1. 以 Standard Input/Output(stdio)模式运行:

bench --site erp.paperwarefactory.com paperware-mcp --transport stdio --default-user hermes.bot@paperwarefactory.com

2. 以 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:

  1. 在 ERPNext Desk 中进入 User List,创建 New User

  2. Emailhermes.bot@paperwarefactory.com

  3. First NameHermes Bot

  4. Role Profile:仅授予必要的角色(例如:Stock UserSales UserAccounts User),以确保 Hermes Agent 不会获得不必要的管理权限。

  5. 启动服务器时,请使用 --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

说明

get_document

读取指定 Document 的详细信息。

list_documents

获取带筛选和分页的 Document 列表。

create_document

创建新 Document(并可选择自动提交 Auto Submit)。

update_document

更新现有 Document。

delete_document

[Irreversible] 删除 Document。

get_count

根据筛选条件获取 Document 数量。

submit_document

提交 Draft(草稿)Document。

cancel_document

[Irreversible] 取消(Cancel)已提交的 Document。

set_value

修改 Document 中指定字段的值。

get_doctype_fields

获取 DocType 的架构(Schema)与字段列表。

search_link

对链接(Link)字段进行搜索。

run_report

运行 ERPNext 中的任意 standard/custom 报表。

call_method

仅执行 Whitelisted(白名单)Python Method。

get_document_pdf

将 Document 从打印格式转换为 PDF Base64。

upload_file

将本地文件上传到 ERPNext 文件管理器。


📄 许可证

MIT License — © 2026 Prime Technology of Bangladesh

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables LLMs to interact with any ERPNext instance through comprehensive CRUD operations, advanced permissions, and a web chat interface.
    1
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Integrates with ERPNext/Frappe API to enable AI assistants to create, read, update, and list documents, run reports, and authenticate via the Model Context Protocol.
    6
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables 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.
    64
    ISC

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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