Skip to main content
Glama

MCP Market Russia

Server Details

MCP server for Russian construction market data. Access 3,395 construction companies, 13,436 projects across 18 regions of Russia. Search contractors, compare prices, analyze ratings, get market reports — all via MCP protocol. 21 tools including search, analytics, cost estimation, and contractor recommendations.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4/5 across 24 of 24 tools scored. Lowest: 3.1/5.

Server CoherenceC
Disambiguation2/5

Several tools overlap significantly: get_company, company_portfolio, and company_deep_profile all return company details; calculate_cost and project_estimator both estimate construction costs; and search_companies, find_best_companies, smart_match, and contractor_recommendation all find matching companies. This makes it difficult for an agent to confidently select the right tool.

Naming Consistency2/5

Tool names are inconsistent, mixing verb-first patterns (search_companies, get_project) with noun-first patterns (company_portfolio, market_analytics, trend_analyzer). Some tools have similar names but different purposes (price_comparison vs region_comparison) and others have different names but nearly identical purposes (get_company vs company_deep_profile).

Tool Count3/5

With 24 tools, the server feels heavy. Many tools duplicate functionality—three company detail tools, two cost estimators, and four company search tools—which inflates the count without adding proportional value. While not extreme, the redundancy makes the set feel bloated.

Completeness4/5

The tool set covers the core market-research workflow well: searching companies and projects, retrieving details, estimating costs, comparing entities, generating market reports, and requesting quotes. Minor gaps exist, such as no access to detailed review texts or the ability to sort projects by price, but these are workable.

Available Tools

24 tools
calculate_costAInspect

Calculate estimated construction cost based on real market data from the catalog. Uses average price per m² by material and region from actual company prices and projects.

Args: area: House area in square meters (required, e.g. 120) material: Building material (каркас/frame, брус/timber, газобетон/aerated_concrete, кирпич/brick, СИП/SIP). Empty = average across all. region: Region or city name for regional pricing. Empty = nationwide average. floors: Number of floors (1 or 2). 0 = no adjustment.

ParametersJSON Schema
NameRequiredDescriptionDefault
areaYes
floorsNo
regionNo
materialNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/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 discloses the data source ('real market data from the catalog') and behavior ('uses average price per m² by material and region'), but does not explicitly state whether the operation is read-only, has side effects, or other behavioral traits. For a calculator, this is acceptable but not rich.

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

Conciseness4/5

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

The description is well-organized with an opening sentence and a clear Args list. It is slightly longer than necessary but every sentence earns its place by documenting parameters. Front-loaded with the core purpose.

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?

Given the output schema exists, return value details are covered. The description provides thorough input parameter semantics and context. It lacks usage guidelines and explicit behavioral caveats, but for a simple calculation tool with clear inputs and an output schema, it is largely complete.

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

Parameters5/5

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

Schema description coverage is 0%, so the description fully compensates. It explains every parameter: area (required, units), material (list of allowed values and default), region (string and default behavior), and floors (allowed values and meaning of 0). This adds significant meaning beyond the raw schema.

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 description clearly states a specific verb+resource: 'Calculate estimated construction cost based on real market data from the catalog.' It also distinguishes itself by mentioning the methodology (average price per m² by material and region), which separates it from sibling tools like project_estimator or price_comparison.

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

Usage Guidelines3/5

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

The description implies usage through detailed parameter explanations but does not explicitly state when to use this tool versus alternatives. No alternatives or exclusions are mentioned, so it only provides implied usage context.

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

company_deep_profileBInspect

Get comprehensive company profile with all available data - contacts, projects, pricing, reviews analysis, market position, and comparison with competitors in same region.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

No annotations are provided, so the description carries the burden of disclosing behavior. It clearly indicates a read-only retrieval ('Get') and lists what data is returned. However, it does not mention potential performance implications, authorization requirements, or response characteristics beyond the output categories. The output schema likely covers return structure, but behavioral details like rate limits or data freshness are absent.

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

Conciseness4/5

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

The description is a single sentence with no filler, front-loading the verb and resource. It earnestly lists the data categories without unnecessary words. The mention of 'all available data' is slightly redundant given the list that follows, but overall it is concise and structured.

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

Completeness3/5

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

Given the presence of an output schema, the description need not detail return values. It provides a solid overview of the tool's coverage (contacts, projects, pricing, reviews, market position, competitors). However, it lacks usage guidance and parameter semantics, and does not clarify where this tool fits among the many sibling tools. For a comprehensive-profile tool, the description is adequate but not complete.

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

Parameters2/5

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

The schema has zero description coverage, and the description does not explain the 'slug' parameter. While the parameter name is self-explanatory as a company identifier, the description adds no explicit meaning about how to obtain or format the slug. Since the description must compensate for low schema coverage, this is a notable gap.

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

Purpose4/5

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

The description uses a specific verb ('Get') and identifies a specific resource ('comprehensive company profile'), then enumerates the included data categories (contacts, projects, pricing, reviews analysis, market position, competitor comparison). This differentiates it from sibling tools like get_company by emphasizing comprehensiveness, though it does not explicitly name or distinguish itself from those siblings.

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

Usage Guidelines3/5

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

The description implies the tool is used when a comprehensive company profile is needed, but it does not explicitly state when to use this tool versus alternatives such as get_company, company_portfolio, or review_analysis. No exclusions or alternative references are provided.

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

company_portfolioAInspect

Get FULL company portfolio: details, all projects, prices, reviews, contacts. Comprehensive dossier for due diligence or hiring decisions. Args: company_slug: Company slug identifier (from search results).

ParametersJSON Schema
NameRequiredDescriptionDefault
company_slugYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It conveys that this is a read operation via 'Get' but does not disclose any other behavioral traits such as data volume, performance, or authorization requirements. The 'FULL portfolio' hint suggests a large response but not explicitly.

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?

The description is two sentences plus an Args section, with the primary purpose front-loaded. Every sentence adds value, and the structure is clear.

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?

Given the tool has a single parameter and an output schema, the description covers the essential aspects: purpose, param source, and use case. It does not need to explain return values due to the output schema. It could benefit from a mention of when to use this vs. sibling tools, but overall it's adequate.

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?

The only parameter, company_slug, is clarified as 'Company slug identifier (from search results),' which adds practical guidance on where the value comes from. This compensates for the 0% schema description coverage.

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 description uses the specific verb 'Get' with the resource 'FULL company portfolio' and explicitly lists the contents (details, projects, prices, reviews, contacts), making the purpose unmistakable. It also states the end-use case ('due diligence or hiring decisions'), which further clarifies intent.

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

Usage Guidelines4/5

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

The description states when to use it ('for due diligence or hiring decisions'), providing clear context. However, it does not mention any alternatives or exclusion criteria, so it lacks explicit when-not-to-use guidance.

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

compare_companiesAInspect

Compare 2-3 construction companies side by side on prices, ratings, number of projects, and specialization.

Args: company_ids: Comma-separated company UUIDs to compare (2-3 IDs). Example: 'uuid1,uuid2,uuid3'

ParametersJSON Schema
NameRequiredDescriptionDefault
company_idsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

With no annotations, the description must convey behavioral traits. It discloses the input constraint (2-3 comma-separated UUIDs) and the comparison attributes, implying a read-only operation. But it does not specify error behavior for invalid ID counts, data freshness, or any side effects/requirements, so some burden remains.

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?

The description is two clear sentences plus a structured Args block, with no redundant content. It front-loads the main purpose and keeps the parameter detail separate.

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

Completeness5/5

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

Given the single parameter, existing output schema, and straightforward read-only nature, the description adequately covers the tool's purpose and input requirements. It is sufficient for an agent to decide when and how to invoke it, and no return-value explanation is needed since output schema exists.

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

Parameters5/5

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

The schema provides only a string type with no description; the description compensates fully by explaining the format (comma-separated UUIDs), the cardinality (2-3 IDs), and giving an explicit example. This goes beyond the schema.

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 description explicitly states the tool compares 2-3 construction companies on prices, ratings, project count, and specialization, using a specific verb 'compare' and resource 'construction companies'. This clearly distinguishes it from sibling tools like price_comparison or region_comparison by focusing on companies and multiple criteria.

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

Usage Guidelines4/5

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

The description implies the tool is intended for side-by-side comparison of a small set of specific companies, which provides clear usage context. However, it does not explicitly mention when not to use it or direct users to alternative tools, leaving exclusions unaddressed.

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

contractor_recommendationBInspect

AI-powered contractor recommendation. Finds the best matching companies based on budget, region, quality requirements. Returns ranked list with match scores.

ParametersJSON Schema
NameRequiredDescriptionDefault
regionNo
categoryNo
budget_maxNo
budget_minNo
min_ratingNo
need_contactsNo
need_portfolioNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses that the tool is AI-powered and returns a ranked list with match scores, which goes beyond the input schema. However, it does not mention that all parameters are optional with defaults, how empty criteria behave, or other behavioral nuances. The disclosure is adequate but not rich.

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?

The description is two sentences long and front-loaded with the tool's purpose. It contains no fluff and every sentence carries meaningful information. 'AI-powered' is slightly buzzwordy but not redundant.

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

Completeness2/5

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

Despite having an output schema, the description is too minimal for a 7-parameter tool. It does not explain how parameters interrelate, what the defaults imply, or how to select this tool over siblings like find_best_companies or smart_match. The absence of parameter coverage and usage guidance leaves significant gaps for correct invocation.

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

Parameters2/5

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

The schema description coverage is 0%, so the description must compensate. It mentions 'budget, region, quality requirements' which map to budget_min/max, region, and min_rating, but it fails to explain category, need_contacts, or need_portfolio. With 7 parameters and only partial mapping, the description adds limited value for parameter understanding.

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

Purpose4/5

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

The description clearly states the tool's function: it finds the best matching companies based on budget, region, and quality requirements, and returns a ranked list with match scores. It uses a specific verb ('finds') and resource ('companies'), but does not explicitly differentiate it from similar siblings like find_best_companies or smart_match, so it misses the full 5.

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

Usage Guidelines3/5

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

The description implies when to use the tool by specifying the input criteria (budget, region, quality requirements), providing clear context. However, it does not state when not to use it or mention alternatives, offering only implied usage rather than explicit guidance.

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

export_search_csvAInspect

Export search results as CSV text (UTF-8 with BOM, Excel-friendly).

entity: 'companies' or 'projects' query: free-text search in name/description category, region: filter fields budget_max: for companies, cap on min_project_price limit: 1..2000 rows (default 500)

Returns CSV text ready to save as .csv and open in Excel.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
entityNocompanies
regionNo
categoryNo
budget_maxNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

With no annotations, the description carries the full behavioral burden. It discloses the output encoding (UTF-8 with BOM), Excel compatibility, row limit range/default, and entity-specific budget_max behavior. It stops short of discussing error behavior or data scoping, but for an export tool the disclosed details are substantial.

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?

The description is compact and front-loaded with the core purpose, followed by a concise parameter legend and a one-line output note. Every sentence earns its place with no redundancy or filler.

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?

Given six parameters, no annotations, and an output schema, the description covers parameter semantics, output encoding, and intent sufficiently. It lacks only an explicit tie to sibling search tools or edge-case behavior, but is otherwise complete enough for correct invocation.

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

Parameters5/5

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

Schema description coverage is 0%, but the description fully compensates by explaining every parameter: entity allowed values, query semantics, filter fields, budget_max scope, and limit range/default. This adds meaning well beyond the bare schema.

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 description opens with a specific verb and resource: 'Export search results as CSV text (UTF-8 with BOM, Excel-friendly).' This clearly states what the tool does, differentiates it from sibling search/viewing tools, and indicates the output format.

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

Usage Guidelines3/5

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

Usage is implied through the word 'Export' and the mention of being ready to open in Excel, but there is no explicit guidance on when to choose this tool over sibling search or analysis tools, nor any exclusions or prerequisites stated.

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

find_best_companiesAInspect

Smart lead generation: find the best construction companies matching your criteria. Perfect for finding contractors, generating leads, or market research. Args: region: Filter by region name (e.g. 'Москва'). Empty = all. category: Filter by category/subcategory. Empty = all. min_rating: Minimum rating (0-5). 0 = no filter. max_price: Maximum price per m2 in thousands RUB. 0 = no filter. min_price: Minimum price per m2 in thousands RUB. 0 = no filter. has_phone: Only companies with phone number. has_projects: Only companies with project portfolio. sort_by: Sort by: 'rating', 'price_asc', 'price_desc', 'reviews', 'projects'. limit: Max results (1-50).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
regionNo
sort_byNorating
categoryNo
has_phoneNo
max_priceNo
min_priceNo
min_ratingNo
has_projectsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It explains parameter semantics (e.g., 'Empty = all', '0 = no filter') but does not explicitly state that the tool is read-only or safe, nor does it describe return structure or any side effects. The parameter details add significant behavioral context, but broader behavioral traits are missing.

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

Conciseness4/5

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

The description is well-structured and front-loaded with a clear purpose, followed by a bulleted list of arguments. The first two sentences are slightly promotional but add context. Overall, it is appropriately sized for a tool with 9 parameters, with no wasted words in the argument list.

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?

Given the tool's complexity (9 parameters) and the absence of schema descriptions, the description covers all necessary parameter semantics and purpose. The presence of an output schema compensates for the lack of return-value details. However, it doesn't address potential confusion with sibling search tools or mention any operational constraints, making it slightly incomplete for full contextual understanding.

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

Parameters5/5

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

Schema description coverage is 0%, but the description provides exhaustive semantic meaning for all 9 parameters, including units, defaults, and valid values. This fully compensates for the schema's lack of descriptions, going beyond just naming the parameters to explain their exact filtering behavior.

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

Purpose4/5

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

The description clearly states the tool finds 'the best construction companies matching your criteria,' which is a specific verb+resource. However, it does not explicitly differentiate itself from the sibling 'search_companies,' relying instead on the vague 'Smart lead generation' phrase. The purpose is clear enough for an agent to understand the core function.

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

Usage Guidelines3/5

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

The description mentions use cases ('finding contractors, generating leads, or market research') but provides no guidance on when to avoid this tool or how it compares to alternatives like 'search_companies' or 'smart_match.' The usage context is implied but not explicit about exclusions or alternatives.

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

get_categoriesAInspect

Get all company categories with the number of companies in each category.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

With no annotations, the description carries the burden of disclosing behavior. The verb 'Get' clearly implies a read-only operation, and there are no parameters or side effects mentioned. However, it does not explicitly state read-only intent, pagination, or ordering, though these may be covered by the output schema. The description is adequate but not enriched.

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?

The description is a single, front-loaded sentence that conveys all essential information without waste. Every word earns its place.

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

Completeness5/5

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

For a simple tool with no parameters and an existing output schema, the description is entirely sufficient. It states the exact result (all categories with counts) and no further context is needed.

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?

The tool has zero parameters, so the baseline is 4. The description correctly adds no parameter information because there are none. It does not need to compensate for any schema gaps.

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 description clearly states the tool's function: retrieving all company categories along with company counts per category. It uses a specific verb ('Get') and resource ('company categories'), and the added detail about counts distinguishes it from any sibling tool that might also handle categories.

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

Usage Guidelines2/5

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

No guidance is provided about when to use this tool versus alternatives. There is no mention of contexts, exclusions, or comparisons with sibling tools like get_stats or get_regions. The description only states what the tool does, leaving the agent to infer usage.

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

get_companyAInspect

Get full company profile including contacts, prices, rating, reviews, and list of house projects.

Args: company_id: Company UUID from search_companies results

ParametersJSON Schema
NameRequiredDescriptionDefault
company_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

With no annotations provided, the description carries the burden of behavioral disclosure. The verb 'Get' clearly signals a read-only operation, and enumerating the returned fields (contacts, prices, rating, reviews, house projects) provides meaningful transparency about what the tool does. It stops short of discussing errors or permissions, but for a simple getter this is adequate.

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?

The description is concise and front-loaded with the main verb and resource, followed by a clear list of contents and a straightforward Args section. Every sentence earns its place with no redundant detail.

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?

The tool has a single parameter, an output schema, and a clear description of what is returned, making it nearly complete. The only minor gap is not addressing potential ambiguity with sibling profile tools, but this is not essential for basic usage.

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

Parameters5/5

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

The schema only defines company_id as a string with no description, so the description's 'Company UUID from search_companies results' adds essential meaning. It conveys both the format (UUID) and the provenance of the parameter, fully compensating for the 0% schema description coverage.

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

Purpose4/5

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

The description clearly states the tool gets a full company profile with specific contents (contacts, prices, rating, reviews, house projects), which is a specific verb+resource pair. However, it does not explicitly distinguish itself from siblings like company_deep_profile or company_portfolio, so it misses the top score.

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

Usage Guidelines3/5

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

The description implies usage by stating the company_id comes from search_companies results, giving a clear prerequisite. However, it does not provide explicit when-to-use or when-not-to-use guidance relative to sibling tools such as company_deep_profile or compare_companies.

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

get_lead_statusAInspect

Check the status of a lead created via request_quote.

lead_id: UUID returned by request_quote api_key: the api_key used when the lead was created

Returns JSON with status (new/contacted/won/lost), company info, contact fields, budget, timestamps.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyYes
lead_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

With no annotations, the description carries the full burden. It clearly conveys a read-only operation ('Check'), discloses the required authentication context (api_key used at creation), and describes the output format. It does not mention error behaviors or side effects, but for a simple status check this is adequate.

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?

The description is efficiently structured: a lead sentence, then a terse parameter list, then a one-line summary of the return value. No fluff, each sentence serves a purpose.

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

Completeness5/5

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

Despite having an output schema, the description provides additional context about the relationship to request_quote and the authentication requirement. It covers all essential aspects for a simple two-parameter lookup tool: what it does, how to call it, and what to expect.

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

Parameters5/5

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

The schema provides no descriptions, but the description explicitly explains both parameters: lead_id is a UUID from request_quote, and api_key is the one used at creation. This fully compensates for the 0% schema coverage and adds practical meaning.

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 description clearly states the tool's function: 'Check the status of a lead created via request_quote.' It specifies the resource (a lead) and the action (check status), and implicitly distinguishes it from sibling tools like request_quote (which creates leads) and get_project/get_company (which retrieve other entities).

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

Usage Guidelines4/5

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

The description provides context by linking leads to request_quote and specifying required credentials (the api_key used at creation). It does not explicitly name alternatives or state when not to use this tool, but the context is clear enough to infer appropriate use.

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

get_projectAInspect

Get detailed house project information including specifications, price, features, and company contacts.

Args: project_id: Project UUID from search_projects results

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

No annotations are provided, so the description must carry the burden. It discloses the content of the response but does not mention read-only nature, error behavior, or any side effects. Since 'Get' implies a read operation, this is minimally adequate but lacks detailed behavioral context.

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?

The description is concise, front-loaded, and contains no unnecessary words. The two-line format (description plus Args) efficiently conveys the purpose and parameter semantics.

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?

Given the tool's simplicity (single parameter) and the presence of an output schema to document return values, the description covers the essential usage context. It explains what the tool returns and where the ID comes from, but lacks explicit statements about behavior in edge cases (e.g., missing project). Still, it is sufficiently complete for its purpose.

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?

The schema has 0% description coverage for the only parameter, but the description compensates by explaining that project_id is a 'Project UUID from search_projects results,' which provides meaningful guidance on obtaining the value. This adds value beyond the bare schema definition.

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 description clearly states the verb 'Get' and the resource 'detailed house project information,' listing the content types (specifications, price, features, company contacts). It distinguishes from siblings like search_projects by indicating this retrieves full details for a single project using a UUID from search results. The purpose is specific and unambiguous.

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

Usage Guidelines4/5

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

The description provides clear context: the project_id is a 'Project UUID from search_projects results,' implying this tool is used after searching for projects to fetch full details. However, it does not explicitly name alternatives or state when-not-to-use, so it falls short of the explicit guidance required for a 5.

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

get_regionsAInspect

Get all available regions with the number of companies in each region.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

With no annotations, the description must carry the full behavioral disclosure. It accurately states the read-only nature implicitly by 'Get', but does not explicitly mention limitations, pagination, data freshness, or authentication. For a zero-parameter read operation, this is acceptable but minimal.

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?

The description is a single, front-loaded sentence that conveys the full purpose without any wasted words. It is immediately clear what the tool does.

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?

Given that the output schema is present (so return values are documented), no parameters, and no annotations, the description is sufficiently complete for a simple list tool. It could optionally mention usage context, but that is covered under usage guidelines.

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?

There are zero parameters, so the description does not need to explain any. The schema coverage is vacuously 100%, and the baseline for 0 params is 4. The description adds no parameter detail, which is appropriate.

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 description uses a specific verb 'Get' and clearly identifies the resource 'all available regions' with the exact content ('number of companies in each region'). This distinctly separates it from sibling tools like region_comparison, which presumably compares regions.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, use cases, or exclusions. Sibling tools like region_comparison or get_stats exist but are not referenced.

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

get_statsAInspect

Get catalog statistics: total companies, projects, regions, categories, agent queries today, and leads generated.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

No annotations are provided, placing the burden on the description. The description lists exactly what statistics are returned, which is transparent about the core output. However, it does not explicitly state that the operation is read-only, nor does it disclose any data freshness or response shape considerations. With zero parameters, there is limited misuse potential, but the description could still be more explicit about safety and behavior.

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?

The description is a single sentence, front-loaded with the verb and resource ('Get catalog statistics'), then efficiently enumerates the metrics. There is no waste, and every word contributes to understanding the tool's purpose.

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

Completeness5/5

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

With an output schema present and zero parameters, the description fully covers what the agent needs to know for selection and invocation. The listed metrics align with what the output schema likely contains, and there are no missing prerequisites or edge cases to document.

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?

The tool has zero parameters, and the schema reflects that with an empty object. Per the rubric, a baseline of 4 applies when there are no parameters. The description adds no parameter detail because none exist, which is entirely appropriate.

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 description clearly states 'Get catalog statistics' and enumerates the specific metrics (companies, projects, regions, categories, agent queries today, leads generated), making the tool's purpose unmistakable. This distinguishes it from sibling tools that fetch individual entities (e.g., get_company, get_regions) rather than aggregated counts.

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

Usage Guidelines3/5

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

The description implies the tool is for aggregate overview metrics, but it offers no explicit guidance on when to use this tool versus alternatives. For example, it doesn't mention 'use this for a high-level summary; use get_company for details,' so the agent must infer the distinction solely from the listed stats.

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

market_analyticsAInspect

Get comprehensive market analytics for the Russian construction market. Returns: average prices, top companies by rating, market size, price distribution. Perfect for investors, analysts, and companies entering the market. Args: region: Filter by region (e.g. 'Москва', 'Санкт-Петербург'). Empty = all regions. category: Filter by category (e.g. 'Строительство домов'). Empty = all categories.

ParametersJSON Schema
NameRequiredDescriptionDefault
regionNo
categoryNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

No annotations are provided, so the description carries the burden of disclosure. It openly states the return values and filter behavior ('Empty = all regions'), but it does not mention data freshness, aggregation details, or any potential limitations such as API costs or pagination.

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

Conciseness4/5

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

The description is well-structured with clear separated sections for returns and arguments. It is concise, but the marketing sentence ('Perfect for investors...') adds some non-essential context, preventing a perfect score.

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?

For a simple two-optional-parameter analytics tool, the description covers purpose, return content, and parameter semantics adequately. The presence of an output schema (though not shown) may reduce the need to detail return structures. It lacks guidance on how this tool relates to sibling tools, but overall it is sufficiently complete.

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?

The input schema has 0% description coverage, but the tool description compensates by explaining both parameters with concrete examples ('Москва', 'Санкт-Петербург') and clarifying that empty values mean all regions/categories. This adds meaningful meaning beyond the bare schema.

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

Purpose4/5

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

The description clearly states 'Get comprehensive market analytics for the Russian construction market' with a specific verb and resource. It lists concrete return types (average prices, top companies, market size, price distribution), which helps distinguish it from broader sibling tools, though it does not explicitly name alternatives for differentiation.

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

Usage Guidelines3/5

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

It identifies the target audience ('Perfect for investors, analysts, and companies entering the market'), which implies when to use it. However, it does not explicitly state when not to use it or how it differs from sibling tools like market_report or get_stats.

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

market_reportAInspect

Generate a comprehensive market report for a specific region. Includes: market size, price tiers, top players, contact availability, competitive landscape. Perfect for investors, business development, and market entry analysis. Args: region: Region name (e.g. 'Москва', 'Ленинградская область').

ParametersJSON Schema
NameRequiredDescriptionDefault
regionYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

With no annotations, the description carries the full burden. It explains what the report includes and its audience, but it does not explicitly state whether the operation is read-only, data source, freshness, or any potential side effects or limitations. This leaves some ambiguity about the tool's behavior beyond its basic purpose.

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?

The description is concise and well-structured: a one-sentence summary, a list of included content, audience guidance, and an args block. Every sentence adds value, with no redundant or fluff content.

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?

Given the tool has only one parameter and an output schema, the description covers the essential context. It would benefit from noting that the region should be a valid/known region (e.g., from get_regions), but overall it provides sufficient guidance for typical use.

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?

The schema only defines 'region' as a required string with no description. The description's Args section adds meaningful guidance by labeling it as a region name and providing concrete examples ('Москва', 'Ленинградская область'), which compensates for the 0% schema description coverage.

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 description uses a specific verb and resource: 'Generate a comprehensive market report for a specific region.' It further clarifies the report contents (market size, price tiers, top players, etc.), distinguishing it from sibling analytics tools and providing a clear, specific purpose.

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

Usage Guidelines4/5

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

It gives clear target audience and use cases: 'Perfect for investors, business development, and market entry analysis.' This implies when to use the tool, though it does not explicitly mention alternatives or when not to use it, so it falls short of a 5.

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

price_comparisonAInspect

Compare construction prices across regions and categories. Returns detailed price statistics, percentiles, and regional rankings. Args: regions: Comma-separated regions to compare (e.g. 'Москва,Санкт-Петербург'). Empty = all. category: Filter by category. Empty = all.

ParametersJSON Schema
NameRequiredDescriptionDefault
regionsNo
categoryNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

With no annotations, the description carries the behavioral transparency burden. It discloses that the tool returns 'detailed price statistics, percentiles, and regional rankings,' which sets expectations for output. However, it does not explicitly confirm that the tool is read-only, nor does it mention any potential side effects, data limitations, or ordering defaults. This is a minor gap for a comparison tool, but sufficient for a basic understanding.

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?

The description is concise and front-loaded. The first sentence states the core purpose, the second summarizes the output type, and the Args section is formatted clearly for easy parsing. No redundant information or fluff exists.

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?

The description covers all two parameters and gives a high-level view of the return value. With an output schema present (not shown), the agent can rely on that for detailed structure. The description could mention limitations (e.g., max number of regions) but that's not necessary for basic use. Overall, it is complete enough for an effective selection and invocation.

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

Parameters5/5

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

The input schema provides only parameter names and default values with no descriptions. The description's 'Args' section adds substantial meaning: it explains that regions are comma-separated, provides an example, and clarifies that empty means 'all.' Similarly, category filtering is explained. This fully compensates for the 0% schema description coverage.

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 description states the tool's function with a specific verb and object: 'Compare construction prices across regions and categories.' This clearly distinguishes it from siblings like compare_companies (which compares companies) and region_comparison (which may focus on regional overall stats, not price statistics). The mention of 'price statistics, percentiles, and regional rankings' further clarifies the deliverable.

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

Usage Guidelines4/5

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

The description provides clear context on when to use the tool: whenever comparing construction prices by regions and categories. It also gives parameter usage semantics ('Empty = all'), which serves as implicit guidance. However, it does not explicitly state exclusions or alternatives, but given the tool's focused purpose, the usage context is clear enough.

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

project_estimatorBInspect

Estimate construction project cost based on area, region, category and quality level (economy/standard/premium). Uses real market data from our database.

ParametersJSON Schema
NameRequiredDescriptionDefault
regionNo
qualityNostandard
area_sqmYes
categoryNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

No annotations are present, so the description carries the full burden for behavioral disclosure. It adds context by stating 'Uses real market data from our database,' which gives a hint about data freshness and reliability. However, it does not disclose potential defaults for region/category, how missing inputs are handled, or any limitations of the estimate. This is a moderate level of transparency, lacking richer detail that could prevent misuse.

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?

The description is two concise sentences with no filler. The first sentence front-loads the purpose and parameters; the second sentence adds relevant data-source context. Every word earns its place, and the structure is easy to scan.

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

Completeness3/5

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

An output schema exists, so return values are presumably defined there. The description covers the main input factors and data source, but with 4 parameters and no schema documentation, it leaves ambiguity around region/category values and the meaning of the estimate (currency, accuracy). The tool is relatively simple, so a 3 reflects that it is adequate but not fully complete for an agent to invoke without further lookups.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate for the missing parameter documentation. It lists all four parameters (area, region, category, quality) and provides an enum for quality (economy/standard/premium), which adds value beyond the schema's plain string type. However, it does not explain acceptable values for region or category, their format, or the required nature of area_sqm. This partial compensation earns a 3.

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

Purpose4/5

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

The description clearly states the tool's function: estimating construction project cost, and lists the key input factors (area, region, category, quality). It uses a specific verb and resource, which sets it apart from vague descriptions. However, it does not explicitly distinguish itself from the sibling tool 'calculate_cost' or other estimation-related tools, so it misses the full differentiation for a 5.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'calculate_cost' or 'price_comparison'. It only says 'Uses real market data from our database,' which hints at a data-driven approach but does not state use cases, exclusions, or preferred scenarios. Without this, an agent may struggle to choose between this and similar tools.

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

region_comparisonAInspect

Compare construction markets across regions. Provide comma-separated region names. Shows companies count, ratings, prices, contact availability for each region side by side.

ParametersJSON Schema
NameRequiredDescriptionDefault
regionsYes
categoryNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/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 of behavioral disclosure. It does reveal the output content (companies count, ratings, prices, contact availability) and the side-by-side presentation format. However, it does not mention any potential side effects, authentication needs, or other behavioral nuances. Adequate but not detailed.

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?

The description is extremely concise, composed of three short sentences, each conveying essential information without redundancy. It gets straight to the point.

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

Completeness3/5

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

The description covers the core purpose and gives a preview of the output, but it misses the optional 'category' parameter and any limitations or edge cases. The presence of an output schema reduces the need to explain return values, but the incomplete parameter coverage leaves meaningful gaps.

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

Parameters3/5

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

The input schema provides no descriptions (0% coverage), so the description must compensate. It adds meaning for the 'regions' parameter by specifying comma-separated format, which is valuable. However, the optional 'category' parameter is entirely omitted from the description, leaving its purpose unexplained.

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 description uses a specific verb 'compare' with a clear resource 'construction markets across regions', which distinguishes it from sibling tools like compare_companies and price_comparison. The purpose is immediately evident and unambiguous.

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

Usage Guidelines4/5

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

The description states exactly when to use the tool: when comparing construction markets across regions. It also provides a direct usage instruction ('Provide comma-separated region names'), giving clear context. However, it does not explicitly mention alternatives or when-not-to-use conditions.

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

request_quoteAInspect

Send a quote request to a construction company on behalf of the user. Returns confirmation with lead ID and company contact details.

Args: company_id: Target company UUID (required) project_id: Specific project UUID if the user is interested in a particular house project name: Client's name for the quote request phone: Client's phone number for callback email: Client's email address comment: Additional comments or requirements for the quote

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
emailNo
phoneNo
commentNo
company_idYes
project_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

The description discloses the output behavior ('Returns confirmation with lead ID and company contact details') and notes that the action is performed 'on behalf of the user,' implying a side effect. However, it does not explicitly state that a lead record is created or that the company may be notified, which is a gap given no annotations are present.

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?

The description is concise and well-structured: a brief functional sentence, a one-sentence output description, and a clean list of arguments. Every line provides necessary information without redundancy.

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?

For a tool with 6 parameters and an output schema, the description covers all parameter meanings and the primary return value. It does not mention prerequisites (e.g., whether company_id must exist) or error handling, but these are not critical given the presence of the output schema and clear parameter descriptions.

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

Parameters5/5

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

The description includes an Args section that explains each parameter's purpose (e.g., 'company_id: Target company UUID', 'project_id: Specific project UUID if the user is interested in a particular house project'). This adds substantial meaning over the input schema, which only provides names and defaults, fully compensating for the 0% schema description coverage.

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 description clearly states a specific action: 'Send a quote request to a construction company on behalf of the user.' This distinguishes it from sibling tools like calculate_cost (cost estimation) and get_company (information retrieval). The verb+resource is specific and unambiguous.

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

Usage Guidelines3/5

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

The intended usage is implied by the name and description—when the user wants to request a quote—but there is no explicit guidance on when to use this tool versus alternatives like calculate_cost or project_estimator. No exclusions or alternative tool references are provided.

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

review_analysisAInspect

Reputation summary from the aggregate star rating and review count, benchmarked against the region average. Provide company_slug for one company, or region/category for a market overview. Review texts are not stored, so no per-review sentiment or themes are returned.

ParametersJSON Schema
NameRequiredDescriptionDefault
regionNo
categoryNo
company_slugNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

With no annotations, the description carries the burden of disclosure. It explicitly states that review texts are not stored, so no per-review sentiment or themes are returned, and clarifies the benchmarking against region average. It does not explicitly mention read-only nature, but no conflicting behavior is implied.

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?

Two sentences, front-loaded with the core purpose, followed by usage guidance and a key limitation. Every sentence adds value with no redundancy.

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

Completeness5/5

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

Given the presence of an output schema and the modest parameter set, the description covers the tool's purpose, invocation patterns, and key limitations. An agent can determine whether to use this tool and how to call it without needing additional context.

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?

The schema has 0% description coverage, but the description explains the role of each parameter and frames company_slug versus region/category as alternative invocation modes. This provides enough context for correct invocation, despite missing format details such as expected strings or default behaviors.

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 description clearly states that the tool returns a reputation summary based on aggregate star rating and review count, benchmarked against region average. It distinguishes from sibling analysis tools by specifying the focus on aggregate review data and explicitly noting that per-review sentiment is not available.

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

Usage Guidelines4/5

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

The description provides specific invocation patterns: company_slug for a single company, or region/category for a market overview. The note that review texts are not stored gives a clear when-not-to-use signal, though it does not name alternate tools explicitly.

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

search_companiesAInspect

Search Russian construction companies by category, region, and budget. Returns company name, rating, prices, website, and phone number.

Args: query: Free text search query (e.g. 'каркасные дома недорого', 'frame houses') category: Company category filter (каркасные_дома, дома_из_бруса, газобетон, кирпич, недвижимость, модульные_дома, СИП) region: Region or city name (e.g. 'Московская область', 'Санкт-Петербург', 'Краснодар') budget_max: Maximum budget in rubles. Set to 0 for no limit. limit: Number of results to return, maximum 20

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
regionNo
categoryNo
budget_maxNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses important behavioral details like budget_max=0 meaning no limit and limit maximum of 20, plus the return structure. However, it does not mention authentication, pagination, error handling, or what happens with invalid inputs beyond those details.

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?

The description is concise and well-structured: a one-sentence summary followed by a clear Args block. Every sentence serves a purpose, with no redundancy or filler.

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?

The description adequately covers the tool's purpose, parameters, and return values for a search tool with 5 optional parameters. It lacks mention of how to obtain valid category/region values (e.g., via get_categories/get_regions) and does not specify ordering or pagination beyond the limit, which would make it more complete.

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

Parameters5/5

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

Schema description coverage is 0%, so the description's 'Args:' section is the sole source of parameter meaning. It explains each parameter with examples, enumerates category values, and clarifies special values like budget_max=0. This fully compensates for the schema gap.

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 description opens with 'Search Russian construction companies by category, region, and budget', using a specific verb and resource with clear scope. It also lists return fields (name, rating, prices, website, phone), distinguishing it from sibling tools like search_projects or get_company.

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

Usage Guidelines3/5

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

The description provides clear context for what the tool does but offers no explicit guidance on when to use it versus alternatives such as find_best_companies or smart_match. There is no mention of exclusions or preferred scenarios.

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

search_projectsAInspect

Search house building projects by area, floors, material, and price. Returns project specifications, price, direct link, and company contacts.

Args: area_min: Minimum house area in square meters. Set to 0 for no limit. area_max: Maximum house area in square meters. Set to 0 for no limit. floors: Number of floors/stories. Set to 0 for any. material: Building material filter (каркас/frame, брус/timber, газобетон/aerated_concrete, кирпич/brick, СИП/SIP) budget_max: Maximum price in rubles. Set to 0 for no limit. region: Filter by company region or city name query: Free text search in project name and description limit: Number of results to return, maximum 20

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
floorsNo
regionNo
area_maxNo
area_minNo
materialNo
budget_maxNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

The description states the return contents (project specifications, price, direct link, company contacts) and implies a read-only search operation, but does not explicitly confirm non-destructiveness, mention rate limits, or discuss permission requirements. Since annotations are absent, this is a moderate disclosure that goes beyond the schema but lacks depth.

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?

The description is front-loaded with a concise summary sentence followed by a well-organized parameter list. Each parameter earns its place with necessary detail, and there is no redundancy or fluff. The structure mirrors the schema parameter order, making it easy to map.

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?

The description covers the search filters, return fields, and parameter defaults/limits, which is sufficient for a search tool with an output schema. It does not mention pagination beyond the limit parameter or sorting, but these are minor gaps given the output schema exists and the core use case is well described.

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

Parameters5/5

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

With 0% schema description coverage, the description fully compensates by explaining every parameter with units and semantics: 'area_min: Minimum house area in square meters', 'material' with allowed values, 'budget_max: Maximum price in rubles', and 'limit: Maximum 20'. This is exactly the type of clarity needed for an 8-parameter tool with no schema-level descriptions.

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 description uses a specific verb 'Search' with a clear resource 'house building projects' and lists the key filters (area, floors, material, price). It distinguishes itself from sibling tools like search_companies and get_project by focusing on the project search use case with multiple filter dimensions.

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

Usage Guidelines2/5

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

The description explains how to use parameters (e.g., 'Set to 0 for no limit') but provides no guidance on when to choose this tool over alternatives. It does not mention exclusions, prerequisites, or scenarios where other tools like search_companies or get_project would be more appropriate.

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

smart_matchAInspect

Natural-language contractor search. Pass a free-form Russian brief (e.g. "хочу каркасный дом 180 кв.м в Подмосковье до 15 млн") and get top-N matching contractors plus an explanation of how the brief was parsed.

Returns JSON with: parsed filters, matches list, explanation.

ParametersJSON Schema
NameRequiredDescriptionDefault
briefYes
top_nNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

With no annotations provided, the description fully carries the burden of behavioral disclosure. It transparently explains that the tool parses the brief, returns top-N matches, and includes an explanation of parsing. It also reveals the JSON return structure. This goes beyond the schema, though it doesn't mention rate limits, auth, or side effects (which may not be relevant for a search tool).

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?

The description is extremely concise: two sentences that front-load the purpose, provide an illustrative example, and summarize the output structure. Every word earns its place with no redundancy or filler.

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?

Given the tool has an output schema and simple input parameters, the description covers all essential aspects: input format, output structure, and the parsing explanation. It could explicitly contrast with sibling search tools, but that is a usage guideline aspect. Overall, it is highly complete for a search tool.

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 description coverage is 0%, so the description must compensate. The description provides a detailed example for 'brief' and clarifies the meaning of 'top_n' via 'top-N matching contractors'. However, it doesn't explicitly name the 'top_n' parameter or its default value (though the schema provides the default), so a 4 is appropriate rather than a 5.

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 description clearly states a specific verb ('search') and resource ('contractors'), and emphasizes the natural-language Russian brief aspect that distinguishes it from sibling tools like 'search_companies'. The example brief further clarifies the exact input format and scope.

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

Usage Guidelines4/5

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

The description clearly implies when to use this tool: when you have a free-form Russian brief and want top-N matching contractors. However, it does not explicitly state when not to use it or mention alternative tools as contrasts, so it falls short of a full 5.

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

trend_analyzerAInspect

Current market snapshot by region, category, rating tier and price segment.

This is a distribution of the catalogue as it stands now, not a time series: we do not store historical snapshots, so no growth or change-over-time can be computed. period is accepted for backwards compatibility and ignored.

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNoall
regionNo
categoryNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

With no annotations, the description carries the burden of disclosing behavior. It clearly states the tool only returns a current snapshot, not time-series data, and that no historical snapshots are stored. It also discloses that `period` is accepted but ignored. This adds significant behavioral context beyond the schema, though it does not discuss permissions or rate limits (which are less relevant for a read-only distribution).

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?

The description is concise: two short paragraphs. The first sentence immediately states the purpose, and the second paragraph explains the critical limitation. Every sentence earns its place with no redundancy or filler.

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?

The description is sufficient for a tool with no required parameters and an output schema. It explains the main caveat (no time series) and the ignored parameter. It could be slightly more complete by clarifying how region/category filters behave when empty, but the defaults in the schema partially cover that. Overall, it is adequately complete for selection and invocation.

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

Parameters3/5

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

The schema provides zero descriptions for the three parameters, so the description must compensate. It explains that `period` is ignored, and that `region` and `category` are grouping dimensions. However, it does not detail allowed values or whether empty defaults mean 'all', and it introduces 'rating tier' and 'price segment' that are not parameters, which could confuse parameter mapping. It adds some meaning but not exhaustive coverage.

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 description clearly states it provides a 'current market snapshot' with specific dimensions (region, category, rating tier, price segment), and explicitly distinguishes itself from a time-series tool by noting 'not a time series' and 'we do not store historical snapshots'. This is a specific verb+resource that differentiates it from sibling tools like market_analytics or trend_analysis.

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

Usage Guidelines4/5

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

It gives clear context on when to use (for current catalogue distribution) and when not to use (for growth/change-over-time, since historical data is unavailable). It also warns that `period` is ignored for backwards compatibility, preventing misuse. However, it does not explicitly name alternative tools for historical analysis, so it lacks full alternative guidance.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    GTM signal intelligence suite for AI agents. Six tools: hiring signals, tech stack detection, company-to-LinkedIn resolution, ICP scoring, job board scanning, and a combined signals aggregator. Built for outbound sales workflows.
    11
    737
    1
    MIT
  • F
    license
    -
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources