Skip to main content
Glama

Send a message

send_message
Destructive

[Ids in: profileUrl (optional): profile link; conversationId (optional): chat id, from list_chats → chats[].id. Ids out: conversationId: chat id; messageId: message id.] Send ONE LinkedIn message from your own account, now. Either give the profile URL of a 1st-degree connection (starts or continues your conversation with them) or the conversationId of an existing conversation. The text is sent as written; a {{firstName}} style placeholder is filled from the person's profile and removed if it cannot be filled. This goes out on LinkedIn immediately and cannot be unsent. LinkedIn only delivers ordinary messages to 1st-degree connections — for anyone else send an invitation first, or use start_conversation for an InMail. To attach a file or answer a specific message, use send_chat_message. Counts against the account's daily message allowance (100 a day).

Input Schema

NameRequiredDescriptionDefault
textYesThe message text.
profileUrlNoLinkedIn profile URL of the 1st-degree connection to message.
connectionIdNoWhich of your LinkedIn accounts to act from (its id from list_linkedin_accounts). Omit to use your first live one.
conversationIdNoId of an existing conversation to send into, instead of a profile URL.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Adds substantial behavioral context beyond the destructiveHint/openWorldHint annotations: the message goes out immediately and cannot be unsent, LinkedIn only delivers ordinary messages to 1st-degree connections, the {{firstName}} placeholder is substituted and silently dropped if unfillable, and it consumes the daily 100-message allowance. It does not describe the response shape, though the bracketed line lists the returned ids.

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

Conciseness4/5

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

The opening bracketed ids-in/ids-out line is dense metadata that reads awkwardly, but the main prose is front-loaded and every sentence (alternatives, irreversibility, degree restriction, placeholder, rate limit) carries distinct information.

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

Completeness5/5

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

For a 4-parameter mutation tool with no output schema, the description supplies the safety picture, the input-mode decision, the placeholder behavior, the delivery restriction, and the returned ids — everything an agent needs to call it correctly.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description genuinely adds semantics the schema lacks: the profileUrl/conversationId either-or relationship, that profileUrl must be a 1st-degree connection, and that text supports and auto-strips unfilled placeholders.

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?

States a specific verb and resource ('Send ONE LinkedIn message from your own account, now'), and clearly distinguishes itself from send_chat_message, start_conversation, and send_invitation by naming each sibling and the condition that selects it.

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?

Explicit when-to-use with two mutually exclusive input modes (profileUrl for a 1st-degree connection or conversationId for an existing conversation), plus explicitly names alternatives for other cases: send_invitation for non-connections and start_conversation for InMail.

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.