{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_mw8z75v8x6dk","handle":"crm","url":"https://wellknown.network/agents/crm","links":{"self":"https://wellknown.network/agents/crm/record.json","html":"https://wellknown.network/agents/crm","markdown":"https://wellknown.network/agents/crm/record.md","api":"https://wellknown.network/api/v1/agents/crm","status":"https://wellknown.network/api/v1/agents/crm/status","claim":"https://wellknown.network/agents/crm/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/crm/claim.json","badge":"https://wellknown.network/agents/crm/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/crm/history","tools":"https://wellknown.network/api/v1/agents/crm/tools"},"ard":{"identifier":"urn:air:api.mcp.ai:server:crm","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"CRM","summary":"Your own CRM, fully customizable and agent-driven. Start with contacts, companies and a sales pipeli","description":"Your own CRM, fully customizable and agent-driven. Start with contacts, companies and a sales pipeli","publisher":{"name":"mcp-dir","url":null},"homepage":null,"repository":"https://github.com/mcp-dir/crm-mcp","version":"0.1.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://api.mcp.ai/p_crm","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-08-21T13:24:16.62502Z","publishedAt":"2026-08-21T13:24:16.62502Z","registryName":"io.github.mcp-dir/crm-mcp"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"productivity.crm","name":"CRM & Sales","confidence":1,"provenance":"derived"},{"slug":"productivity.tasks","name":"Tasks & To-do","confidence":0.948,"provenance":"derived"},{"slug":"security.identity","name":"Identity & Access","confidence":0.583,"provenance":"derived"},{"slug":"security.secrets","name":"Secrets Management","confidence":0.569,"provenance":"derived"},{"slug":"commerce.ecommerce","name":"E-commerce Operations","confidence":0.51,"provenance":"derived"},{"slug":"infra.browser-automation","name":"Browser Automation","confidence":0.51,"provenance":"derived"}],"categories":["commerce","infra","productivity","security"],"language":"fr"},"observed":{"status":"live","statusReason":"Responded 12m ago.","lastOkAt":"2026-10-10T16:31:06.514Z","lastProbedAt":"2026-10-10T16:31:06.514Z","statusComputedAt":"2026-10-10T16:33:34.598Z","reliability30d":{"probes":49,"successRate":1,"p50Ms":203,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":46,"ok":46,"authBoundaryOk":0,"serviceOk":46,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T16:31:06.514Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":175,"error":null,"detail":{"tools":[{"name":"crm_describe","description":"Descreve o schema do CRM: todos os objetos (contact, company, deal e quaisquer custom) com seus campos (key, tipo, obrigatório, opções, relações) e o kanban. CH"},{"name":"crm_list_objects","description":"Lista os objetos do CRM (key, rótulo, módulo, kanban). Versão enxuta do crm_describe, sem os campos."},{"name":"crm_create_records","description":"Cria um registro (ou vários) de um objeto. Passe `object` (ex.: 'contact', 'deal') e `data` (objeto JSON com os campos por key). Para vários, use `records` (arr"},{"name":"crm_list_records","description":"Lista registros de um objeto, com filtro/ordenação/paginação. `filter` é um objeto JSON: {campo: valor} ou {campo: {op: valor}} (ops: eq ne gt gte lt lte in nin"},{"name":"crm_get_records","description":"Busca um ou mais registros de um objeto por id."},{"name":"crm_update_records","description":"Atualiza um registro (merge parcial) por id. Passe `object`, `id` e `data` (só os campos a mudar; null apaga o campo). Para vários, use `updates` (array JSON de"},{"name":"crm_delete_records","description":"Remove um ou mais registros de um objeto por id."},{"name":"crm_search","description":"Busca textual nos registros (por nome/título/valores). Opcionalmente restrita a um `object`."},{"name":"crm_define_object","description":"Cria um OBJETO custom no CRM (além de contact/company/deal) e ganha CRUD/API automático. Passe `key` (api name, a-z/0-9/_), `label` e opcionalmente `fields` (ar"},{"name":"crm_add_field","description":"Adiciona um CAMPO custom a um objeto (sem migração; registros antigos ficam sem a key). Tipos: string text integer float boolean date datetime singleselect mult"},{"name":"crm_get_object","description":"Detalha UM objeto: seu rótulo, kanban e todos os campos (key, tipo, obrigatório, opções, relação). Versão focada do crm_describe."},{"name":"crm_update_object","description":"Edita um objeto: rótulo, campo de exibição, módulo ou config de kanban (a key é imutável). Vale para objetos de sistema e custom."},{"name":"crm_delete_object","description":"Remove um objeto CUSTOM (objetos de sistema não podem ser removidos). Se houver registros, passe delete_records:true para apagar tudo junto."},{"name":"crm_update_field","description":"Edita um campo: rótulo, obrigatório, visível, posição, opções, indexação. Mudança de TIPO só é permitida se for um alargamento seguro (ex.: integer→float); muda"},{"name":"crm_remove_field","description":"Remove um campo CUSTOM (soft-delete: some do schema, mas os valores já gravados ficam preservados). Campos de sistema não podem ser removidos."},{"name":"crm_link_record","description":"Liga um registro a outro por um campo de relação (ex.: vincular um contato a uma empresa). Para relação 'many' adiciona ao conjunto; para 'single' define o alvo"},{"name":"crm_unlink_record","description":"Desfaz uma relação. Para relação 'many' remove o target_id do conjunto; para 'single' limpa o campo (target_id opcional).\n\nBulk support: accepts ids, target_ids"},{"name":"crm_related_records","description":"Resolve os registros relacionados de um registro: segue os campos de relação e devolve os registros-alvo (todos, ou só de um `field`).\n\nBulk support: accepts id"},{"name":"crm_move_stage","description":"Move um registro de um objeto kanban (ex.: deal) para outra etapa do funil. Valida a etapa contra as opções do campo de stage.\n\nBulk support: accepts ids for ba"},{"name":"crm_upload_file","description":"Inicia o upload de um arquivo (até 200 MB) e devolve uma URL presigned (`upload_url`) pra fazer o PUT direto no storage, mais o `file_id`. Depois do PUT, chame "},{"name":"crm_confirm_upload","description":"Confirma o upload depois do PUT na upload_url (o storage valida o tamanho real). Marca o arquivo como pronto e contabiliza no uso.\n\nBulk support: accepts file_i"},{"name":"crm_upload_from_url","description":"Sobe um arquivo A PARTIR DE UMA URL (a plataforma baixa e armazena, até 200 MB) — o jeito do AGENTE subir via API sem segurar os bytes. Devolve o arquivo já pro"},{"name":"crm_list_files","description":"Lista os arquivos do CRM (id, nome, tamanho, status). Opcionalmente filtra os anexados a um objeto/registro.\n\nBulk support: accepts record_ids for batched execu"},{"name":"crm_get_file","description":"Metadados de um arquivo (nome, tamanho, content_type, status, anexo).\n\nBulk support: accepts file_ids for batched execution."},{"name":"crm_download_file","description":"Gera uma URL presigned de download (GET) pra um arquivo. A URL expira em alguns minutos.\n\nBulk support: accepts file_ids for batched execution."},{"name":"crm_delete_file","description":"Remove um ou mais arquivos (apaga do storage e libera o espaço contabilizado)."},{"name":"crm_publish_file","description":"Torna um arquivo PÚBLICO e devolve uma URL estável (`https://api.mcp.ai/f/<token>`) pra embutir num site (ex.: thumbnail). O objeto continua privado no storage,"},{"name":"crm_unpublish_file","description":"Revoga o link público de um arquivo (o token para de funcionar na hora).\n\nBulk support: accepts file_ids for batched execution."},{"name":"crm_usage","description":"Uso de storage deste CRM: bytes do banco + bytes de arquivos, total em GB, nº de arquivos e egress acumulado. É a base do que é cobrado (storage GB-mês + egress"},{"name":"crm_list_accounts","description":"Lista os CRMs conectados neste install. Retorna cada um com id, rótulo e is_default (true quando só há um, não precisa passar `account` nas outras tools)."},{"name":"show_version","description":"Show the current MCP platform and adapter versions."},{"name":"report_bug","description":"Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction."},{"name":"connect","description":"Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns conn"},{"name":"toolkit_info","description":"Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes."},{"name":"marketplace","description":"The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like \"find an MCP that does X\","},{"name":"authenticate","description":"MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <tok"}],"toolCount":36,"toolsHash":"38a87a25b3664f69644f8e326f3ec0ad6b99ba0abfd77227450f9e1138019018","serverName":"mcp-ai","capabilities":["tools"],"serverVersion":"0.9.369","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T17:27:11.304Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":124,"error":null,"detail":{"tools":[{"name":"crm_describe","description":"Descreve o schema do CRM: todos os objetos (contact, company, deal e quaisquer custom) com seus campos (key, tipo, obrigatório, opções, relações) e o kanban. CH"},{"name":"crm_list_objects","description":"Lista os objetos do CRM (key, rótulo, módulo, kanban). Versão enxuta do crm_describe, sem os campos."},{"name":"crm_create_records","description":"Cria um registro (ou vários) de um objeto. Passe `object` (ex.: 'contact', 'deal') e `data` (objeto JSON com os campos por key). Para vários, use `records` (arr"},{"name":"crm_list_records","description":"Lista registros de um objeto, com filtro/ordenação/paginação. `filter` é um objeto JSON: {campo: valor} ou {campo: {op: valor}} (ops: eq ne gt gte lt lte in nin"},{"name":"crm_get_records","description":"Busca um ou mais registros de um objeto por id."},{"name":"crm_update_records","description":"Atualiza um registro (merge parcial) por id. Passe `object`, `id` e `data` (só os campos a mudar; null apaga o campo). Para vários, use `updates` (array JSON de"},{"name":"crm_delete_records","description":"Remove um ou mais registros de um objeto por id."},{"name":"crm_search","description":"Busca textual nos registros (por nome/título/valores). Opcionalmente restrita a um `object`."},{"name":"crm_define_object","description":"Cria um OBJETO custom no CRM (além de contact/company/deal) e ganha CRUD/API automático. Passe `key` (api name, a-z/0-9/_), `label` e opcionalmente `fields` (ar"},{"name":"crm_add_field","description":"Adiciona um CAMPO custom a um objeto (sem migração; registros antigos ficam sem a key). Tipos: string text integer float boolean date datetime singleselect mult"},{"name":"crm_get_object","description":"Detalha UM objeto: seu rótulo, kanban e todos os campos (key, tipo, obrigatório, opções, relação). Versão focada do crm_describe."},{"name":"crm_update_object","description":"Edita um objeto: rótulo, campo de exibição, módulo ou config de kanban (a key é imutável). Vale para objetos de sistema e custom."},{"name":"crm_delete_object","description":"Remove um objeto CUSTOM (objetos de sistema não podem ser removidos). Se houver registros, passe delete_records:true para apagar tudo junto."},{"name":"crm_update_field","description":"Edita um campo: rótulo, obrigatório, visível, posição, opções, indexação. Mudança de TIPO só é permitida se for um alargamento seguro (ex.: integer→float); muda"},{"name":"crm_remove_field","description":"Remove um campo CUSTOM (soft-delete: some do schema, mas os valores já gravados ficam preservados). Campos de sistema não podem ser removidos."},{"name":"crm_link_record","description":"Liga um registro a outro por um campo de relação (ex.: vincular um contato a uma empresa). Para relação 'many' adiciona ao conjunto; para 'single' define o alvo"},{"name":"crm_unlink_record","description":"Desfaz uma relação. Para relação 'many' remove o target_id do conjunto; para 'single' limpa o campo (target_id opcional).\n\nBulk support: accepts ids, target_ids"},{"name":"crm_related_records","description":"Resolve os registros relacionados de um registro: segue os campos de relação e devolve os registros-alvo (todos, ou só de um `field`).\n\nBulk support: accepts id"},{"name":"crm_move_stage","description":"Move um registro de um objeto kanban (ex.: deal) para outra etapa do funil. Valida a etapa contra as opções do campo de stage.\n\nBulk support: accepts ids for ba"},{"name":"crm_upload_file","description":"Inicia o upload de um arquivo (até 200 MB) e devolve uma URL presigned (`upload_url`) pra fazer o PUT direto no storage, mais o `file_id`. Depois do PUT, chame "},{"name":"crm_confirm_upload","description":"Confirma o upload depois do PUT na upload_url (o storage valida o tamanho real). Marca o arquivo como pronto e contabiliza no uso.\n\nBulk support: accepts file_i"},{"name":"crm_upload_from_url","description":"Sobe um arquivo A PARTIR DE UMA URL (a plataforma baixa e armazena, até 200 MB) — o jeito do AGENTE subir via API sem segurar os bytes. Devolve o arquivo já pro"},{"name":"crm_list_files","description":"Lista os arquivos do CRM (id, nome, tamanho, status). Opcionalmente filtra os anexados a um objeto/registro.\n\nBulk support: accepts record_ids for batched execu"},{"name":"crm_get_file","description":"Metadados de um arquivo (nome, tamanho, content_type, status, anexo).\n\nBulk support: accepts file_ids for batched execution."},{"name":"crm_download_file","description":"Gera uma URL presigned de download (GET) pra um arquivo. A URL expira em alguns minutos.\n\nBulk support: accepts file_ids for batched execution."},{"name":"crm_delete_file","description":"Remove um ou mais arquivos (apaga do storage e libera o espaço contabilizado)."},{"name":"crm_publish_file","description":"Torna um arquivo PÚBLICO e devolve uma URL estável (`https://api.mcp.ai/f/<token>`) pra embutir num site (ex.: thumbnail). O objeto continua privado no storage,"},{"name":"crm_unpublish_file","description":"Revoga o link público de um arquivo (o token para de funcionar na hora).\n\nBulk support: accepts file_ids for batched execution."},{"name":"crm_usage","description":"Uso de storage deste CRM: bytes do banco + bytes de arquivos, total em GB, nº de arquivos e egress acumulado. É a base do que é cobrado (storage GB-mês + egress"},{"name":"crm_list_accounts","description":"Lista os CRMs conectados neste install. Retorna cada um com id, rótulo e is_default (true quando só há um, não precisa passar `account` nas outras tools)."},{"name":"show_version","description":"Show the current MCP platform and adapter versions."},{"name":"report_bug","description":"Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction."},{"name":"connect","description":"Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns conn"},{"name":"toolkit_info","description":"Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes."},{"name":"marketplace","description":"The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like \"find an MCP that does X\","},{"name":"authenticate","description":"MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <tok"}],"toolCount":36,"toolsHash":"38a87a25b3664f69644f8e326f3ec0ad6b99ba0abfd77227450f9e1138019018","serverName":"mcp-ai","capabilities":["tools"],"serverVersion":"0.9.369","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T20:23:49.892Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":163,"error":null,"detail":{"tools":[{"name":"crm_describe","description":"Descreve o schema do CRM: todos os objetos (contact, company, deal e quaisquer custom) com seus campos (key, tipo, obrigatório, opções, relações) e o kanban. CH"},{"name":"crm_list_objects","description":"Lista os objetos do CRM (key, rótulo, módulo, kanban). Versão enxuta do crm_describe, sem os campos."},{"name":"crm_create_records","description":"Cria um registro (ou vários) de um objeto. Passe `object` (ex.: 'contact', 'deal') e `data` (objeto JSON com os campos por key). Para vários, use `records` (arr"},{"name":"crm_list_records","description":"Lista registros de um objeto, com filtro/ordenação/paginação. `filter` é um objeto JSON: {campo: valor} ou {campo: {op: valor}} (ops: eq ne gt gte lt lte in nin"},{"name":"crm_get_records","description":"Busca um ou mais registros de um objeto por id."},{"name":"crm_update_records","description":"Atualiza um registro (merge parcial) por id. Passe `object`, `id` e `data` (só os campos a mudar; null apaga o campo). Para vários, use `updates` (array JSON de"},{"name":"crm_delete_records","description":"Remove um ou mais registros de um objeto por id."},{"name":"crm_search","description":"Busca textual nos registros (por nome/título/valores). Opcionalmente restrita a um `object`."},{"name":"crm_define_object","description":"Cria um OBJETO custom no CRM (além de contact/company/deal) e ganha CRUD/API automático. Passe `key` (api name, a-z/0-9/_), `label` e opcionalmente `fields` (ar"},{"name":"crm_add_field","description":"Adiciona um CAMPO custom a um objeto (sem migração; registros antigos ficam sem a key). Tipos: string text integer float boolean date datetime singleselect mult"},{"name":"crm_get_object","description":"Detalha UM objeto: seu rótulo, kanban e todos os campos (key, tipo, obrigatório, opções, relação). Versão focada do crm_describe."},{"name":"crm_update_object","description":"Edita um objeto: rótulo, campo de exibição, módulo ou config de kanban (a key é imutável). Vale para objetos de sistema e custom."},{"name":"crm_delete_object","description":"Remove um objeto CUSTOM (objetos de sistema não podem ser removidos). Se houver registros, passe delete_records:true para apagar tudo junto."},{"name":"crm_update_field","description":"Edita um campo: rótulo, obrigatório, visível, posição, opções, indexação. Mudança de TIPO só é permitida se for um alargamento seguro (ex.: integer→float); muda"},{"name":"crm_remove_field","description":"Remove um campo CUSTOM (soft-delete: some do schema, mas os valores já gravados ficam preservados). Campos de sistema não podem ser removidos."},{"name":"crm_link_record","description":"Liga um registro a outro por um campo de relação (ex.: vincular um contato a uma empresa). Para relação 'many' adiciona ao conjunto; para 'single' define o alvo"},{"name":"crm_unlink_record","description":"Desfaz uma relação. Para relação 'many' remove o target_id do conjunto; para 'single' limpa o campo (target_id opcional).\n\nBulk support: accepts ids, target_ids"},{"name":"crm_related_records","description":"Resolve os registros relacionados de um registro: segue os campos de relação e devolve os registros-alvo (todos, ou só de um `field`).\n\nBulk support: accepts id"},{"name":"crm_move_stage","description":"Move um registro de um objeto kanban (ex.: deal) para outra etapa do funil. Valida a etapa contra as opções do campo de stage.\n\nBulk support: accepts ids for ba"},{"name":"crm_upload_file","description":"Inicia o upload de um arquivo (até 200 MB) e devolve uma URL presigned (`upload_url`) pra fazer o PUT direto no storage, mais o `file_id`. Depois do PUT, chame "},{"name":"crm_confirm_upload","description":"Confirma o upload depois do PUT na upload_url (o storage valida o tamanho real). Marca o arquivo como pronto e contabiliza no uso.\n\nBulk support: accepts file_i"},{"name":"crm_upload_from_url","description":"Sobe um arquivo A PARTIR DE UMA URL (a plataforma baixa e armazena, até 200 MB) — o jeito do AGENTE subir via API sem segurar os bytes. Devolve o arquivo já pro"},{"name":"crm_list_files","description":"Lista os arquivos do CRM (id, nome, tamanho, status). Opcionalmente filtra os anexados a um objeto/registro.\n\nBulk support: accepts record_ids for batched execu"},{"name":"crm_get_file","description":"Metadados de um arquivo (nome, tamanho, content_type, status, anexo).\n\nBulk support: accepts file_ids for batched execution."},{"name":"crm_download_file","description":"Gera uma URL presigned de download (GET) pra um arquivo. A URL expira em alguns minutos.\n\nBulk support: accepts file_ids for batched execution."},{"name":"crm_delete_file","description":"Remove um ou mais arquivos (apaga do storage e libera o espaço contabilizado)."},{"name":"crm_publish_file","description":"Torna um arquivo PÚBLICO e devolve uma URL estável (`https://api.mcp.ai/f/<token>`) pra embutir num site (ex.: thumbnail). O objeto continua privado no storage,"},{"name":"crm_unpublish_file","description":"Revoga o link público de um arquivo (o token para de funcionar na hora).\n\nBulk support: accepts file_ids for batched execution."},{"name":"crm_usage","description":"Uso de storage deste CRM: bytes do banco + bytes de arquivos, total em GB, nº de arquivos e egress acumulado. É a base do que é cobrado (storage GB-mês + egress"},{"name":"crm_list_accounts","description":"Lista os CRMs conectados neste install. Retorna cada um com id, rótulo e is_default (true quando só há um, não precisa passar `account` nas outras tools)."},{"name":"show_version","description":"Show the current MCP platform and adapter versions."},{"name":"report_bug","description":"Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction."},{"name":"connect","description":"Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns conn"},{"name":"toolkit_info","description":"Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes."},{"name":"marketplace","description":"The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like \"find an MCP that does X\","},{"name":"authenticate","description":"MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <tok"}],"toolCount":36,"toolsHash":"38a87a25b3664f69644f8e326f3ec0ad6b99ba0abfd77227450f9e1138019018","serverName":"mcp-ai","capabilities":["tools"],"serverVersion":"0.9.368","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T21:27:40.037Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":593,"error":null,"detail":{"tools":[{"name":"crm_describe","description":"Descreve o schema do CRM: todos os objetos (contact, company, deal e quaisquer custom) com seus campos (key, tipo, obrigatório, opções, relações) e o kanban. CH"},{"name":"crm_list_objects","description":"Lista os objetos do CRM (key, rótulo, módulo, kanban). Versão enxuta do crm_describe, sem os campos."},{"name":"crm_create_records","description":"Cria um registro (ou vários) de um objeto. Passe `object` (ex.: 'contact', 'deal') e `data` (objeto JSON com os campos por key). Para vários, use `records` (arr"},{"name":"crm_list_records","description":"Lista registros de um objeto, com filtro/ordenação/paginação. `filter` é um objeto JSON: {campo: valor} ou {campo: {op: valor}} (ops: eq ne gt gte lt lte in nin"},{"name":"crm_get_records","description":"Busca um ou mais registros de um objeto por id."},{"name":"crm_update_records","description":"Atualiza um registro (merge parcial) por id. Passe `object`, `id` e `data` (só os campos a mudar; null apaga o campo). Para vários, use `updates` (array JSON de"},{"name":"crm_delete_records","description":"Remove um ou mais registros de um objeto por id."},{"name":"crm_search","description":"Busca textual nos registros (por nome/título/valores). Opcionalmente restrita a um `object`."},{"name":"crm_define_object","description":"Cria um OBJETO custom no CRM (além de contact/company/deal) e ganha CRUD/API automático. Passe `key` (api name, a-z/0-9/_), `label` e opcionalmente `fields` (ar"},{"name":"crm_add_field","description":"Adiciona um CAMPO custom a um objeto (sem migração; registros antigos ficam sem a key). Tipos: string text integer float boolean date datetime singleselect mult"},{"name":"crm_get_object","description":"Detalha UM objeto: seu rótulo, kanban e todos os campos (key, tipo, obrigatório, opções, relação). Versão focada do crm_describe."},{"name":"crm_update_object","description":"Edita um objeto: rótulo, campo de exibição, módulo ou config de kanban (a key é imutável). Vale para objetos de sistema e custom."},{"name":"crm_delete_object","description":"Remove um objeto CUSTOM (objetos de sistema não podem ser removidos). Se houver registros, passe delete_records:true para apagar tudo junto."},{"name":"crm_update_field","description":"Edita um campo: rótulo, obrigatório, visível, posição, opções, indexação. Mudança de TIPO só é permitida se for um alargamento seguro (ex.: integer→float); muda"},{"name":"crm_remove_field","description":"Remove um campo CUSTOM (soft-delete: some do schema, mas os valores já gravados ficam preservados). Campos de sistema não podem ser removidos."},{"name":"crm_link_record","description":"Liga um registro a outro por um campo de relação (ex.: vincular um contato a uma empresa). Para relação 'many' adiciona ao conjunto; para 'single' define o alvo"},{"name":"crm_unlink_record","description":"Desfaz uma relação. Para relação 'many' remove o target_id do conjunto; para 'single' limpa o campo (target_id opcional).\n\nBulk support: accepts ids, target_ids"},{"name":"crm_related_records","description":"Resolve os registros relacionados de um registro: segue os campos de relação e devolve os registros-alvo (todos, ou só de um `field`).\n\nBulk support: accepts id"},{"name":"crm_move_stage","description":"Move um registro de um objeto kanban (ex.: deal) para outra etapa do funil. Valida a etapa contra as opções do campo de stage.\n\nBulk support: accepts ids for ba"},{"name":"crm_upload_file","description":"Inicia o upload de um arquivo (até 200 MB) e devolve uma URL presigned (`upload_url`) pra fazer o PUT direto no storage, mais o `file_id`. Depois do PUT, chame "},{"name":"crm_confirm_upload","description":"Confirma o upload depois do PUT na upload_url (o storage valida o tamanho real). Marca o arquivo como pronto e contabiliza no uso.\n\nBulk support: accepts file_i"},{"name":"crm_upload_from_url","description":"Sobe um arquivo A PARTIR DE UMA URL (a plataforma baixa e armazena, até 200 MB) — o jeito do AGENTE subir via API sem segurar os bytes. Devolve o arquivo já pro"},{"name":"crm_list_files","description":"Lista os arquivos do CRM (id, nome, tamanho, status). Opcionalmente filtra os anexados a um objeto/registro.\n\nBulk support: accepts record_ids for batched execu"},{"name":"crm_get_file","description":"Metadados de um arquivo (nome, tamanho, content_type, status, anexo).\n\nBulk support: accepts file_ids for batched execution."},{"name":"crm_download_file","description":"Gera uma URL presigned de download (GET) pra um arquivo. A URL expira em alguns minutos.\n\nBulk support: accepts file_ids for batched execution."},{"name":"crm_delete_file","description":"Remove um ou mais arquivos (apaga do storage e libera o espaço contabilizado)."},{"name":"crm_publish_file","description":"Torna um arquivo PÚBLICO e devolve uma URL estável (`https://api.mcp.ai/f/<token>`) pra embutir num site (ex.: thumbnail). O objeto continua privado no storage,"},{"name":"crm_unpublish_file","description":"Revoga o link público de um arquivo (o token para de funcionar na hora).\n\nBulk support: accepts file_ids for batched execution."},{"name":"crm_usage","description":"Uso de storage deste CRM: bytes do banco + bytes de arquivos, total em GB, nº de arquivos e egress acumulado. É a base do que é cobrado (storage GB-mês + egress"},{"name":"crm_list_accounts","description":"Lista os CRMs conectados neste install. Retorna cada um com id, rótulo e is_default (true quando só há um, não precisa passar `account` nas outras tools)."},{"name":"show_version","description":"Show the current MCP platform and adapter versions."},{"name":"report_bug","description":"Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction."},{"name":"connect","description":"Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns conn"},{"name":"toolkit_info","description":"Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes."},{"name":"marketplace","description":"The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like \"find an MCP that does X\","},{"name":"authenticate","description":"MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <tok"}],"toolCount":36,"toolsHash":"38a87a25b3664f69644f8e326f3ec0ad6b99ba0abfd77227450f9e1138019018","serverName":"mcp-ai","capabilities":["tools"],"serverVersion":"0.9.368","protocolVersion":"2025-06-18"}},{"at":"2026-10-06T22:24:24.884Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":137,"error":null,"detail":{"tools":[{"name":"crm_describe","description":"Descreve o schema do CRM: todos os objetos (contact, company, deal e quaisquer custom) com seus campos (key, tipo, obrigatório, opções, relações) e o kanban. CH"},{"name":"crm_list_objects","description":"Lista os objetos do CRM (key, rótulo, módulo, kanban). Versão enxuta do crm_describe, sem os campos."},{"name":"crm_create_records","description":"Cria um registro (ou vários) de um objeto. Passe `object` (ex.: 'contact', 'deal') e `data` (objeto JSON com os campos por key). Para vários, use `records` (arr"},{"name":"crm_list_records","description":"Lista registros de um objeto, com filtro/ordenação/paginação. `filter` é um objeto JSON: {campo: valor} ou {campo: {op: valor}} (ops: eq ne gt gte lt lte in nin"},{"name":"crm_get_records","description":"Busca um ou mais registros de um objeto por id."},{"name":"crm_update_records","description":"Atualiza um registro (merge parcial) por id. Passe `object`, `id` e `data` (só os campos a mudar; null apaga o campo). Para vários, use `updates` (array JSON de"},{"name":"crm_delete_records","description":"Remove um ou mais registros de um objeto por id."},{"name":"crm_search","description":"Busca textual nos registros (por nome/título/valores). Opcionalmente restrita a um `object`."},{"name":"crm_define_object","description":"Cria um OBJETO custom no CRM (além de contact/company/deal) e ganha CRUD/API automático. Passe `key` (api name, a-z/0-9/_), `label` e opcionalmente `fields` (ar"},{"name":"crm_add_field","description":"Adiciona um CAMPO custom a um objeto (sem migração; registros antigos ficam sem a key). Tipos: string text integer float boolean date datetime singleselect mult"},{"name":"crm_get_object","description":"Detalha UM objeto: seu rótulo, kanban e todos os campos (key, tipo, obrigatório, opções, relação). Versão focada do crm_describe."},{"name":"crm_update_object","description":"Edita um objeto: rótulo, campo de exibição, módulo ou config de kanban (a key é imutável). Vale para objetos de sistema e custom."},{"name":"crm_delete_object","description":"Remove um objeto CUSTOM (objetos de sistema não podem ser removidos). Se houver registros, passe delete_records:true para apagar tudo junto."},{"name":"crm_update_field","description":"Edita um campo: rótulo, obrigatório, visível, posição, opções, indexação. Mudança de TIPO só é permitida se for um alargamento seguro (ex.: integer→float); muda"},{"name":"crm_remove_field","description":"Remove um campo CUSTOM (soft-delete: some do schema, mas os valores já gravados ficam preservados). Campos de sistema não podem ser removidos."},{"name":"crm_link_record","description":"Liga um registro a outro por um campo de relação (ex.: vincular um contato a uma empresa). Para relação 'many' adiciona ao conjunto; para 'single' define o alvo"},{"name":"crm_unlink_record","description":"Desfaz uma relação. Para relação 'many' remove o target_id do conjunto; para 'single' limpa o campo (target_id opcional).\n\nBulk support: accepts ids, target_ids"},{"name":"crm_related_records","description":"Resolve os registros relacionados de um registro: segue os campos de relação e devolve os registros-alvo (todos, ou só de um `field`).\n\nBulk support: accepts id"},{"name":"crm_move_stage","description":"Move um registro de um objeto kanban (ex.: deal) para outra etapa do funil. Valida a etapa contra as opções do campo de stage.\n\nBulk support: accepts ids for ba"},{"name":"crm_upload_file","description":"Inicia o upload de um arquivo (até 200 MB) e devolve uma URL presigned (`upload_url`) pra fazer o PUT direto no storage, mais o `file_id`. Depois do PUT, chame "},{"name":"crm_confirm_upload","description":"Confirma o upload depois do PUT na upload_url (o storage valida o tamanho real). Marca o arquivo como pronto e contabiliza no uso.\n\nBulk support: accepts file_i"},{"name":"crm_upload_from_url","description":"Sobe um arquivo A PARTIR DE UMA URL (a plataforma baixa e armazena, até 200 MB) — o jeito do AGENTE subir via API sem segurar os bytes. Devolve o arquivo já pro"},{"name":"crm_list_files","description":"Lista os arquivos do CRM (id, nome, tamanho, status). Opcionalmente filtra os anexados a um objeto/registro.\n\nBulk support: accepts record_ids for batched execu"},{"name":"crm_get_file","description":"Metadados de um arquivo (nome, tamanho, content_type, status, anexo).\n\nBulk support: accepts file_ids for batched execution."},{"name":"crm_download_file","description":"Gera uma URL presigned de download (GET) pra um arquivo. A URL expira em alguns minutos.\n\nBulk support: accepts file_ids for batched execution."},{"name":"crm_delete_file","description":"Remove um ou mais arquivos (apaga do storage e libera o espaço contabilizado)."},{"name":"crm_publish_file","description":"Torna um arquivo PÚBLICO e devolve uma URL estável (`https://api.mcp.ai/f/<token>`) pra embutir num site (ex.: thumbnail). O objeto continua privado no storage,"},{"name":"crm_unpublish_file","description":"Revoga o link público de um arquivo (o token para de funcionar na hora).\n\nBulk support: accepts file_ids for batched execution."},{"name":"crm_usage","description":"Uso de storage deste CRM: bytes do banco + bytes de arquivos, total em GB, nº de arquivos e egress acumulado. É a base do que é cobrado (storage GB-mês + egress"},{"name":"crm_list_accounts","description":"Lista os CRMs conectados neste install. Retorna cada um com id, rótulo e is_default (true quando só há um, não precisa passar `account` nas outras tools)."},{"name":"show_version","description":"Show the current MCP platform and adapter versions."},{"name":"report_bug","description":"Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction."},{"name":"connect","description":"Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns conn"},{"name":"toolkit_info","description":"Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes."},{"name":"marketplace","description":"The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like \"find an MCP that does X\","},{"name":"authenticate","description":"MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <tok"}],"toolCount":36,"toolsHash":"38a87a25b3664f69644f8e326f3ec0ad6b99ba0abfd77227450f9e1138019018","serverName":"mcp-ai","capabilities":["tools"],"serverVersion":"0.9.368","protocolVersion":"2025-06-18"}},{"at":"2026-10-06T00:23:47.091Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":127,"error":null,"detail":{"tools":[{"name":"crm_describe","description":"Descreve o schema do CRM: todos os objetos (contact, company, deal e quaisquer custom) com seus campos (key, tipo, obrigatório, opções, relações) e o kanban. CH"},{"name":"crm_list_objects","description":"Lista os objetos do CRM (key, rótulo, módulo, kanban). Versão enxuta do crm_describe, sem os campos."},{"name":"crm_create_records","description":"Cria um registro (ou vários) de um objeto. Passe `object` (ex.: 'contact', 'deal') e `data` (objeto JSON com os campos por key). Para vários, use `records` (arr"},{"name":"crm_list_records","description":"Lista registros de um objeto, com filtro/ordenação/paginação. `filter` é um objeto JSON: {campo: valor} ou {campo: {op: valor}} (ops: eq ne gt gte lt lte in nin"},{"name":"crm_get_records","description":"Busca um ou mais registros de um objeto por id."},{"name":"crm_update_records","description":"Atualiza um registro (merge parcial) por id. Passe `object`, `id` e `data` (só os campos a mudar; null apaga o campo). Para vários, use `updates` (array JSON de"},{"name":"crm_delete_records","description":"Remove um ou mais registros de um objeto por id."},{"name":"crm_search","description":"Busca textual nos registros (por nome/título/valores). Opcionalmente restrita a um `object`."},{"name":"crm_define_object","description":"Cria um OBJETO custom no CRM (além de contact/company/deal) e ganha CRUD/API automático. Passe `key` (api name, a-z/0-9/_), `label` e opcionalmente `fields` (ar"},{"name":"crm_add_field","description":"Adiciona um CAMPO custom a um objeto (sem migração; registros antigos ficam sem a key). Tipos: string text integer float boolean date datetime singleselect mult"},{"name":"crm_get_object","description":"Detalha UM objeto: seu rótulo, kanban e todos os campos (key, tipo, obrigatório, opções, relação). Versão focada do crm_describe."},{"name":"crm_update_object","description":"Edita um objeto: rótulo, campo de exibição, módulo ou config de kanban (a key é imutável). Vale para objetos de sistema e custom."},{"name":"crm_delete_object","description":"Remove um objeto CUSTOM (objetos de sistema não podem ser removidos). Se houver registros, passe delete_records:true para apagar tudo junto."},{"name":"crm_update_field","description":"Edita um campo: rótulo, obrigatório, visível, posição, opções, indexação. Mudança de TIPO só é permitida se for um alargamento seguro (ex.: integer→float); muda"},{"name":"crm_remove_field","description":"Remove um campo CUSTOM (soft-delete: some do schema, mas os valores já gravados ficam preservados). Campos de sistema não podem ser removidos."},{"name":"crm_link_record","description":"Liga um registro a outro por um campo de relação (ex.: vincular um contato a uma empresa). Para relação 'many' adiciona ao conjunto; para 'single' define o alvo"},{"name":"crm_unlink_record","description":"Desfaz uma relação. Para relação 'many' remove o target_id do conjunto; para 'single' limpa o campo (target_id opcional).\n\nBulk support: accepts ids, target_ids"},{"name":"crm_related_records","description":"Resolve os registros relacionados de um registro: segue os campos de relação e devolve os registros-alvo (todos, ou só de um `field`).\n\nBulk support: accepts id"},{"name":"crm_move_stage","description":"Move um registro de um objeto kanban (ex.: deal) para outra etapa do funil. Valida a etapa contra as opções do campo de stage.\n\nBulk support: accepts ids for ba"},{"name":"crm_upload_file","description":"Inicia o upload de um arquivo (até 200 MB) e devolve uma URL presigned (`upload_url`) pra fazer o PUT direto no storage, mais o `file_id`. Depois do PUT, chame "},{"name":"crm_confirm_upload","description":"Confirma o upload depois do PUT na upload_url (o storage valida o tamanho real). Marca o arquivo como pronto e contabiliza no uso.\n\nBulk support: accepts file_i"},{"name":"crm_upload_from_url","description":"Sobe um arquivo A PARTIR DE UMA URL (a plataforma baixa e armazena, até 200 MB) — o jeito do AGENTE subir via API sem segurar os bytes. Devolve o arquivo já pro"},{"name":"crm_list_files","description":"Lista os arquivos do CRM (id, nome, tamanho, status). Opcionalmente filtra os anexados a um objeto/registro.\n\nBulk support: accepts record_ids for batched execu"},{"name":"crm_get_file","description":"Metadados de um arquivo (nome, tamanho, content_type, status, anexo).\n\nBulk support: accepts file_ids for batched execution."},{"name":"crm_download_file","description":"Gera uma URL presigned de download (GET) pra um arquivo. A URL expira em alguns minutos.\n\nBulk support: accepts file_ids for batched execution."},{"name":"crm_delete_file","description":"Remove um ou mais arquivos (apaga do storage e libera o espaço contabilizado)."},{"name":"crm_publish_file","description":"Torna um arquivo PÚBLICO e devolve uma URL estável (`https://api.mcp.ai/f/<token>`) pra embutir num site (ex.: thumbnail). O objeto continua privado no storage,"},{"name":"crm_unpublish_file","description":"Revoga o link público de um arquivo (o token para de funcionar na hora).\n\nBulk support: accepts file_ids for batched execution."},{"name":"crm_usage","description":"Uso de storage deste CRM: bytes do banco + bytes de arquivos, total em GB, nº de arquivos e egress acumulado. É a base do que é cobrado (storage GB-mês + egress"},{"name":"crm_list_accounts","description":"Lista os CRMs conectados neste install. Retorna cada um com id, rótulo e is_default (true quando só há um, não precisa passar `account` nas outras tools)."},{"name":"show_version","description":"Show the current MCP platform and adapter versions."},{"name":"report_bug","description":"Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction."},{"name":"connect","description":"Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns conn"},{"name":"toolkit_info","description":"Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes."},{"name":"marketplace","description":"The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like \"find an MCP that does X\","},{"name":"authenticate","description":"MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <tok"}],"toolCount":36,"toolsHash":"38a87a25b3664f69644f8e326f3ec0ad6b99ba0abfd77227450f9e1138019018","serverName":"mcp-ai","capabilities":["tools"],"serverVersion":"0.9.365","protocolVersion":"2025-06-18"}},{"at":"2026-10-05T02:21:34.566Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":99,"error":null,"detail":{"tools":[{"name":"crm_describe","description":"Descreve o schema do CRM: todos os objetos (contact, company, deal e quaisquer custom) com seus campos (key, tipo, obrigatório, opções, relações) e o kanban. CH"},{"name":"crm_list_objects","description":"Lista os objetos do CRM (key, rótulo, módulo, kanban). Versão enxuta do crm_describe, sem os campos."},{"name":"crm_create_records","description":"Cria um registro (ou vários) de um objeto. Passe `object` (ex.: 'contact', 'deal') e `data` (objeto JSON com os campos por key). Para vários, use `records` (arr"},{"name":"crm_list_records","description":"Lista registros de um objeto, com filtro/ordenação/paginação. `filter` é um objeto JSON: {campo: valor} ou {campo: {op: valor}} (ops: eq ne gt gte lt lte in nin"},{"name":"crm_get_records","description":"Busca um ou mais registros de um objeto por id."},{"name":"crm_update_records","description":"Atualiza um registro (merge parcial) por id. Passe `object`, `id` e `data` (só os campos a mudar; null apaga o campo). Para vários, use `updates` (array JSON de"},{"name":"crm_delete_records","description":"Remove um ou mais registros de um objeto por id."},{"name":"crm_search","description":"Busca textual nos registros (por nome/título/valores). Opcionalmente restrita a um `object`."},{"name":"crm_define_object","description":"Cria um OBJETO custom no CRM (além de contact/company/deal) e ganha CRUD/API automático. Passe `key` (api name, a-z/0-9/_), `label` e opcionalmente `fields` (ar"},{"name":"crm_add_field","description":"Adiciona um CAMPO custom a um objeto (sem migração; registros antigos ficam sem a key). Tipos: string text integer float boolean date datetime singleselect mult"},{"name":"crm_get_object","description":"Detalha UM objeto: seu rótulo, kanban e todos os campos (key, tipo, obrigatório, opções, relação). Versão focada do crm_describe."},{"name":"crm_update_object","description":"Edita um objeto: rótulo, campo de exibição, módulo ou config de kanban (a key é imutável). Vale para objetos de sistema e custom."},{"name":"crm_delete_object","description":"Remove um objeto CUSTOM (objetos de sistema não podem ser removidos). Se houver registros, passe delete_records:true para apagar tudo junto."},{"name":"crm_update_field","description":"Edita um campo: rótulo, obrigatório, visível, posição, opções, indexação. Mudança de TIPO só é permitida se for um alargamento seguro (ex.: integer→float); muda"},{"name":"crm_remove_field","description":"Remove um campo CUSTOM (soft-delete: some do schema, mas os valores já gravados ficam preservados). Campos de sistema não podem ser removidos."},{"name":"crm_link_record","description":"Liga um registro a outro por um campo de relação (ex.: vincular um contato a uma empresa). Para relação 'many' adiciona ao conjunto; para 'single' define o alvo"},{"name":"crm_unlink_record","description":"Desfaz uma relação. Para relação 'many' remove o target_id do conjunto; para 'single' limpa o campo (target_id opcional).\n\nBulk support: accepts ids, target_ids"},{"name":"crm_related_records","description":"Resolve os registros relacionados de um registro: segue os campos de relação e devolve os registros-alvo (todos, ou só de um `field`).\n\nBulk support: accepts id"},{"name":"crm_move_stage","description":"Move um registro de um objeto kanban (ex.: deal) para outra etapa do funil. Valida a etapa contra as opções do campo de stage.\n\nBulk support: accepts ids for ba"},{"name":"crm_upload_file","description":"Inicia o upload de um arquivo (até 200 MB) e devolve uma URL presigned (`upload_url`) pra fazer o PUT direto no storage, mais o `file_id`. Depois do PUT, chame "},{"name":"crm_confirm_upload","description":"Confirma o upload depois do PUT na upload_url (o storage valida o tamanho real). Marca o arquivo como pronto e contabiliza no uso.\n\nBulk support: accepts file_i"},{"name":"crm_upload_from_url","description":"Sobe um arquivo A PARTIR DE UMA URL (a plataforma baixa e armazena, até 200 MB) — o jeito do AGENTE subir via API sem segurar os bytes. Devolve o arquivo já pro"},{"name":"crm_list_files","description":"Lista os arquivos do CRM (id, nome, tamanho, status). Opcionalmente filtra os anexados a um objeto/registro.\n\nBulk support: accepts record_ids for batched execu"},{"name":"crm_get_file","description":"Metadados de um arquivo (nome, tamanho, content_type, status, anexo).\n\nBulk support: accepts file_ids for batched execution."},{"name":"crm_download_file","description":"Gera uma URL presigned de download (GET) pra um arquivo. A URL expira em alguns minutos.\n\nBulk support: accepts file_ids for batched execution."},{"name":"crm_delete_file","description":"Remove um ou mais arquivos (apaga do storage e libera o espaço contabilizado)."},{"name":"crm_publish_file","description":"Torna um arquivo PÚBLICO e devolve uma URL estável (`https://api.mcp.ai/f/<token>`) pra embutir num site (ex.: thumbnail). O objeto continua privado no storage,"},{"name":"crm_unpublish_file","description":"Revoga o link público de um arquivo (o token para de funcionar na hora).\n\nBulk support: accepts file_ids for batched execution."},{"name":"crm_usage","description":"Uso de storage deste CRM: bytes do banco + bytes de arquivos, total em GB, nº de arquivos e egress acumulado. É a base do que é cobrado (storage GB-mês + egress"},{"name":"crm_list_accounts","description":"Lista os CRMs conectados neste install. Retorna cada um com id, rótulo e is_default (true quando só há um, não precisa passar `account` nas outras tools)."},{"name":"show_version","description":"Show the current MCP platform and adapter versions."},{"name":"report_bug","description":"Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction."},{"name":"connect","description":"Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns conn"},{"name":"toolkit_info","description":"Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes."},{"name":"marketplace","description":"The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like \"find an MCP that does X\","},{"name":"authenticate","description":"MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <tok"}],"toolCount":36,"toolsHash":"38a87a25b3664f69644f8e326f3ec0ad6b99ba0abfd77227450f9e1138019018","serverName":"mcp-ai","capabilities":["tools"],"serverVersion":"0.9.358","protocolVersion":"2025-06-18"}},{"at":"2026-10-04T03:26:19.793Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":114,"error":null,"detail":{"tools":[{"name":"crm_describe","description":"Descreve o schema do CRM: todos os objetos (contact, company, deal e quaisquer custom) com seus campos (key, tipo, obrigatório, opções, relações) e o kanban. CH"},{"name":"crm_list_objects","description":"Lista os objetos do CRM (key, rótulo, módulo, kanban). Versão enxuta do crm_describe, sem os campos."},{"name":"crm_create_records","description":"Cria um registro (ou vários) de um objeto. Passe `object` (ex.: 'contact', 'deal') e `data` (objeto JSON com os campos por key). Para vários, use `records` (arr"},{"name":"crm_list_records","description":"Lista registros de um objeto, com filtro/ordenação/paginação. `filter` é um objeto JSON: {campo: valor} ou {campo: {op: valor}} (ops: eq ne gt gte lt lte in nin"},{"name":"crm_get_records","description":"Busca um ou mais registros de um objeto por id."},{"name":"crm_update_records","description":"Atualiza um registro (merge parcial) por id. Passe `object`, `id` e `data` (só os campos a mudar; null apaga o campo). Para vários, use `updates` (array JSON de"},{"name":"crm_delete_records","description":"Remove um ou mais registros de um objeto por id."},{"name":"crm_search","description":"Busca textual nos registros (por nome/título/valores). Opcionalmente restrita a um `object`."},{"name":"crm_define_object","description":"Cria um OBJETO custom no CRM (além de contact/company/deal) e ganha CRUD/API automático. Passe `key` (api name, a-z/0-9/_), `label` e opcionalmente `fields` (ar"},{"name":"crm_add_field","description":"Adiciona um CAMPO custom a um objeto (sem migração; registros antigos ficam sem a key). Tipos: string text integer float boolean date datetime singleselect mult"},{"name":"crm_get_object","description":"Detalha UM objeto: seu rótulo, kanban e todos os campos (key, tipo, obrigatório, opções, relação). Versão focada do crm_describe."},{"name":"crm_update_object","description":"Edita um objeto: rótulo, campo de exibição, módulo ou config de kanban (a key é imutável). Vale para objetos de sistema e custom."},{"name":"crm_delete_object","description":"Remove um objeto CUSTOM (objetos de sistema não podem ser removidos). Se houver registros, passe delete_records:true para apagar tudo junto."},{"name":"crm_update_field","description":"Edita um campo: rótulo, obrigatório, visível, posição, opções, indexação. Mudança de TIPO só é permitida se for um alargamento seguro (ex.: integer→float); muda"},{"name":"crm_remove_field","description":"Remove um campo CUSTOM (soft-delete: some do schema, mas os valores já gravados ficam preservados). Campos de sistema não podem ser removidos."},{"name":"crm_link_record","description":"Liga um registro a outro por um campo de relação (ex.: vincular um contato a uma empresa). Para relação 'many' adiciona ao conjunto; para 'single' define o alvo"},{"name":"crm_unlink_record","description":"Desfaz uma relação. Para relação 'many' remove o target_id do conjunto; para 'single' limpa o campo (target_id opcional).\n\nBulk support: accepts ids, target_ids"},{"name":"crm_related_records","description":"Resolve os registros relacionados de um registro: segue os campos de relação e devolve os registros-alvo (todos, ou só de um `field`).\n\nBulk support: accepts id"},{"name":"crm_move_stage","description":"Move um registro de um objeto kanban (ex.: deal) para outra etapa do funil. Valida a etapa contra as opções do campo de stage.\n\nBulk support: accepts ids for ba"},{"name":"crm_upload_file","description":"Inicia o upload de um arquivo (até 200 MB) e devolve uma URL presigned (`upload_url`) pra fazer o PUT direto no storage, mais o `file_id`. Depois do PUT, chame "},{"name":"crm_confirm_upload","description":"Confirma o upload depois do PUT na upload_url (o storage valida o tamanho real). Marca o arquivo como pronto e contabiliza no uso.\n\nBulk support: accepts file_i"},{"name":"crm_upload_from_url","description":"Sobe um arquivo A PARTIR DE UMA URL (a plataforma baixa e armazena, até 200 MB) — o jeito do AGENTE subir via API sem segurar os bytes. Devolve o arquivo já pro"},{"name":"crm_list_files","description":"Lista os arquivos do CRM (id, nome, tamanho, status). Opcionalmente filtra os anexados a um objeto/registro.\n\nBulk support: accepts record_ids for batched execu"},{"name":"crm_get_file","description":"Metadados de um arquivo (nome, tamanho, content_type, status, anexo).\n\nBulk support: accepts file_ids for batched execution."},{"name":"crm_download_file","description":"Gera uma URL presigned de download (GET) pra um arquivo. A URL expira em alguns minutos.\n\nBulk support: accepts file_ids for batched execution."},{"name":"crm_delete_file","description":"Remove um ou mais arquivos (apaga do storage e libera o espaço contabilizado)."},{"name":"crm_publish_file","description":"Torna um arquivo PÚBLICO e devolve uma URL estável (`https://api.mcp.ai/f/<token>`) pra embutir num site (ex.: thumbnail). O objeto continua privado no storage,"},{"name":"crm_unpublish_file","description":"Revoga o link público de um arquivo (o token para de funcionar na hora).\n\nBulk support: accepts file_ids for batched execution."},{"name":"crm_usage","description":"Uso de storage deste CRM: bytes do banco + bytes de arquivos, total em GB, nº de arquivos e egress acumulado. É a base do que é cobrado (storage GB-mês + egress"},{"name":"crm_list_accounts","description":"Lista os CRMs conectados neste install. Retorna cada um com id, rótulo e is_default (true quando só há um, não precisa passar `account` nas outras tools)."},{"name":"show_version","description":"Show the current MCP platform and adapter versions."},{"name":"report_bug","description":"Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction."},{"name":"connect","description":"Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns conn"},{"name":"toolkit_info","description":"Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes."},{"name":"marketplace","description":"The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like \"find an MCP that does X\","},{"name":"authenticate","description":"MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <tok"}],"toolCount":36,"toolsHash":"38a87a25b3664f69644f8e326f3ec0ad6b99ba0abfd77227450f9e1138019018","serverName":"mcp-ai","capabilities":["tools"],"serverVersion":"0.9.358","protocolVersion":"2025-06-18"}},{"at":"2026-10-03T05:24:25.010Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":133,"error":null,"detail":{"tools":[{"name":"crm_describe","description":"Descreve o schema do CRM: todos os objetos (contact, company, deal e quaisquer custom) com seus campos (key, tipo, obrigatório, opções, relações) e o kanban. CH"},{"name":"crm_list_objects","description":"Lista os objetos do CRM (key, rótulo, módulo, kanban). Versão enxuta do crm_describe, sem os campos."},{"name":"crm_create_records","description":"Cria um registro (ou vários) de um objeto. Passe `object` (ex.: 'contact', 'deal') e `data` (objeto JSON com os campos por key). Para vários, use `records` (arr"},{"name":"crm_list_records","description":"Lista registros de um objeto, com filtro/ordenação/paginação. `filter` é um objeto JSON: {campo: valor} ou {campo: {op: valor}} (ops: eq ne gt gte lt lte in nin"},{"name":"crm_get_records","description":"Busca um ou mais registros de um objeto por id."},{"name":"crm_update_records","description":"Atualiza um registro (merge parcial) por id. Passe `object`, `id` e `data` (só os campos a mudar; null apaga o campo). Para vários, use `updates` (array JSON de"},{"name":"crm_delete_records","description":"Remove um ou mais registros de um objeto por id."},{"name":"crm_search","description":"Busca textual nos registros (por nome/título/valores). Opcionalmente restrita a um `object`."},{"name":"crm_define_object","description":"Cria um OBJETO custom no CRM (além de contact/company/deal) e ganha CRUD/API automático. Passe `key` (api name, a-z/0-9/_), `label` e opcionalmente `fields` (ar"},{"name":"crm_add_field","description":"Adiciona um CAMPO custom a um objeto (sem migração; registros antigos ficam sem a key). Tipos: string text integer float boolean date datetime singleselect mult"},{"name":"crm_get_object","description":"Detalha UM objeto: seu rótulo, kanban e todos os campos (key, tipo, obrigatório, opções, relação). Versão focada do crm_describe."},{"name":"crm_update_object","description":"Edita um objeto: rótulo, campo de exibição, módulo ou config de kanban (a key é imutável). Vale para objetos de sistema e custom."},{"name":"crm_delete_object","description":"Remove um objeto CUSTOM (objetos de sistema não podem ser removidos). Se houver registros, passe delete_records:true para apagar tudo junto."},{"name":"crm_update_field","description":"Edita um campo: rótulo, obrigatório, visível, posição, opções, indexação. Mudança de TIPO só é permitida se for um alargamento seguro (ex.: integer→float); muda"},{"name":"crm_remove_field","description":"Remove um campo CUSTOM (soft-delete: some do schema, mas os valores já gravados ficam preservados). Campos de sistema não podem ser removidos."},{"name":"crm_link_record","description":"Liga um registro a outro por um campo de relação (ex.: vincular um contato a uma empresa). Para relação 'many' adiciona ao conjunto; para 'single' define o alvo"},{"name":"crm_unlink_record","description":"Desfaz uma relação. Para relação 'many' remove o target_id do conjunto; para 'single' limpa o campo (target_id opcional).\n\nBulk support: accepts ids, target_ids"},{"name":"crm_related_records","description":"Resolve os registros relacionados de um registro: segue os campos de relação e devolve os registros-alvo (todos, ou só de um `field`).\n\nBulk support: accepts id"},{"name":"crm_move_stage","description":"Move um registro de um objeto kanban (ex.: deal) para outra etapa do funil. Valida a etapa contra as opções do campo de stage.\n\nBulk support: accepts ids for ba"},{"name":"crm_upload_file","description":"Inicia o upload de um arquivo (até 200 MB) e devolve uma URL presigned (`upload_url`) pra fazer o PUT direto no storage, mais o `file_id`. Depois do PUT, chame "},{"name":"crm_confirm_upload","description":"Confirma o upload depois do PUT na upload_url (o storage valida o tamanho real). Marca o arquivo como pronto e contabiliza no uso.\n\nBulk support: accepts file_i"},{"name":"crm_upload_from_url","description":"Sobe um arquivo A PARTIR DE UMA URL (a plataforma baixa e armazena, até 200 MB) — o jeito do AGENTE subir via API sem segurar os bytes. Devolve o arquivo já pro"},{"name":"crm_list_files","description":"Lista os arquivos do CRM (id, nome, tamanho, status). Opcionalmente filtra os anexados a um objeto/registro.\n\nBulk support: accepts record_ids for batched execu"},{"name":"crm_get_file","description":"Metadados de um arquivo (nome, tamanho, content_type, status, anexo).\n\nBulk support: accepts file_ids for batched execution."},{"name":"crm_download_file","description":"Gera uma URL presigned de download (GET) pra um arquivo. A URL expira em alguns minutos.\n\nBulk support: accepts file_ids for batched execution."},{"name":"crm_delete_file","description":"Remove um ou mais arquivos (apaga do storage e libera o espaço contabilizado)."},{"name":"crm_publish_file","description":"Torna um arquivo PÚBLICO e devolve uma URL estável (`https://api.mcp.ai/f/<token>`) pra embutir num site (ex.: thumbnail). O objeto continua privado no storage,"},{"name":"crm_unpublish_file","description":"Revoga o link público de um arquivo (o token para de funcionar na hora).\n\nBulk support: accepts file_ids for batched execution."},{"name":"crm_usage","description":"Uso de storage deste CRM: bytes do banco + bytes de arquivos, total em GB, nº de arquivos e egress acumulado. É a base do que é cobrado (storage GB-mês + egress"},{"name":"crm_list_accounts","description":"Lista os CRMs conectados neste install. Retorna cada um com id, rótulo e is_default (true quando só há um, não precisa passar `account` nas outras tools)."},{"name":"show_version","description":"Show the current MCP platform and adapter versions."},{"name":"report_bug","description":"Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction."},{"name":"connect","description":"Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns conn"},{"name":"toolkit_info","description":"Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes."},{"name":"marketplace","description":"The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like \"find an MCP that does X\","},{"name":"authenticate","description":"MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <tok"}],"toolCount":36,"toolsHash":"38a87a25b3664f69644f8e326f3ec0ad6b99ba0abfd77227450f9e1138019018","serverName":"mcp-ai","capabilities":["tools"],"serverVersion":"0.9.356","protocolVersion":"2025-06-18"}},{"at":"2026-10-02T07:22:08.471Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":175,"error":null,"detail":{"tools":[{"name":"crm_describe","description":"Descreve o schema do CRM: todos os objetos (contact, company, deal e quaisquer custom) com seus campos (key, tipo, obrigatório, opções, relações) e o kanban. CH"},{"name":"crm_list_objects","description":"Lista os objetos do CRM (key, rótulo, módulo, kanban). Versão enxuta do crm_describe, sem os campos."},{"name":"crm_create_records","description":"Cria um registro (ou vários) de um objeto. Passe `object` (ex.: 'contact', 'deal') e `data` (objeto JSON com os campos por key). Para vários, use `records` (arr"},{"name":"crm_list_records","description":"Lista registros de um objeto, com filtro/ordenação/paginação. `filter` é um objeto JSON: {campo: valor} ou {campo: {op: valor}} (ops: eq ne gt gte lt lte in nin"},{"name":"crm_get_records","description":"Busca um ou mais registros de um objeto por id."},{"name":"crm_update_records","description":"Atualiza um registro (merge parcial) por id. Passe `object`, `id` e `data` (só os campos a mudar; null apaga o campo). Para vários, use `updates` (array JSON de"},{"name":"crm_delete_records","description":"Remove um ou mais registros de um objeto por id."},{"name":"crm_search","description":"Busca textual nos registros (por nome/título/valores). Opcionalmente restrita a um `object`."},{"name":"crm_define_object","description":"Cria um OBJETO custom no CRM (além de contact/company/deal) e ganha CRUD/API automático. Passe `key` (api name, a-z/0-9/_), `label` e opcionalmente `fields` (ar"},{"name":"crm_add_field","description":"Adiciona um CAMPO custom a um objeto (sem migração; registros antigos ficam sem a key). Tipos: string text integer float boolean date datetime singleselect mult"},{"name":"crm_get_object","description":"Detalha UM objeto: seu rótulo, kanban e todos os campos (key, tipo, obrigatório, opções, relação). Versão focada do crm_describe."},{"name":"crm_update_object","description":"Edita um objeto: rótulo, campo de exibição, módulo ou config de kanban (a key é imutável). Vale para objetos de sistema e custom."},{"name":"crm_delete_object","description":"Remove um objeto CUSTOM (objetos de sistema não podem ser removidos). Se houver registros, passe delete_records:true para apagar tudo junto."},{"name":"crm_update_field","description":"Edita um campo: rótulo, obrigatório, visível, posição, opções, indexação. Mudança de TIPO só é permitida se for um alargamento seguro (ex.: integer→float); muda"},{"name":"crm_remove_field","description":"Remove um campo CUSTOM (soft-delete: some do schema, mas os valores já gravados ficam preservados). Campos de sistema não podem ser removidos."},{"name":"crm_link_record","description":"Liga um registro a outro por um campo de relação (ex.: vincular um contato a uma empresa). Para relação 'many' adiciona ao conjunto; para 'single' define o alvo"},{"name":"crm_unlink_record","description":"Desfaz uma relação. Para relação 'many' remove o target_id do conjunto; para 'single' limpa o campo (target_id opcional).\n\nBulk support: accepts ids, target_ids"},{"name":"crm_related_records","description":"Resolve os registros relacionados de um registro: segue os campos de relação e devolve os registros-alvo (todos, ou só de um `field`).\n\nBulk support: accepts id"},{"name":"crm_move_stage","description":"Move um registro de um objeto kanban (ex.: deal) para outra etapa do funil. Valida a etapa contra as opções do campo de stage.\n\nBulk support: accepts ids for ba"},{"name":"crm_upload_file","description":"Inicia o upload de um arquivo (até 200 MB) e devolve uma URL presigned (`upload_url`) pra fazer o PUT direto no storage, mais o `file_id`. Depois do PUT, chame "},{"name":"crm_confirm_upload","description":"Confirma o upload depois do PUT na upload_url (o storage valida o tamanho real). Marca o arquivo como pronto e contabiliza no uso.\n\nBulk support: accepts file_i"},{"name":"crm_upload_from_url","description":"Sobe um arquivo A PARTIR DE UMA URL (a plataforma baixa e armazena, até 200 MB) — o jeito do AGENTE subir via API sem segurar os bytes. Devolve o arquivo já pro"},{"name":"crm_list_files","description":"Lista os arquivos do CRM (id, nome, tamanho, status). Opcionalmente filtra os anexados a um objeto/registro.\n\nBulk support: accepts record_ids for batched execu"},{"name":"crm_get_file","description":"Metadados de um arquivo (nome, tamanho, content_type, status, anexo).\n\nBulk support: accepts file_ids for batched execution."},{"name":"crm_download_file","description":"Gera uma URL presigned de download (GET) pra um arquivo. A URL expira em alguns minutos.\n\nBulk support: accepts file_ids for batched execution."},{"name":"crm_delete_file","description":"Remove um ou mais arquivos (apaga do storage e libera o espaço contabilizado)."},{"name":"crm_publish_file","description":"Torna um arquivo PÚBLICO e devolve uma URL estável (`https://api.mcp.ai/f/<token>`) pra embutir num site (ex.: thumbnail). O objeto continua privado no storage,"},{"name":"crm_unpublish_file","description":"Revoga o link público de um arquivo (o token para de funcionar na hora).\n\nBulk support: accepts file_ids for batched execution."},{"name":"crm_usage","description":"Uso de storage deste CRM: bytes do banco + bytes de arquivos, total em GB, nº de arquivos e egress acumulado. É a base do que é cobrado (storage GB-mês + egress"},{"name":"crm_list_accounts","description":"Lista os CRMs conectados neste install. Retorna cada um com id, rótulo e is_default (true quando só há um, não precisa passar `account` nas outras tools)."},{"name":"show_version","description":"Show the current MCP platform and adapter versions."},{"name":"report_bug","description":"Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction."},{"name":"connect","description":"Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns conn"},{"name":"toolkit_info","description":"Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes."},{"name":"marketplace","description":"The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like \"find an MCP that does X\","},{"name":"authenticate","description":"MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <tok"}],"toolCount":36,"toolsHash":"38a87a25b3664f69644f8e326f3ec0ad6b99ba0abfd77227450f9e1138019018","serverName":"mcp-ai","capabilities":["tools"],"serverVersion":"0.9.353","protocolVersion":"2025-06-18"}}],"tools":[{"name":"crm_describe","description":"Descreve o schema do CRM: todos os objetos (contact, company, deal e quaisquer custom) com seus campos (key, tipo, obrigatório, opções, relações) e o kanban. CH"},{"name":"crm_list_objects","description":"Lista os objetos do CRM (key, rótulo, módulo, kanban). Versão enxuta do crm_describe, sem os campos."},{"name":"crm_create_records","description":"Cria um registro (ou vários) de um objeto. Passe `object` (ex.: 'contact', 'deal') e `data` (objeto JSON com os campos por key). Para vários, use `records` (arr"},{"name":"crm_list_records","description":"Lista registros de um objeto, com filtro/ordenação/paginação. `filter` é um objeto JSON: {campo: valor} ou {campo: {op: valor}} (ops: eq ne gt gte lt lte in nin"},{"name":"crm_get_records","description":"Busca um ou mais registros de um objeto por id."},{"name":"crm_update_records","description":"Atualiza um registro (merge parcial) por id. Passe `object`, `id` e `data` (só os campos a mudar; null apaga o campo). Para vários, use `updates` (array JSON de"},{"name":"crm_delete_records","description":"Remove um ou mais registros de um objeto por id."},{"name":"crm_search","description":"Busca textual nos registros (por nome/título/valores). Opcionalmente restrita a um `object`."},{"name":"crm_define_object","description":"Cria um OBJETO custom no CRM (além de contact/company/deal) e ganha CRUD/API automático. Passe `key` (api name, a-z/0-9/_), `label` e opcionalmente `fields` (ar"},{"name":"crm_add_field","description":"Adiciona um CAMPO custom a um objeto (sem migração; registros antigos ficam sem a key). Tipos: string text integer float boolean date datetime singleselect mult"},{"name":"crm_get_object","description":"Detalha UM objeto: seu rótulo, kanban e todos os campos (key, tipo, obrigatório, opções, relação). Versão focada do crm_describe."},{"name":"crm_update_object","description":"Edita um objeto: rótulo, campo de exibição, módulo ou config de kanban (a key é imutável). Vale para objetos de sistema e custom."},{"name":"crm_delete_object","description":"Remove um objeto CUSTOM (objetos de sistema não podem ser removidos). Se houver registros, passe delete_records:true para apagar tudo junto."},{"name":"crm_update_field","description":"Edita um campo: rótulo, obrigatório, visível, posição, opções, indexação. Mudança de TIPO só é permitida se for um alargamento seguro (ex.: integer→float); muda"},{"name":"crm_remove_field","description":"Remove um campo CUSTOM (soft-delete: some do schema, mas os valores já gravados ficam preservados). Campos de sistema não podem ser removidos."},{"name":"crm_link_record","description":"Liga um registro a outro por um campo de relação (ex.: vincular um contato a uma empresa). Para relação 'many' adiciona ao conjunto; para 'single' define o alvo"},{"name":"crm_unlink_record","description":"Desfaz uma relação. Para relação 'many' remove o target_id do conjunto; para 'single' limpa o campo (target_id opcional).\n\nBulk support: accepts ids, target_ids"},{"name":"crm_related_records","description":"Resolve os registros relacionados de um registro: segue os campos de relação e devolve os registros-alvo (todos, ou só de um `field`).\n\nBulk support: accepts id"},{"name":"crm_move_stage","description":"Move um registro de um objeto kanban (ex.: deal) para outra etapa do funil. Valida a etapa contra as opções do campo de stage.\n\nBulk support: accepts ids for ba"},{"name":"crm_upload_file","description":"Inicia o upload de um arquivo (até 200 MB) e devolve uma URL presigned (`upload_url`) pra fazer o PUT direto no storage, mais o `file_id`. Depois do PUT, chame "},{"name":"crm_confirm_upload","description":"Confirma o upload depois do PUT na upload_url (o storage valida o tamanho real). Marca o arquivo como pronto e contabiliza no uso.\n\nBulk support: accepts file_i"},{"name":"crm_upload_from_url","description":"Sobe um arquivo A PARTIR DE UMA URL (a plataforma baixa e armazena, até 200 MB) — o jeito do AGENTE subir via API sem segurar os bytes. Devolve o arquivo já pro"},{"name":"crm_list_files","description":"Lista os arquivos do CRM (id, nome, tamanho, status). Opcionalmente filtra os anexados a um objeto/registro.\n\nBulk support: accepts record_ids for batched execu"},{"name":"crm_get_file","description":"Metadados de um arquivo (nome, tamanho, content_type, status, anexo).\n\nBulk support: accepts file_ids for batched execution."},{"name":"crm_download_file","description":"Gera uma URL presigned de download (GET) pra um arquivo. A URL expira em alguns minutos.\n\nBulk support: accepts file_ids for batched execution."},{"name":"crm_delete_file","description":"Remove um ou mais arquivos (apaga do storage e libera o espaço contabilizado)."},{"name":"crm_publish_file","description":"Torna um arquivo PÚBLICO e devolve uma URL estável (`https://api.mcp.ai/f/<token>`) pra embutir num site (ex.: thumbnail). O objeto continua privado no storage,"},{"name":"crm_unpublish_file","description":"Revoga o link público de um arquivo (o token para de funcionar na hora).\n\nBulk support: accepts file_ids for batched execution."},{"name":"crm_usage","description":"Uso de storage deste CRM: bytes do banco + bytes de arquivos, total em GB, nº de arquivos e egress acumulado. É a base do que é cobrado (storage GB-mês + egress"},{"name":"crm_list_accounts","description":"Lista os CRMs conectados neste install. Retorna cada um com id, rótulo e is_default (true quando só há um, não precisa passar `account` nas outras tools)."},{"name":"show_version","description":"Show the current MCP platform and adapter versions."},{"name":"report_bug","description":"Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction."},{"name":"connect","description":"Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns conn"},{"name":"toolkit_info","description":"Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes."},{"name":"marketplace","description":"The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like \"find an MCP that does X\","},{"name":"authenticate","description":"MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <tok"}],"package":null,"toolSurface":{"id":"ts_3quqw6z46jvk","endpointId":"ep_6j8n22s5t57j","hash":"38a87a25b3664f69644f8e326f3ec0ad6b99ba0abfd77227450f9e1138019018","toolCount":36,"serverName":"mcp-ai","serverVersion":"0.9.346","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-12T13:26:37.437Z","lastSeenAt":"2026-10-10T16:31:06.519Z","observations":41,"toolNames":["crm_describe","crm_list_objects","crm_create_records","crm_list_records","crm_get_records","crm_update_records","crm_delete_records","crm_search","crm_define_object","crm_add_field","crm_get_object","crm_update_object","crm_delete_object","crm_update_field","crm_remove_field","crm_link_record","crm_unlink_record","crm_related_records","crm_move_stage","crm_upload_file","crm_confirm_upload","crm_upload_from_url","crm_list_files","crm_get_file","crm_download_file","crm_delete_file","crm_publish_file","crm_unpublish_file","crm_usage","crm_list_accounts","show_version","report_bug","connect","toolkit_info","marketplace","authenticate"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_6j8n22s5t57j","url":"https://api.mcp.ai/p_crm","type":"mcp_streamable_http","factsCheckedAt":"2026-10-09T17:27:11.319Z","auth":{"observedAt":"2026-10-09T17:27:11.418Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-09T17:27:11.431Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"mcp.ai","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-09-28T19:13:28.000Z","validTo":"2026-12-27T20:13:21.000Z","daysToExpiry":78,"sanCount":2,"fingerprint256":"E7:DF:D9:D6:BD:02:F4:65:51:8A:94:85:49:44:9D:D7:B4:0D:F5:9B:C6:D5:A0:B7:D3:12:57:AB:F8:3D:EE:BA"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.mcp-dir/crm-mcp","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.mcp-dir%2Fcrm-mcp","firstSeenAt":"2026-09-06T19:18:46.864Z","fetchedAt":"2026-10-10T16:21:54.181Z","normalizedAt":"2026-10-10T16:21:54.181Z"}]},"firstSeenAt":"2026-09-06T19:18:46.864Z","updatedAt":"2026-10-10T16:34:09.087Z"}