Skip to main content
Glama
Kian-hdr

LinkedIn Copilot MCP

by Kian-hdr

crm_upsert_entity

Create or update a channel-memory organization or opportunity from an evidenced business thread, with revision checks; changes stay out of the authoritative company pipeline.

Instructions

Create/update a channel-memory organization or opportunity from an evidenced business thread; does not update the authoritative company pipeline. Revision 0 creates a new stable ID. Organizations accept name and evidence only; opportunities may also include organizationId, stage and participant IDs.

Input Schema

NameRequiredDescriptionDefault
kindYes
recordYes
entityIdYes
revisionYes
threadIdYes
threadRevisionYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations cover the safety profile (write, open-world, non-idempotent, non-destructive), so the bar is lower, and the description still adds real substance: 'Revision 0 creates a new stable ID' discloses the create-vs-update discriminator and the ID lifecycle, and the pipeline-scope disclaimer prevents a costly misread of blast radius. It still says nothing about conflict/revision-mismatch behavior, which matters for a non-idempotent mutation.

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?

Three tight sentences, front-loaded with the core purpose and followed by the two highest-value constraints; nothing is padding. Minor deduction for the telegraphic 'Revision 0 creates a new stable ID' fragment, which lacks the surrounding context needed to be immediately actionable.

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

Completeness3/5

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

For a 6-required-parameter, nested-object, non-idempotent mutation with no output schema and zero schema descriptions, the description covers kind and record well but leaves the entityId/revision/thread linkage — the exact fields that decide whether this creates or overwrites — underspecified. Adequate to attempt a call, not sufficient to call it correctly with confidence.

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?

With 0% schema description coverage on 6 required parameters, the description carries the full burden and only partially discharges it: it correctly splits record fields by kind (name+evidence for organizations; organizationId, stage, participant IDs for opportunities), which maps to the nested object. But entityId, threadId, and threadRevision are never explained, and 'participant IDs' does not match the schema's 'people' array, leaving a term-mapping gap.

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?

Names a specific verb pair (create/update) and a precise resource (channel-memory organization or opportunity), then draws a hard scope boundary: 'does not update the authoritative company pipeline.' That boundary is what separates it from the many other crm_* write tools in the sibling list, so the agent can classify it without opening the schema.

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

Usage Guidelines3/5

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

'from an evidenced business thread' and 'does not update the authoritative company pipeline' imply the usage context and one exclusion, but no sibling is named as the alternative (crm_queue_update, crm_map_existing_record, crm_update_relationship are all closer fits for certain cases and go unmentioned). The agent must infer which tool owns the pipeline write path.

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