Printer MCP Server

Printer MCP Server

Provides comprehensive enterprise printer information including specifications, pricing, troubleshooting, and setup instructions for major printer brands. Enables sales teams to find and compare printers, calculate TCO, and get recommendations, while service teams can access error code resolutions and configuration guides.

Category
Visit Server

README

Printer MCP Server

A comprehensive Model Context Protocol (MCP) server providing enterprise printer information for sales and service teams. Access detailed specifications, pricing, troubleshooting, and setup information for major enterprise printer brands.

Features

Supported Manufacturers

  • HP (Hewlett-Packard)
  • Canon
  • Kyocera
  • Konica Minolta
  • Sharp
  • Lexmark
  • Ricoh
  • Brother
  • Epson

10 Intelligent Tools

The server provides specialized tools for both sales and service teams:

Sales Team Tools

  1. printer_search - Find printers by specs, budget, features, or keywords
  2. printer_get_details - Get complete model information including specifications, pricing, and capabilities
  3. printer_compare - Side-by-side comparison of multiple models
  4. printer_calculate_tco - Total Cost of Ownership analysis over time
  5. printer_find_consumables - Compatible toner/supplies with part numbers and costs
  6. printer_recommend - AI-powered recommendations based on business needs
  7. printer_get_stats - Database coverage and statistics

Service Team Tools

  1. printer_search - Find printers by specifications
  2. printer_get_details - Complete model and technical information
  3. printer_troubleshoot - Error code handling and problem resolution
  4. printer_setup - Setup instructions by model and manufacturer
  5. printer_find_consumables - Compatible supplies and part numbers
  6. printer_get_config - Print config pages and web interface access
  7. printer_get_stats - Database information

Installation

Prerequisites

  • Node.js 18 or higher
  • npm or yarn

Setup

  1. Clone or download this repository to your local machine

  2. Install dependencies:

cd printerMCP
npm install
  1. Build the project:
npm run build

This command will:

  • Compile TypeScript to JavaScript
  • Build the SQLite database from JSON source files
  • Prepare the server for use

Usage

Running the Server

The MCP server communicates over stdio. It's designed to be used with MCP-compatible clients like Claude Desktop.

Standalone Testing

npm start

With Claude Desktop

Add this configuration to your Claude Desktop config file:

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"
      ]
    }
  }
}

Restart Claude Desktop after adding this configuration.

Tool Reference

1. printer_search

Search for printers matching specific criteria.

Parameters:

  • manufacturer (string, optional): Filter by manufacturer (HP, Canon, Kyocera, etc.)
  • formFactor (string, optional): desktop, workgroup, departmental, production
  • type (string, optional): laser, inkjet, led
  • color (boolean, optional): Color printing capability
  • functions (array, optional): Required functions ["print", "copy", "scan", "fax"]
  • minSpeed (number, optional): Minimum print speed in PPM
  • maxSpeed (number, optional): Maximum print speed in PPM
  • minPrice (number, optional): Minimum price in USD
  • maxPrice (number, optional): Maximum price in USD
  • maxDutyMonthly (number, optional): Maximum monthly duty cycle requirement
  • keywords (string, optional): Full-text search keywords

Example:

{
  "manufacturer": "HP",
  "formFactor": "workgroup",
  "color": false,
  "maxPrice": 2000,
  "minSpeed": 40
}

2. printer_get_details

Get complete information about a specific printer model.

Parameters:

  • printerId (string, required): Printer ID (e.g., "hp-m527f", "kyocera-m2640idw")

Returns:

  • Complete printer specifications
  • Sales information and pricing
  • Cost per page and consumables
  • Setup instructions
  • Troubleshooting guides
  • Firmware information
  • Warranty details

3. printer_compare

Compare multiple printer models side-by-side.

Parameters:

  • printerIds (array of strings, required): Array of printer IDs to compare

Example:

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

4. printer_calculate_tco

Calculate Total Cost of Ownership for a printer.

Parameters:

  • printerId (string, required): Printer ID
  • monthlyVolume (number, required): Expected monthly page volume
  • years (number, optional): Number of years (default: 3)
  • powerCostPerKwh (number, optional): Electricity cost per kWh (default: 0.12)

Returns:

  • Hardware cost
  • Consumables cost over time
  • Maintenance costs
  • Power costs
  • Total cost and cost-per-page

5. printer_find_consumables

Find all compatible consumables for a printer.

Parameters:

  • printerId (string, required): Printer ID

Returns:

  • Toner/ink cartridges with part numbers and yields
  • Drum units
  • Maintenance kits
  • Waste containers
  • Cost per page information

6. printer_recommend

Get intelligent printer recommendations based on requirements.

Parameters:

  • userCount (number, required): Number of users
  • monthlyVolume (number, required): Expected monthly pages
  • colorNeeded (boolean, optional): Need for color printing
  • budget (number, optional): Budget constraint
  • mustHaveFunctions (array, optional): Required functions
  • environment (string, optional): Usage environment description

Returns:

  • Top recommended models
  • Reasoning for recommendations
  • Total matches found

7. printer_get_stats

Get database statistics and coverage information.

Parameters: None

Returns:

  • Total number of printers in database
  • List of manufacturers
  • Breakdown by printer type
  • Breakdown by form factor

8. printer_troubleshoot

Get troubleshooting assistance for printer issues.

Parameters:

  • printerId (string, required): Printer ID
  • issueType (string, required): error, quality, jam, network
  • errorCode (string, optional): Specific error code displayed
  • description (string, optional): Problem description

Returns:

  • Relevant troubleshooting guides
  • Error code explanations and solutions
  • Step-by-step resolution procedures
  • Parts needed for repairs

Example:

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

9. printer_setup

Get setup and installation instructions.

Parameters:

  • printerId (string, required): Printer ID
  • setupType (string, required): unboxing, network, driver, all
  • networkType (string, optional): ethernet, wifi, usb (for network setup)
  • os (string, optional): windows, mac, linux (for driver setup)

Returns:

  • Step-by-step setup instructions
  • Network configuration guides
  • Driver installation procedures
  • Common setup issues and solutions

Example:

{
  "printerId": "kyocera-m2640idw",
  "setupType": "network",
  "networkType": "wifi"
}

10. printer_get_config

Get instructions for printing configuration pages and accessing web interface.

Parameters:

  • printerId (string, required): Printer ID
  • pageType (string, optional): meter, config, network, all (default: all)

Returns:

  • Instructions for printing meter pages (page counts)
  • Configuration page printing
  • Network configuration pages
  • Web interface access instructions

Database Structure

The server uses a hybrid approach:

  • Source Data: Human-readable JSON files in data/printers/
  • Runtime Database: SQLite database compiled from JSON for fast queries
  • Full-Text Search: Built-in FTS5 search for keyword queries

Adding New Printers

  1. Create a new JSON file in data/printers/ following the schema in src/types.ts
  2. Run npm run build to rebuild the database
  3. Restart the MCP server

Architecture

printerMCP/
├── src/
│   ├── types.ts              # TypeScript interfaces and types
│   ├── build-database.ts      # JSON to SQLite compiler
│   └── index.ts               # MCP server implementation
├── data/
│   └── printers/              # JSON source files
│       ├── hp-laserjet-m527f.json
│       ├── kyocera-ecosys-m2640idw.json
│       └── epson-ecotank-et5850.json
├── dist/                      # Compiled JavaScript (generated)
├── printers.db                # SQLite database (generated)
├── package.json
├── tsconfig.json
└── README.md

Data Coverage

Current database includes comprehensive information for:

  • Enterprise A3/A4 MFPs
  • Workgroup laser and inkjet devices
  • SOHO (Small Office/Home Office) printers
  • Production digital presses

Each printer entry includes:

  • Complete technical specifications
  • Pricing information (MSRP and street prices)
  • Consumables with part numbers and yields
  • Cost-per-page calculations
  • Detailed setup instructions
  • Comprehensive troubleshooting guides
  • Network configuration procedures
  • Maintenance schedules

Development

Build

npm run build

Watch Mode (for development)

npm run watch

Adding More Printers

To expand the database, add JSON files to data/printers/ following this structure:

{
  "id": "manufacturer-model",
  "manufacturer": "HP",
  "model": "LaserJet Pro MFP M428fdw",
  "series": "LaserJet Pro",
  "formFactor": "workgroup",
  "type": "laser",
  "color": false,
  "functions": ["print", "copy", "scan", "fax"],
  "specifications": { ... },
  "sales": { ... },
  "costs": { ... },
  "setup": { ... },
  "troubleshooting": { ... }
}

See src/types.ts for the complete schema definition.

Use Cases

For Sales Teams

  • Quickly find printers matching customer requirements
  • Compare competitive models side-by-side
  • Calculate and present TCO to customers
  • Provide accurate consumable costs and part numbers
  • Generate recommendations based on usage patterns

For Service Teams

  • Rapid error code lookup and resolution
  • Step-by-step troubleshooting guides
  • Network setup and configuration assistance
  • Consumable identification and ordering
  • Maintenance schedules and procedures

For IT Departments

  • Evaluate printers for fleet deployment
  • TCO analysis for budgeting
  • Technical specifications for procurement
  • Setup and configuration documentation
  • Troubleshooting knowledge base

License

MIT

Contributing

To contribute additional printer data:

  1. Follow the JSON schema in src/types.ts
  2. Add comprehensive troubleshooting and setup information
  3. Include accurate part numbers and specifications
  4. Test the data by rebuilding the database

Support

For issues or questions:

  • Check the troubleshooting guides in printer data
  • Review the tool reference above
  • Verify database was built successfully with npm run build

Version History

1.0.0 (2025-01-13)

  • Initial release
  • 10 intelligent tools for sales and service
  • Support for 9 major manufacturers
  • Comprehensive printer database
  • Full-text search capabilities
  • TCO calculation engine
  • Troubleshooting knowledge base

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured