{"serverInfo":{"name":"cavyro","title":"Cavyro","version":"0.2.0","description":"Telegram-native CRM for agents: contacts, deals, pipelines, campaigns, docs and reports.","websiteUrl":"https://cavyro.com","icons":[{"src":"https://cavyro.com/web-app-manifest-512x512.png","mimeType":"image/png","sizes":["512x512"]}]},"authentication":{"required":true,"schemes":["bearer"]},"tools":[{"name":"describe_resource","description":"Introspect the CRM. Call with no resource to list all resources and global actions. Call with a resource slug to learn its filters, sort fields, supported operations, and related perform_action slugs. Describe a resource before querying or mutating it when unsure of its fields, filters, or actions.","inputSchema":{"type":"object","properties":{"resource":{"description":"Resource slug (e.g. deal, contact, company). Omit for the full catalog.","type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"},"execution":{"taskSupport":"forbidden"}},{"name":"query_resources","description":"List records of a resource with optional filters, sort, pagination, and custom field filters. Call describe_resource first to learn valid filter and sort keys. limit defaults to 10 per page (max 100).","inputSchema":{"type":"object","properties":{"resource":{"type":"string","description":"Resource slug to list"},"filters":{"description":"Filter key/value pairs from describe_resource (e.g. { status: 'open' })","anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}},{"type":"null"}]},"custom_fields":{"description":"Custom field filters keyed by definition ID","anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}},{"type":"null"}]},"sort":{"description":"Sort field (per-resource allowlist)","anyOf":[{"type":"string"},{"type":"null"}]},"direction":{"description":"Sort direction","anyOf":[{"type":"string","enum":["asc","desc"]},{"type":"null"}]},"page":{"description":"Page number","anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"limit":{"description":"Results per page (default 10, max 100)","anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":100},{"type":"null"}]}},"required":["resource"],"$schema":"http://json-schema.org/draft-07/schema#"},"execution":{"taskSupport":"forbidden"}},{"name":"get_resource","description":"Fetch a single record of a resource by its numeric ID.","inputSchema":{"type":"object","properties":{"resource":{"type":"string","description":"Resource slug"},"id":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Record ID"}},"required":["resource","id"],"$schema":"http://json-schema.org/draft-07/schema#"},"execution":{"taskSupport":"forbidden"}},{"name":"create_resource","description":"Create a record of a resource. attributes is an object of field values. To set custom fields, nest a `custom_fields` object keyed by numeric definition id inside attributes (e.g. { custom_fields: { \"12\": \"Low\" } }); discover ids and required fields by querying the custom_field_definition resource filtered by entity (Deal | Contact | Company).","inputSchema":{"type":"object","properties":{"resource":{"type":"string","description":"Resource slug"},"attributes":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"Field values for the new record"}},"required":["resource","attributes"],"$schema":"http://json-schema.org/draft-07/schema#"},"execution":{"taskSupport":"forbidden"}},{"name":"update_resource","description":"Update a record of a resource by ID. attributes contains only the fields to change. To set custom fields, nest a `custom_fields` object keyed by numeric definition id inside attributes (e.g. { custom_fields: { \"12\": \"Low\" } }).","inputSchema":{"type":"object","properties":{"resource":{"type":"string","description":"Resource slug"},"id":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Record ID"},"attributes":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"Fields to update"}},"required":["resource","id","attributes"],"$schema":"http://json-schema.org/draft-07/schema#"},"execution":{"taskSupport":"forbidden"}},{"name":"delete_resource","description":"Archive, restore, or permanently delete a record. mode=discard archives (soft delete), restore un-archives, destroy permanently deletes.","inputSchema":{"type":"object","properties":{"resource":{"type":"string","description":"Resource slug"},"id":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"description":"Record ID"},"mode":{"type":"string","enum":["discard","restore","destroy"],"description":"Deletion mode"}},"required":["resource","id","mode"],"$schema":"http://json-schema.org/draft-07/schema#"},"execution":{"taskSupport":"forbidden"}},{"name":"search","description":"Omnibox search across deals, contacts, companies, teams, groups, members, and saved reports. Returns top matches per type.","inputSchema":{"type":"object","properties":{"query":{"type":"string","minLength":2,"maxLength":100,"description":"Search query (2-100 characters)"}},"required":["query"],"$schema":"http://json-schema.org/draft-07/schema#"},"execution":{"taskSupport":"forbidden"}},{"name":"perform_action","description":"Execute a specialized (non-CRUD) action by slug, such as move_deal, link_contact_company, bulk operations, comments, membership changes, reports, or global reads. Discover available actions and their params via describe_resource.","inputSchema":{"type":"object","properties":{"action":{"type":"string","description":"Action slug (see describe_resource)"},"params":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},{"type":"null"}],"description":"Parameters for the action"}},"required":["action","params"],"$schema":"http://json-schema.org/draft-07/schema#"},"execution":{"taskSupport":"forbidden"}},{"name":"load_guidance","description":"Load step-by-step workflow guidance for one or more topics (ids come from a resource's related_guidance or describe_resource's guidance list). Covers create flows, required custom fields, activity feed vs calendar, multi-turn continuation, and which features exist only in the web app (topic 'product-surface'). Call it before composing a create/update you are unsure about, or before telling the user something is impossible.","inputSchema":{"type":"object","properties":{"topics":{"minItems":1,"type":"array","items":{"type":"string"},"description":"Guidance topic ids, e.g. [\"deal-creation\", \"custom-fields\"]"}},"required":["topics"],"$schema":"http://json-schema.org/draft-07/schema#"},"execution":{"taskSupport":"forbidden"}}],"resources":[{"name":"collection-filters","uri":"cavyro://schema/collection-filters","description":"Catalog of list endpoint filters, sort fields, and enum values for the Cavyro API.","mimeType":"application/json"}]}