返回 MCP 目录
public公开dns本地运行

pc-hardware-mcp

这是一个企业打印机信息MCP服务器,为销售和服务团队提供详细的打印机规格、定价、故障排除和设置信息,支持HP、佳能、理光等9大品牌,包含10个智能工具用于打印机搜索、对比、成本计算和故障处理。

article

README

🚀 打印机MCP服务器

这是一个全面的模型上下文协议(MCP)服务器,专为销售和服务团队提供企业打印机信息。通过该服务器,可获取主要企业打印机品牌的详细规格、价格、故障排除和设置信息。

🚀 快速开始

本MCP服务器通过标准输入输出进行通信,设计用于与MCP兼容的客户端(如Claude Desktop)配合使用。

独立测试

npm start

与Claude Desktop配合使用

将以下配置添加到Claude Desktop配置文件中:

  • MacOS~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows%APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "printer-info": {
      "command": "node",
      "args": [
        "C:/users/brian/printerMCP/dist/index.js"
      ]
    }
  }
}

添加此配置后,重启Claude Desktop。

✨ 主要特性

支持的制造商

  • 惠普(Hewlett - Packard)
  • 佳能
  • 京瓷
  • 柯尼卡美能达
  • 夏普
  • 利盟
  • 理光
  • 兄弟
  • 爱普生

10个智能工具

本服务器为销售和服务团队提供了专业工具:

销售团队工具

  1. printer_search:通过规格、预算、功能或关键字查找打印机。
  2. printer_get_details:获取包括规格、价格和功能在内的完整型号信息。
  3. printer_compare:对多个型号进行并排比较。
  4. printer_calculate_tco:分析打印机随时间的总体拥有成本。
  5. printer_find_consumables:查找兼容的碳粉/耗材,包括零件编号和成本。
  6. printer_recommend:基于业务需求提供人工智能推荐。
  7. printer_get_stats:获取数据库覆盖范围和统计信息。

服务团队工具

  1. printer_search:按规格查找打印机。
  2. printer_get_details:获取完整的型号和技术信息。
  3. printer_troubleshoot:处理错误代码并解决问题。
  4. printer_setup:按型号和制造商提供设置说明。
  5. printer_find_consumables:查找兼容的耗材和零件编号。
  6. printer_get_config:打印配置页面并访问Web界面。
  7. printer_get_stats:获取数据库信息。

📦 安装指南

前提条件

  • Node.js 18或更高版本
  • npm或yarn

安装步骤

  1. 克隆或下载此存储库到本地机器。
  2. 安装依赖项
cd printerMCP
npm install
  1. 构建项目
npm run build

此命令将执行以下操作:

  • 将TypeScript编译为JavaScript。
  • 从JSON源文件构建SQLite数据库。
  • 准备好服务器以供使用。

💻 使用示例

基础用法

# 独立测试启动服务器
npm start

高级用法

# 在Claude Desktop配置文件中添加服务器配置
{
  "mcpServers": {
    "printer-info": {
      "command": "node",
      "args": [
        "C:/users/brian/printerMCP/dist/index.js"
      ]
    }
  }
}

📚 详细文档

工具参考

1. printer_search

根据特定条件搜索打印机。

参数

  • manufacturer(字符串,可选):按制造商过滤(如惠普、佳能、京瓷等)。
  • formFactor(字符串,可选):台式、工作组、部门级、生产型。
  • type(字符串,可选):激光、喷墨、LED。
  • color(布尔值,可选):是否具备彩色打印功能。
  • functions(数组,可选):所需功能(如["打印", "复印", "扫描", "传真"])。
  • minSpeed(数字,可选):最小打印速度(每分钟页数)。
  • maxSpeed(数字,可选):最大打印速度(每分钟页数)。
  • minPrice(数字,可选):最低价格(美元)。
  • maxPrice(数字,可选):最高价格(美元)。
  • maxDutyMonthly(数字,可选):每月最大工作负荷要求。
  • keywords(字符串,可选):全文搜索关键字。

示例

{
  "manufacturer": "惠普",
  "formFactor": "工作组",
  "color": false,
  "maxPrice": 2000,
  "minSpeed": 40
}

2. printer_get_details

获取特定打印机型号的完整信息。

参数

  • printerId(字符串,必需):打印机ID(如 "hp - m527f", "kyocera - m2640idw")。

返回值

  • 完整的打印机规格。
  • 销售信息和价格。
  • 每页成本和耗材信息。
  • 设置说明。
  • 故障排除指南。
  • 固件信息。
  • 保修详情。

3. printer_compare

并排比较多个打印机型号。

参数

  • printerIds(字符串数组,必需):要比较的打印机ID数组。

示例

{
  "printerIds": ["hp - m527f", "kyocera - m2640idw", "epson - et5850"]
}

4. printer_calculate_tco

计算打印机的总体拥有成本。

参数

  • printerId(字符串,必需):打印机ID。
  • monthlyVolume(数字,必需):预计每月打印页数。
  • years(数字,可选):使用年限(默认值:3年)。
  • powerCostPerKwh(数字,可选):每千瓦时电费(默认值:0.12美元)。

返回值

  • 硬件成本。
  • 耗材随时间的成本。
  • 维护成本。
  • 电力成本。
  • 总成本和每页成本。

5. printer_find_consumables

查找打印机的所有兼容耗材。

参数

  • printerId(字符串,必需):打印机ID。

返回值

  • 带有零件编号和打印量的碳粉/墨盒。
  • 硒鼓单元。
  • 维护套件。
  • 废粉盒。
  • 每页成本信息。

6. printer_recommend

根据需求获取智能打印机推荐。

参数

  • userCount(数字,必需):用户数量。
  • monthlyVolume(数字,必需):预计每月打印页数。
  • colorNeeded(布尔值,可选):是否需要彩色打印。
  • budget(数字,可选):预算限制。
  • mustHaveFunctions(数组,可选):必需的功能。
  • environment(字符串,可选):使用环境描述。

返回值

  • 推荐的顶级型号。
  • 推荐理由。
  • 找到的匹配总数。

7. printer_get_stats

获取数据库统计信息和覆盖范围信息。

参数:无

返回值

  • 数据库中打印机的总数。
  • 制造商列表。
  • 按打印机类型分类的明细。
  • 按外形规格分类的明细。

8. printer_troubleshoot

获取打印机问题的故障排除帮助。

参数

  • printerId(字符串,必需):打印机ID。
  • issueType(字符串,必需):错误、质量、卡纸、网络问题。
  • errorCode(字符串,可选):显示的特定错误代码。
  • description(字符串,可选):问题描述。

返回值

  • 相关的故障排除指南。
  • 错误代码解释和解决方案。
  • 逐步解决程序。
  • 维修所需的零件。

示例

{
  "printerId": "hp - m527f",
  "issueType": "错误",
  "errorCode": "49.XX.XX"
}

9. printer_setup

获取设置和安装说明。

参数

  • printerId(字符串,必需):打印机ID。
  • setupType(字符串,必需):拆箱、网络、驱动程序、全部。
  • networkType(字符串,可选):以太网、Wi - Fi、USB(用于网络设置)。
  • os(字符串,可选):Windows、Mac、Linux(用于驱动程序设置)。

返回值

  • 逐步设置说明。
  • 网络配置指南。
  • 驱动程序安装程序。
  • 常见设置问题和解决方案。

示例

{
  "printerId": "kyocera - m2640idw",
  "setupType": "网络",
  "networkType": "Wi - Fi"
}

10. printer_get_config

获取打印配置页面和访问Web界面的说明。

参数

  • printerId(字符串,必需):打印机ID。
  • pageType(字符串,可选):计量、配置、网络、全部(默认值:全部)。

返回值

  • 打印计量页面(页面计数)的说明。
  • 配置页面打印。
  • 网络配置页面。
  • Web界面访问说明。

数据库结构

服务器采用混合方法:

  • 源数据data/printers/ 中的人类可读JSON文件。
  • 运行时数据库:从JSON编译的SQLite数据库,用于快速查询。
  • 全文搜索:内置FTS5搜索,用于关键字查询。

添加新打印机

  1. data/printers/ 中创建一个新的JSON文件,遵循 src/types.ts 中的架构。
  2. 运行 npm run build 重新构建数据库。
  3. 重启MCP服务器。

架构

printerMCP/
├── src/
│   ├── types.ts              # TypeScript接口和类型
│   ├── build - database.ts   # JSON到SQLite编译器
│   └── index.ts              # MCP服务器实现
├── data/
│   └── printers/             # JSON源文件
│       ├── hp - laserjet - m527f.json
│       ├── kyocera - ecosys - m2640idw.json
│       └── epson - ecotank - et5850.json
├── dist/                     # 编译后的JavaScript(自动生成)
├── printers.db               # SQLite数据库(自动生成)
├── package.json
├── tsconfig.json
└── README.md

数据覆盖范围

当前数据库包含以下类型打印机的全面信息:

  • 企业A3/A4多功能一体机。
  • 工作组激光和喷墨设备。
  • 小型办公室/家庭办公室(SOHO)打印机。
  • 生产型数字印刷机。

每个打印机条目包括:

  • 完整的技术规格。
  • 定价信息(建议零售价和市场价格)。
  • 带有零件编号和打印量的耗材。
  • 每页成本计算。
  • 详细的设置说明。
  • 全面的故障排除指南。
  • 网络配置程序。
  • 维护计划。

开发

构建

npm run build

开发模式(监听文件变化)

npm run watch

添加更多打印机

要扩展数据库,请在 data/printers/ 中添加遵循以下结构的JSON文件:

{
  "id": "manufacturer - model",
  "manufacturer": "惠普",
  "model": "LaserJet Pro MFP M428fdw",
  "series": "LaserJet Pro",
  "formFactor": "工作组",
  "type": "激光",
  "color": false,
  "functions": ["打印", "复印", "扫描", "传真"],
  "specifications": { ... },
  "sales": { ... },
  "costs": { ... },
  "setup": { ... },
  "troubleshooting": { ... }
}

完整的架构定义请参考 src/types.ts

使用场景

销售团队

  • 快速找到符合客户要求的打印机。
  • 并排比较竞争型号。
  • 计算并向客户展示总体拥有成本。
  • 提供准确的耗材成本和零件编号。
  • 根据使用模式生成推荐。

服务团队

  • 快速查找错误代码并解决问题。
  • 遵循逐步故障排除指南。
  • 获得网络设置和配置帮助。
  • 识别和订购耗材。
  • 遵循维护计划和程序。

IT部门

  • 评估打印机以进行批量部署。
  • 进行总体拥有成本分析以进行预算规划。
  • 获取采购所需的技术规格。
  • 获取设置和配置文档。
  • 利用故障排除知识库。

🔧 技术细节

服务器使用Node.js和SQLite构建,通过标准输入输出与MCP兼容的客户端进行通信。它将JSON源文件编译为SQLite数据库,以实现快速查询,并利用内置的FTS5进行全文搜索。

📄 许可证

本项目采用MIT许可证。

贡献说明

若要贡献额外的打印机数据,请遵循以下步骤:

  1. 遵循 src/types.ts 中的JSON架构。
  2. 添加全面的故障排除和设置信息。
  3. 包含准确的零件编号和规格。
  4. 通过重新构建数据库来测试数据。

支持说明

若遇到问题或有疑问,请按以下步骤操作:

  • 查看打印机数据中的故障排除指南。
  • 参考上述工具参考文档。
  • 使用 npm run build 验证数据库是否成功构建。

版本历史

1.0.0(2025 - 01 - 13)

  • 初始版本发布。
  • 为销售和服务团队提供10个智能工具。
  • 支持9个主要制造商。
  • 提供全面的打印机数据库。
  • 具备全文搜索功能。
  • 包含总体拥有成本计算引擎。
  • 提供故障排除知识库。
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端