Skip to main content
Glama

QRStuff MCP Server

Scan business card

scan_business_card
Read-only

Use this when the user shares a photo of a printed business card and wants the details pulled out, for example to build a digital business card. Reads name, phone, email, company and address from a JPEG or PNG and returns fields to pass to create_digital_business_card. Creates nothing. Not for QR codes (use scan_qr_code).

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "scan_business_card"
  }
}

Input Schema

NameRequiredDescriptionDefault
imageNoThe attached photo of the printed business card.
mime_typeNoImage type, for example image/jpeg or image/png.image/jpeg
base64_imageNoPhoto of the printed business card as base64 (JPEG or PNG), for clients that cannot attach files. Send either image or base64_image.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, the description states the input formats (JPEG or PNG) and confirms 'Creates nothing', which is consistent with readOnlyHint=true and destructiveHint=false. It does not mention failure behavior on a low-quality or non-card image, and its negation of writes is somewhat redundant given the annotations already declare readOnly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences, front-loaded with the trigger, then the fields extracted, then the boundary against the QR sibling. Nothing is padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description rightly avoids detailing return values and instead covers trigger, extraction scope, and handoff to `create_digital_business_card`. The only gap is behavior on unusable images, which matters for an OCR-style tool but does not prevent correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the mutual-exclusivity rule ('Send either image or base64_image') and the mime_type enum are already fully documented in the schema, and the prose largely restates them. Baseline 3 is appropriate; the description adds no format or size guidance beyond the structured fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description pairs a specific verb and resource ('Reads name, phone, email, company and address' from a photo of a printed business card) and names the sibling to avoid it ('Not for QR codes (use `scan_qr_code`)'). It also names the downstream consumer, `create_digital_business_card`, so the agent knows exactly where this sits in a flow.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a concrete trigger ('when the user shares a photo of a printed business card') and an explicit exclusion with a named alternative for QR codes. The 'Not for QR codes' line is exactly the sibling routing an agent needs in a tool list this crowded.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources