
Printix
io.github.WYRE-AI由 GitHub 账号 WYRE-AI 发布v1.0.1更新于 Oct 24, 2026
MCP server for Printix's Cloud Print API.
概览
面向 Printix 云打印 API 的 MCP 服务器,让助手查询租户、打印机与队列、站点、工作站、用户和群组。
- 可以做什么
- 解析凭据对所属的租户
- 列出并查看打印队列/打印机,支持筛选与分页
- 列出并查看站点(物理位置)
- 列出并查看工作站监控数据
- 列出并查找用户与群组(只读)
- 适用场景
- 适合托管服务商或 IT 管理员让助手查看 Printix 打印资产:有哪些队列、站点和工作站,以及存在哪些用户和群组。定位是设备群监控与管理,而非终端用户的打印作业流程。
- 运行要求
- 以本地进程(stdio)或 HTTP 服务方式运行,通常使用已发布的容器镜像。需要 Printix 管理员控制台按租户签发的客户端 ID 与密钥,通过 PRINTIX_CLIENT_ID 和 PRINTIX_CLIENT_SECRET 提供,或在 gateway 模式下以请求头传入。HTTP 模式还需 CONDUIT_S2S_SECRET。需要能访问 Printix API 的网络。
安装
在 SourceWeft 中
- 打开 控制台中的 Printix,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
Printix MCP Server
MCP server for Printix's Cloud Print API (now part of Tungsten Automation) - printer/queue, site, workstation, and read-only user/group lookups - for AI assistants and the WYRE Conduit gateway.
Authentication
Printix issues a client_id/client_secret pair per tenant, obtained through the Printix Administrator dashboard - there is no single WYRE-level integration credential; each MSP-managed customer tenant supplies its own pair, and only one pair is active per tenant at a time (issuing a new one invalidates the previous pair).
The pair is exchanged for a short-lived (~1-hour) OAuth access token via POST https://auth.printix.net/oauth/token (grant_type=client_credentials, client_id/client_secret in a form body). This server handles that exchange internally, and re-authenticates the same way when a token expires or is rejected - Printix does not support refresh tokens (removed 2024-12-17; the docs describe the prior refresh-token approach as "not standard OAuth2").
Callers only ever need to supply the two long-lived values below - not the short-lived access token.
Every resource in Printix's Cloud Print API is scoped under a tenant path (/cloudprint/tenants/{tenantId}/...). This server resolves the tenant ID once per credential pair by calling the API root (GET /cloudprint, the documented HATEOAS entry point that "returns a list of links to accessible tenants") and caching it alongside the access token.
Configuration
Copy .env.example and set the variables below.
/health stays unauthenticated and does not read credentials. The stdio transport does not use CONDUIT_S2S_SECRET.
HTTP authentication
With MCP_TRANSPORT=http and a real CONDUIT_S2S_SECRET, every /mcp request must include X-Gateway-S2S. The check is verifyS2sHeader in src/s2s-verify.ts: the header value is t=<unix seconds>,v1=<hex>, where the hex is HMAC-SHA256 of the literal string t=<unix seconds> keyed with CONDUIT_S2S_SECRET (64 lowercase hex characters). The timestamp must be within 300 seconds of the server clock. A missing or invalid header is HTTP 401, before vendor credentials are read.
In AUTH_MODE=gateway, /mcp also requires X-Printix-Client-ID and X-Printix-Client-Secret. Those headers are the only credential source for that request. A request missing either header returns 401 and does not fall back to PRINTIX_CLIENT_ID / PRINTIX_CLIENT_SECRET in the process environment.
In AUTH_MODE=env (single-tenant HTTP), /mcp still requires a valid X-Gateway-S2S header. Vendor credentials come from PRINTIX_CLIENT_ID and PRINTIX_CLIENT_SECRET.
Tools
Tenant
printix_get_tenant- get the tenant this credential pair is scoped to (tenant ID and its API root link).
Printers / Queues
printix_list_printers- list print queues/printers, optionally filtered and paged.printix_get_printer- get a single printer/queue and its properties/capabilities.
Sites
printix_list_sites- list sites (physical locations), paged.printix_get_site- get a single site's details.
Workstations
printix_list_workstations- list workstation monitoring data, paged.printix_get_workstation- get a single workstation's details.
Users (read-only)
printix_list_users- list users, optionally filtered by query/role, paged.printix_get_user- find a single user by ID.
Groups (read-only)
printix_list_groups- list/search groups, paged.printix_get_group- fetch a single group's details.
Scope
This is a v1 surface covering the MSP fleet-monitoring/admin value of Printix's Cloud Print API, not end-user print-job workflow. Explicitly out of scope for now:
- Print Jobs (submit/retrieve/delete) - end-user print workflow, not MSP admin value.
- Cards (register/search/delete) - a niche auth-card identity feature.
- Networks and SNMP Configurations - provisioning-heavy, higher-risk write surfaces.
- User and group mutation (create/delete) - real account-management consequences (licensing, access removal); only read (list/get) is exposed for both. Worth a deliberate separate decision later.
They can be added as a follow-up once there's a clear MSP workflow need.
This server was built against the Cloud Print API (printix.github.io), not the narrower Partner API (printix.bitbucket.io), which is scoped to tenant provisioning rather than day-to-day fleet management.
Development
Docker
The image listens on 0.0.0.0 inside the container (MCP_HTTP_HOST) and defaults to AUTH_MODE=gateway. Publish the port on loopback and pass the S2S secret. In gateway mode, Printix credentials arrive on each request as headers; they are not read from the environment.
Compose refuses to start when CONDUIT_S2S_SECRET is unset. The checked-in service is gateway mode: it does not set PRINTIX_CLIENT_ID or PRINTIX_CLIENT_SECRET and does not use env_file, so a project .env cannot inject static vendor credentials into the container. It publishes 127.0.0.1:8080:8080.
Single-tenant HTTP (AUTH_MODE=env) still requires the S2S secret, then uses PRINTIX_CLIENT_ID and PRINTIX_CLIENT_SECRET. Keep this off the gateway Compose service.
Local HTTP without a secret is development-only. It binds 127.0.0.1 only (a wider MCP_HTTP_HOST is overridden and logged) and logs a warning:
来源:README.md,提交 987a5bb
工具
0版本历史
2- v1.0.1最新Oct 14, 2026
- v1.0.0Sep 20, 2026
评分
已满足适用检查项的 40%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
请在仓库或注册中心条目中声明许可证。