Skip to main content
Glama
jevil25

WhatsApp Messaging API by Retention Stack

by jevil25

get_qr_code

Authenticate a WhatsApp session by scanning a QR code. Retrieve the code to link a device via Settings > Linked Devices and start sending messages without Meta Business approval.

Instructions

Get the QR code to authenticate a session by scanning with WhatsApp (Settings > Linked Devices).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sessionYesSession name

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv1.0.3

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden of disclosure. It accurately describes the action and purpose, but it does not mention session prerequisites, QR code expiration, or whether obtaining a new QR code invalidates an existing one. This is acceptable for a simple retrieval but lacks rich behavioral detail.

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?

The description is a single sentence with no filler, front-loading the action and purpose. Every word contributes meaning, and it does not repeat schema details or add unnecessary caveats.

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?

For a single-parameter tool with no output schema, the description explains what the tool returns, why it is used, and how the QR code is consumed. It could explicitly state that the session must already exist, but the required 'session' parameter and sibling tools like create_session make that reasonably inferable.

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?

The input schema already documents the only parameter, 'session', with 100% description coverage. The tool description adds no further parameter-level semantics, so the baseline score of 3 applies; the schema does the heavy lifting.

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 clearly identifies the operation: 'Get the QR code' for a session, with an explicit purpose of authenticating by scanning with WhatsApp. This distinguishes it from siblings like request_pairing_code or get_session_status, which involve a different mechanism or different information.

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

Usage Guidelines4/5

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

The description gives a clear usage context: when a session needs to be authenticated via WhatsApp QR scanning, and even points to the Settings > Linked Devices flow. It does not explicitly name alternatives or exclusions, but the QR-based vs pairing-code-based distinction is strongly implied by the sibling tool set.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jevil25/whatsapp-messaging-api-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server