İhale MCP
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation4/5
Most tools have distinct purposes targeting specific resources like tenders, direct procurements, authorities, or advertisements, with clear boundaries. However, some overlap exists between search_tenders and get_recent_tenders, which could cause confusion as both relate to tender listings, though descriptions help differentiate them by recency versus comprehensive search.
Naming Consistency5/5Tool names follow a highly consistent verb_noun pattern throughout, such as get_direct_procurement_details, search_authorities, and get_tender_details. All tools use snake_case with clear, descriptive names, making them predictable and easy to understand for agents.
Tool Count5/5With 12 tools, the server is well-scoped for its domain of Turkish government procurement and announcements. Each tool serves a specific function, such as searching, retrieving details, or filtering, covering key aspects without being overly broad or sparse, which is appropriate for this complex domain.
Completeness4/5The tool set provides comprehensive coverage for searching and retrieving information on tenders, direct procurements, authorities, advertisements, and classification codes, supporting core workflows. A minor gap exists in update or action-oriented tools, such as submitting bids or managing notifications, but agents can work around this with the available read-focused operations.
Average 3.2/5 across 12 of 12 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- 0 of 2 community issues answered or closed in the last 6 months
- 2 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral context. It mentions 'using tokens' but doesn't disclose authentication needs, rate limits, error handling, or what the output contains. For a tool with required parameters and no annotation coverage, this is inadequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words. It's front-loaded with the core purpose. However, it could be slightly more structured by separating usage context from the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 100% schema coverage and an output schema exists, the description doesn't need to explain parameters or return values. However, for a tool with required parameters and no annotations, it should provide more context on authentication, errors, or usage scenarios to be complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all parameters. The description adds no additional parameter semantics beyond implying tokens are needed, which is already covered in schema descriptions. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('Direct Procurement details'), and includes the Turkish function name 'dtDetayGetir' for specificity. However, it doesn't explicitly differentiate this tool from sibling tools like 'search_direct_procurements' or 'get_tender_details', which would require 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/5Does 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. It mentions 'using tokens' but doesn't explain prerequisites or compare to sibling tools like 'search_direct_procurements' for listing or 'get_tender_details' for other procurement types.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions HTML-to-Markdown conversion, which is a useful behavioral trait, but fails to cover critical aspects such as whether this is a read-only operation, potential rate limits, authentication needs, or error handling. For a tool with no annotations, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, with the first sentence clearly stating the purpose and key feature. The second sentence lists return types, which adds value but could be more integrated. There's minimal waste, but it could be slightly more structured for optimal clarity, such as by merging the return information into the main sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists, the description doesn't need to explain return values in detail, and the schema coverage is high. However, with no annotations and a tool that likely involves data retrieval and conversion, the description should do more to address behavioral aspects like safety, performance, or error cases. It's adequate but has clear gaps in context for a tool with these characteristics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the single parameter 'tender_id' clearly documented. The description adds no additional parameter information beyond what the schema provides, such as format details or examples. According to the rules, when schema coverage is high (>80%), the baseline score is 3, which is appropriate here as the description doesn't compensate but doesn't need to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get all announcements for a tender with HTML-to-Markdown conversion.' It specifies the verb ('Get'), resource ('announcements for a tender'), and a key feature (HTML-to-Markdown conversion). However, it doesn't explicitly differentiate from sibling tools like 'get_tender_details' or 'get_ilan_ad_detail', which might also retrieve tender-related information, so it doesn't reach a score of 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/5Does 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. It doesn't mention sibling tools like 'get_tender_details' or 'search_tenders', nor does it specify prerequisites or contexts for usage. The only implied usage is for retrieving announcements, but this is insufficient for effective tool selection, resulting in a low score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It mentions the output token usage but doesn't disclose behavioral aspects like authentication needs (cookies parameter is optional but not explained), rate limits, error conditions, or what 'searching' entails (e.g., partial matches, case sensitivity).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the core purpose. The second sentence about token usage is relevant but could be integrated more smoothly. No wasted words, though slightly terse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema (which should cover return values), the description adequately states the tool's purpose. However, for a search tool with no annotations, it lacks context on authentication, session handling, or result formatting, leaving gaps in operational understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, providing good documentation for both parameters. The description adds no parameter-specific information beyond what's in the schema, so it meets the baseline of 3 without compensating or adding extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Search authorities') and the resource ('for Direct Procurement'), with the specific operation 'idareAra' mentioned. It distinguishes from general 'search_authorities' by specifying 'Direct Procurement' context, though it doesn't explicitly contrast with 'search_direct_procurement_parent_authorities'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'search_authorities' or 'search_direct_procurement_parent_authorities'. It mentions using the returned 'token' as idareId, which is a usage instruction but not comparative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the data source (EKAP v2 portal) and some format constraints, but fails to describe critical behaviors: whether this is a read-only operation, pagination mechanics beyond the 'limit' and 'skip' parameters, rate limits, authentication requirements, error handling, or what the output contains. For a search tool with 51 parameters, this leaves significant gaps in understanding how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise with four brief lines. It front-loads the core purpose and efficiently lists key data formats without unnecessary elaboration. Every sentence provides specific information about the tool's domain and expected inputs, though it could be slightly more structured for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's high complexity (51 parameters) and the presence of an output schema (which handles return values), the description is minimally adequate. It covers the data source and key format mappings but lacks behavioral context, usage guidance, and doesn't compensate for the absence of annotations. For such a parameter-rich search tool, more comprehensive guidance would be beneficial despite the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds minimal parameter semantics beyond the schema. It provides mappings for tender types (1=Mal, etc.), province plate numbers (6=Ankara), IKN format, and date format, which clarifies some enum values. However, with 100% schema description coverage, the schema already documents all 51 parameters thoroughly. The description's additions are helpful but don't significantly enhance understanding beyond the comprehensive schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches Turkish government tenders from the EKAP v2 portal, providing a specific verb ('Search') and resource ('Turkish government tenders'). However, it doesn't explicitly differentiate this from sibling tools like 'search_direct_procurements' or 'search_ilan_ads' beyond mentioning the EKAP portal, which might not be sufficient for clear sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get_recent_tenders' or 'search_direct_procurements'. It lists data formats (tender types, provinces, IKN format, dates) but offers no context about appropriate use cases, prerequisites, or exclusions compared to other search tools on the server.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool returns detailed information but doesn't cover critical aspects like whether it's a read-only operation, requires authentication, has rate limits, or handles errors. This is a significant gap for a tool that likely queries an external API.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured in two sentences: the first states the purpose, and the second enumerates the return values. Every sentence adds value without redundancy, making it easy to parse and understand quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema (which should detail return values), the description doesn't need to fully explain outputs. However, for a tool with no annotations and likely external API calls, it lacks context on behavioral traits like safety or constraints. The purpose is clear, but operational guidance is minimal.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, clearly documenting the single required 'ad_id' parameter. The description adds no additional parameter semantics beyond implying the ad_id comes from 'ilan.gov.tr search results', which is already covered in the schema. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'detailed information for a specific advertisement from ilan.gov.tr', making the purpose unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'search_ilan_ads' or 'get_tender_details', which might handle similar advertisement data but with different scopes or sources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an ad_id from search results), exclusions, or compare it to siblings like 'search_ilan_ads' for broader searches or 'get_tender_details' for tender-specific data, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'Convenience function' which hints at simplicity, but fails to describe critical behaviors like whether this is a read-only operation, what authentication is needed, rate limits, pagination, or error handling. For a tool with no annotations, this leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two short sentences that are front-loaded with the core purpose. There's no wasted text, though it could be slightly more structured by explicitly differentiating from siblings. Every sentence earns its place by clarifying scope and convenience.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema (not provided here) and 100% schema coverage, the description doesn't need to explain return values or parameters. However, with no annotations and moderate complexity (3 parameters, filtering), the description should do more to cover behavioral aspects like safety and usage constraints, making it minimally adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents the parameters (days, limit, tender_types). The description adds no additional semantic meaning beyond implying temporal filtering with 'last N days,' which is already covered in the schema. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as 'Get recent tenders from last N days' which specifies the verb ('get'), resource ('tenders'), and temporal scope ('recent', 'last N days'). It distinguishes itself from siblings like 'search_tenders' by focusing on recency rather than general search, though the distinction could be more explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context with 'Convenience function for recent tender activity,' suggesting it's for quick access to recent data rather than comprehensive searches. However, it doesn't explicitly state when to use this tool versus alternatives like 'search_tenders' or provide any exclusions, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 the HTML-to-Markdown conversion behavior and lists return categories, but lacks details on permissions, rate limits, error handling, or data freshness. It adequately describes the core operation but misses advanced behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and key feature, followed by a bulleted list of return categories. It's efficient with two sentences, though the list could be slightly more structured. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given one parameter with full schema coverage and an output schema exists, the description is reasonably complete. It covers the tool's purpose, conversion feature, and return scope. However, with no annotations and multiple siblings, it could better address usage context and behavioral nuances.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter 'tender_id', which is well-documented in the schema. The description adds no additional parameter semantics beyond implying it fetches 'comprehensive details', which aligns with the schema but doesn't provide extra value. Baseline 3 is appropriate given high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'comprehensive tender details' with the specific feature 'HTML-to-Markdown conversion'. It distinguishes from siblings like 'get_recent_tenders' (list) or 'search_tenders' (search), but doesn't explicitly contrast with 'get_ilan_ad_detail' which might overlap in scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like 'get_ilan_ad_detail' or 'search_tenders'. The description implies usage for detailed information on a specific tender, but lacks context on prerequisites, exclusions, or comparison to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but lacks critical behavioral details. It mentions the API endpoint but doesn't disclose whether this is a read-only operation, potential rate limits, authentication requirements beyond optional cookies, error handling, or pagination behavior (despite having page_index parameter). The description adds minimal context beyond the basic function.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured in two sentences: one stating the search function and endpoint, another listing return fields. There's no wasted text, though it could be slightly more front-loaded with key usage context. Every sentence provides concrete information about the tool's operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complex 20-parameter search tool with no annotations but with complete schema coverage and an output schema (implied by 'Returns' statement), the description is minimally adequate. It covers what the tool does and what it returns, but lacks important context about when to use it, behavioral constraints, and how it differs from sibling tools, making it incomplete for optimal agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the input schema already documents all 20 parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema - it doesn't explain parameter relationships, default behaviors, or search logic. The baseline of 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Search Direct Procurements'), target resource ('via EKAP'), and technical endpoint ('YeniIhaleAramaData.ashx, metot=dtAra'), which distinguishes it from sibling tools like get_direct_procurement_details or search_tenders that perform different operations. It also lists the exact return fields, making the purpose highly specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like search_tenders or get_direct_procurement_details, nor does it mention prerequisites such as needing an EKAP session (only implied by the optional cookies parameter). There is no explicit context for when this search is appropriate versus other procurement-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions that searching in Turkish yields 'best results,' which is useful context about language preferences. However, it lacks critical behavioral details such as whether this is a read-only operation, potential rate limits, authentication requirements, or what happens with empty search terms. For a search tool with zero annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly concise and front-loaded, consisting of three brief sentences that efficiently convey the tool's purpose, use case, and a key recommendation. Every sentence adds value without redundancy, making it easy for an AI agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 parameters, search functionality), the description is reasonably complete. It covers the purpose, context (tender filtering), and a language tip. Since an output schema exists, the description doesn't need to explain return values. However, the lack of annotations means it could benefit from more behavioral details to fully guide usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already fully documents the two parameters (limit and search_term) with their types, defaults, and descriptions. The description adds no additional parameter semantics beyond what's in the schema, such as examples of search terms or clarification on how the search operates (e.g., partial matches). Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: searching for Turkish government authorities/institutions (ministries, municipalities, universities) for tender filtering. It specifies the resource (authorities/institutions) and verb (search), but doesn't explicitly differentiate from sibling tools like 'search_direct_procurement_authorities' or 'search_direct_procurement_parent_authorities' which may have overlapping domains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some usage context by mentioning 'for tender filtering' and recommending 'Search in Turkish for best results,' which implies this tool is part of a tender-related workflow. However, it doesn't explicitly state when to use this tool versus alternatives like the sibling 'search_direct_procurement_authorities' or other search tools, leaving room for ambiguity in tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the token output and its use in another tool, which adds some context, but fails to describe critical behaviors like authentication needs (only hints at optional cookies), rate limits, error handling, or what the search returns beyond the token. For a search tool with zero annotation coverage, this is inadequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core action ('Search parent authorities') and includes essential workflow information (token usage). There is no wasted text, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema (which likely covers return values), 100% schema coverage for inputs, and no annotations, the description is reasonably complete for a search tool. It specifies the search target and token workflow, though it could better address behavioral aspects like authentication or errors.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents both parameters. The description adds no additional meaning about the parameters beyond what's in the schema (e.g., it doesn't clarify search syntax or cookie format). Baseline 3 is appropriate when the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches for parent authorities via 'ustIdareAra' and mentions the token output, which distinguishes it from generic search tools. However, it doesn't explicitly differentiate from sibling tools like 'search_authorities' or 'search_direct_procurement_authorities' beyond the 'parent authorities' focus.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by mentioning passing the token to 'parent_authority_code', suggesting a workflow context. However, it doesn't provide explicit guidance on when to use this tool versus alternatives like 'search_authorities' or 'search_direct_procurement_authorities', nor does it specify prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions searching 'in Turkish descriptions for best results,' which adds useful context about language optimization. However, it fails to disclose critical traits like whether this is a read-only operation, potential rate limits, authentication needs, or pagination behavior (beyond the 'limit' parameter in the schema). For a search tool with zero annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded, with the core purpose stated first. Both sentences earn their place: the first defines the tool, and the second provides practical guidance (item types and language tip). There is zero waste or redundancy, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (search with filtering), 100% schema coverage, and the presence of an output schema (which means return values are documented elsewhere), the description is mostly complete. It covers purpose, item types, and a language tip. However, it lacks behavioral context (e.g., safety, performance), which is a minor gap since annotations are absent, but the output schema mitigates some of this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters (kalem_turu, limit, search_term) with descriptions and defaults. The description adds minimal value by listing item type codes (1=Goods, etc.), which partially overlaps with the schema's enum description. It doesn't provide additional syntax, format details, or examples beyond what the schema offers, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as 'Search OKAS procurement classification codes,' which is a specific verb+resource combination. It distinguishes itself from siblings by focusing on classification codes rather than tenders, authorities, or announcements. However, it doesn't explicitly contrast with sibling tools like 'search_tenders' or 'search_authorities' beyond the resource type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage guidance by mentioning 'Search in Turkish descriptions for best results,' which suggests a language preference. It also lists item type codes (1=Goods, etc.), hinting at when to filter by type. However, it lacks explicit when-to-use rules, alternatives (e.g., vs. other search tools), or exclusions, leaving some ambiguity for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions what the tool returns (public announcements, tender notices, etc.) and sources (BIK, UYAP), but lacks critical behavioral details like pagination behavior (implied by parameters but not explained), rate limits, authentication requirements, or error handling. The description is informative but incomplete for operational transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded with the core purpose, followed by return types, categories, and sources. Each sentence adds value without redundancy. It could be slightly more concise by integrating some details, but overall it's efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (13 parameters, 100% schema coverage, output schema exists), the description is reasonably complete. It explains the tool's scope, return types, categories, and sources, which complements the structured data. With an output schema, it doesn't need to detail return values. Minor gaps in behavioral transparency prevent a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 13 parameters. The description adds no parameter-specific information beyond what's in the schema, but does provide context on categories and sources that help interpret parameter values like ad_type_filter or category. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches Turkish government announcements on ilan.gov.tr, specifying the exact resource. It distinguishes itself from sibling tools like search_tenders or get_recent_tenders by covering a broader range of announcement types (e.g., real estate, job postings, legal notices) beyond just tenders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for searching various official advertisements, but does not explicitly state when to use this tool versus alternatives like search_tenders or get_recent_tenders. It provides context about the types of announcements covered but lacks explicit guidance on tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/saidsurucu/ihale-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server