Cello
Server Details
Cello MCP server to launch and manage your User Referral and Partner program — for developers and growth teams.
- Status
- Healthy
- Uptime
- 100.0% over 39 days
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 7 tools
Most tools have clearly distinct purposes: events, integration status, metrics, recommendations, referrers, and documentation search are all distinguishable. However, cello_get_referrers and cello_get_top_referrers overlap significantly, since referrers can already be sorted by revenue, creating potential misselection.
All tool names follow the consistent pattern cello_<verb>_<noun>, with six using 'get' and one using 'search'. This is a predictable and uniform convention across the entire set.
Seven tools is well within the ideal range for a focused analytics/diagnostic server. Each tool addresses a distinct aspect of the referral program domain, and the count feels neither bloated nor thin.
The toolset covers key workflows: diagnosing integration health, inspecting raw events, viewing aggregate metrics, identifying top referrers, getting recommendations, and searching documentation. Minor gaps exist, such as no tool for individual event details or referrer profile drilling, but the core use cases are well supported.
Available Tools
7 toolscello_get_eventsARead-onlyInspect
Retrieve the latest events feed for your product — recent webhook and API events received by Cello from your webhook provider or direct API integration. Use when a user asks if events are being received correctly, why attribution isn't working, or to diagnose missing or malformed payload fields.
| Name | Required | Description | Default |
|---|---|---|---|
| sandbox | Yes | Query the sandbox (test) environment instead of production. Only works when the user's Cello account has a connected test product |
Output Schema
| Name | Required | Description |
|---|---|---|
| events | Yes | |
| environment | Yes | |
| autoAttributionEnabled | Yes | |
| isAutoAttributionMainSignupSource | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it as read-only and non-destructive, and the description adds context about the source of events (webhook provider or direct API integration) and the diagnostic scenarios. It does not disclose any rate limits or pagination, but for a simple read-only feed with annotations, this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with what the tool does and followed by specific use cases. Every sentence adds value, with no wasted words or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one boolean parameter, a read-only annotation, and an output schema available, the description covers the purpose and usage scenarios effectively. It does not mention the output format or limitations, but those are likely handled by the output schema, so the overall context is complete enough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'sandbox' is fully described in the schema with its default and behavior. The description itself adds no additional parameter guidance, but with 100% schema coverage, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves 'the latest events feed' with specific detail about webhook and API events from Cello, distinguishing it from sibling tools like integration status or metrics. The verb 'retrieve' plus the resource 'events feed' makes the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use when a user asks if events are being received correctly, why attribution isn't working, or to diagnose missing or malformed payload fields.' This provides clear usage context, though it does not explicitly mention when not to use it or name alternative tools, so it misses the top tier.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cello_get_integration_statusARead-onlyInspect
Check whether all four components of a Cello integration are working correctly: Referral Widget, Attribution Widget, Signup tracking, and Purchase events tracking. Use when a user asks whether their integration is working or why events aren't processed, or as a first diagnostic step before checking the event feed.
| Name | Required | Description | Default |
|---|---|---|---|
| sandbox | Yes | Query the sandbox (test) environment instead of production. Only works when the user's Cello account has a connected test product; accounts with only a test product always get sandbox data. |
Output Schema
| Name | Required | Description |
|---|---|---|
| environment | Yes | |
| signupStatus | Yes | |
| widgetStatus | Yes | |
| purchaseStatus | Yes | |
| attributionWidgetStatus | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds valuable context about the four components checked and the diagnostic role, going beyond what annotations provide, though it doesn't disclose return format (covered by output schema) or any potential edge cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action ('Check whether'), enumerates components concisely, and provides usage guidance without redundancy. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and a single boolean parameter, the description is complete: it specifies what is checked, when to use it, and how it fits as a diagnostic step. No critical information about behavior or return values is missing given the structured data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the parameter 'sandbox' has a thorough schema description explaining its behavior and constraints. The tool description adds no param-specific information, but the schema already does the heavy lifting, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks whether four specific components of a Cello integration are working, listing them explicitly. This specific verb+resource scope distinguishes it from sibling tools like cello_get_events or cello_get_program_metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says when to use this tool: when a user asks if their integration is working or why events aren't processed, and as a first diagnostic step before checking the event feed. This provides clear context and implies the alternative (cello_get_events) for event-level diagnosis.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cello_get_program_metricsARead-onlyInspect
Get complete referral program metrics in one call: lifetime totals, weekly and monthly history, and industry benchmarks. Use for questions about program performance, stats, trends, revenue, funnel metrics, or industry comparisons.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| currency | Yes | ISO currency code for all monetary values (e.g. EUR, USD) |
| benchmarks | No | Industry benchmarks by GTM motion plus the customer's own rates |
| historyByWeek | No | Weekly time series; 'periods' contains complete weeks only, 'latestPeriod' is the current week |
| allTimeMetrics | No | Lifetime cumulative totals plus recent monthly/weekly changes |
| historyByMonth | No | Monthly time series; 'periods' contains complete months only, 'latestPeriod' is the current month |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. Description adds what metrics are included (lifetime totals, weekly/monthly history, benchmarks), providing additional context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with main action, no wasted words. Structure is efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters and output schema present, description adequately covers purpose and usage. Could be improved by mentioning data freshness or update frequency, but overall sufficient for a simple metrics tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters; schema coverage is 100%. Baseline score of 4 is appropriate as description explains tool's return content without needing param details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb 'Get' with specific resource 'complete referral program metrics' and details includes lifetime totals, weekly/monthly history, benchmarks. Distinct from sibling tools like get_events, get_referrers, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use: 'for questions about program performance, stats, trends, revenue, funnel metrics, or industry comparisons.' No explicit when-not or alternatives, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cello_get_recommendationsARead-onlyInspect
Returns a prioritized list of best-practice recommendations for improving your referral program across three areas: Activation, Sharing, and Conversion. Use when a user asks how to improve their program, what they're missing, or what to do next after confirming integration health.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| tasks | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, which the description does not contradict. The description adds that output is organized into three areas, but does not disclose additional behavioral traits such as data source or update frequency. Given annotation coverage, the description provides moderate added context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of a single, well-structured sentence that efficiently states purpose and usage context. Every word adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no nested objects, output schema exists), the description fully covers what the tool does and when to use it. The presence of an output schema reduces the need to explain return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so schema coverage is trivially 100%. The description does not need to add parameter information. Baseline 4 is appropriate as no compensation is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a prioritized list of best-practice recommendations for improving referral programs, specifically across Activation, Sharing, and Conversion. It differentiates from sibling tools by focusing on improvement advice rather than data retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use: when a user asks how to improve their program, what's missing, or what to do next after confirming integration health. It provides clear context but does not explicitly mention alternatives or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cello_get_referrersARead-onlyInspect
Finds referrers of your product and returns aggregated engagement and performance metrics, optionally filtered and sorted. Returns up to 10 referrers per page. Use when a user wants to find a specific referrer by email, UCC, product user id, or referrer id — or when they want referrers ranked by a specific metric like signups, revenue, or sharing activity.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-indexed; page 1 returns the first 10 referrers, page 2 the next 10, etc.). Only specify when more than 10 referrers are needed. Omit for the first 10. | |
| sort | No | Sort referrers by engagement or performance metrics (descending). Available options: daysActive (number of days the referrer has been active), daysSharing (number of days the referrer has been sharing), lastActive (when the referrer was last active), referralAnnualRecurringRevenue (Net New Annual Recurring Revenue generated), referralRecurringPurchases (total number of purchases), referralRevenue (total revenue amount), referralSignups (total number of signups), referralViewsUnique (number of unique views from new users). | |
| filter | No | Filter by email, UCC, product user id, or referrer id |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| total | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare read-only and non-destructive behavior. The description adds pagination details (up to 10 per page) and mentions aggregated metrics. No contradictions; the description supplements annotations well.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action, followed by usage guidance. No fluff, every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description does not need to detail return values. It covers pagination, sorting, filtering, and a typical use case. Slightly missing could be a warning about sorting metric names, but overall adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds minor context for the `page` parameter (when to specify) and reiterates filter criteria, but does not significantly deepen understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds referrers and returns aggregated metrics, optionally filtered and sorted. It distinguishes itself from siblings like `cello_get_top_referrers` by covering both specific search and ranked lists, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when to use: when a user wants to find a specific referrer by criteria or when they want referrers ranked by a metric. It does not explicitly state when not to use or name alternatives, but the context is clear enough for correct selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cello_get_top_referrersARead-onlyInspect
Find the top-performing referrers of your product, ranked by revenue descending. Use when a user asks about top referrers, best performers, or which referrers generate the most revenue.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-indexed; page 1 returns the first 10 referrers, page 2 the next 10, etc.). Only specify when more than 10 referrers are needed. Omit for the first 10. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| total | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds context that the list is ranked by revenue descending and implies pagination (page parameter description mentions page size of 10). No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, concise and front-loaded with the core purpose. Every word adds value, no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists (so return values are documented elsewhere), the description covers the use case, ranking criteria, and triggers for use. It could explicitly state that it returns a list of top referrers, but the parameter description covers pagination.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%. The description does not add additional meaning beyond the schema's parameter description for 'page'. No elaboration on parameter semantics is needed beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds 'top-performing referrers' ranked by revenue descending, and includes the verb 'Find' and the resource 'referrers'. It distinguishes from sibling 'cello_get_referrers' by specifying ranking and revenue metric.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells when to use: 'Use when a user asks about top referrers, best performers, or which referrers generate the most revenue.' This directly guides the agent to select this tool over alternatives like 'cello_get_referrers'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cello_search_documentationARead-onlyInspect
Search Cello's documentation to find relevant articles, guides, code examples, and API references. Use this when you need to answer a question about Cello, figure out how to integrate Cello, or track down specific implementation details.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows this is a safe read operation. The description adds useful context about the types of documentation content searched, but it does not describe the return format, pagination, or any limitations. With annotations covering safety, this is acceptable but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no fluff. The first sentence states the action and resource, the second gives concrete usage scenarios. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with solid annotations, the description covers what it does, what content it searches, and when to use it. It does not detail the exact response structure, but the description is adequate for a documentation search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers the only parameter (query) with a description "Search query," so coverage is 100%. The description does not add any extra meaning to the parameter beyond what the schema already provides. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ("Search") and resource ("Cello's documentation") and lists the types of content (articles, guides, code examples, API references). This clearly distinguishes it from sibling tools that retrieve events, metrics, or referrers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit use cases: "answer a question about Cello," "figure out how to integrate Cello," and "track down specific implementation details." However, it does not mention when not to use this tool or name any alternatives, so it stops short of full guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
cello_search_documentation1 field changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#"
2 tool updates
- Changed
cello_get_events4 fields changed- added
Input schema / properties / sandboxAdded value: +{ + "default": false, + "description": "Query the sandbox (test) environment instead of production. Only works when the user's Cello account has a connected test product", + "type": "boolean" +} - added
Input schema / requiredAdded value: +[ + "sandbox" +] - added
Output schema / properties / environmentAdded value: +{ + "enum": [ + "production", + "sandbox" + ], + "type": "string" +} - changed
Output schema / requiredPrevious value: -[ - "events", - "autoAttributionEnabled", - "isAutoAttributionMainSignupSource" -]New value: +[ + "environment", + "events", + "autoAttributionEnabled", + "isAutoAttributionMainSignupSource" +]
- Changed
cello_get_integration_status4 fields changed- added
Input schema / properties / sandboxAdded value: +{ + "default": false, + "description": "Query the sandbox (test) environment instead of production. Only works when the user's Cello account has a connected test product; accounts with only a test product always get sandbox data.", + "type": "boolean" +} - added
Input schema / requiredAdded value: +[ + "sandbox" +] - added
Output schema / properties / environmentAdded value: +{ + "enum": [ + "production", + "sandbox" + ], + "type": "string" +} - changed
Output schema / requiredPrevious value: -[ - "widgetStatus", - "attributionWidgetStatus", - "signupStatus", - "purchaseStatus" -]New value: +[ + "environment", + "widgetStatus", + "attributionWidgetStatus", + "signupStatus", + "purchaseStatus" +]
7 tool updates
- First observed
cello_get_events - First observed
cello_get_integration_status - First observed
cello_get_program_metrics - First observed
cello_get_recommendations - First observed
cello_get_referrers - First observed
cello_get_top_referrers - First observed
cello_search_documentation
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.167 npm1MIT
- AlicenseCqualityAmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs119 npm49 PyPIMIT
- AlicenseNot gradedqualityBmaintenanceEnables tracking competitor websites, changelogs, blog feeds, and pricing pages with meaningful diffs, classification, and Markdown digests via MCP tools for listing, adding, removing competitors, running checks, and retrieving digests or changes.MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.