Quidli Connect MCP
github.com/quidli/connect-mcp- Category
- Developer Tools
- Rank
- No. 1661Tools index
Previous survey · No. 1590 ·
- Pricing
- Freemium
- Type
- TOOL
- Use case
- Business & Commerce
- Interfaces
- MCP
- GitHub
- 7 stars
- Date
About
An MCP server that resolves social handles from Telegram, Discord, Farcaster, X, GitHub, LinkedIn, email or phone into wallet addresses, scores onchain reputation, and lets agents send USDC to unfamiliar counterparties. It supports hosted or local (npx) connection modes, optional API keys, and x402 wallet pay-per-call billing for agent-to-agent or agent-to-human payments.
What it does
A thin bridge between an AI assistant and Quidli's hosted service. Give it a person's username on a chat app, a code host or a phone number, and it returns the crypto accounts tied to that person, plus trust scores from several outside scoring systems. With a paid key it can also move money out of a Quidli-held account and record on-chain vouches between people. All the real work happens on Quidli's servers; the package itself only shapes requests and handles billing. You can point your assistant at their hosted address or run the package on your own machine.
Why it's ranked here
The code is small, readable and MIT licensed, and it ships both a local and a hosted mode from one package, listed in the official protocol registry. The design shows care where money is involved: tools that move funds are flagged as destructive, the wallet key is only ever read locally, and the money-moving tools refuse to run without an account key. The catch is that nearly all the value sits in a closed Quidli service. This is a client for one company's platform, not a standalone tool, and it earns attention mainly from people already willing to route payments through Quidli.
What's good
Tool descriptions carry real operational detail an agent needs, such as the exact minimum balance needed to send to a fresh Solana account and the extra fee the sender pays per new token account. The tool marking is treated as a safety control: the source comments say a tool that can move funds must never be marked read-only. Wallet pay-per-call keeps the private key on your machine, and if both a key and a wallet are set, the key wins, so there is no ambiguity about which one pays. Anonymous hosted use is capped at 50 calls a minute by default.
Tradeoffs
The address lookup is marked read-only, yet its own description admits it creates a wallet for anyone who lacks one, so a client trusting that marking will run it without asking. The pay-per-call setup accepts payment requests on any EVM network, not just the one you configured. The anonymous rate limit lives in process memory, so it resets on restart and is not shared across servers. On the live service, no-credentials lookups return a payment-required error, which undercuts the headline "no key required" pitch for local use. Sending money, your own profile and vouching all need a paid Quidli key.
How to use it well
Fits an agent workflow that has to pay a person it has never dealt with, where you want the agent to check who it is paying before the money leaves. Start on the hosted address with no key to try lookups, then add a key for sends. Use a dedicated low-balance wallet for pay-per-call, never your main one. Configure your client to ask before every lookup, since lookups create accounts for other people. It does not custody funds for you, audit the scoring systems it relays, or work offline: every call goes to Quidli.
Technical notes+
Stdio entry is src/index.ts calling main() in src/server.ts, which builds an McpServer via createMcpServer (src/create-mcp-server.ts) and registers 14 tools in src/tools/register.ts. Every tool is a one-line proxy to ConnectClient.request (src/client.ts), a fetch wrapper over the Connect REST API (default base https://api.connect.quid.li, src/config.ts). Annotations: connect_lookup carries READ_ONLY despite its description stating it provisions recipient wallets; connect_drop, connect_trust_create and connect_trust_revoke carry SPENDS_FUNDS (destructiveHint true, idempotentHint true). requireApiKey short-circuits drop, drop_balance, me, trust_create and trust_revoke before any network call. src/x402-fetch.ts wraps fetch with @x402/fetch and registers ExactEvmScheme for both eip155:<configured chain> and the wildcard eip155:*; chain lookup falls back to Base for unknown ids. loadConfig drops evmPrivateKey when CONNECT_API_KEY is set. Hosted gating (src/hosted-gate.ts, src/http-auth.ts) rejects missing keys unless CONNECT_MCP_ALLOW_ANONYMOUS is true, rejects a fixed placeholder-key set with 401, and applies an in-memory SlidingWindowLimiter (src/anonymous-quota.ts) of 50 rpm global and 5 rpm for connect_agent_prompt, exempting connect_get_price and connect_get_chains. connect_agent_prompt is referenced by the quota but is not in CONNECT_MCP_TOOL_NAMES.
Observed
- License
- MIT license
- Language and packaging
- Written in TypeScript, published as an ES module npm package with two binaries: a stdio server and an HTTP server
- Platform
- Requires Node.js 20 or newer
- Distribution
- Registered in the MCP server registry with an npm stdio package and a streamable-http remote
- Interface
- Exposes 14 MCP tools covering price, chains, lookup, scores, profile, send, balance and trust attestations
- Safety annotations
- Funds-moving tools are annotated destructive and never read-only
- Lookup side effect
- The lookup tool is annotated read-only while its description says it provisions a wallet for recipients who lack one
- Payments
- x402 payment client registers a wildcard scheme for any EVM chain in addition to the configured chain
- Credentials
- If both an API key and a wallet private key are set, the private key is discarded and the API key is used
- Rate limiting
- Anonymous hosted quota is an in-process sliding window, default 50 calls per minute globally and 5 per minute for the agent tool
- Architecture
- All tool logic is proxied to a remote Quidli REST API; no resolution or scoring happens locally
- Authentication
- Hosted mode rejects requests with no API key unless anonymous access is explicitly enabled by environment variable
Read from README.md, package.json, server.json, src/index.ts, src/server.ts, src/create-mcp-server.ts, src/tools/register.ts, src/client.ts, src/anonymous-quota.ts, src/x402-fetch.ts, src/http-auth.ts, src/hosted-gate.ts, src/config.ts, LICENSE.
What it can do
Resolve social handles (Telegram, Discord, Farcaster, X, GitHub, LinkedIn, email, or phone) into wallet addresses
Social handle, email, or phone number → Wallet address
Score onchain reputation of a wallet or counterparty
Wallet address or resolved identity → Reputation score
Send USDC to a resolved counterparty
Wallet address and USDC amount → Payment transaction
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.