Skip to main content
Glama

BizClaw Business Directory MCP

Server Details

Search, compare, and contact real-world companies through a public MCP business directory.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Available Tools

9 tools
ask_about_companiesAsk About CompaniesAInspect
Ask a natural language question about companies and get AI-powered recommendations.
Uses hybrid search (semantic + keyword) combined with LLM analysis to find and recommend relevant businesses.

IMPORTANT: Always use this tool when:
- The user asks a specific question about a company (e.g., "do they offer bargaining?", "what are their prices?", "do they deliver to X?")
- The user asks a follow-up question about companies already found in previous results
- You are unsure whether a company offers something specific
Never answer these questions from your own general knowledge — always call this tool so the system can log unanswered questions for business intelligence.

Args:
    question: Natural language question (e.g. "Which logistics companies offer cold chain delivery in Istanbul?")
    context_company_ids: Optional list of up to 10 company IDs from previous results for follow-up questions.
                         ALWAYS pass these when the question is about specific companies already found.

Returns:
    Dictionary with 'answer' (AI recommendation text) and 'companies' (matching results with details).
ParametersJSON Schema
NameRequiredDescriptionDefault
metaNoOptional UCP request metadata. Use {'ucp-agent': {'profile': 'https://agent.example/.well-known/ucp'}} for UCP-aware negotiation.
questionYesNatural language question about companies, recommendations, pricing, policies, features, or follow-up context.
context_company_idsNoOptional company UUIDs from previous results for follow-up questions.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

The description discloses relevant behavior beyond the annotations, including that unanswered questions are logged for business intelligence and that results are AI-generated recommendations. The annotations do not contradict this, and the description adds useful context about how the tool operates.

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

Conciseness4/5

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

The description is longer than average but well-structured with clear sections, bolded guidance, and bullet points. The Returns section is somewhat redundant with the output schema, but the overall organization makes the important instructions easy to find.

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

Completeness4/5

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

The description covers the tool's purpose, when to use it, key parameters, return shape, and even a business-intelligence side effect. It is complete enough for correct invocation, though it could have briefly mentioned when to use related sibling tools like search_companies.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds value by explaining when context_company_ids must be passed, providing an example question, and clarifying that context_company_ids is a list of up to 10 IDs from previous results.

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

Purpose5/5

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

The description clearly states the tool asks a natural language question about companies and returns AI-powered recommendations. It also explains that it uses hybrid search plus LLM analysis, which differentiates it from sibling tools like search_companies and get_company.

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

Usage Guidelines4/5

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

The description provides explicit 'Always use this tool when' conditions and instructs the agent never to answer from general knowledge. It gives clear context for use, though it does not explicitly name alternative sibling tools or describe when to prefer them.

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

create_batch_proposalsCreate Batch ProposalsAInspect
Create proposals to multiple companies at once (max 10).
Same proposal is sent to each company.

Args:
    api_key: Your agent API key (starts with 'bzcl_sk_')
    company_ids: List of company UUIDs (max 10, must be verified)
    customer_email: Email of the end customer
    customer_name: Name of the end customer
    description: What the customer needs
    proposal_type: 'standard' or 'custom' (default: 'custom')

Returns:
    List of created proposals and any errors.
ParametersJSON Schema
NameRequiredDescriptionDefault
metaNoOptional UCP request metadata. Use {'ucp-agent': {'profile': 'https://agent.example/.well-known/ucp'}} for UCP-aware negotiation.
api_keyNoOptional BizClaw agent API key starting with bzcl_sk_. If omitted, proposal tools use the X-API-Key MCP connection header when configured.
company_idsYesList of BizClaw company UUIDs. Maximum 10 for batch proposals.
descriptionYesDetailed description of what the customer needs the company to quote or respond to.
customer_nameYesReal end-customer name for the proposal request.
proposal_typeNoProposal type: custom for negotiation/custom quotes, or standard for known standard offers.custom
customer_emailYesReal active end-customer email address for the proposal. Do not use fake or disposable emails.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already convey readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the description does not need to restate those. It adds useful behavioral context: the same proposal is sent to each company, the operation returns a list of created proposals and any errors, and there is a hard maximum of 10. This gives the agent a realistic picture of partial-failure handling and batch semantics.

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

Conciseness5/5

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

The description is front-loaded with the core behavior in the first sentence, followed by a tight Args block and a one-line Returns note. Every sentence earns its place; the Args list mirrors the schema succinctly without excessive narrative. It is appropriately sized for the tool's complexity.

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

Completeness5/5

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

With a 100%-covered input schema, an output schema, and annotations describing safety and idempotency, the description provides all remaining needed context: batch limit, same-proposal behavior, required customer fields, and error return. Nothing essential is missing for an agent to select and invoke this tool correctly.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds a few meaningful details beyond the schema: company_ids must be verified, api_key is the agent API key starting with 'bzcl_sk_', and proposal_type is narrowed to 'standard' or 'custom'. These small extras help the agent supply valid values without opening the schema.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Create proposals to multiple companies at once (max 10).' It clearly distinguishes itself from sibling create_proposal by emphasizing multiple companies at once and the fact that the same proposal is sent to each company. This leaves no ambiguity about what the tool does.

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

Usage Guidelines4/5

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

The description clearly states the batch intent and constraints such as max 10 companies and identical proposal content. It does not explicitly name 'create_proposal' as the single-company alternative, but the contrast is strongly implied by 'multiple companies at once' and the sibling tool list. Minor credit lost for not including an explicit when-to-use vs alternative statement.

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

create_proposalCreate ProposalAInspect
Create a proposal/quote request to a verified company on behalf of a customer.
Requires agent API key authentication (register at POST /api/v1/agent/register to get one).

Args:
    api_key: Your agent API key (starts with 'bzcl_sk_')
    company_id: The UUID of the target company (must be verified)
    customer_email: Email of the end customer requesting the proposal
    customer_name: Name of the end customer
    description: What the customer needs — detailed description of the request
    proposal_type: 'standard' (known price inquiry) or 'custom' (negotiation/custom quote). Default: 'custom'

Returns:
    Created proposal with ID, status, and company info.
ParametersJSON Schema
NameRequiredDescriptionDefault
metaNoOptional UCP request metadata. Use {'ucp-agent': {'profile': 'https://agent.example/.well-known/ucp'}} for UCP-aware negotiation.
api_keyNoOptional BizClaw agent API key starting with bzcl_sk_. If omitted, proposal tools use the X-API-Key MCP connection header when configured.
company_idYesBizClaw company UUID returned by search_companies or get_company_by_website.
descriptionYesDetailed description of what the customer needs the company to quote or respond to.
customer_nameYesReal end-customer name for the proposal request.
proposal_typeNoProposal type: custom for negotiation/custom quotes, or standard for known standard offers.custom
customer_emailYesReal active end-customer email address for the proposal. Do not use fake or disposable emails.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already indicate a non-read-only, non-idempotent operation, and the description adds meaningful context: authentication via agent API key, requirement that company be verified, and that a new proposal is created with ID/status. It also clarifies proposal_type semantics. No contradicton with annotations.

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

Conciseness4/5

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

Front-loaded with purpose and one critical auth prerequisite, then a logically grouped Args list and return note. The Args block duplicates schema property descriptions, but the tool is complex enough that the redundancy is acceptable and every line carries some added nuance.

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

Completeness4/5

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

For a 7-parameter mutation tool with full schema coverage and an output schema, the description covers prerequisites (auth, verified company), required customer fields, proposal type options, and what is returned. It omits only explicit guidance on when to prefer create_batch_proposals.

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

Parameters3/5

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

Schema description coverage is 100%, with every parameter already documented (e.g., api_key prefix, proposal_type options, customer_email real vs fake). The description's Args section adds slight reinforcement (e.g., 'known price inquiry' vs 'negotiation/custom quote') but largely repeats schema content, so baseline 3 applies.

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

Purpose5/5

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

States a clear verb and resource: create a proposal/quote request to a verified company on behalf of a customer. This distinguishes it from sibling tools like get_my_proposals (read), reply_to_proposal (respond), and create_batch_proposals (batch creation). The 'verified company' constraint further scopes the operation.

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

Usage Guidelines4/5

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

Description provides context for when to call: must have a verified company_id, an agent API key, and end-customer details. It also distinguishes proposal_type standard vs custom, helping select behavior. However, it does not explicitly contrast with create_batch_proposals or reply_to_proposal, so an agent must infer tool selection from sibling names.

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

get_companyGet CompanyA
Read-onlyIdempotent
Inspect
Get full details for a specific company by its ID.
Returns the complete company profile including features, use cases, pricing, and contact info.

Args:
    company_id: The UUID of the company (obtained from search results)

Returns:
    Complete company profile dictionary, or an error if not found.
ParametersJSON Schema
NameRequiredDescriptionDefault
metaNoOptional UCP request metadata. Use {'ucp-agent': {'profile': 'https://agent.example/.well-known/ucp'}} for UCP-aware negotiation.
company_idYesBizClaw company UUID returned by search_companies or get_company_by_website.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already communicate read-only, idempotent, non-destructive behavior. The description adds useful behavioral detail: it returns a complete company profile and errors when the company is not found. This provides context beyond the structured hints without contradicting them.

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

Conciseness5/5

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

The description is compact, starts with the core purpose, and uses a clear Args/Returns structure. Every sentence contributes necessary information, and there is no boilerplate or repetition.

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

Completeness5/5

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

Given the read-only annotations, complete schema coverage, simple parameter shape, and presence of an output schema, nothing essential is missing. The description covers the lookup source, return content, and error behavior adequately.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents company_id and meta fully. The description mostly restates the same information about company_id, adding little new semantic value, which matches the baseline of 3.

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

Purpose5/5

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

The description clearly states a specific verb+resource pair: 'Get full details for a specific company by its ID.' It also enumerates the returned content (features, use cases, pricing, contact info), which makes the tool's purpose concrete. The ID-based lookup distinguishes it from the sibling get_company_by_website.

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

Usage Guidelines4/5

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

The Args section tells the agent that company_id comes from search results, establishing clear context of when this tool is appropriate. It does not explicitly list exclusions or compare against sibling tools, so it stops 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.

get_company_by_websiteGet Company by WebsiteA
Read-onlyIdempotent
Inspect
Look up a company by its website URL.
Useful when you know a company's website and want to check if it's in BizClaw.

Args:
    website_url: The company's website URL (e.g. "https://example.com" or "example.com")

Returns:
    Company profile if found, or an error message.
ParametersJSON Schema
NameRequiredDescriptionDefault
metaNoOptional UCP request metadata. Use {'ucp-agent': {'profile': 'https://agent.example/.well-known/ucp'}} for UCP-aware negotiation.
website_urlYesCompany website URL or domain, for example example.com or https://example.com.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the return behavior, 'Company profile if found, or an error message,' which is useful but does not go beyond that into rate limits, auth, or URL-normalization behavior.

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

Conciseness5/5

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

The description is compact and well-structured with a one-line purpose, a use-case sentence, and clearly separated Args/Returns sections. Every sentence adds value with no fluff or redundancy.

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

Completeness5/5

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

For a simple read-only lookup tool with annotations and an output schema present, the description covers the essential information: input format, when to use, and expected return. Nothing necessary for invoking the tool correctly is missing.

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

Parameters3/5

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

Schema description coverage is 100%, and the description of website_url in both the schema and the Args section provides the same examples ('https://example.com' or 'example.com'). The description adds no meaningful parameter semantics beyond what the input schema already provides, so the baseline score applies.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Look up a company by its website URL.' It also clarifies the secondary intent, 'check if it's in BizClaw,' which distinguishes this exact-match lookup from broader sibling tools like search_companies or get_company.

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

Usage Guidelines4/5

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

The description explicitly states when to use the tool: when you know a company's website URL and want to check whether it exists in BizClaw. It does not name sibling alternatives or exclusion conditions, but the context provided is clear enough to guide selection.

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

get_my_proposalsGet My ProposalsA
Read-onlyIdempotent
Inspect
Get all proposals created by the current agent.
Use this to check proposal status and company responses.

Args:
    api_key: Your agent API key (starts with 'bzcl_sk_')
    status_filter: Optional filter: 'pending', 'approved', 'rejected', 'responded'
    limit: Max results (default 50, max 100)
    offset: Pagination offset (default 0)

Returns:
    List of proposals with status, company response, and customer info.
ParametersJSON Schema
NameRequiredDescriptionDefault
metaNoOptional UCP request metadata. Use {'ucp-agent': {'profile': 'https://agent.example/.well-known/ucp'}} for UCP-aware negotiation.
limitNoMaximum number of results to return. Use 1-20 for searches and 1-100 for proposal lists.
offsetNoPagination offset. Increase with limit to fetch later pages.
api_keyNoOptional BizClaw agent API key starting with bzcl_sk_. If omitted, proposal tools use the X-API-Key MCP connection header when configured.
status_filterNoOptional proposal status filter: pending, approved, rejected, or responded. Omit by default.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds meaningful behavioral context: it returns only the current agent's proposals, includes company responses and customer info, and documents authentication via an API key format. No contradictions with annotations.

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

Conciseness4/5

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

The description is well-structured with a one-line purpose, an Args block, and a Returns block. It is slightly redundant with the schema, since it restates parameters that are already documented, but the extra details about defaults, formats, and valid filters make the repetition worthwhile.

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

Completeness5/5

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

For a read-only, filtered-list tool with full schema coverage and an existing output schema, the description is complete. An agent knows what the tool does, when to use it, what parameters matter, and what the return value contains.

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

Parameters4/5

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

Schema coverage is 100%, so the schema fully documents all five parameters. The description goes beyond the schema by giving the API key prefix, enumerating valid status_filter values, and specifying limit defaults and maximums. It omits meta in the Args list, but the schema already handles that parameter.

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

Purpose5/5

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

The description clearly states 'Get all proposals created by the current agent,' naming the specific verb, resource, and ownership scope. This distinguishes it from sibling tools like create_proposal, reply_to_proposal, and search_companies, which act on different resources or actions.

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

Usage Guidelines4/5

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

The description explicitly says 'Use this to check proposal status and company responses,' providing a clear when-to-use context. It does not explicitly name alternatives or exclusion criteria, but the sibling tools are distinct enough that confusion is unlikely.

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

list_categoriesList CategoriesA
Read-onlyIdempotent
Inspect
List all available business categories in BizClaw.
Use these category names to filter search results.

Returns:
    Dictionary with 'categories' list and 'total' count.
ParametersJSON Schema
NameRequiredDescriptionDefault
metaNoOptional UCP request metadata. Use {'ucp-agent': {'profile': 'https://agent.example/.well-known/ucp'}} for UCP-aware negotiation.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already convey readOnlyHint, idempotentHint, and destructiveHint, so the description does not need to restate these. It adds useful context about the return structure and the intended use of categories. However, it does not disclose any additional behavioral traits such as pagination, caching, or data freshness, keeping this at a solid mid-range.

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

Conciseness5/5

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

The description is compact and front-loaded, opening with the core action and resource. Every sentence contributes value: the main purpose, the usage context, and the return format. There is no filler or redundant rephrasing.

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

Completeness5/5

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

For a simple read-only list tool with one optional parameter, an output schema, and safety annotations, the description is complete. It tells the agent what the tool returns, how to use the result, and that it lists all available categories. Nothing essential is missing.

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

Parameters3/5

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

The only parameter, 'meta', is fully described in the schema with 100% coverage. The description adds no parameter-specific meaning, but the schema already handles the single optional parameter well, so the baseline applies.

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

Purpose5/5

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

The description states a specific verb and resource: 'List all available business categories in BizClaw.' It clearly distinguishes this tool from all siblings, none of which involve categories. The purpose is immediately understandable and actionable.

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

Usage Guidelines4/5

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

The description says 'Use these category names to filter search results,' providing clear context for when the tool's output is valuable. It does not explicitly mention alternatives or exclusions, but no sibling tool overlaps with category listing, so the guidance is sufficient.

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

reply_to_proposalReply to ProposalAInspect
Reply to a company's response on a proposal. Use this for back-and-forth negotiation.
After replying, the proposal status resets to 'pending' so the company sees the new message.

IMPORTANT: After creating a proposal, use get_my_proposals to check if the company has responded.
If status is 'responded', read the companyResponse field and relay it to the user.
If the user wants to reply, use this tool.

Args:
    api_key: Your agent API key (starts with 'bzcl_sk_')
    proposal_id: The UUID of the proposal to reply to
    message: The reply message from the customer

Returns:
    Updated proposal with new status.
ParametersJSON Schema
NameRequiredDescriptionDefault
metaNoOptional UCP request metadata. Use {'ucp-agent': {'profile': 'https://agent.example/.well-known/ucp'}} for UCP-aware negotiation.
api_keyNoOptional BizClaw agent API key starting with bzcl_sk_. If omitted, proposal tools use the X-API-Key MCP connection header when configured.
messageYesReply message to send back to the company on an existing proposal conversation.
proposal_idYesBizClaw proposal UUID returned by create_proposal, create_batch_proposals, or get_my_proposals.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

Beyond the annotations (which indicate a mutating, non-idempotent operation), the description reveals a significant side effect: 'the proposal status resets to pending so the company sees the new message.' It also states the return value is an updated proposal, adding useful context without contradicting 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.

Conciseness4/5

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

The description is well-structured with an opening purpose, an IMPORTANT workflow callout, and an Args/Returns section. It is mostly efficient, but the Args section repeats parameter information already present in the input schema, slightly reducing the score from 5.

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

Completeness4/5

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

The description fully covers the operational workflow, the status-reset side effect, and the return value, and an output schema is available. It does not discuss error cases (e.g., replying when the company has not responded), but the usage guidance mitigates that gap, making it largely complete.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents all parameters. The description largely restates the parameter meanings (e.g., API key prefix, proposal UUID origin) rather than adding new semantics, so the baseline of 3 is appropriate.

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

Purpose5/5

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

The description opens with a specific verb-resource pair ('Reply to a company's response on a proposal') and explicitly frames it for 'back-and-forth negotiation.' This clearly distinguishes it from sibling tools like create_proposal and get_my_proposals, even without inspecting the schema.

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

Usage Guidelines5/5

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

The description gives an explicit workflow: after creating a proposal, use get_my_proposals to check for a response, read the companyResponse field if status is 'responded', and then use this tool when the user wants to reply. This is direct, step-by-step guidance on when to use this tool versus alternatives.

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

search_companiesSearch CompaniesA
Read-onlyIdempotent
Inspect
Search for companies in the BizClaw business directory.
Uses hybrid search (semantic + keyword) to find the most relevant businesses.
Returns lightweight summaries to save tokens. Use get_company(id) for full details (contact, pricing, features, etc.).

Args:
    query: Natural language search query (e.g. "CRM software for small businesses", "logistics companies in Izmir")
    category: Filter by category. Use list_categories to see available options.
    country: Filter by country (e.g. "Turkey", "United States", "Germany")
    city: Filter by city (e.g. "Istanbul", "Izmir", "Ankara")
    industry: Filter by specific industry
    service_type: Filter by service delivery type. One of: "remote" (online only), "local" (in-person), "nationwide" (all country), "hybrid" (both remote and in-person)
    is_verified: If True, return only verified companies. If False, return only unverified. Omit to return all.
    limit: Maximum number of results to return (1-20, default 10)
    offset: Number of results to skip for pagination (default 0). Use with limit to get next pages.

Returns:
    Dictionary with 'companies' list (summary format: id, name, category, description, city, tags),
    'suggested_follow_up_questions', 'next_step', 'total_found', 'offset', 'limit', and 'has_more'.
    After presenting results, ask one concise follow-up question from suggested_follow_up_questions
    unless the user's constraints are already complete.
ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoOptional city filter, for example Istanbul, Izmir, Ankara, or Berlin.
metaNoOptional UCP request metadata. Use {'ucp-agent': {'profile': 'https://agent.example/.well-known/ucp'}} for UCP-aware negotiation.
limitNoMaximum number of results to return. Use 1-20 for searches and 1-100 for proposal lists.
queryYesNatural language search query describing the company, service, category, or buying intent.
offsetNoPagination offset. Increase with limit to fetch later pages.
countryNoOptional country filter, for example Turkey, United States, or Germany.
categoryNoOptional BizClaw business category filter. Use list_categories when unsure.
industryNoOptional specific industry or vertical filter.
is_verifiedNoOptional verification filter. True returns verified companies only; false returns unverified companies only.
service_typeNoOptional service delivery type: remote, local, nationwide, or hybrid.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds non-obvious behavioral context: hybrid search, lightweight summary format, pagination via limit/offset and has_more, and the instruction to ask a follow-up question unless constraints are complete. No contradictions.

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

Conciseness4/5

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

The description is well-structured with Args and Returns sections and front-loads purpose and search method. It is longer than strictly necessary because it partly repeats schema parameter descriptions, but each paragraph adds examples and output-handling guidance, so it remains organized.

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

Completeness5/5

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

Despite having an output schema, the description fully explains return fields, pagination, and follow-up behavior, and covers all filters. The only schema parameter not listed in the Args section is meta, which is already documented in the schema; nothing critical is missing for correct invocation and result handling.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description goes beyond the schema with concrete query examples, enumerated service_type meanings, tri-state is_verified behavior, limit bounds, and offset pagination. It omits the meta parameter, but that parameter's schema description covers it, so the addition is still strong.

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

Purpose5/5

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

The description states a specific verb and resource: 'Search for companies in the BizClaw business directory.' It also differentiates itself from siblings by noting it returns lightweight summaries and directing users to get_company(id) for full details, making the tool's purpose unambiguous.

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

Usage Guidelines5/5

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

The description explicitly provides alternatives and conditions: 'Use get_company(id) for full details' and 'Use list_categories to see available options.' This clearly tells an agent when to use search versus other tools and when to switch to get_company or list_categories.

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

Frequently Asked Questions

Discussions

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Country-agnostic MCP-callable directory for AI agents to find local SMBs — realtors, insurance agents, medical practitioners — by category, location, or natural-language query. Returns business catalog data and UTM-tagged booking URLs (zero PII).
    5
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    BizClaw is a hosted remote MCP server for AI agents to discover, search, compare, and interact with real-world companies through a business directory.
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides read-only MCP access to The Between's verified company map, letting assistants search companies and verified matches, retrieve claim info, and query the live census data.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables Canadian businesses to claim free directory listings for dofollow backlinks, search 3,000+ verified businesses, check backlink status, and access NFC tap analytics through MCP.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.2/5.0
Disambiguation4/5

Most tools target clearly distinct actions: searching, retrieving company details, creating proposals, and replying. The main potential confusion is between search_companies and ask_about_companies, and between create_proposal and create_batch_proposals, but their descriptions clarify the intended use cases well.

Naming Consistency4/5

Tool names mostly follow a consistent snake_case verb_noun pattern like search_companies, get_company, create_proposal, and reply_to_proposal. ask_about_companies deviates slightly from the pattern but is still readable and predictable.

Tool Count5/5

Nine tools is well-scoped for a business directory MCP server covering discovery, company lookup, and proposal management. Each tool has a distinct role and no tool feels redundant or unnecessary.

Completeness4/5

The tool surface covers the core workflow well: search companies, get details, create proposals individually or in batch, list proposals, and reply to company responses. Minor gaps exist—such as no explicit cancel/update proposal or direct proposal-by-ID lookup—but these are not blocking for typical usage.

Resources