Skip to main content
Glama

crm_connector

Push, update, search and log activities in HubSpot, Salesforce or Pipedrive. 4 modes: push_lead (create contact/lead), update_opportunity (update deal stage/amount), search_contact (lookup by email), log_activity (call/email/meeting/note). Returns resource_id, direct CRM URL, signals and quality_score. If credentials are absent, returns a mock result with a warning signal. Auth: HubSpot via Bearer access_token; Salesforce via access_token + base_url; Pipedrive via api_key.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYesPayload depending on mode. push_lead: {email,first_name,last_name,company,phone,job_title}. update_opportunity: {deal_id/opportunity_id,stage,amount,close_date}. search_contact: {email}. log_activity: {type,body,contact_id/person_id,subject}.
modeYesAction to perform in the CRM
asyncNoIf true, returns a job_id immediately (<200ms) instead of waiting for the result. Poll the result with job_result(job_id). Use for slow tools to avoid client timeouts.
providerYesCRM provider to target
credentialsNoAuth credentials. HubSpot: access_token. Salesforce: access_token + base_url. Pipedrive: api_key.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNo
modeYes
statusYes
signalsYes
sourcesYes
successYes
providerYes
data_syncedNo
resource_idNo
quality_scoreYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations only include readOnlyHint=false and openWorldHint=true, so the description carries the burden of disclosing mutation behavior. It does so by listing mutating actions ('update', 'push') and adds the important caveat about mock results when credentials are missing. It also reveals return fields (resource_id, URL, signals, quality_score). It does not disclose failure modes or rate limits, but the available traits are transparent and consistent with annotations.

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 compact (4 sentences) and front-loaded with the core purpose. It then logically progresses through mode breakdown, return value, mock behavior, and auth requirements. Every sentence adds useful information with no fluff, making it easy for an agent to quickly understand and invoke the tool.

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 tool with 5 parameters, nested objects, and an output schema, the description covers the primary use cases, auth requirements, mock behavior, and return values. It does not explicitly mention the async parameter, but the schema fully documents it. The description omits edge cases like partial failure or rate limits, but given the rich schema and annotations, it is sufficiently complete for effective use.

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 description coverage is 100%, so the baseline is 3. The description adds a high-level summary of the mode enum and mentions auth schemes, but the schema already documents the data payload structure per mode and the credentials object in detail. The description does not introduce new parameter semantics beyond what the schema already provides, hence a neutral score.

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 opens with a specific verb+resource combination: 'Push, update, search and log activities in HubSpot, Salesforce or Pipedrive.' It then enumerates the 4 modes (push_lead, update_opportunity, search_contact, log_activity) with parenthetical clarifications (e.g., 'create contact/lead'), making the tool's purpose unmistakable. No sibling tool competes for this function, so the description fully distinguishes it.

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 clearly explains the 4 modes, implicitly guiding the user on which to use based on desired action. It also adds critical context: 'If credentials are absent, returns a mock result with a warning signal' and explains per-provider auth requirements. It does not explicitly state when not to use or name alternative tools, but the mode breakdown and mock-result warning provide strong contextual guidance.

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.

TDQS

C2.4/5.0
Disambiguation1/5

Over 50 tools share the identical template 'Gapup agent-payable C-suite expertise' with similar French descriptions and reference cases, making their boundaries indistinguishable. Clusters like competitor_intel, competitive_deep_dive, competitor_moves, competitor_profiles, competitor_pricing_radar, competitor_pricing_scrape, and competitor_recommendations heavily overlap in purpose.

Naming Consistency1/5

Names are chaotic: mix of French and English, snake_case and camelCase, verb_noun, noun, and adjective forms with no uniform pattern. Examples like 'bp_narratif', 'content_enrichment', 'ai_governance_full_report_async', and 'job_result' show no coherent naming convention.

Tool Count1/5

271 tools is far beyond any reasonable MCP server scope, creating an overwhelming selection burden for agents. This count vastly exceeds the 25+ threshold for 'too many' and makes navigation impractical.

Completeness2/5

While the server covers many business domains, it lacks lifecycle operations (e.g., no update/delete tools for the deliverables it generates) and the input specifications are vague ('documented case fields' without documentation), creating functional dead ends. The sheer breadth does not compensate for these gaps.