printer-mcp-server (DaisukeHori/printer-mcp-server) is an MCP server listed on the M8ven Trust Index. It scores 52 out of 100, grade D. It declares 11 tools. No publisher has claimed this listing.

D
Caution
52/100

printer-mcp-server

MCP server for network printer control via CUPS + Mac Office PDF conversion (Kyocera TASKalfa 6054ci)

Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

Code Verified⚡ Live Monitored: not connected

Verified is a snapshot. Live keeps it current, and builds your track record.

⚡ Connect GitHub → continuous verification on every pushwhy connect →

Who stands behind it

DaisukeHori

Source: github_repo_search

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →

Install from

The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.

// key findings
🚨
Secret credentials may flow to a network call
1 flow detected: GRAPH_CLIENT_SECRET. We can’t prove the destination matches the brand the credential belongs to.
⚠️
Known vulnerabilities in dependencies: 3 high
Affects packages this MCP installs at runtime. Upgrade or remove the affected dependency.
🔐
You'll be asked for 3 credentials: GRAPH_CLIENT_SECRET, MAC_SSH_KEY, MCP_API_KEY
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// tools this server exposes11 tools

These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.

print_url

Download a file from a URL and print it. Supports the same formats as print_document. Useful for printing files from OneDrive, SharePoint, S3 presigned URLs, or any public URL. The filename parameter is used for format detection (e.g. 'report.docx').

list_printers

List all CUPS-configured printers with name, state, URI, and default flag.

get_printer_status

Detailed status: state, active jobs, device URI, supply/media levels (IPP).

get_printer_capabilities

List PPD/CUPS options. MUST call before using cups_options in print_document. Use filter to narrow: 'staple', 'punch', 'fold', 'tray', 'media', 'booklet', 'insert'.

get_print_jobs

List active/pending jobs. Set completed=true for recent completed jobs too.

get_job_status

Detailed status for a specific job: IPP attributes + CUPS error log. Use after print_document.

cancel_print_job

Cancel an active or pending print job.

get_supported_formats

List all file formats that can be printed or converted. Shows which formats go directly to CUPS and which require Mac Office conversion.

validate_print_options

Check if cups_options are valid and compatible with the installed hardware BEFORE printing. Three-level validation: 1. Value check: Is each option name and value recognized by the PPD? 2. PPD constraint check: Does the Kyocera PPD prohibit this combination? (3192 hardware rules) 3. Soft warni

print_uploaded

Print a file that was uploaded via /upload endpoint. NO base64 needed — zero token cost. WORKFLOW: 1. User uploads file to Claude.ai 2. Claude uses bash_tool: curl -sF "file=@/mnt/user-data/uploads/FILE" https://printer-mcp.appserver.tokyo/upload → Returns: {"file_id":"abc123","filename":"

list_uploads

Show files uploaded via /upload endpoint that are available for print_uploaded.

// known CVEs in dependencies3 high2 low

Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.

highmulter@2.1.1GHSA-535w-7cp7-47q4

multer vulnerable to Denial of Service via oversized array index in field names

highmulter@2.1.1GHSA-72gw-mp4g-v24j

Multer vulnerable to Denial of Service via deeply nested field names

highmulter@2.1.1GHSA-wc9g-mqfw-jrwm

multer vulnerable to Denial of Service via crafted multipart field names

lowmulter@2.1.1GHSA-3p4h-7m6x-2hcm

Multer vulnerable to Denial of Service via incomplete cleanup of aborted uploads

lowmulter@2.1.1GHSA-qvfw-j98x-7q72

multer vulnerable to file size limit bypass via async fileFilter race condition

Depend on this server? Get alerted when its CVEs change.Watch this server free →
// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configGRAPH_CLIENT_IDOffice変換時のみ
🔐 secretGRAPH_CLIENT_SECRETOffice変換時のみ
configGRAPH_TENANT_IDOffice変換時のみ
configGRAPH_USER_IDOffice変換時のみ
configMAC_CONVERT_DIR
configMAC_HOST
configMAC_SCRIPT_PATH
🔐 secretMAC_SSH_KEY
configMAC_USER
🔐 secretMCP_API_KEYはい(推奨)
configUPLOAD_DIR
Deployment configuration, supplied by whoever hosts the server. Users are not asked for these.
deployPORT
// quality suggestions

openWorldHint matches behaviour

1 tool claims openWorldHint=false but make outbound HTTP — print_url → dynamic (line 157)

Either flip openWorldHint to true (acknowledging external reach) or refactor the handler to avoid outbound HTTP. If the only network calls are to a known fixed endpoint that you consider part of the tool itself, document that and keep openWorldHint=false; otherwise true is honest.

License file

No license file

Add a LICENSE file (MIT, Apache-2.0, etc.).

Tests exist

No test files found

Add tests that exercise each declared tool.

Shell command execution

3 calls in production code run through a shell (src/services/converter.ts:112, src/services/cups.ts:16, src/services/cups.ts:29)

Prefer library functions over shell-outs. If you must shell out, ensure all inputs are properly escaped.

Secrets stay with their owner

1 secret sent to a request target we could not resolve (GRAPH_CLIENT_SECRET → dynamic) — often a configured endpoint, not necessarily third-party

Audit where credentials are sent. A NOTION_TOKEN should only reach api.notion.com — never a third-party host.

Production dependencies are patched

0 critical, 3 high severity in production deps — multer@2.1.1 (high), multer@2.1.1 (high)

Run npm audit fix, or upgrade the affected packages to a non-vulnerable version.

Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 6 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/daisukehori/printer-mcp-server?variant=verified)](https://m8ven.ai/mcp/daisukehori/printer-mcp-server)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: ca1b26917fd3a3b9d3f67d90ec96a16c59cd6aef
code hash: ebcd3dded7e6ef8dbc1eab8065d8eb7b3b311a97370b03864e226e57fc173b06
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client