剪纸mcp
TypeScript MCP(模型上下文协议)服务器公开由PaperCut NG/MF XML Web Services(XML‑RPC)API支持的工具。
现状:积极发展。欢迎问题和拉取请求!
需求
- Node.js 18+
- 启用Web服务的PaperCut NG/MF
- 集 auth.webservices.auth-token 在管理界面中 - 如果不是本地主机,请在“允许的XML Web服务调用者”下添加您的调用者IP
安装
# On PowerShell (Windows)
Set-Location "c:\Users\jeperez\repos\papercut-mcp"
Copy-Item .env.example .env
# Edit .env to set PAPERCUT_XMLRPC_URL and PAPERCUT_AUTH_TOKEN
npm install
npm run build本地运行
npm run start服务器通过stdio进行通信(无侦听端口)。它通常由MCP客户端(例如Cursor)启动。
光标配置(示例)
在游标用户设置(JSON)中,添加以下内容:
{
"mcpServers": {
"papercut": {
"command": "node",
"args": [
"c:\\Users\\jeperez\\repos\\papercut-mcp\\dist\\index.js"
],
"env": {
"PAPERCUT_XMLRPC_URL": "http://localhost:9191/rpc/api/xmlrpc",
"PAPERCUT_AUTH_TOKEN": "REPLACE_WITH_YOUR_TOKEN",
"PAPERCUT_TIMEOUT_MS": "10000"
}
}
}
}可用工具
papercut_get_total_users:通过返回用户总数api.getTotalUsers.退货{ totalUsers }.papercut_get_user_property:通话api.getUserProperty(username, property).退货{ value }.papercut_get_user_properties:通话api.getUserProperties(username, properties[]).退货{ values: { property: value } }.papercut_list_user_properties:返回记录的用户属性的本地列表(无服务器调用)。papercut_list_printers:列出具有分页功能的打印机api.listPrinters(offset, limit).退货{ printers: string[] }每个条目在哪里ServerName\PrinterName.papercut_get_user_stats_total:使用以下公式返回用户(页面、作业)的生存期总计api.getUserProperties.papercut_get_user_account_balance:通过以下方式返回用户帐户余额(默认为主要)api.getUserAccountBalance.papercut_list_user_accounts:通过以下方式在页面中列出用户帐户api.listUserAccounts(offset, limit).papercut_get_user_groups:通过以下方式返回用户的组api.getUserGroups(username).papercut_get_printer_property:通过以下方式获取打印机属性api.getPrinterProperty(serverName, printerName, property).papercut_get_group_members:通过以下方式列出组的成员(分页)api.getGroupMembers(groupName, offset, limit).
注意:确切的属性名称和权限取决于您的安装。官方文件:https://www.papercut.com/help/manuals/ng-mf/common/tools-web-services/
环境变量
PAPERCUT_XMLRPC_URL(例如。,http://localhost:9191/rpc/api/xmlrpc或https://:9192/rpc/api/xmlrpc)PAPERCUT_AUTH_TOKEN(必填)PAPERCUT_TIMEOUT_MS(可选,默认10000)
发展
npm run dev编辑文件 src/.MCP工具已上线 src/tools/papercut.api.tool.ts 以及中的XML-RPC客户端 src/papercut.ts.
