Quidli Connect
Server Details
MCP server for agent identity and reputation: resolve social handles to wallet addresses, score onchain reputation and send USDC from any MCP client.
- Status
- Healthy
- Uptime
- 99.9% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 14 tools
Most tools are cleanly separated by resource and action (e.g., connect_drop vs connect_drop_balance, connect_trust_create vs connect_trust_revoke). The main ambiguities are connect_lookup vs connect_lookup_exposed and connect_trust_check vs connect_trust_graph, but their descriptions clarify the different output shapes and use cases.
All tools share a consistent connect_ prefix and snake_case style, and subgroups like connect_scores_* and connect_trust_* follow clear internal patterns. The set is slightly inconsistent overall because some tools use get_ (connect_get_chains) while others use bare verbs or nouns (connect_lookup, connect_me, connect_scores_batch), but this remains predictable.
14 tools cover four related functional areas—identity lookup, scores, trust attestations, and payouts—without obvious redundancy. Each tool corresponds to a distinct operation, and the count is within the well-scoped 3-15 range.
The main workflows are covered: lookup and exposed profiles, scores via three access patterns, trust check/create/graph/revoke, and drop execution with a balance preflight. Minor gaps such as a dedicated drop transaction status tool or broader profile management prevent a perfect score.
Available Tools
14 toolsconnect_dropADestructiveIdempotentInspect
Execute a Smart Send from the API key owner Connect embedded wallet. EVM: batch native or ERC-20 (need native gas plus the token). Solana (chainId 1399811149): SOL or SPL from the Solana embedded wallet; packs up to 20 native or 10 SPL recipients per transaction. Social recipient types: email, phone, telegram, discord, farcaster, twitter, github (id or username). linkedin and slack are not on /drop — use connect_lookup first, then type wallet. After connect_lookup, EVM payouts use ethWalletAddress (never solWalletAddress); Solana payouts use solWalletAddress (never ethWalletAddress). Social types on /drop resolve server-side; for type wallet, pass the resolved payout address for the target chain. Omit tokenContract or set it to null for the native token; pass an ERC-20 contract or SPL mint otherwise — do not use the zero address. Amounts are smallest-unit integer strings (ETH 18 decimals, SOL 9, USDC usually 6). Solana native (tokenContract null): no ATA. Sending to a recipient without an existing funded account requires amount ≥ 890880 lamports (rent-exempt minimum for a system account); that SOL stays with the recipient. Below that the tx fails. Sender also pays a ~5000-lamport fee. Solana SPL: tokens sit in Associated Token Accounts (ATA), not on the wallet pubkey. Recipients need not already hold the token — the API prepends CreateIdempotent. The sender (not the recipient) pays ~2039280 lamports (~0.002039 SOL) rent per newly created dest ATA, plus tx fees, on top of the token amount (which can be as small as 1 unit). A 400 "Insufficient funds" on SPL is often missing SOL for ATA rent, not missing USDC. Token-2022 is not supported; USDC mint is EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v. Always call connect_drop_balance first. Returns 201 when submitted or 202 when recipients still processing — retry with the same idempotencyKey.
| Name | Required | Description | Default |
|---|---|---|---|
| chainId | Yes | EVM chain ID or 1399811149 for Solana mainnet | |
| recipients | Yes | Wallet or social recipients (all wallet or all social, no mix). Social types: email, phone, telegram, discord, farcaster, twitter, github (numeric id or username). linkedin and slack are not supported — use connect_lookup first, then type wallet. Optional amountInWei per recipient uses the same smallest-unit rules as amountInWeiPerRecipient. On EVM, wallet ids are 0x addresses; on Solana, base58 pubkeys. Social lookup payouts use ethWalletAddress on EVM and solWalletAddress on Solana. | |
| trustFilter | No | Keep only recipients in the sender EAS trust graph. | |
| tokenContract | No | EVM ERC-20 contract or Solana SPL mint. Omit or null for the native token (ETH/POL/AVAX, or SOL on 1399811149). Do not use the zero address. | |
| idempotencyKey | Yes | ||
| ignoreFailedRecipients | No | When true, send to recipients that resolved successfully and skip failed lookups. | |
| amountInWeiPerRecipient | No | Uniform amount in smallest units. Native ETH uses 18 decimals; SOL uses 9; ERC-20/SPL uses token decimals from connect_drop_balance (USDC usually 6). Omit when setting amountInWei on each recipient. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations, the description discloses rich behavioral detail: 201/202 return semantics, retry with the same idempotencyKey, Solana ATA rent costs, the ~5000-lamport fee, the 'Insufficient funds' failure pattern, and Token-2022 not being supported. This substantially exceeds what the annotations alone provide.
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 long, but it covers two blockchain paths, fee math, address selection, social recipient caveats, and retry behavior. It is front-loaded with the main action and well-organized by topic. Some content duplicates the schema, but the duplication emphasizes high-risk constraints rather than pure filler.
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 7 parameters, nested objects, two chains, social recipient resolution, and no output schema, this description is remarkably complete. It supplies prerequisites, return codes, retry guidance, rent/fee examples, and address-field selection rules. An agent has what it needs to make a correct first call.
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 86%, so the schema already documents most parameters. The description still adds critical nuance: omit tokenContract/null for the native token, 'do not use the zero address', smallest-unit integer strings with decimal examples, and Solana rent constraints tied to amounts. It enriches the tokenContract and amount parameters without needing to restate every field.
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 opens with a specific verb and resource: 'Execute a Smart Send from the API key owner Connect embedded wallet.' It then clearly distinguishes EVM and Solana behavior and recipient types, making it unmistakable what connect_drop does versus siblings like connect_drop_balance or connect_lookup.
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 'Always call connect_drop_balance first,' giving a clear prerequisite. It also routes unsupported recipient types ('linkedin and slack are not on /drop') to connect_lookup first, and explains which address field to use after lookup. This is strong when-to-use guidance for a complex cross-chain tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connect_drop_balanceARead-onlyIdempotentInspect
Get native and token balances for the API key owner Smart Send embedded wallet on a chain. Always call before connect_drop. Zero balances are omitted, so a missing token means balance 0. EVM: confirm native gas plus the ERC-20 being sent. Solana (chainId 1399811149): SOL in this response is spendable lamports on the wallet pubkey (rent locked in existing token accounts is not included). Native SOL drop to a recipient without an existing funded account: amount itself must be ≥ 890880 lamports and sender SOL must cover amount + ~5000 lamports fee. SPL drop: token balance ≥ total amount, and SOL ≥ tx fee + ~2039280 lamports (~0.002039 SOL) per recipient that may need a new Associated Token Account — even when sending USDC. Insufficient SOL for ATA rent fails before the token transfer.
| Name | Required | Description | Default |
|---|---|---|---|
| chainId | Yes | EVM chain ID or 1399811149 for Solana mainnet (Smart Send) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, but the description adds significant behavioral context beyond that: zero balances are omitted, Solana SOL shown is spendable lamports (rent locked in token accounts excluded), and specific fee/rent thresholds that affect interpretation. This is exactly the kind of behavior an agent needs to know and it goes well beyond the annotation baseline.
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 longer than average, but every sentence carries essential operational information. It is front-loaded with the core purpose and usage directive, then dives into Solana-specific details that are critical for correct invocation. No filler or repetition, though one could argue the Solana details are dense and might be condensed. Still, it earns its length.
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 balance-check tool with no output schema, the description fully compensates by explaining return behavior (zero balances omitted), the meaning of values on different chains, and the fee/rent constraints that affect subsequent calls. It covers all information an agent needs to correctly interpret results and decide whether to proceed with connect_drop. Very complete.
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 chainId is already fully documented in the schema with 'EVM chain ID or 1399811149 for Solana mainnet (Smart Send)', so schema coverage is 100%. The description does not add any new detail about the parameter itself; it only uses the chainId value in context. The baseline of 3 applies because the schema handles the parameter semantics completely.
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 opens with a clear verb and resource: 'Get native and token balances for the API key owner Smart Send embedded wallet on a chain.' It explicitly positions the tool as a pre-flight check for connect_drop, which distinguishes it from the sibling tools like connect_drop and connect_get_chains. The agent immediately knows what this tool does and how it relates to the drop operation.
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 first sentence includes the explicit directive 'Always call before connect_drop,' telling the agent exactly when to use this tool. It also provides situational guidance for both EVM and Solana paths, including when recipient accounts need extra SOL for rent. This is clear, actionable usage guidance with no ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connect_get_chainsARead-onlyIdempotentInspect
List product chains with per-feature compatibility. lookup is true for EVM catalog chains and Solana; drop is true for Smart Send EVM chains and Solana (chainId 1399811149 for connect_drop / connect_drop_balance).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnly and idempotent behavior. The description adds useful context by defining the semantic meaning of the two compatibility flags and calling out a specific chainId relevant to the drop feature, going beyond what hints alone convey.
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?
A single, information-dense sentence that front-loads the core purpose and then provides necessary clarification. There is no filler or redundancy; every clause 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?
The description explains what the tool returns (product chains with lookups and drop flags) and gives a concrete chain-id example for Solana, which is enough to understand typical usage. It does not mention pagination, but for a list of chains, that's likely nonessential.
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 tool accepts zero parameters, so the input schema carries no burden. The description correctly focuses on output semantics rather than parameter details, matching the baseline expectation for a no-parameter tool.
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 opening clause 'List product chains with per-feature compatibility' immediately identifies the action and object. It clearly distinguishes this tool from sibling operations by focusing on chain-level feature support rather than individual entity manipulation.
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 explains what 'lookup' and 'drop' flags mean)Skip which helps interpret results, but it does not explicitly state when to use this tool over alternatives or mention exclusion conditions. The reference to connect_drop / connect_drop_balance provides some navigational context, but it is incidental rather than prescriptive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connect_get_priceARead-onlyIdempotentInspect
Get public x402 list prices for lookup and scores (reference only; live paywall amounts are in 402 responses).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it read-only/idempotent/open-world; the description adds 'public' and 'reference only', clarifying that returned prices may not be live paywall values. This enriches the annotations with behavioral context, though it still omits output shape.
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?
Single sentence, front-loaded with the operation, then scoped with 'reference only' and the 402 caveat. No filler.
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 zero-parameter signature and rich annotations, the description covers the tool's purpose and its key limitation. It could specify the exact return shape, but for a public reference-price lookup the essentials are present.
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?
With zero parameters and an empty input schema, there are no parameter semantic gaps for the description to fill. The baseline 4 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?
States precise verb 'Get' and resource 'public x402 list prices for lookup and scores', immediately distinguishing this reference-price tool from sibling query tools like connect_lookup and connect_scores_batch. The phrase 'reference only' adds scope clarity.
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 warns that live paywall amounts are not returned here ('live paywall amounts are in 402 responses'), telling the agent when not to rely on this tool. It does not explicitly name alternative tools, but the 402-response pointer gives clear routing context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connect_lookupARead-onlyIdempotentInspect
Resolve social identities to EVM and Solana wallet addresses. Resolving a recipient who has no wallet provisions one for them, so this is read-only for the caller but not for the recipient. If status is processing, retry the same payload.
| Name | Required | Description | Default |
|---|---|---|---|
| recipients | Yes | Recipients to resolve to EVM/Solana wallets |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
It adds crucial behavioral context beyond annotations: 'Resolving a recipient who has no wallet provisions one for them, so this is read-only for the caller but not for the recipient' and the retry instruction. This enriches the idempotentHint/readOnlyHint annotations without contradicting them.
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 compact: it leads with the purpose, then the side-effect caveat, then the retry condition. Each sentence adds distinct practical value with no filler.
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 no output schema, the description mentions a `status` field and mentions 'processing', but it does not describe the shape of the response (e.g., how the resolved wallet addresses are returned). Given the real side-effect and open-world behavior, a slightly richer description of the expected result would make the tool more complete.
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 input schema fully covers the `recipients` parameter and its nested fields per the 100% schema description coverage. The description does not add anything about the parameters themselves, so a 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 identifies the action ('Resolve social identities to EVM and Solana wallet addresses') and names the resource and output. However, it does not differentiate this from the close sibling `connect_lookup_exposed` or explain difference between them.
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 practical advice ('If status is processing, retry the same payload') and implies a side effect (provisions a wallet for recipients), which informs when it is appropriate to call. But it does not explicitly mention when to use this tool versus alternatives like `connect_lookup_exposed`.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connect_lookup_exposedARead-onlyIdempotentInspect
List platforms a recipient has exposed on Connect, with enriched profile, scores, and wallet addresses. Recipient may be a social account, an exposed wallet (EVM/Solana/smart wallet), or a Connect username. May require x402 payment when the profile owner charges for lookups.
| Name | Required | Description | Default |
|---|---|---|---|
| recipient | Yes | Social identity, exposed wallet (EVM/Solana/smart wallet), or Connect username whose exposed linked accounts and Connect profile should be listed |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, and non-destructive behavior. The description adds the important behavior that lookups may require x402 payment when the profile owner charges, which is not expressed in the annotations. This is meaningful extra transparency.
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?
Three concise, information-dense sentences. The core action is front-loaded, the accepted recipients are summarized, and the payment caveat is placed logically. No filler or redundant restatement.
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?
Despite lacking an output schema, the description indicates the returned information: platforms, profile, scores, and wallet addresses. For a read-only lookup with one parameter, this is mostly complete; it doesn't cover payment failure behavior, but that is a minor gap.
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 the recipient parameter is already well documented. The description mainly reiterates acceptable recipient forms and explains the lookup purpose, but it doesn't add deeper semantics about how to specify IDs versus other identifier fields.
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 that the tool lists the platforms a recipient has exposed on Connect, and specifies the enriched output (profile, scores, wallet addresses). It is specific about the verb and resource, but it doesn't explicitly distinguish itself from the sibling connect_lookup, which is a closely named alternative.
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 useful context about acceptable recipient types and the potential x402 payment requirement, but it doesn't say when to choose this tool over connect_lookup or other siblings. There is no when-not-to-use guidance, leaving the choice between similarly named lookup tools ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connect_meARead-onlyIdempotentInspect
Get the Connect profile, scores, and all linked accounts for the API key owner. Use to identify which user the key belongs to.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive behavior, and the description adds value beyond them by disclosing the exact scope (the key owner) and that all linked accounts are returned. It doesn't contradict the annotations and contributes useful behavioral 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?
Two short sentences place the main action ('Get the Connect profile, scores, and all linked accounts') first, then give the intended use case. There is no filler or information that belongs only in annotations or schema.
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 no output schema available, the description still tells the agent what data will be returned ('profile, scores, and all linked accounts') and for whom. A more detailed shape of the response would be helpful, but the purpose and invocation scope are complete.
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 tool takes zero parameters and has a schema coverage of 100%, so the baseline is 4 and there are no parameters for the description to explain. The description appropriately adds no redundant parameter 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?
The description names a specific verb ('Get'), the resources ('Connect profile, scores, and all linked accounts'), and the scope ('for the API key owner'). This makes it easy to distinguish from siblings like connect_scores_by_account or connect_lookup, which are not scoped to the current key owner.
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 a concrete use case ('Use to identify which user the key belongs to'), which builds on the clear scope. It does not explicitly name alternatives or say when not to use the tool, so it stops short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connect_scores_batchBRead-onlyIdempotentInspect
Batch scores for linked accounts or Connect usernames. One result per request user. Optional filter sets passedFilter (quidli 0–100, neynar/lens 0–1, ethos 0–2800).
| Name | Required | Description | Default |
|---|---|---|---|
| users | Yes | Users to fetch scores for | |
| filter | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds useful extra context: one result per request user and optional filter ranges. However, the garbled phrase "passedFilter" and lack of details about return shape, errors, or rate limits keep this at a solid but not high level.
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 short and front-loaded with the main purpose and cardinality. It loses points for the awkward, unclear "Optional filter sets passedFilter" phrasing, which is not a clean expression of the filter parameter behavior.
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 there is no output schema, the description gives only a minimal hint about return behavior (one result per user) and no shape or example. It also does not clarify how user identifiers should be provided or what happens for invalid or missing users, leaving an agent with meaningful gaps for a nested-parameter batch 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?
Schema coverage is around 50%, with descriptions for the users array and minScore but not for filter type or the user object fields. The description adds the account/username dimension and repeats the filter ranges, but it does not clarify the crucial detail of how to specify a user (id vs username) or that filter requires both type and minScore when present.
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 fetches scores in batch for linked accounts or Connect usernames and adds the valuable behavioral note "One result per request user." It does not explicitly name sibling tools, but the batch scope plus account/username coverage distinguishes it from the single-account score tools.
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 batch wording implies it is for multiple users, and the description says it covers both linked accounts and usernames, which signals usage context. However, it never mentions when to prefer connect_scores_by_account or connect_scores_by_username for single-user lookups, nor does it mention any exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connect_scores_by_accountCRead-onlyIdempotentInspect
Scores for a linked social account or wallet.
| Name | Required | Description | Default |
|---|---|---|---|
| platform | Yes | ||
| identifier | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey readOnly, idempotent, and non-destructive behavior. The description adds almost nothing beyond restating the resource scope ('linked account or wallet'). No disclosure about return shape, lookup failure behavior, or account-linking requirements is provided, so the behavioral burden falls unfilled on the description.
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 a single brief sentence with zero redundant words. It is front-loaded with the core noun phrase. However, its brevity is not false economy; it is genuinely under-specified in other dimensions.
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?
Despite being a simple 2-parameter tool with strong safety annotations, the description is too terse. It fails to explain what 'scores' are, the output/return, or how this differs from the sibling score tools. An agent would need to inspect types or examples to use it effectively.
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 0%, so the description is the only source of parameter meaning beyond the raw schema. It only roughly maps to 'platform' via 'social account or wallet' and gives no meaning for 'identifier'. It does not compensate for the missing schema descriptions.
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 is a noun phrase, not an action statement. It says 'Scores for a linked social account or wallet,' which implies a retrieval but lacks an explicit verb. It names the resource (linked account/wallet) but gives no basis for distinguishing from sibling `connect_scores_by_username` or `connect_scores_batch`.
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?
No guidance is given about when to use this tool vs. alternatives like `connect_scores_by_username` or `connect_scores_batch`. The description does not mention constraints, prerequisites (e.g., whether the account must already be linked), or scenarios where this tool is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connect_scores_by_usernameCRead-onlyIdempotentInspect
Scores by Connect public username.
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral context beyond what the annotations already declare (readOnly, openWorld, idempotent, not destructive). It does not mention potential errors, rate limits, authentication requirements, or whether the lookup is exact or partial. With annotations present, the bar is lower, but the description still contributes nothing.
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 extremely concise, consisting of a short phrase with no fluff. It is front-loaded with the key information. However, it is a noun phrase rather than a complete sentence, which could be structurally improved by adding an explicit verb.
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 (1 param, no output schema), the description is not complete enough. It does not describe the return format or what 'scores' means, nor does it differentiate from connect_scores_by_account or connect_scores_batch. An agent might wonder if this returns a single score or a list, and whether it requires authentication.
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 0%, so the description must compensate. It adds the qualifier 'public' to 'username,' clarifying that the parameter refers to a Connect public username. However, it does not specify format, case sensitivity, or any constraints beyond what the schema's minLength:1 provides. For a single parameter, this is adequate but not thorough.
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 states a clear resource ('Scores') and identifier ('Connect public username'), which aligns with the tool name. It does not explicitly use a verb like 'get' or 'retrieve,' but the intent is unambiguous. It does not contrast with siblings like connect_scores_by_account or connect_scores_batch, but the 'public username' qualifier provides some distinction.
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 provides no guidance on when to use this tool versus alternatives. It does not mention connect_scores_by_account or connect_scores_batch, nor does it explain scenarios where a public username is appropriate versus other identifiers. An agent is left to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connect_trust_checkARead-onlyIdempotentInspect
Check whether identities sit in a trust graph at depth 1. Omit context to match any context.
| Name | Required | Description | Default |
|---|---|---|---|
| from | Yes | Graph owner | |
| context | No | If set, only this context matches | |
| targets | Yes | Identities to test |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is covered. The description adds genuinely useful behavior beyond that: the depth-1 boundary (a one-hop verification, not full traversal) and the omit-context wildcard semantics. It is fully consistent with the annotations—no contradiction.
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 short sentences, zero filler. The core purpose is front-loaded first, and the second sentence earns its place by explaining a non-obvious default behavior. Nothing could be trimmed without losing information.
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?
The schema fully documents all three parameters and the annotations cover the read-only/idempotent profile. However, there is no output schema and the description never states what the check returns—a boolean per target, a filtered list, or a single verdict—which the agent needs to interpret results. The directionality of 'depth 1' (relative to the graph owner) is also implicit rather than stated.
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% ('Graph owner', 'If set, only this context matches', 'Identities to test'), so the baseline is 3. The description adds one complementary piece the schema lacks: the default behavior when context is omitted ('Omit context to match any context'), which completes the parameter semantics for the agent.
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 ('Check') with a specific resource ('identities... in a trust graph') and a precise scope qualifier ('at depth 1'). This distinguishes it clearly from the trust_* sibling family: connect_trust_create, connect_trust_revoke, and connect_trust_graph all imply different actions, while this is a predicate/verification tool.
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 implies its use case ('check... at depth 1' as a quick verification) and provides parameter-level guidance ('Omit context to match any context'), but it never states when to choose this over siblings like connect_trust_graph or connect_lookup. The alternative-selection logic is left for the agent to infer from the depth-1 qualifier.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connect_trust_createADestructiveIdempotentInspect
Create a unidirectional trust attestation on Base (EAS) from the API key owner embedded wallet to a wallet or social identity. Identical active attestations are returned without a new transaction. Requires CONNECT_API_KEY, Smart Send attestation signer enrolled, and ETH on Base for gas.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Identity to trust (wallet, social, or Connect username) | |
| level | Yes | Trust level 1–100 | |
| context | No | Optional context such as team:quidli | |
| expiresIn | No | Optional lifetime in seconds |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description adds rich behavioral detail: the attestation is on Base/EAS, unidirectional, originates from the embedded wallet, and identical active attestations 'are returned without a new transaction.' The prerequisites (API key, signer enrollment, gas) also disclose what is needed for the call to succeed, going well beyond the structured hints.
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 three efficient sentences: the core purpose in the first, idempotency behavior in the second, and prerequisites in the third. Every sentence contributes essential information with no filler.
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?
The description covers the key behavioral aspects and prerequisites, and the schema fully documents parameters. The only gap is that with no output schema, the exact response for a newly created attestation is not explicitly described, though the idempotent-return phrase implies returned attestation data. Overall, the description is largely complete.
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 each parameter has a meaningful description (e.g., 'Identity to trust', 'Trust level 1–100'). The description itself adds no direct parameter-level semantics beyond the schema, so the baseline of 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 begins with a specific verb and resource: 'Create a unidirectional trust attestation on Base (EAS)'. It also specifies the source (API key owner embedded wallet) and target (wallet or social identity), making it clearly distinct from sibling tools like connect_trust_revoke and connect_trust_check.
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 provides clear operational context by stating prerequisites: 'Requires CONNECT_API_KEY, Smart Send attestation signer enrolled, and ETH on Base for gas.' It also notes the idempotent behavior for identical active attestations. However, it does not explicitly name when to use this over alternatives, though sibling names make that inference straightforward.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connect_trust_graphARead-onlyIdempotentInspect
List outgoing or incoming trust edges for an identity at depth 1.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | ||
| platform | Yes | Identity platform, or username for a Connect username | |
| direction | No | out = who they trust (default); in = who trusts them | |
| identifier | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds the depth-1 limitation and direction scoping, but does not disclose output shape, pagination, limits, or authentication requirements. No contradiction 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, well-structured sentence that front-loads the verb and resource, includes the critical depth constraint, and contains no filler. It is appropriately concise for the tool's complexity.
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?
The tool is simple and the annotations carry the read-only safety context, making the description minimally viable for invocation. However, there is no output schema, and the description does not mention what a trust edge result contains, whether pagination exists, or how the context parameter behaves.
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 50%, with platform and direction described but context and identifier left undocumented. The description adds a little meaning by framing the query as identity-based trust edges and clarifying outgoing/incoming, but it does not explain the context parameter or identifier format, so it only partially compensates.
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 ('List'), a clear resource ('trust edges'), and a precise scope ('outgoing or incoming', 'for an identity at depth 1'). This distinguishes it from mutation siblings like connect_trust_create and connect_trust_revoke, and from the point-check tool connect_trust_check.
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 implies when to use the tool: when you need a depth-1 view of trust edges in either direction. However, it does not explicitly state when not to use it or name alternatives such as connect_trust_check for verifying a single trust relationship.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connect_trust_revokeADestructiveIdempotentInspect
Revoke active trust attestations from the API key owner to a target. Optional context limits which attestations are revoked. Requires CONNECT_API_KEY and ETH on Base.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Identity to untrust | |
| context | No | Revoke only this context. Omit to revoke all contexts for the pair. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey the destructive and idempotent nature of the operation, so the bar for extra disclosure is lower. The description adds useful context beyond annotations by stating that CONNECT_API_KEY and ETH on Base are required, which implies an on-chain, gas-bearing action. It also explains that context can limit which attestations are revoked.
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 with no filler: the action is front-loaded, the optional context behavior is stated, and the prerequisites are included. Every sentence contributes useful information.
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 destructive trust-revocation tool with no output schema, the description covers the key operational aspects: what is revoked, how context scopes the action, and the required credentials/gas token. It does not describe the response format, but the annotations and schema are sufficient for an agent to call it correctly.
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 the schema already documents both parameters and the nested target object. The description only restates the context-limiting behavior already present in the schema, so it adds minimal parameter-level meaning beyond the structured definitions.
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 states a specific verb and resource: 'Revoke active trust attestations from the API key owner to a target.' This clearly distinguishes it from the sibling trust tools like connect_trust_create, connect_trust_check, and connect_trust_graph, and the optional context clause adds scope precision.
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 operation and prerequisite are clear, and the schema explains that omitting context revokes all contexts. However, the description does not explicitly say when to prefer this tool over alternatives or when not to use it; it relies on inferred semantics from the sibling names.
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.
5 tool updates
- Changed
connect_drop1 field changed- added
Input schema / properties / trustFilterAdded value: +{ + "additionalProperties": false, + "description": "Keep only recipients in the sender EAS trust graph.", + "properties": { + "context": { + "description": "Restrict to this trust context. Omit to match any.", + "type": "string" + }, + "mode": { + "description": "require = fail if anyone is outside the graph; skip = drop them", + "enum": [ + "require", + "skip" + ], + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" +}
- Added
connect_trust_check - Added
connect_trust_create - Added
connect_trust_graph - Added
connect_trust_revoke
1 tool update
- Changed
connect_drop2 fields changed- changed
Input schema / properties / recipients / descriptionPrevious value: -"Wallet or social recipients (all wallet or all social, no mix). Optional amountInWei per recipient uses the same smallest-unit rules as amountInWeiPerRecipient. On Solana, wallet ids are base58 pubkeys; social lookup pays solWalletAddress."New value: +"Wallet or social recipients (all wallet or all social, no mix). Social types: email, phone, telegram, discord, farcaster, twitter, github (numeric id or username). linkedin and slack are not supported — use connect_lookup first, then type wallet. Optional amountInWei per recipient uses the same smallest-unit rules as amountInWeiPerRecipient. On EVM, wallet ids are 0x addresses; on Solana, base58 pubkeys. Social lookup payouts use ethWalletAddress on EVM and solWalletAddress on Solana." - changed
Input schema / properties / recipients / items / properties / type / enumPrevious value: -[ - "email", - "phone", - "telegram", - "discord", - "farcaster", - "twitter", - "github", - "linkedin", - "slack", - "wallet", - "username" -]New value: +[ + "email", + "phone", + "telegram", + "discord", + "farcaster", + "twitter", + "github", + "wallet" +]
10 tool updates
- First observed
connect_drop - First observed
connect_drop_balance - First observed
connect_get_chains - First observed
connect_get_price - First observed
connect_lookup - First observed
connect_lookup_exposed - First observed
connect_me - First observed
connect_scores_batch - First observed
connect_scores_by_account - First observed
connect_scores_by_username
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.1622 npm1MIT
- AlicenseCqualityAmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs119 npm37 PyPIMIT
- AlicenseAqualityCmaintenanceRevnuvo Company Intelligence tells AI agents what changed at a company, with evidence. It observes company websites, technologies, and DNS over time and returns timestamped, confidence-aware changes, signals, and monitoring.9MIT

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.