Skip to main content
Glama

Start a conversation (InMail, group, company)

start_conversation
Destructive

[Ids in: to: profile link or member id or Sales Navigator id or Recruiter id or company messaging id; applicantId (optional): applicant id, from list_job_applicants → applicants[].id; invitationId (optional): invitation id, from list_received_invitations → invitations[].invitationId. Ids out: chatId: chat id; messageId: message id.] Start a NEW LinkedIn conversation from your own account, now — for the cases send_message does not cover: an InMail to someone you are not connected to, a message through Sales Navigator or Recruiter, a group conversation, a message to a company page, a job applicant, or someone whose invitation you have not answered. This goes out on LinkedIn immediately and cannot be unsent. An InMail SPENDS one of the account's InMail credits (see get_inmail_credits) unless the person has an open profile — confirm with the user first. Counts against the daily InMail allowance (40 a day) when it is an InMail or goes through Sales Navigator / Recruiter, otherwise against the message allowance (100 a day).

Input Schema

NameRequiredDescriptionDefault
toYesWho to write to: LinkedIn profile URLs or member ids. One person, or several for a group conversation. For a company page pass its messaging id.
viaNoWhich LinkedIn product sends it. sales_navigator and recruiter need that seat on your account.classic
textYesThe first message.
inmailNoclassic only: send as an InMail (to someone you are not connected to).
groupIdNoRequired when writing to someone through a LinkedIn group you share.
subjectNoSubject line (InMail).
recruiterNovia recruiter only: signature, hiringProjectId (the project to start the conversation in), jobPostingId, sourcingChannel, emailAddress (send by email instead of InMail), visibility (default PRIVATE), inmailIntent, and followUp { subject, text, days 3–28 or weeks 1–4, timezone } to schedule a follow-up (Recruiter PRO).
applicantIdNoRequired when writing to an applicant of your job posting (from list_job_applicants).
companyTopicNoRequired when writing to a company page.
connectionIdNoWhich of your LinkedIn accounts to act from (its id from list_linkedin_accounts). Omit to use your first live one.
invitationIdNoRequired when writing to someone whose invitation you have neither accepted nor declined (from list_received_invitations).
attachmentUrlsNoFiles or images to attach. Public https links; each file up to 10 MB, 20 MB in total.
videoMessageUrlNoA video file to send as a video note. A public https link, up to 10 MB.
voiceMessageUrlNoAn audio file to send as a voice note (.m4a preferred). A public https link, up to 10 MB.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already say destructiveHint=true and openWorldHint=true, but the description goes further with what an agent cannot infer: messages go out immediately and cannot be unsent, an InMail spends one of the account's credits (cross-referencing get_inmail_credits), and the exact daily allowances (40 InMail/Sales Nav/Recruiter vs 100 message). This is real consequence disclosure, not annotation restatement.

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?

Front-loaded with the irreversible-send warning and the send_message contrast, and every sentence carries weight (provenance, credits, allowances). The bracketed id-mapping preamble is dense and slightly harder to parse, keeping it short of a 5.

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 14-parameter mutation tool with no output schema, the description supplies the missing pieces: side effects, cost, rate limits, and the returned chatId/messageId, while the 100%-covered schema handles parameter detail. An agent has everything needed to decide and 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 description coverage is 100%, so the baseline is 3, but the description adds genuine value by documenting ID provenance chains the schema does not: applicantId 'from list_job_applicants → applicants[].id' and invitationId 'from list_received_invitations → invitations[].invitationId', plus the ids returned (chatId, messageId). It leaves the complex recruiter nested object and attach/video/voice limits to the schema.

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 (start) and resource (LinkedIn conversation) and immediately marks scope: 'a NEW LinkedIn conversation from your own account, now.' It enumerates the exact cases it owns (InMail to non-connections, Sales Navigator, Recruiter, groups, company pages, applicants, unanswered invitations) and names the sibling it does not replace ('the cases send_message does not cover').

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 a contrast against send_message, plus concrete routing conditions (InMail = not connected; Sales Navigator/Recruiter seats; group, company, applicant, unanswered invitation variants). It also adds a decision gate: 'confirm with the user first' when InMail credits are at stake.

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.