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.
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
- printer_search - Find printers by specs, budget, features, or keywords
- printer_get_details - Get complete model information including specifications, pricing, and capabilities
- printer_compare - Side-by-side comparison of multiple models
- printer_calculate_tco - Total Cost of Ownership analysis over time
- printer_find_consumables - Compatible toner/supplies with part numbers and costs
- printer_recommend - AI-powered recommendations based on business needs
- printer_get_stats - Database coverage and statistics
Service Team Tools
- printer_search - Find printers by specifications
- printer_get_details - Complete model and technical information
- printer_troubleshoot - Error code handling and problem resolution
- printer_setup - Setup instructions by model and manufacturer
- printer_find_consumables - Compatible supplies and part numbers
- printer_get_config - Print config pages and web interface access
- printer_get_stats - Database information
Installation
Prerequisites
- Node.js 18 or higher
- npm or yarn
Setup
-
Clone or download this repository to your local machine
-
Install dependencies:
cd printerMCP
npm install
- 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, productiontype(string, optional): laser, inkjet, ledcolor(boolean, optional): Color printing capabilityfunctions(array, optional): Required functions ["print", "copy", "scan", "fax"]minSpeed(number, optional): Minimum print speed in PPMmaxSpeed(number, optional): Maximum print speed in PPMminPrice(number, optional): Minimum price in USDmaxPrice(number, optional): Maximum price in USDmaxDutyMonthly(number, optional): Maximum monthly duty cycle requirementkeywords(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 IDmonthlyVolume(number, required): Expected monthly page volumeyears(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 usersmonthlyVolume(number, required): Expected monthly pagescolorNeeded(boolean, optional): Need for color printingbudget(number, optional): Budget constraintmustHaveFunctions(array, optional): Required functionsenvironment(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 IDissueType(string, required): error, quality, jam, networkerrorCode(string, optional): Specific error code displayeddescription(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 IDsetupType(string, required): unboxing, network, driver, allnetworkType(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 IDpageType(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
- Create a new JSON file in
data/printers/following the schema insrc/types.ts - Run
npm run buildto rebuild the database - 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:
- Follow the JSON schema in
src/types.ts - Add comprehensive troubleshooting and setup information
- Include accurate part numbers and specifications
- 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
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.