Apify Public Data & Leads
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation5/5
Each tool targets a completely distinct data source (Google Maps, Glassdoor, SEC, USASpending, Twitch, Airbnb), so there is no realistic risk of misselection. The descriptions make the domain of each tool explicit.
Naming Consistency4/5Names consistently use snake_case with a source-oriented prefix, which is predictable. Minor inconsistency: some end in '_search' (google_maps_search, airbnb_listings_search) while others use a noun form (sec_edgar_filings, twitch_live_streams, usaspending_contracts).
Tool Count5/5Six tools is a well-scoped set for a multi-source data aggregator, with each tool clearly earning its place as a distinct data provider. No redundancy or filler.
Completeness3/5Each source exposes only a single search operation, with no detail-lookup, filter, or export variants, and the 'leads' theme suggests a broader source list (e.g. people/company enrichment) is absent. The surface is usable but notably thin per domain.
Average 2.9/5 across 6 of 6 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 8 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
This server has been verified by its author.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not disclose any behavioral traits like data freshness, coverage, rate limits, or result format. The only hint is 'Backed by captainhandsome/usaspending-federal-awards' which gives provenance but no operational behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the core purpose. The second sentence about the backend is less useful but not overly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with no annotations, no output schema, and incomplete parameter coverage, the description is too sparse. It should specify what the results contain, pagination, data recency, or any limitations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%, with only recipient_name having a description. The description does not mention any parameters, so it does not compensate for the undocumented max_results parameter. It provides no syntax or format details for recipient_name beyond what the schema already offers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Search) and resource (US federal procurement, defense awards, prime agency obligations), making the purpose clear. However it does not distinguish itself from siblings since none of the siblings are in the same domain, so no differentiation is needed but also not provided.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides no when-to-use guidance, no alternatives, and no exclusions. It only states what it searches, not when or why to use it over other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it delivers almost nothing: no note on data freshness, rate limits, scraping behavior, or whether results are cached. The mention of the backing repo (captainhandsome/airbnb-listings-search) is provenance metadata, not behavioral context an agent can act on.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the purpose front-loaded and no filler. The trailing sentence about the backing implementation is of marginal value to an agent and is the one piece that could be dropped.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter search with no output schema and no annotations, the definition is minimally adequate but leaves gaps: it never describes the shape of returned results (per-listing fields, price units, occupancy semantics) or pagination/limit behavior, all of which an agent would need to interpret output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%: location has an example, but max_results is undocumented and its effect on the response is never explained. The description adds no parameter meaning at all, so it fails to compensate for the coverage gap, though the default of 10 makes max_results semi-self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Search) and resource (short-term rental listings, nightly prices, occupancy from Airbnb), which plainly distinguishes it from marketplace siblings like google_maps_search or glassdoor_jobs_search. It stops short of noting scope limits or differentiating explicitly from generic search tools, but the domain is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives, no exclusions, and no prerequisites. A reader can infer it is for Airbnb rental lookups from the name alone, but the description supplies no routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It reveals the data source (a third-party scraper) and the estimated-date quirk, but omits rate limits, pagination, auth needs, and failure modes for a scraper-backed tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the core action. The scraper attribution consumes half the text without helping invocation, a minor waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-param read tool with no annotations and no output schema, the description covers purpose and source but leaves return shape, result limits, and scraper behavior unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%, with location and job_title documented via examples while max_results has only a default. The description adds no parameter meaning beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (search) and resource (job listings) from a named source (Glassdoor), and adds that it returns estimated posting dates. It doesn't differentiate from siblings, though siblings are all in unrelated domains, so differentiation isn't needed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, no mention of alternatives. The description only says what it does, not when an agent should pick this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden and it discloses almost nothing: no read-only/rate-limit note, no pagination behavior, no failure modes, and no statement that results come from an external scraper. The word 'verified' implies a data-quality claim but is never qualified. Minimal disclosure for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first sentence, which is good. The second sentence is provenance metadata of dubious value to an invoking agent, so half the description does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with full schema coverage and no output schema, the description is just barely enough – it names the kind of data returned (leads, addresses, ratings, phone numbers). It omits any query-format guidance beyond the schema example and any note on result quality or limits, leaving it adequate but thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% – search_query has a concrete example ('HVAC contractors in Phoenix, AZ') and max_results documents its 1-100 range with a default of 10. The description adds no syntax, formatting, or semantic detail beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Extract') and resource ('business leads, addresses, ratings, and phone numbers from Google Maps'), so an agent immediately knows the domain and output. Sibling tools cover entirely different domains (jobs, filings, contracts, streams, listings), so no explicit differentiation is needed. The trailing 'Backed by captainhandsome/...' clause is provenance trivia that adds no selection signal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives, nor any trigger conditions or exclusions. Usage is only inferable from the name and the example query in the schema. Nothing tells the agent how this differs from a general web search or when it would be inappropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It names the backing source ("captainhandsome/sec-edgar-filings-search"), which is useful provenance, but says nothing about auth requirements, rate limits, read-only nature, or what the response contains — significant gaps for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences front-loading the core capability, with zero filler. The provenance note is compact and earns its place by pointing at the data source.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter tool with no annotations and no output schema, the description should say something about what a filing record looks like, whether results are paginated or ranked, and any access constraints. None of that is present, leaving the agent unable to predict the return shape before calling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, so the schema already documents ticker (with examples) and form_type (with allowed values). The description reinforces the form types and frames the lookup key as a ticker, but adds no syntax or format detail, and max_results is undocumented in both the schema and the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Retrieve") and resource ("corporate SEC filings") and names the supported form types (10-K, 10-Q, 8-K), so the agent knows exactly what it returns. Sibling differentiation is trivially satisfied since the sibling tools cover unrelated domains (maps, jobs, contracts, streams, listings). It loses a point because "by company name or stock ticker" overstates the interface — the schema only accepts a ticker.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to reach for this tool versus alternatives, nor on which form_type to choose for a given intent. The default of 10-K and default max_results of 5 are silently applied with no explanation of when to override them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: no rate limits, no auth or credential needs, no latency/availability caveats, no pagination or result-ordering behavior, and no note on what happens when game_name matches nothing. The provenance line ('Backed by captainhandsome/twitch-live-streams-scraper') is the only added context, which is minor.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, and the functional content is front-loaded ahead of the provenance sentence. Nothing is padded, though the second sentence contributes little to correct invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description partially covers the return shape by naming channels, viewer counts, and game categories. It is still silent on result structure, pagination, and error behavior, and two of three parameters are undocumented, leaving the definition just barely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% — game_name carries an example but language and max_results are bare types with defaults. The description does not compensate: it never mentions language filtering, result caps, or the meaning of the default values, so an agent must guess whether max_results is a hard cap or a hint.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (scrape) and a specific resource (live streaming channels, viewer counts, and game categories) tied to a named source (Twitch). That is enough for an agent to know exactly what comes back, though it offers no differentiation from siblings — which here is moot since every sibling covers an unrelated domain (maps, jobs, SEC filings, contracts, rentals).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: 'online live streaming channels ... from Twitch' makes the triggering scenario reasonably obvious, but there is no explicit when-to-use statement, no prerequisites, and no guidance on defaults such as language='en' or max_results=10. No alternative tool is named or excluded.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md: