Veezco
Server Details
Find local businesses to sell to, with contacts, website checks and an opening line for the call.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
Each tool targets a clearly distinct resource: credit balance, category enumeration, and company search. There is no overlap in purpose, and the descriptions explicitly state the intended call order (list_categories before search_companies) and that the first two are free while search consumes credits.
All names follow a consistent verb_noun snake_case pattern: get_credits, list_categories, search_companies. The verbs are used precisely (get for a single resource, list for enumeration, search for filtered queries).
Three tools is on the low end but each earns its place, and the surface maps cleanly onto a read-only lead-generation workflow. Slightly thin — there is no tool for re-fetching a specific lead by identifier or for browsing a city list independently of a category query.
The discovery workflow is covered end-to-end: check credits, discover valid category names, then search with filters and re-poll for live collections. Minor gaps remain around retrieving already-received leads without re-issuing the same search and around city discovery, but agents can work around both from the existing descriptions.
Available Tools
3 toolsget_creditsGet creditsARead-onlyIdempotentInspect
Your Veezco credit balance and plan. Free, no credits used. One credit is one new lead.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is fully covered. The description adds the genuinely useful fact that the call consumes no credits, and defines the unit ('one credit is one new lead'), which goes modestly beyond the annotations, though it says nothing about the shape or freshness of the returned balance.
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 short fragments, all load-bearing: resource, cost, and unit definition. It is front-loaded and wastes nothing, though the telegraphic style (no main verb in the first fragment) is slightly terser than ideal.
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 zero-parameter, fully annotated read tool with no output schema, the description covers what is returned (balance and plan), that it costs nothing, and what a credit means. An agent has enough to call it correctly; only the exact response fields are left unspecified.
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, so there is nothing for the description to disambiguate; baseline 4 applies. The definition correctly stays silent on inputs rather than inventing any.
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 the specific resource — Veezco credit balance and plan — so the agent knows exactly what it gets back. The verb is implicit in the tool name rather than the description, and no sibling differentiation is offered, but the siblings (list_categories, search_companies) are unrelated enough that confusion is unlikely.
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?
There is no explicit statement of when to call this versus alternatives or when not to. Usage is only implied by 'Free, no credits used,' which suggests it is safe to call at any time without cost, but the agent must infer that checking the balance before a credit-consuming action is the point.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_categoriesList categories in a cityARead-onlyIdempotentInspect
List the business categories Veezco already collected in a city, with the date of the latest collection. Free, no credits used. Use it to pick the exact category name for search_companies.
| Name | Required | Description | Default |
|---|---|---|---|
| city | Yes | City or town name, e.g. "Torino". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds useful behavioral context not in annotations: it is free and uses no credits, and it returns the latest collection date. It stops short of describing pagination or result limits.
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 what the tool returns and followed by cost and usage guidance. Every sentence carries distinct information with no waste.
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 one-parameter lookup tool with rich annotations and full schema coverage, the description is complete: it explains what is returned, that it is free, and how to use the result with search_companies. No output schema is present, but the return value is sufficiently described.
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%, so the single 'city' parameter is fully documented in the schema with an example. The description reinforces the city scope but adds no parameter details beyond the schema; 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 states a specific verb (List) and resource (business categories Veezco already collected) with a clear scope (in a city) and additional return detail (date of latest collection). It distinguishes the tool from siblings by naming its role in relation to search_companies.
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 'Use it to pick the exact category name for search_companies,' giving clear context for when to invoke it. It does not state when not to use the tool, but for a simple lookup that is a minor gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_companiesSearch companiesAIdempotentInspect
Find local businesses in one city and one category, with their contacts, what Veezco measured on their website and an opening line for the call. Each NEW lead costs 1 Veezco credit; leads you already received are free and come first. Categories are written as Veezco stores them: Italian plural names in Italy ("Dentisti", "Ristoranti", "Agenzie immobiliari", "Idraulici", "Centri estetici"), English plural names elsewhere ("Dentists"). Call list_categories first to get the exact names already collected in that city. If the city and category were never collected, Veezco starts a live collection: leads appear while it runs and a full collection usually takes 15-30 minutes, so call this tool again later with the same arguments to receive them. Filters only select what Veezco actually measured: a website it could not read never matches "no_meta_pixel".
| Name | Required | Description | Default |
|---|---|---|---|
| city | Yes | City or town name, e.g. "Torino". | |
| count | No | How many leads you want in total from this search (1-50, default 10). Leads already yours are included and free. | |
| country | No | Optional ISO 3166-1 alpha-2 code for a new collection outside Italy (e.g. "GB", "IE", "FR"). Default "IT". | |
| filters | No | Optional. Combined with AND. no_website cannot be combined with filters that need a website. | |
| category | Yes | Business category, plural: Italian in Italy (e.g. "Dentisti"), English elsewhere (e.g. "Dentists"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only mark this openWorld, idempotent, non-destructive and not read-only; the description adds the material behavior that annotations cannot express: per-lead credit consumption, free/already-owned leads surfacing first, live collection latency of 15-30 minutes with incremental results, and the requirement to re-call with identical arguments. That is exactly the kind of cost and asynchrony an agent needs before invoking.
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?
Front-loaded with the outcome (what leads you get) before cost, naming conventions, and the live-collection retry path. Dense but mostly earning its place; the category pluralization guidance partially duplicates the category param's own schema description, which is the only real 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?
With no output schema, the description carries the return shape ('contacts, what Veezco measured on their website and an opening line for the call') and the partial-results semantics of a live collection. Combined with full schema coverage, an agent has everything needed to call it and interpret a thin first response.
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%, so the baseline is 3, but the description genuinely adds meaning: category naming conventions in Italian vs. English, the fact that count is total leads including free ones, and the filtering rule that criteria only select what Veezco actually measured. It stops short of explaining the country param's role in triggering a new collection, which the schema does cover.
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 a specific verb (find) and resource (local businesses/companies), plus the exact scope (one city, one category) and the payload returned: contacts, measured website data, and an opening line. It is clearly distinct from get_credits and list_categories, which are referenced as supporting steps rather than alternatives.
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?
Gives explicit sequencing ('Call list_categories first to get the exact names already collected in that city'), the retry protocol for uncached city/category pairs, and the cost model ('Each NEW lead costs 1 Veezco credit; leads you already received are free and come first'). It also warns that filters only match measured data so an unreadable website never satisfies no_meta_pixel — a concrete when-not caveat.
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.
3 tool updates
- First observed
get_credits - First observed
list_categories - First observed
search_companies
Related MCP Connectors
Find local businesses, companies and decision makers with verified emails for B2B outreach.
Find customers, research each one and draft the outreach. Nothing sends without approval.
Find business leads and live opportunities for a business, with the proof and the next step.
Find local businesses with real emails and run AI-written outreach to them, from your AI chat.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceDiscovers local businesses needing a website via OpenStreetMap and verifies their leads with checks like website existence, email deliverability, and site quality scoring.24 PyPIMIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to search for verified local-business leads by niche and US location, check email deliverability and phone details, filter collected leads, and export or schedule results to CRM, spreadsheet, or file destinations. It also supports advanced multi-keyword searches, lead estimates, integrations, and automation management through natural language.MIT
- AlicenseAqualityCmaintenanceAn MCP server that lets agents run free, keyless lead-leak audits on UK local service businesses — detecting form platforms and their outreach implications, checking whether phone numbers are tappable tel: links, comparing phone numbers across a site and free directories, screening website hygiene, and locating a business's own site. It also bundles these into a single full audit that returns a prioritised list of fixable issues alongside top local competitors.6MIT
- AlicenseNot gradedqualityDmaintenanceFinds, filters, and verifies local-business leads on demand; every returned email carries a verification receipt (verifier, verdict, timestamp). Credit-based with per-key spend budgets; 25 free validated leads at signup.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.