Pactum — legal services in Uzbekistan
Server Details
Uzbekistan legal services: find services, read Uzbek law, request a lawyer's quote.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 6 tools
Each tool has a distinct purpose: search_services/get_service form a clear search-then-fetch pattern, search_articles handles legal content, list_practice_areas provides routing metadata, and request_quote vs book_consultation are explicitly differentiated (quote for task pricing, consultation for a prepaid session). The descriptions cross-reference each other, leaving little room for misselection.
All six tools use snake_case with a consistent verb_noun structure (book_consultation, get_service, list_practice_areas, request_quote, search_articles, search_services), making the set predictable and easy to scan.
Six tools is a well-scoped number for a legal services server focused on information lookup and lead capture; each tool earns its place without redundancy.
The surface covers service discovery, service details, article search, practice-area routing, quote requests, and consultation booking. Minor gaps exist: search_articles returns only summaries and URLs (no full article retrieval), and there is no status-check or list-all-services tool, but these are workable around via returned links.
Available Tools
6 toolsbook_consultationBook a paid consultation with a lawyerAInspect
Book a 60-minute consultation with a Pactum lawyer, prepaid (the price is in the response; it is credited toward the service if the client orders it). Call ONLY after the user asked for a consultation, accepted the price, gave their real name and phone, and agreed that Pactum stores these details. Returns the order number, price, how to pay and a status link. For a price quote on a whole task use request_quote instead.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | What the user wants to discuss, in their own terms | |
| agent_name | No | Your assistant name, e.g. ChatGPT, Claude | |
| contact_name | Yes | Client name as the user gave it | |
| service_slug | No | Slug from search_services, if a specific service fits | |
| user_consent | Yes | true only if the user explicitly agreed to share these details with Pactum and its partner lawyer | |
| contact_email | No | ||
| contact_phone | Yes | Phone with country code, e.g. +998901234567 | |
| practice_area | No | Slug from list_practice_areas, if known | |
| preferred_date | No | YYYY-MM-DD, Tashkent time; a lawyer confirms | |
| preferred_time | No | HH:MM, Mon–Fri 9:00–18:00 Tashkent | |
| preferred_language | No | ||
| user_accepts_price | Yes | true only if the user agreed to pay for the consultation |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare the generic write/open-world profile; the description adds the economically critical behavior — prepaid charge, price credited toward the service if the client orders, and the exact payload returned (order number, price, payment instructions, status link). This is meaningful context an agent cannot get from the annotations.
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 dense sentences, zero filler: the action and its prepaid nature are front-loaded, preconditions follow, then the return payload and the sibling alternative. Every clause carries information the agent needs.
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 12-parameter mutation tool with no output schema, the description covers the missing pieces: the consent/price preconditions behind the required booleans and an explicit summary of return values, so nothing essential must be inferred.
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 83%, so most parameters are self-documented. The description still adds meaning by tying contact_name/contact_phone and the two const-true booleans to real preconditions ('real name and phone', 'agreed that Pactum stores these details', 'accepted the price'), clarifying what those flags actually certify.
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+resource with scope: 'Book a 60-minute consultation with a Pactum lawyer, prepaid.' It immediately separates itself from request_quote by noting that quote covers a whole task rather than a consultation booking.
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?
Gives an explicit precondition gate ('Call ONLY after the user asked for a consultation, accepted the price, gave their real name and phone, and agreed that Pactum stores these details') and names the alternative tool with the condition that selects it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_serviceService detailsARead-onlyInspect
Full description of one Pactum service by slug (from search_services): what is included, price anchor, FAQ and page URL to cite.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Service slug, e.g. trademark-registration | |
| locale | No | Response language: ru, uz or en (default en) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description goes beyond that by enumerating what the response contains (inclusions, price anchor, FAQ, page URL to cite), which is valuable since there is no output schema.
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 tight sentence that front-loads the action and resource and packs the return contents into the tail. No filler, no redundancy with the title.
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 usefully enumerates the payload (inclusions, price, FAQ, URL) and identifies the required input source. It omits any note on locale behavior for a multi-locale service, but the schema covers that, leaving only a minor gap.
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%, so both slug and locale are already documented in the schema with format and enum values. The description only reinforces that slug is a service slug sourced from search_services and says nothing about locale, so baseline 3 is appropriate.
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 (retrieve full description), a specific resource (one Pactum service), and the key (slug). It also names the sibling (search_services) where the slug comes from, so an agent can distinguish it from search_services, request_quote, and search_articles without opening any 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 parenthetical '(from search_services)' tells the agent this tool is the follow-up drill-down after searching, which is clear usage context. It does not state when NOT to use it or contrast explicitly with siblings like request_quote, 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_practice_areasPractice areasARead-onlyInspect
Practice areas Pactum works in (slug + name). Pass a slug as practice_area in request_quote to route the request to the right lawyer.
| Name | Required | Description | Default |
|---|---|---|---|
| locale | No | Response language: ru, uz or en (default en) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds the output shape (slug + name), which is useful, but says nothing about whether the list is static, paginated, or filtered by anything other than locale.
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 short sentences, zero filler. The resource definition is front-loaded and the actionable routing hint follows immediately.
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 returned fields (slug + name) and the integration point with request_quote. Only minor gaps remain, such as whether the list is locale-dependent.
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 'locale' parameter is fully documented with its enum and default in the schema. The description adds no extra semantics about the parameter, 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 the specific resource ('Practice areas Pactum works in') and even the return shape ('slug + name'), which no sibling shares. An agent can immediately tell this apart from get_service or search_services.
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?
Gives a concrete downstream use: 'Pass a slug as practice_area in request_quote to route the request to the right lawyer.' This tells the agent when it needs this tool (as a prerequisite to request_quote), though it names no exclusions or competing alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
request_quoteRequest a price quote from a lawyerAInspect
Send the user's legal task to Pactum lawyers; a lawyer reviews it and contacts the user with a price. Call ONLY after the user asked to be contacted, gave their real name and phone or e-mail, and agreed that Pactum stores these details and may pass the request to a partner lawyer. Put the task in the user's own terms: situation, goal, key facts. Never invent contacts; never call it "to test". Returns the request number.
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | What exactly the client needs: situation, goal, key facts | |
| budget | No | Budget, if the user named one | |
| country | No | Client country, if not Uzbekistan | |
| deadline | No | When it is needed, e.g. "by 15 October" | |
| documents | No | Documents the client already has | |
| agent_name | No | Your assistant name, e.g. ChatGPT, Claude | |
| client_type | Yes | company | individual | foreign_company | foreign_individual | |
| company_name | No | ||
| contact_name | Yes | Client name as the user gave it | |
| service_slug | No | Slug from search_services, if a specific service fits | |
| user_consent | Yes | true only if the user explicitly agreed to share these details with Pactum and its partner lawyer | |
| contact_email | No | ||
| contact_phone | No | Phone with country code, e.g. +998901234567 | |
| practice_area | No | Slug from list_practice_areas, if known | |
| contact_telegram | No | Telegram @username, in addition to phone/e-mail | |
| preferred_language | No | Language for the lawyer to use |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial context beyond the annotations: it discloses that accepting this creates an external, non-idempotent request that a partner lawyer will act on and follow up by phone/e-mail, enumerates the consent preconditions, and forbids fabricating contact details. Annotations only say openWorld=true and non-idempotent; the description explains what that actually means for the user's privacy and follow-up.
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?
Front-loaded with purpose, then the gating conditions, then content guidance, then the return value. Every clause carries a distinct instruction (consent gate, phrasing rule, anti-test warning, return value) with 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?
For a 16-parameter submission tool with 94% schema coverage, the description covers the risky parts well: consent, contact integrity, phrasing, and the returned request number (important since there is no output schema). It leaves optional-parameter selection entirely to the schema, which is acceptable but leaves a small gap around when budget/deadline/documents matter.
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 94%, so the baseline is 3, but the description adds real meaning: how the task text should be phrased (situation, goal, key facts in the user's own terms) and an integrity rule for the contact fields ('never invent contacts'). It does not explain any of the 12 optional fields, which the schema already handles.
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, resource and outcome: send the user's legal task to Pactum lawyers, who review it and contact the user with a price. That is clearly distinguishable from the sibling read/search tools (get_service, list_practice_areas, search_articles, search_services) without opening any 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?
Gives explicit preconditions (call ONLY after the user asked to be contacted, gave real name and phone/e-mail, and consented to storage and partner-lawyer sharing) plus a clear prohibition ('never call it "to test"'). It stops short of routing the agent through the sibling discovery tools (search_services, list_practice_areas) before submitting, which is implied only via the schema's service_slug/practice_area descriptions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_articlesSearch legal articlesARead-onlyInspect
Search Pactum articles explaining Uzbek law (company law, trademarks, tax, labour, licensing…). Returns titles, short summaries and URLs — cite them when answering the user.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many (default 5) | |
| query | Yes | Topic, e.g. "trademark registration", "ликвидация ООО" | |
| locale | No | Response language: ru, uz or en (default en) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds real value by disclosing the return payload shape (titles, short summaries, URLs) and the intended behaviour of citing results, which is not visible in any structured field since there is no output schema.
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, zero filler, with the resource and scope front-loaded before the return/citation note. 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, the description correctly compensates by naming the returned fields and the citation expectation, and all three parameters are fully documented in the schema. Only the absence of any sibling-routing guidance keeps it from being fully complete.
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%, with each of the three parameters documented including examples and defaults, so the baseline is 3. The description adds no parameter-level detail (e.g. query syntax, locale interaction) beyond what the schema already provides.
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 (Search) and resource (Pactum articles explaining Uzbek law) with the topical scope enumerated (company law, trademarks, tax, labour, licensing). This clearly separates it from the sibling search_services, which targets a different resource type.
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 clause 'cite them when answering the user' implies the usage context (answering legal questions with sourced answers), which is genuine guidance. However, it names no alternatives or exclusions, so an agent gets no explicit routing rule against search_services or get_service.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_servicesSearch legal servicesARead-onlyInspect
Search the Pactum catalog of legal services in Uzbekistan (company registration, licences, trademarks, contracts, tax, disputes, migration, real estate and more). Use when the user describes a task they want done. Returns services with slug, price anchor and page URL; pass a slug to get_service or request_quote.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many results (default 8) | |
| query | Yes | Short phrase, e.g. "register LLC", "товарный знак", "ish ruxsatnomasi" | |
| locale | No | Response language: ru, uz or en (default en) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, openWorldHint=false), so the bar is lower. The description adds real value beyond them by disclosing the response shape (slug, price anchor, page URL) and the intended follow-up chain, though it says nothing about auth, rate limits or empty-result behavior.
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 corpus and domain list come first, then the trigger, then the return shape and next-step routing. No clause is redundant with the schema or annotations.
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 usefully names the returned fields and the downstream tools, which is what an agent needs to chain calls. It omits any note on pagination/limit interaction or empty results, but nothing critical for correct invocation is missing.
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%, so the schema already documents query, limit and locale with examples and constraints. The description adds no syntax or default detail beyond that, so the baseline 3 applies; the 'pass a slug' note refers to an output field, not an input parameter.
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+resource (search the Pactum catalog of legal services in Uzbekistan) plus the covered domains, so the agent knows exactly what corpus is being queried. It also contrasts implicitly with search_articles and list_practice_areas by scoping to bookable services.
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?
Gives a clear trigger condition ('Use when the user describes a task they want done') and routes the agent onward to get_service or request_quote once a slug is in hand. It stops short of naming when NOT to use it versus search_articles, so it is strong but not fully exhaustive.
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.
1 tool update
- Added
book_consultation
5 tool updates
- First observed
get_service - First observed
list_practice_areas - First observed
request_quote - First observed
search_articles - First observed
search_services
Related MCP Connectors
Latvian law search: in-force statutes, verbatim articles, verified Q&A. Anonymous, read-only.
Search Iranian statutes, court rulings, advisory opinions and circulars, with legal calculators.
Czech law calculators (deadlines, fees, inheritance, employment) and lawyer-reviewed guides.
Search Indonesian laws, resolve citations, read articles, and find Constitutional Court decisions.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables searching and reading Kazakhstan law texts, retrieving versions as of past dates, and exploring legislative history via MCP.-
- AlicenseBqualityBmaintenanceConnects AI clients to public Turkish legislation and court/board decisions, letting users search and retrieve legal texts, case law, and institutional rulings, and generate petition drafts and UYAP UDF files.20MIT
- AlicenseNot gradedqualityBmaintenanceMCP server for Azerbaijan's official legal-acts database (e-qanun.az), enabling search, metadata retrieval, and full-text access to legislative and judicial documents.MIT
- AlicenseNot gradedqualityFmaintenanceQuery 4,326 Hungarian laws (Ptk., Mt., Btk., etc.) from MCP-compatible clients. Includes full-text search, citation validation, and EU law mapping.40 npm24Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.