Skip to main content
Glama

Get context

get_context
Read-only

Bounded record context with per-section coverage: complete, truncated, unavailable or unknown. A failed or missing section is not evidence of absence. Account context includes ARR, lifecycle, renewal, active/recent subscriptions with 90-day events, opportunities, contacts, touches, tasks and notes. Other type + id reads return the record and related data. LinkedIn profile/email matching uses exact verified identity: names never prove identity; conflicts stop linking. linkedin_conversation lists permitted conversations without message text; id or linkedin_thread_id reads one. linkedin_thread_identity verifies the thread/header member through your connection, returning only a public profile mapping. These reads share or sync nothing.

When to use: Broad record questions, before multiple searches. Use account_id or type + id; structural contact links and recent touches supply people context.

Example: Tell me everything about Acme.

Input Schema

NameRequiredDescriptionDefault
idNoThe record's id — a uuid from a previous read/search.
typeNoRecord type: account (default), contact, opportunity, subscription, task, or a custom object key.
account_idNoAlias for {type:'account', id} — the account's uuid.
linkedin_urlNoExact LinkedIn profile URL, only with type='contact'. Never resolves by name. Exact duplicates return candidates: ask which, then repeat with that contact id.
sequence_briefNoWith type=contact and id, preview CRM tokens in this brief. Returns personalization_fields and personalization (text, ready, issues). Resolve issues before use. Read-only.
linkedin_member_idNoExact case-sensitive member id from the rendered one-to-one conversation header (ACoA plus 35 letters, digits, underscores or hyphens). With type='linkedin_thread_identity', or with type='linkedin_conversation' plus linkedin_thread_id for an owner-only verified header match.
linkedin_thread_idNoExact thread route segment from a linkedin.com/messaging/thread/<id>/ page after one percent-decoding pass (at most 1024 chars of [A-Za-z0-9_-] plus up to two trailing '='; keep case and padding, never decode Base64 or URNs). With type='linkedin_conversation' it opens only your permitted conversation with exactly this thread; type='linkedin_thread_identity' also needs linkedin_member_id.
match_linkedin_emailNoWith type='contact' + linkedin_url and no profile match, check exact provider-reported emails on the verified profile. Read-only; reaches your connected LinkedIn provider; no name inference. linkedin.verified_email_match identifies one existing contact. create_record(contact) with linkedin_url + linkedin_match_id links only that reverified record; conflicts stop linking.

Output Schema

NameRequiredDescriptionDefault
noteNo
foundNo
reasonNo
contextNo
web_urlNo
context_coverageNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / linkedin_url / description
      Previous value: -"Exact LinkedIn profile URL; only with type='contact'. Never resolves by name."New value: +"Exact LinkedIn profile URL, only with type='contact'. Never resolves by name. Exact duplicates return candidates: ask which, then repeat with that contact id."
    • changedInput schema / properties / match_linkedin_email / description
      Previous value: -"With type='contact' and linkedin_url, check exact provider-reported emails for an existing contact. Read-only, reaches your connected LinkedIn provider. No name inference."New value: +"With type='contact' + linkedin_url and no profile match, check exact provider-reported emails on the verified profile. Read-only; reaches your connected LinkedIn provider; no name inference. linkedin.verified_email_match identifies one existing contact. create_record(contact) with linkedin_url + linkedin_match_id links only that reverified record; conflicts stop linking."
  2. Changed2 schema fields changed
    • removedInput schema / properties / match_linkedin_email / anyOf
      Removed value: -[
      -  {
      -    "type": "boolean"
      -  },
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "number"
      -  }
      -]
    • addedInput schema / properties / match_linkedin_email / type
      Added value: +[
      +  "boolean",
      +  "string",
      +  "number"
      +]
  3. Changed1 schema field changed
    • removedInput schema / $schema
      Removed value: -"https://json-schema.org/draft/2020-12/schema"
  4. Changed8 schema fields changed
    • removedOutput schema / $schema
      Removed value: -"https://json-schema.org/draft/2020-12/schema"
    • removedOutput schema / additionalProperties
      Removed value: -{}
    • removedOutput schema / properties / context / additionalProperties
      Removed value: -{}
    • removedOutput schema / properties / context / propertyNames
      Removed value: -{
      -  "type": "string"
      -}
    • removedOutput schema / properties / context_coverage / additionalProperties
      Removed value: -false
    • removedOutput schema / properties / context_coverage / properties / retrieved_at / pattern
      Removed value: -"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
    • removedOutput schema / properties / context_coverage / properties / sections / additionalProperties / additionalProperties
      Removed value: -false
    • removedOutput schema / properties / context_coverage / properties / sections / propertyNames
      Removed value: -{
      -  "type": "string"
      -}
  5. Changed2 schema fields changed
    • changedInput schema / properties / linkedin_member_id / description
      Previous value: -"With type='linkedin_thread_identity', or type='linkedin_conversation' plus linkedin_thread_id for an owner-only verified header match: exact case-sensitive internal member ID from the rendered one-to-one conversation header, matching ACoA followed by 35 letters, digits, underscores or hyphens."New value: +"Exact case-sensitive member id from the rendered one-to-one conversation header (ACoA plus 35 letters, digits, underscores or hyphens). With type='linkedin_thread_identity', or with type='linkedin_conversation' plus linkedin_thread_id for an owner-only verified header match."
    • changedInput schema / properties / linkedin_thread_id / description
      Previous value: -"Exact opaque thread route segment from a linkedin.com/messaging/thread/<id>/ page, after one URI percent-decoding pass: at most 1024 characters matching [A-Za-z0-9_-]+ with up to two trailing equals signs. Preserve case and padding; never decode Base64 or URNs. With type='linkedin_conversation' it opens only your permitted conversation with exactly this thread id; with type='linkedin_thread_identity' it also needs linkedin_member_id."New value: +"Exact thread route segment from a linkedin.com/messaging/thread/<id>/ page after one percent-decoding pass (at most 1024 chars of [A-Za-z0-9_-] plus up to two trailing '='; keep case and padding, never decode Base64 or URNs). With type='linkedin_conversation' it opens only your permitted conversation with exactly this thread; type='linkedin_thread_identity' also needs linkedin_member_id."
  6. Changed1 schema field changed
    • addedInput schema / properties / match_linkedin_email
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "boolean"
      +    },
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "number"
      +    }
      +  ],
      +  "description": "With type='contact' and linkedin_url, check exact provider-reported emails for an existing contact. Read-only, reaches your connected LinkedIn provider. No name inference."
      +}
  7. Changed1 schema field changed
    • addedInput schema / properties / sequence_brief
      Added value: +{
      +  "description": "With type=contact and id, preview CRM tokens in this brief. Returns personalization_fields and personalization (text, ready, issues). Resolve issues before use. Read-only.",
      +  "type": "string"
      +}
  8. First observed

TDQS

A4.1/5.0
Behavior5/5

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

Annotations establish readOnly/openWorld behavior, and the description adds crucial context: per-section coverage states, failed sections not implying absence, LinkedIn exact verified identity, conflicts stopping linking, conversations listed without message text, and no sharing/syncing. This is substantial behavioral detail beyond structured fields.

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 description is dense but structured, with semicolon-rich mode summaries and a clear example; most clauses carry useful behavioral detail. However, the 'When to use' guidance is placed after long mode descriptions rather than front-loaded.

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 complex 8-parameter, multi-mode read tool with an output schema and rich annotations, the description covers purpose, modes, coverage caveats, identity constraints, privacy, and usage. Nothing critical is missing for 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 coverage is 100% and the parameter descriptions are already highly detailed, including linkedin_thread_id parsing and match_linkedin_email behavior. The tool description mainly restates high-level modes and adds little parameter-level semantics beyond the schema, so baseline 3 is appropriate.

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

Purpose4/5

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

The description names the resource and return shape: 'Bounded record context with per-section coverage' and enumerates account context and other type+id reads. It covers multiple modes but never contrasts with sibling get_record, so an agent could still wonder when to use get_record instead.

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?

It includes a dedicated 'When to use' line: broad record questions, before multiple searches, and says to use account_id or type+id. That gives clear context but no when-not guidance or explicit alternatives such as get_record/search_records.

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