UltraTech Pakistan
Server Details
IT services in Lahore, Pakistan: search services, read pages, CCTV and UPS calculators.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 7 tools
Each tool has a clearly distinct purpose: two calculators cover different domains (CCTV storage vs UPS backup), and the service tools form a clean browse hierarchy (list_services for categories, search_services for need-based lookup, get_service for one item by slug). No two tools appear interchangeable.
All seven tools follow a consistent snake_case verb_noun pattern (calculate_cctv_storage, get_company_info, list_services, search_services, prepare_quote_request). The convention is predictable and readable throughout.
Seven tools is well-scoped for a company services catalog with two niche calculators. Each tool earns its place: browsing, retrieval, contact info, quote drafting, and computation are all justified.
The service lifecycle is well covered (list, search, get, plus company info and a quote-drafting path that stops short of sending). Minor gap: calculator coverage is limited to two hardware scenarios, and there is no way to contact/submit beyond a mailto draft.
Available Tools
7 toolscalculate_cctv_storageCCTV storage calculatorBRead-onlyIdempotentInspect
Estimate the hard-disk storage a CCTV system needs and suggest a disk size. Same calculation as https://utechit.pk/tools/cctv-hard-disk-storage-calculator
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Days of recording to keep | |
| codec | No | h265 | |
| cameras | Yes | ||
| resolution | No | 4mp | |
| hoursPerDay | No | ||
| motionPercent | No | Share of time recorded; 100 = continuous |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, which fully covers the safety profile of a pure computation, so the bar is lower. The description usefully confirms the tool suggests a disk size (a derived output) and never mutates anything, but adds no detail on precision, units, or rounding.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence is well front-loaded and efficient, but the second sentence is pure external-link trivia that earns no place in a tool definition since an agent cannot use the URL.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and 33% parameter coverage, the description should carry the burden of explaining inputs and the shape of the result. It names only the two headline outputs and omits parameter meaning and return detail, leaving the agent under-equipped.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, so half-plus of the six parameters (codec, resolution, hoursPerDay, cameras) rely on the agent inferring meaning. The description supplies no parameter guidance at all, failing to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (estimate) and resource (hard-disk storage a CCTV system needs) plus a concrete secondary output (suggest a disk size). This is clearly distinguishable from the sibling calculate_ups_backup, and an agent can route on it without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of the sibling calculate_ups_backup or how to choose between the two calculators, and no prerequisites. The URL reference does not function as usage guidance for an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_ups_backupUPS backup time calculatorBRead-onlyIdempotentInspect
Estimate how long a battery bank runs a load (e.g. during load-shedding), the battery capacity needed for a target time, and a minimum UPS rating. Same calculation as https://utechit.pk/tools/ups-battery-backup-time-calculator
| Name | Required | Description | Default |
|---|---|---|---|
| batteryAh | No | ||
| loadWatts | Yes | ||
| batteryType | No | lithium | |
| targetHours | No | ||
| batteryVolts | No | ||
| inverterEfficiencyPercent | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so safety and determinism are covered structurally. The description's added value is the note that it reproduces a published calculator's logic, implying consistent deterministic output, but it discloses nothing about I/O behavior or edge cases beyond that. With the lower bar set by annotations, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core capability before the reference link. The external URL is arguably promotional rather than operational, but it is brief and does signal provenance/determinism, so it roughly earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter calculator with zero schema descriptions and no output schema, the description should explain the input-output relationship (e.g. batteryAh + loadWatts yields runtime; targetHours yields required capacity). It does not, leaving the agent unable to reason about which optional parameters to supply for which requested answer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across six parameters, so the description carries the burden and largely fails to. It mentions concepts that loosely map to loadWatts, batteryAh, and targetHours, but gives no units, defaults, ranges, or explanation of how batteryType/inverterEfficiencyPercent affect results. An agent cannot tell which input drives which of the three advertised outputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ("Estimate") and enumerates three concrete outputs: runtime, required battery capacity, and minimum UPS rating. That is far clearer than a tautology and tells an agent this is a pure calculation tool. It does not explicitly differentiate itself from the sibling calculate_cctv_storage, but the domains are distinct enough that confusion is unlikely.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied via the parenthetical example "(e.g. during load-shedding)," which gives a real scenario but no explicit when-to-use/when-not and no named alternatives. An agent can infer this is the tool for UPS/battery sizing, but nothing steers it away from siblings or states prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_company_infoCompany informationARead-onlyIdempotentInspect
Who UltraTech Pakistan is, where its office is, how to contact it and its commercial terms. Use this before recommending or contacting the company.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered structurally. The description adds only the pre-use timing advice and no extra behavioral context (e.g., currency/locale of commercial terms, freshness of contact data), so a baseline 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, and the content list is front-loaded ahead of the usage instruction. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description usefully enumerates what the agent will receive (identity, address, contact, commercial terms). It stops short of describing the shape or granularity of those values, which is a minor gap for a context-fetching tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the description has no parameter semantics to explain. The baseline for a parameterless tool is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the resource (UltraTech Pakistan) and enumerates the exact content returned: identity, office location, contact details, and commercial terms. It is clearly distinct from the service-oriented siblings (get_service, list_services, prepare_quote_request), though it never uses a retrieval verb such as 'get' or 'returns'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Use this before recommending or contacting the company' gives a concrete trigger for invocation. It does not name alternatives or exclusion conditions, but for a single zero-param company-info tool none are really needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_serviceGet service detailsARead-onlyIdempotentInspect
Full details of one service as markdown: what's included, who it's for, brands, process and FAQs. Use the slug from list_services or search_services.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Service slug, e.g. cctv-camera-installation-lahore |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds valuable output context the annotations don't carry: the response is markdown and covers specific content sections. It does not mention behavior for an unknown/stale slug, which keeps it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: the return content is front-loaded, and the input-sourcing hint follows. Every clause earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only, fully annotated tool with no output schema, the description sufficiently covers both what goes in and what comes back. Only minor gap is absence of any error/not-found behavior for an invalid slug.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With one parameter and 100% schema coverage, the schema already documents the slug and gives an example. The description adds provenance meaning beyond the schema by telling the agent where to source a valid slug from (list_services / search_services), which is genuinely useful.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Full details of one service') and enumerates the payload (inclusions, audience, brands, process, FAQs), which cleanly separates it from list_services and search_services. An agent can identify this as the single-item detail fetcher without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Use the slug from list_services or search_services' gives explicit provenance for the required input and implicitly defines the workflow. It lacks an explicit when-not-to-use clause (e.g., don't call this for browsing multiple services), 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.
list_servicesList servicesARead-onlyIdempotentInspect
List UltraTech Pakistan's service categories, groups and services with their page URLs. Optionally filter to one category slug.
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Category slug to filter by |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world behavior, so the safety profile is covered. The description contributes the useful fact that results carry page URLs, but says nothing about ordering, hierarchy nesting, or result size.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tightly written sentence that front-loads the operation and its scope, with the optional-filter caveat placed last. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by naming the entities returned (categories, groups, services) and their URLs, which is enough to set expectations. It could still clarify the nesting order or whether groups/URLs are always present, but nothing critical is missing for a 1-param read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single parameter documents both its purpose ('Category slug to filter by') and its seven allowed enum values. The description only restates that the filter is optional and singular, adding little beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List UltraTech Pakistan's service categories, groups and services') and adds the returned payload ('with their page URLs'), so the scope is unambiguous. It does not name or contrast with siblings like get_service or search_services, so an agent must infer the distinction itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage as a catalog/browse operation and notes that filtering is optional ('Optionally filter to one category slug'), which is helpful. It never says when to prefer this over search_services or get_service, nor when not to use it, so guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_quote_requestPrepare a quote requestARead-onlyIdempotentInspect
Draft a quote request email to UltraTech Pakistan for the user to send. This does not send anything; it returns the address, subject and body, and a mailto link.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | Lahore | |
| contactName | No | ||
| serviceSlug | No | Service slug, if known | |
| requirements | Yes | What the user needs, in their words |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description earns credit by disclosing the non-sending behavior and the exact return payload (address, subject, body, mailto link), which goes beyond what the annotations say.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the purpose front-loaded and the behavioral clarification immediately after; every clause carries information and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Since there is no output schema, the description usefully enumerates what is returned, and the read-only, non-sending nature is fully covered. The only real gap is that the partially documented parameters are not elaborated on.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50% and the description mentions no parameters at all, so it fails to compensate. Unclear how 'city' (defaulted to Lahore), 'contactName', and 'serviceSlug' shape the generated draft, leaving half the inputs undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (draft/prepare) and resource (quote request email to UltraTech Pakistan) and clearly separates itself from the sibling calculation and service-lookup tools. An agent can identify what this produces without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case (preparing a quote inquiry for the user to send) and rules out one misuse ('does not send anything'), but it never states when to prefer this over siblings like get_service or search_services, nor what prerequisites are needed. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_servicesSearch servicesBRead-onlyIdempotentInspect
Find the UltraTech Pakistan services that match a need in plain language, e.g. 'cameras for my shop', 'FBR invoicing', 'backup power for server'.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | What the user needs |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and a closed-world scope, so the safety profile is covered. The description adds that queries are interpreted loosely from plain language with examples, but says nothing about result ranking, how the limit is applied, or what a match looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that states the action first and then illustrates it with examples. Every clause earns its place; it is tight, though the examples make it slightly longer than strictly needed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only search tool with no output schema, the description covers the query intent well but omits default result count (limit=5) and any hint about result shape or ranking. Adequate but with visible gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: query has a short description while limit has none. The description usefully clarifies that query is a natural-language need (with three examples), but it never addresses limit or its 1-10 range, so it only partially compensates for the coverage gap. Baseline 3 fits.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Find) and resource (UltraTech Pakistan services) and clarifies the query modality with concrete examples like 'cameras for my shop' and 'FBR invoicing'. It does not explicitly contrast itself with list_services or get_service, which is the only thing keeping it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'plain language' framing implies this is the semantic-search path rather than browsing, but the description never states when to prefer it over list_services or get_service. No exclusions, prerequisites, or fallbacks are given, so the routing must be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
7 tool updates
- First observed
calculate_cctv_storage - First observed
calculate_ups_backup - First observed
get_company_info - First observed
get_service - First observed
list_services - First observed
prepare_quote_request - First observed
search_services
Related MCP Connectors
German IT service provider: services, prices, contact and website search.
Pay-per-call web search, keyword trends, and evidence-backed public-page change intelligence.
Live DNS, email-auth and redirect checks, HTTP security headers, uptime history, PC hardware prices.
Search the web, images, videos, news, and local businesses with robust filters, freshness controls…
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables searching and scraping of product listings from major Pakistani e-commerce platforms including Daraz, Telemart, and iShopping. It provides tools to find the lowest-priced items with ratings of four stars or higher through automated web scraping.-
- FlicenseNot gradedqualityDmaintenanceEnables searching and comparing products across Pakistani e-commerce platforms Daraz, Telemart, and iShopping, filtering by price and ratings.-
- AlicenseNot gradedqualityAmaintenanceEnables searching thousands of server offers by specification, price, and location using natural language queries.MIT
- FlicenseNot gradedqualityDmaintenanceProvides penetration testing tools including nmap, nikto, sqlmap, wpscan, and exploit database searches for educational and authorized security testing purposes using Kali Linux tools.-
Glama MCP Gateway
Add one secure layer between your agents and this server.