Server definition
- Hash
- sha256:fa0be7a93be727aac8df00f2797744ba1ca7bb06a733097ff2c363b8da4eae2f
- What it is
- What a remote MCP server returned when asked what it offers: 9 tools
The blob, as servednamed by its sha256
{
"instructions": "BizClaw is an AI-accessible business directory. Use the available tools to search for companies, get detailed profiles, ask natural language questions about businesses, and browse categories. All data comes from real companies that have been crawled and analyzed by AI.\n\nCRITICAL RULES FOR TOOL USAGE:\n1. NEVER answer questions about a specific company from your own general knowledge or from previously cached results. Always call the appropriate tool to get fresh, accurate data.\n2. When the user asks a specific question about a company (e.g., pricing, policies, features, bargaining, delivery, support, locations), you MUST call ask_about_companies with the question and pass the relevant company IDs in context_company_ids. Do NOT answer from memory or prior tool results.\n3. When new companies are added or the user says 'I added a new company' or 'check again', always re-call the relevant search or ask tool — never reuse stale results from the current session.\n4. If you already searched and got results, and the user asks a follow-up question about those companies, call ask_about_companies with context_company_ids set to the IDs from the previous search.\n5. PROPOSAL SYSTEM: Agents can send proposals to verified companies on behalf of their users. To use proposal tools (create_proposal, get_my_proposals, reply_to_proposal), you need an API key. Register at POST /api/v1/agent/register to get one. Pass it as the api_key tool argument, or configure it once as the X-API-Key MCP connection header.\n5a. If the user chooses or says they want to proceed with a VERIFIED company from search results, offer to create a proposal/quote request. Do NOT create it automatically. First collect the customer's real name, real active email, and the exact project/request description, then confirm before calling create_proposal.\n6. Proposals are NOT logged as audience insights — they go directly to the company dashboard.\n7. When checking proposal status with get_my_proposals, NEVER use status_filter — always fetch ALL proposals. Companies can approve, reject, or respond — filtering by one status will miss the others.\n8. Do not promise proposal-status email notifications. Agents must check proposals by polling via get_my_proposals. Say 'ask me to check anytime' instead of 'I will notify you'.\n9. When a proposal is rejected or responded, always show the company's response message to the user.\n10. PROFILE UPDATE: Agents can update their name and email via PUT /api/v1/agent/me with JSON body {name, owner_email}. Requires X-API-Key header. If the user asks to update their registered name or email, use this endpoint.\n11. UCP: BizClaw publishes a UCP profile at /.well-known/ucp. UCP-aware callers may pass meta.ucp-agent.profile in tool arguments; BizClaw will include negotiated ucp metadata in responses. Legacy MCP calls without meta remain supported.",
"tools": [
{
"description": "\n Ask a natural language question about companies and get AI-powered recommendations.\n Uses hybrid search (semantic + keyword) combined with LLM analysis to find and recommend relevant businesses.\n\n IMPORTANT: Always use this tool when:\n - The user asks a specific question about a company (e.g., \"do they offer bargaining?\", \"what are their prices?\", \"do they deliver to X?\")\n - The user asks a follow-up question about companies already found in previous results\n - You are unsure whether a company offers something specific\n Never answer these questions from your own general knowledge — always call this tool so the system can log unanswered questions for business intelligence.\n\n Args:\n question: Natural language question (e.g. \"Which logistics companies offer cold chain delivery in Istanbul?\")\n context_company_ids: Optional list of up to 10 company IDs from previous results for follow-up questions.\n ALWAYS pass these when the question is about specific companies already found.\n\n Returns:\n Dictionary with 'answer' (AI recommendation text) and 'companies' (matching results with details).\n ",
"inputSchema": {
"properties": {
"context_company_ids": {
"anyOf": [
{
"items": {
"type": "string"
},
"maxItems": 10,
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional company UUIDs from previous results for follow-up questions.",
"title": "Context Company Ids"
},
"meta": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional UCP request metadata. Use {'ucp-agent': {'profile': 'https://agent.example/.well-known/ucp'}} for UCP-aware negotiation.",
"title": "Meta"
},
"question": {
"description": "Natural language question about companies, recommendations, pricing, policies, features, or follow-up context.",
"maxLength": 2000,
"minLength": 1,
"title": "Question",
"type": "string"
}
},
"required": [
"question"
],
"title": "ask_about_companiesArguments",
"type": "object"
},
"name": "ask_about_companies",
"outputSchema": {
"additionalProperties": true,
"title": "ask_about_companiesDictOutput",
"type": "object"
}
},
{
"description": "\n Create proposals to multiple companies at once (max 10).\n Same proposal is sent to each company.\n\n Args:\n api_key: Your agent API key (starts with 'bzcl_sk_')\n company_ids: List of company UUIDs (max 10, must be verified)\n customer_email: Email of the end customer\n customer_name: Name of the end customer\n description: What the customer needs\n proposal_type: 'standard' or 'custom' (default: 'custom')\n\n Returns:\n List of created proposals and any errors.\n ",
"inputSchema": {
"properties": {
"api_key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional BizClaw agent API key starting with bzcl_sk_. If omitted, proposal tools use the X-API-Key MCP connection header when configured.",
"title": "Api Key"
},
"company_ids": {
"description": "List of BizClaw company UUIDs. Maximum 10 for batch proposals.",
"items": {
"type": "string"
},
"title": "Company Ids",
"type": "array"
},
"customer_email": {
"description": "Real active end-customer email address for the proposal. Do not use fake or disposable emails.",
"title": "Customer Email",
"type": "string"
},
"customer_name": {
"description": "Real end-customer name for the proposal request.",
"title": "Customer Name",
"type": "string"
},
"description": {
"description": "Detailed description of what the customer needs the company to quote or respond to.",
"title": "Description",
"type": "string"
},
"meta": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional UCP request metadata. Use {'ucp-agent': {'profile': 'https://agent.example/.well-known/ucp'}} for UCP-aware negotiation.",
"title": "Meta"
},
"proposal_type": {
"default": "custom",
"description": "Proposal type: custom for negotiation/custom quotes, or standard for known standard offers.",
"title": "Proposal Type",
"type": "string"
}
},
"required": [
"company_ids",
"customer_email",
"customer_name",
"description"
],
"title": "create_batch_proposalsArguments",
"type": "object"
},
"name": "create_batch_proposals",
"outputSchema": {
"additionalProperties": true,
"title": "create_batch_proposalsDictOutput",
"type": "object"
}
},
{
"description": "\n Create a proposal/quote request to a verified company on behalf of a customer.\n Requires agent API key authentication (register at POST /api/v1/agent/register to get one).\n\n Args:\n api_key: Your agent API key (starts with 'bzcl_sk_')\n company_id: The UUID of the target company (must be verified)\n customer_email: Email of the end customer requesting the proposal\n customer_name: Name of the end customer\n description: What the customer needs — detailed description of the request\n proposal_type: 'standard' (known price inquiry) or 'custom' (negotiation/custom quote). Default: 'custom'\n\n Returns:\n Created proposal with ID, status, and company info.\n ",
"inputSchema": {
"properties": {
"api_key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional BizClaw agent API key starting with bzcl_sk_. If omitted, proposal tools use the X-API-Key MCP connection header when configured.",
"title": "Api Key"
},
"company_id": {
"description": "BizClaw company UUID returned by search_companies or get_company_by_website.",
"title": "Company Id",
"type": "string"
},
"customer_email": {
"description": "Real active end-customer email address for the proposal. Do not use fake or disposable emails.",
"title": "Customer Email",
"type": "string"
},
"customer_name": {
"description": "Real end-customer name for the proposal request.",
"title": "Customer Name",
"type": "string"
},
"description": {
"description": "Detailed description of what the customer needs the company to quote or respond to.",
"title": "Description",
"type": "string"
},
"meta": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional UCP request metadata. Use {'ucp-agent': {'profile': 'https://agent.example/.well-known/ucp'}} for UCP-aware negotiation.",
"title": "Meta"
},
"proposal_type": {
"default": "custom",
"description": "Proposal type: custom for negotiation/custom quotes, or standard for known standard offers.",
"title": "Proposal Type",
"type": "string"
}
},
"required": [
"company_id",
"customer_email",
"customer_name",
"description"
],
"title": "create_proposalArguments",
"type": "object"
},
"name": "create_proposal",
"outputSchema": {
"additionalProperties": true,
"title": "create_proposalDictOutput",
"type": "object"
}
},
{
"description": "\n Get full details for a specific company by its ID.\n Returns the complete company profile including features, use cases, pricing, and contact info.\n\n Args:\n company_id: The UUID of the company (obtained from search results)\n\n Returns:\n Complete company profile dictionary, or an error if not found.\n ",
"inputSchema": {
"properties": {
"company_id": {
"description": "BizClaw company UUID returned by search_companies or get_company_by_website.",
"title": "Company Id",
"type": "string"
},
"meta": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional UCP request metadata. Use {'ucp-agent': {'profile': 'https://agent.example/.well-known/ucp'}} for UCP-aware negotiation.",
"title": "Meta"
}
},
"required": [
"company_id"
],
"title": "get_companyArguments",
"type": "object"
},
"name": "get_company",
"outputSchema": {
"additionalProperties": true,
"title": "get_companyDictOutput",
"type": "object"
}
},
{
"description": "\n Look up a company by its website URL.\n Useful when you know a company's website and want to check if it's in BizClaw.\n\n Args:\n website_url: The company's website URL (e.g. \"https://example.com\" or \"example.com\")\n\n Returns:\n Company profile if found, or an error message.\n ",
"inputSchema": {
"properties": {
"meta": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional UCP request metadata. Use {'ucp-agent': {'profile': 'https://agent.example/.well-known/ucp'}} for UCP-aware negotiation.",
"title": "Meta"
},
"website_url": {
"description": "Company website URL or domain, for example example.com or https://example.com.",
"title": "Website Url",
"type": "string"
}
},
"required": [
"website_url"
],
"title": "get_company_by_websiteArguments",
"type": "object"
},
"name": "get_company_by_website",
"outputSchema": {
"additionalProperties": true,
"title": "get_company_by_websiteDictOutput",
"type": "object"
}
},
{
"description": "\n Get all proposals created by the current agent.\n Use this to check proposal status and company responses.\n\n Args:\n api_key: Your agent API key (starts with 'bzcl_sk_')\n status_filter: Optional filter: 'pending', 'approved', 'rejected', 'responded'\n limit: Max results (default 50, max 100)\n offset: Pagination offset (default 0)\n\n Returns:\n List of proposals with status, company response, and customer info.\n ",
"inputSchema": {
"properties": {
"api_key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional BizClaw agent API key starting with bzcl_sk_. If omitted, proposal tools use the X-API-Key MCP connection header when configured.",
"title": "Api Key"
},
"limit": {
"default": 50,
"description": "Maximum number of results to return. Use 1-20 for searches and 1-100 for proposal lists.",
"title": "Limit",
"type": "integer"
},
"meta": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional UCP request metadata. Use {'ucp-agent': {'profile': 'https://agent.example/.well-known/ucp'}} for UCP-aware negotiation.",
"title": "Meta"
},
"offset": {
"default": 0,
"description": "Pagination offset. Increase with limit to fetch later pages.",
"title": "Offset",
"type": "integer"
},
"status_filter": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional proposal status filter: pending, approved, rejected, or responded. Omit by default.",
"title": "Status Filter"
}
},
"title": "get_my_proposalsArguments",
"type": "object"
},
"name": "get_my_proposals",
"outputSchema": {
"additionalProperties": true,
"title": "get_my_proposalsDictOutput",
"type": "object"
}
},
{
"description": "\n List all available business categories in BizClaw.\n Use these category names to filter search results.\n\n Returns:\n Dictionary with 'categories' list and 'total' count.\n ",
"inputSchema": {
"properties": {
"meta": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional UCP request metadata. Use {'ucp-agent': {'profile': 'https://agent.example/.well-known/ucp'}} for UCP-aware negotiation.",
"title": "Meta"
}
},
"title": "list_categoriesArguments",
"type": "object"
},
"name": "list_categories",
"outputSchema": {
"additionalProperties": true,
"title": "list_categoriesDictOutput",
"type": "object"
}
},
{
"description": "\n Reply to a company's response on a proposal. Use this for back-and-forth negotiation.\n After replying, the proposal status resets to 'pending' so the company sees the new message.\n\n IMPORTANT: After creating a proposal, use get_my_proposals to check if the company has responded.\n If status is 'responded', read the companyResponse field and relay it to the user.\n If the user wants to reply, use this tool.\n\n Args:\n api_key: Your agent API key (starts with 'bzcl_sk_')\n proposal_id: The UUID of the proposal to reply to\n message: The reply message from the customer\n\n Returns:\n Updated proposal with new status.\n ",
"inputSchema": {
"properties": {
"api_key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional BizClaw agent API key starting with bzcl_sk_. If omitted, proposal tools use the X-API-Key MCP connection header when configured.",
"title": "Api Key"
},
"message": {
"description": "Reply message to send back to the company on an existing proposal conversation.",
"title": "Message",
"type": "string"
},
"meta": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional UCP request metadata. Use {'ucp-agent': {'profile': 'https://agent.example/.well-known/ucp'}} for UCP-aware negotiation.",
"title": "Meta"
},
"proposal_id": {
"description": "BizClaw proposal UUID returned by create_proposal, create_batch_proposals, or get_my_proposals.",
"title": "Proposal Id",
"type": "string"
}
},
"required": [
"proposal_id",
"message"
],
"title": "reply_to_proposalArguments",
"type": "object"
},
"name": "reply_to_proposal",
"outputSchema": {
"additionalProperties": true,
"title": "reply_to_proposalDictOutput",
"type": "object"
}
},
{
"description": "\n Search for companies in the BizClaw business directory.\n Uses hybrid search (semantic + keyword) to find the most relevant businesses.\n Returns lightweight summaries to save tokens. Use get_company(id) for full details (contact, pricing, features, etc.).\n\n Args:\n query: Natural language search query (e.g. \"CRM software for small businesses\", \"logistics companies in Izmir\")\n category: Filter by category. Use list_categories to see available options.\n country: Filter by country (e.g. \"Turkey\", \"United States\", \"Germany\")\n city: Filter by city (e.g. \"Istanbul\", \"Izmir\", \"Ankara\")\n industry: Filter by specific industry\n service_type: Filter by service delivery type. One of: \"remote\" (online only), \"local\" (in-person), \"nationwide\" (all country), \"hybrid\" (both remote and in-person)\n is_verified: If True, return only verified companies. If False, return only unverified. Omit to return all.\n limit: Maximum number of results to return (1-20, default 10)\n offset: Number of results to skip for pagination (default 0). Use with limit to get next pages.\n\n Returns:\n Dictionary with 'companies' list (summary format: id, name, category, description, city, tags),\n 'suggested_follow_up_questions', 'next_step', 'total_found', 'offset', 'limit', and 'has_more'.\n After presenting results, ask one concise follow-up question from suggested_follow_up_questions\n unless the user's constraints are already complete.\n ",
"inputSchema": {
"properties": {
"category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional BizClaw business category filter. Use list_categories when unsure.",
"title": "Category"
},
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional city filter, for example Istanbul, Izmir, Ankara, or Berlin.",
"title": "City"
},
"country": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional country filter, for example Turkey, United States, or Germany.",
"title": "Country"
},
"industry": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional specific industry or vertical filter.",
"title": "Industry"
},
"is_verified": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional verification filter. True returns verified companies only; false returns unverified companies only.",
"title": "Is Verified"
},
"limit": {
"default": 10,
"description": "Maximum number of results to return. Use 1-20 for searches and 1-100 for proposal lists.",
"title": "Limit",
"type": "integer"
},
"meta": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional UCP request metadata. Use {'ucp-agent': {'profile': 'https://agent.example/.well-known/ucp'}} for UCP-aware negotiation.",
"title": "Meta"
},
"offset": {
"default": 0,
"description": "Pagination offset. Increase with limit to fetch later pages.",
"title": "Offset",
"type": "integer"
},
"query": {
"description": "Natural language search query describing the company, service, category, or buying intent.",
"maxLength": 2000,
"minLength": 1,
"title": "Query",
"type": "string"
},
"service_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional service delivery type: remote, local, nationwide, or hybrid.",
"title": "Service Type"
}
},
"required": [
"query"
],
"title": "search_companiesArguments",
"type": "object"
},
"name": "search_companies",
"outputSchema": {
"additionalProperties": true,
"title": "search_companiesDictOutput",
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:fa0be7a93be727aac8df00f2797744ba1ca7bb06a733097ff2c363b8da4eae2f | sha256sum