Skip to main content
Glama
kaminari-ad

@kaminari-ad/mcp

Official
by kaminari-ad

Get Proxy Targeting

get_proxy_targeting
Read-onlyIdempotent

Fetch available proxy regions, cities, and ISPs for a country to set valid targeting values before creating scans or campaigns. Prevents errors from mismatched regional or network data.

Instructions

List the proxy regions, cities, and ISPs accepted for a country. Call this before setting proxy targeting on create_scan, create_bulk_scans, create_campaign, or update_campaign — the accepted values come from the upstream network provider and cannot be listed in those tools' schemas, so a guess is a 422. Anything listed here is accepted. Values are ordered by pool size, largest first; prefer values near the front. Two traps: residential and mobile are separate pools, so pass the proxy_type the scan will use; and without a region the cities are the whole country's, so if you target a region, call again with that region and take the city from that narrower list — a region and a city that do not belong together are accepted but leave the provider no exit node.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
regionNoNarrow the returned cities to one region. Pass a value from this tool's own 'regions' array. Omit it for the country-wide city list.
proxy_typeNoWhich network to describe. Defaults to residential. Pass 'mobile' when the scan will use mobile: the two are separate pools with different catalogues, so a residential ISP is normally rejected for a mobile scan.
country_codeYesISO 3166-1 alpha-2 country code, e.g. 'US'. Case-insensitive.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.16.0

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so safety is covered. The description adds rich behavior beyond that: values are dynamically sourced from the upstream provider, ordered by pool size with a 'prefer front' heuristic, residential/mobile pool separation, the country-wide default for cities when a region is omitted, and the subtle warning that mismatched region/city pairs are accepted but leave no exit node. No annotation is contradicted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Five sentences, each carrying distinct operational information: purpose, when-to-call, acceptance guarantee, ordering preference, and the two traps. The purpose is front-loaded, and the structure flows logically from what → when → how → gotchas. Nothing is repeated from the schema verbatim, and the length is justified given the real complexity of the tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Behavioral guidance is exhaustive: sourcing, ordering, pool semantics, validation behavior, and downstream consumer tools are all covered. The only gap is the exact output shape: there is no output schema, and while the schema's reference to 'this tool's own regions array' anchors one field name, the precise structure for cities and ISPs (field names, nesting) is left implicit. For a tool with three flat parameters and strong annotations, this is a minor omission.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and each parameter already has a strong description (ISO format, case-insensitivity, enum with defaults, pool separation, regions-array sourcing), so the baseline is 3. The description adds genuine meaning beyond the schema: the ordering heuristic ('prefer values near the front'), the acceptance guarantee ('Anything listed here is accepted'), the two-call workflow ('if you target a region, call again with that region and take the city from that narrower list'), and the 422 consequence — all of which shape how the agent chooses values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence 'List the proxy regions, cities, and ISPs accepted for a country' states a specific verb, resource, and scope. The description further distinguishes this from the many sibling read tools (list_geos, list_emulators, get_scan) by naming the four consumer tools (create_scan, create_bulk_scans, create_campaign, update_campaign) that this lookup feeds, making its role unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-call guidance: 'Call this before setting proxy targeting on create_scan, create_bulk_scans, create_campaign, or update_campaign'. It explains why this is mandatory (values come from the upstream network provider and cannot be listed in those tools' schemas) and the failure mode of the alternative ('a guess is a 422'), effectively stating the when-not-to: never guess or hardcode values.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools