Quidli Connect
by Quidli · remote · local (npm) · no sign-in to list tools · v0.6.12 · published by GitHub user Quidli
Resolve social handles to wallets, score onchain reputation, and make agent payments in USDC.
14 tools: 4 can delete or cancel things, 4 change things and 6 only read.
Scanned Oct 21, 2026
- Deletes or cancels4Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things4Claude Code: ask: see these tools
- Only reads6Claude Code: allow: see these tools
3 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http connect https://mcp.connect.quid.liFindings
Matches of fixed checks, with the text they matched.
- Warnconnect_drop
The description contains a 44-character base64 string.
What this check looks forMatched text
description: "...orted; USDC mint is EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v. Always call connec..."
The server marks "connect_drop_balance" read-only (readOnlyHint: true), and its own name, description or input give the class "destructive".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "connect_drop_balance" says "drop": a word for removing or ending something.
The server marks "connect_drop_balance" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "connect_drop_balance" says "drop": a word for removing or ending something.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
14 tools
Deletes or cancels 4Claude Code: deny
connect_dropExecute a Smart Send from the API key owner Connect embedded wallet.1 finding
Why it is in this group
- The name "connect_drop" says "drop": a word for removing or ending something.
- The input addresses people (input.recipients): what it sends cannot be taken back.
- The server marks it destructive (destructiveHint: true).
Findings
- Warn
The description contains a 44-character base64 string.
What this check looks forMatched text
description: "...orted; USDC mint is EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v. Always call connec..."
Description, as the server wrote it 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.
Annotations the server declares
- title: Send Tokens (Smart Send)
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
connect_drop_balanceGet native and token balances for the API key owner embedded wallet.2 findings
Why it is in this group
- The name "connect_drop_balance" says "drop": a word for removing or ending something.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
- The server marks it not destructive (destructiveHint: false), but an annotation never lowers a class.
Findings
- Warn
The server marks "connect_drop_balance" read-only (readOnlyHint: true), and its own name, description or input give the class "destructive".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "connect_drop_balance" says "drop": a word for removing or ending something.
- Warn
The server marks "connect_drop_balance" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "connect_drop_balance" says "drop": a word for removing or ending something.
Description, as the server wrote it Get native and token balances for the API key owner embedded wallet. Accepts Smart Send chains and enabled delegation chains. Robinhood Chain (4663) returns ERC-20 balances from Blockscout. Monad (143) returns ERC-20 balances from Moralis; other delegation chains return native plus featured tokens. 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.
Annotations the server declares
- title: Check Smart Send Balance
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
connect_trust_createCreate a unidirectional trust attestation on Base (EAS) from the API key owner embedded wallet to a wallet or social identity.No findings
Why it is in this group
- The name "connect_trust_create" says "create": a word for a change.
- The input addresses people (input.to): what it sends cannot be taken back.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- title: Create Trust Attestation
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
connect_trust_revokeRevoke active trust attestations from the API key owner to a target.No findings
Why it is in this group
- The name "connect_trust_revoke" says "revoke": a word for removing or ending something.
- The input addresses people (input.to): what it sends cannot be taken back.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- title: Revoke Trust Attestation
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
Changes things 4Claude Code: ask
connect_scores_batchBatch scores for linked accounts or Connect usernames.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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).
Annotations the server declares
- title: Score Identities (Batch)
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
connect_scores_by_accountScores for a linked social account or wallet.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Scores for a linked social account or wallet.
Annotations the server declares
- title: Score a Linked Account
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
connect_scores_by_usernameScores by Connect public username.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Scores by Connect public username.
Annotations the server declares
- title: Score a Connect Username
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
connect_trust_checkCheck whether identities sit in a trust graph at depth 1.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Check whether identities sit in a trust graph at depth 1. Omit context to match any context.
Annotations the server declares
- title: Check Trust
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
Only reads 6Claude Code: allow
connect_get_chainsList product chains with per-feature compatibility.No findings
Why it is in this group
- The name "connect_get_chains" says "get": a word for reading.
Description, as the server wrote it List product chains with per-feature compatibility. lookup is true for EVM catalog chains and Solana; drop is true for Smart Send chains, enabled delegation chains, and Solana (chainId 1399811149 for connect_drop / connect_drop_balance).
Annotations the server declares
- title: List Supported Chains
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
connect_get_priceGet public x402 list prices for lookup and scores (reference only; live paywall amounts are in 402 responses).No findings
Why it is in this group
- The name "connect_get_price" says "get": a word for reading.
Description, as the server wrote it Get public x402 list prices for lookup and scores (reference only; live paywall amounts are in 402 responses).
Annotations the server declares
- title: Get x402 Prices
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
connect_lookupResolve social identities to EVM and Solana wallet addresses.No findings
Why it is in this group
- The name "connect_lookup" says "lookup": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: Resolve Handle to Wallet
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
connect_lookup_exposedList platforms a recipient has exposed on Connect, with enriched profile, scores, and wallet addresses.No findings
Why it is in this group
- The name "connect_lookup_exposed" says "lookup": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: List Exposed Accounts
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
connect_meGet the Connect profile, scores, and all linked accounts for the API key owner.No findings
Why it is in this group
- The description's first verb is "get": a word for reading.
Description, as the server wrote it Get the Connect profile, scores, and all linked accounts for the API key owner. Use to identify which user the key belongs to.
Annotations the server declares
- title: Get My Connect Profile
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
connect_trust_graphList outgoing or incoming trust edges for an identity at depth 1.No findings
Why it is in this group
- The description's first verb is "list": a word for reading.
Description, as the server wrote it List outgoing or incoming trust edges for an identity at depth 1.
Annotations the server declares
- title: List Trust Edges
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.6.12. Values in angle brackets are yours to fill in.
claude mcp add --transport http connect https://mcp.connect.quid.liRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__connect__connect_get_price",
"mcp__connect__connect_get_chains",
"mcp__connect__connect_lookup",
"mcp__connect__connect_lookup_exposed",
"mcp__connect__connect_me",
"mcp__connect__connect_trust_graph"
],
"ask": [
"mcp__connect__connect_scores_batch",
"mcp__connect__connect_scores_by_account",
"mcp__connect__connect_scores_by_username",
"mcp__connect__connect_trust_check"
],
"deny": [
"mcp__connect__connect_drop",
"mcp__connect__connect_drop_balance",
"mcp__connect__connect_trust_create",
"mcp__connect__connect_trust_revoke"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as connect. Review it before you use it.
