Your own CRM, fully customizable and agent-driven. Start with contacts, companies and a sales pipeli
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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 <token>` for a permanent, non-expiring connection. Or paste it here for a session-only login: call with { token: "<jwt>" } after the user pastes, or with no args to get the link.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
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 <token>` for a permanent, non-expiring connection. Or paste it here for a session-only login: call with { token: "<jwt>" } after the user pastes, or with no args to get the link.
| Argument | Type | Description |
|---|---|---|
| token | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"token": {
"type": "string"
}
}
}Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns connect_url for the toolkit and per-install URLs.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}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 multiselect email phone url currency relation user_ref json group.
| Argument | Type | Description |
|---|---|---|
| key* | string | |
| type* | string | |
| label | string | |
| object* | string | |
| unique | boolean | |
| account | string | |
| indexed | boolean | |
| options | string | |
| relation | string | |
| required | boolean |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"object",
"key",
"type"
],
"properties": {
"key": {
"type": "string"
},
"type": {
"type": "string"
},
"label": {
"type": "string"
},
"object": {
"type": "string"
},
"unique": {
"type": "boolean"
},
"account": {
"type": "string"
},
"indexed": {
"type": "boolean"
},
"options": {
"type": "string"
},
"relation": {
"type": "string"
},
"required": {
"type": "boolean"
}
}
}Confirma o upload depois do PUT na upload_url (o storage valida o tamanho real). Marca o arquivo como pronto e contabiliza no uso. Bulk support: accepts file_ids for batched execution.
| Argument | Type | Description |
|---|---|---|
| account | string | |
| file_id* | string | |
| file_ids | array |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"file_id"
],
"properties": {
"account": {
"type": "string"
},
"file_id": {
"type": "string"
},
"file_ids": {
"type": "array",
"items": {
"type": "string"
}
}
}
}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` (array JSON de {data}).
| Argument | Type | Description |
|---|---|---|
| data | string | |
| object* | string | |
| account | string | |
| records | string | |
| metadata | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"object"
],
"properties": {
"data": {
"type": "string"
},
"object": {
"type": "string"
},
"account": {
"type": "string"
},
"records": {
"type": "string"
},
"metadata": {
"type": "string"
}
}
}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` (array JSON de definições de campo).
| Argument | Type | Description |
|---|---|---|
| key* | string | |
| label | string | |
| fields | string | |
| module | string | |
| account | string | |
| display_field | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"key"
],
"properties": {
"key": {
"type": "string"
},
"label": {
"type": "string"
},
"fields": {
"type": "string"
},
"module": {
"type": "string"
},
"account": {
"type": "string"
},
"display_field": {
"type": "string"
}
}
}Remove um ou mais arquivos (apaga do storage e libera o espaço contabilizado).
| Argument | Type | Description |
|---|---|---|
| ids | array | |
| account | string | |
| file_id | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
}
},
"account": {
"type": "string"
},
"file_id": {
"type": "string"
}
}
}Remove um objeto CUSTOM (objetos de sistema não podem ser removidos). Se houver registros, passe delete_records:true para apagar tudo junto.
| Argument | Type | Description |
|---|---|---|
| object* | string | |
| account | string | |
| delete_records | boolean |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"object"
],
"properties": {
"object": {
"type": "string"
},
"account": {
"type": "string"
},
"delete_records": {
"type": "boolean"
}
}
}Remove um ou mais registros de um objeto por id.
| Argument | Type | Description |
|---|---|---|
| ids* | array | |
| object* | string | |
| account | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"object",
"ids"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
}
},
"object": {
"type": "string"
},
"account": {
"type": "string"
}
}
}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. CHAME ISTO PRIMEIRO para saber quais objetos/campos existem antes de criar/ler registros.
| Argument | Type | Description |
|---|---|---|
| account | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"type": "string"
}
}
}Gera uma URL presigned de download (GET) pra um arquivo. A URL expira em alguns minutos. Bulk support: accepts file_ids for batched execution.
| Argument | Type | Description |
|---|---|---|
| account | string | |
| file_id* | string | |
| file_ids | array |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"file_id"
],
"properties": {
"account": {
"type": "string"
},
"file_id": {
"type": "string"
},
"file_ids": {
"type": "array",
"items": {
"type": "string"
}
}
}
}Metadados de um arquivo (nome, tamanho, content_type, status, anexo). Bulk support: accepts file_ids for batched execution.
| Argument | Type | Description |
|---|---|---|
| account | string | |
| file_id* | string | |
| file_ids | array |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"file_id"
],
"properties": {
"account": {
"type": "string"
},
"file_id": {
"type": "string"
},
"file_ids": {
"type": "array",
"items": {
"type": "string"
}
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| object* | string | |
| account | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"object"
],
"properties": {
"object": {
"type": "string"
},
"account": {
"type": "string"
}
}
}Busca um ou mais registros de um objeto por id.
| Argument | Type | Description |
|---|---|---|
| ids* | array | |
| object* | string | |
| account | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"object",
"ids"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
}
},
"object": {
"type": "string"
},
"account": {
"type": "string"
}
}
}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. Bulk support: accepts ids, target_ids for batched execution.
| Argument | Type | Description |
|---|---|---|
| id* | string | |
| ids | array | |
| field* | string | |
| object* | string | |
| account | string | |
| target_id* | string | |
| target_ids | array |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"object",
"id",
"field",
"target_id"
],
"properties": {
"id": {
"type": "string"
},
"ids": {
"type": "array",
"items": {
"type": "string"
}
},
"field": {
"type": "string"
},
"object": {
"type": "string"
},
"account": {
"type": "string"
},
"target_id": {
"type": "string"
},
"target_ids": {
"type": "array",
"items": {
"type": "string"
}
}
}
}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).
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Lista os arquivos do CRM (id, nome, tamanho, status). Opcionalmente filtra os anexados a um objeto/registro. Bulk support: accepts record_ids for batched execution.
| Argument | Type | Description |
|---|---|---|
| object | string | |
| account | string | |
| record_id | string | |
| record_ids | array |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"object": {
"type": "string"
},
"account": {
"type": "string"
},
"record_id": {
"type": "string"
},
"record_ids": {
"type": "array",
"items": {
"type": "string"
}
}
}
}Lista os objetos do CRM (key, rótulo, módulo, kanban). Versão enxuta do crm_describe, sem os campos.
| Argument | Type | Description |
|---|---|---|
| account | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"type": "string"
}
}
}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 contains exists).
| Argument | Type | Description |
|---|---|---|
| sort | string | |
| limit | number | |
| filter | string | |
| object* | string | |
| offset | number | |
| account | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"object"
],
"properties": {
"sort": {
"type": "string"
},
"limit": {
"type": "number"
},
"filter": {
"type": "string"
},
"object": {
"type": "string"
},
"offset": {
"type": "number"
},
"account": {
"type": "string"
}
}
}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. Bulk support: accepts ids for batched execution.
| Argument | Type | Description |
|---|---|---|
| id* | string | |
| ids | array | |
| stage* | string | |
| object* | string | |
| account | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"object",
"id",
"stage"
],
"properties": {
"id": {
"type": "string"
},
"ids": {
"type": "array",
"items": {
"type": "string"
}
},
"stage": {
"type": "string"
},
"object": {
"type": "string"
},
"account": {
"type": "string"
}
}
}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, o token é a chave (revogável com crm_unpublish_file). Egress da visualização pública é contabilizado. Bulk support: accepts file_ids for batched execution.
| Argument | Type | Description |
|---|---|---|
| account | string | |
| file_id* | string | |
| file_ids | array |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"file_id"
],
"properties": {
"account": {
"type": "string"
},
"file_id": {
"type": "string"
},
"file_ids": {
"type": "array",
"items": {
"type": "string"
}
}
}
}Resolve os registros relacionados de um registro: segue os campos de relação e devolve os registros-alvo (todos, ou só de um `field`). Bulk support: accepts ids for batched execution.
| Argument | Type | Description |
|---|---|---|
| id* | string | |
| ids | array | |
| field | string | |
| object* | string | |
| account | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"object",
"id"
],
"properties": {
"id": {
"type": "string"
},
"ids": {
"type": "array",
"items": {
"type": "string"
}
},
"field": {
"type": "string"
},
"object": {
"type": "string"
},
"account": {
"type": "string"
}
}
}Remove um campo CUSTOM (soft-delete: some do schema, mas os valores já gravados ficam preservados). Campos de sistema não podem ser removidos.
| Argument | Type | Description |
|---|---|---|
| key* | string | |
| object* | string | |
| account | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"object",
"key"
],
"properties": {
"key": {
"type": "string"
},
"object": {
"type": "string"
},
"account": {
"type": "string"
}
}
}Busca textual nos registros (por nome/título/valores). Opcionalmente restrita a um `object`.
| Argument | Type | Description |
|---|---|---|
| q* | string | |
| limit | number | |
| object | string | |
| account | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"q"
],
"properties": {
"q": {
"type": "string"
},
"limit": {
"type": "number"
},
"object": {
"type": "string"
},
"account": {
"type": "string"
}
}
}Desfaz uma relação. Para relação 'many' remove o target_id do conjunto; para 'single' limpa o campo (target_id opcional). Bulk support: accepts ids, target_ids for batched execution.
| Argument | Type | Description |
|---|---|---|
| id* | string | |
| ids | array | |
| field* | string | |
| object* | string | |
| account | string | |
| target_id | string | |
| target_ids | array |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"object",
"id",
"field"
],
"properties": {
"id": {
"type": "string"
},
"ids": {
"type": "array",
"items": {
"type": "string"
}
},
"field": {
"type": "string"
},
"object": {
"type": "string"
},
"account": {
"type": "string"
},
"target_id": {
"type": "string"
},
"target_ids": {
"type": "array",
"items": {
"type": "string"
}
}
}
}Revoga o link público de um arquivo (o token para de funcionar na hora). Bulk support: accepts file_ids for batched execution.
| Argument | Type | Description |
|---|---|---|
| account | string | |
| file_id* | string | |
| file_ids | array |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"file_id"
],
"properties": {
"account": {
"type": "string"
},
"file_id": {
"type": "string"
},
"file_ids": {
"type": "array",
"items": {
"type": "string"
}
}
}
}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); mudança com perda é bloqueada (crie um campo novo e migre).
| Argument | Type | Description |
|---|---|---|
| key* | string | |
| type | string | |
| label | string | |
| object* | string | |
| account | string | |
| indexed | boolean | |
| options | string | |
| visible | boolean | |
| position | number | |
| required | boolean |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"object",
"key"
],
"properties": {
"key": {
"type": "string"
},
"type": {
"type": "string"
},
"label": {
"type": "string"
},
"object": {
"type": "string"
},
"account": {
"type": "string"
},
"indexed": {
"type": "boolean"
},
"options": {
"type": "string"
},
"visible": {
"type": "boolean"
},
"position": {
"type": "number"
},
"required": {
"type": "boolean"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| label | string | |
| kanban | string | |
| module | string | |
| object* | string | |
| account | string | |
| display_field | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"object"
],
"properties": {
"label": {
"type": "string"
},
"kanban": {
"type": "string"
},
"module": {
"type": "string"
},
"object": {
"type": "string"
},
"account": {
"type": "string"
},
"display_field": {
"type": "string"
}
}
}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 {id, data}). Bulk support: accepts ids for batched execution.
| Argument | Type | Description |
|---|---|---|
| id | string | |
| ids | array | |
| data | string | |
| object* | string | |
| account | string | |
| updates | string | |
| metadata | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"object"
],
"properties": {
"id": {
"type": "string"
},
"ids": {
"type": "array",
"items": {
"type": "string"
}
},
"data": {
"type": "string"
},
"object": {
"type": "string"
},
"account": {
"type": "string"
},
"updates": {
"type": "string"
},
"metadata": {
"type": "string"
}
}
}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 crm_confirm_upload. Opcional: anexe a um registro com `object`+`record_id`. Bulk support: accepts record_ids for batched execution.
| Argument | Type | Description |
|---|---|---|
| size* | number | |
| object | string | |
| account | string | |
| filename* | string | |
| record_id | string | |
| record_ids | array | |
| content_type | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"filename",
"size"
],
"properties": {
"size": {
"type": "number"
},
"object": {
"type": "string"
},
"account": {
"type": "string"
},
"filename": {
"type": "string"
},
"record_id": {
"type": "string"
},
"record_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"content_type": {
"type": "string"
}
}
}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á pronto. Opcional: anexe a um registro com object+record_id. Bulk support: accepts record_ids for batched execution.
| Argument | Type | Description |
|---|---|---|
| url* | string | |
| object | string | |
| account | string | |
| filename | string | |
| record_id | string | |
| record_ids | array | |
| content_type | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string"
},
"object": {
"type": "string"
},
"account": {
"type": "string"
},
"filename": {
"type": "string"
},
"record_id": {
"type": "string"
},
"record_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"content_type": {
"type": "string"
}
}
}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).
| Argument | Type | Description |
|---|---|---|
| account | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"account": {
"type": "string"
}
}
}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", "consulta um CPF", "is there a tool for Y". Core flow: action=search discovers MCPs by intent → describe returns one MCP's full profile (every tool with its id + params, pricing, auth) so you pick the right tool_id → invoke RUNS that tool. KEY: invoke works even when the MCP is NOT installed — it runs the tool pontualmente (one-off), without adding the MCP to the toolkit and without bloating the tool list. If the MCP needs a credential/login, invoke returns a connect link; if it is paid and the wallet is empty, invoke returns a checkout/top-up link (the user opens it, then you retry). Use install only to make an MCP PERMANENT in the active toolkit (its tools then show up natively in future sessions); prefer invoke for a single/occasional use. list_tools lists what is callable right now. subscribe/cancel handle per-MCP billing; report_bug sends feedback; request_mcp asks us to build a NEW MCP when nothing fits. Search/describe flag installed_in_toolkit vs installed_in_workspace. Writes (install/uninstall/subscribe/cancel and the one-off install behind invoke) require workspace owner/admin. It also carries the mcp.ai PROMPT LIBRARY, which is about ready-made prompt TEXT rather than MCPs: search_prompts finds one, get_prompt returns its full text with {{variables}} filled, and publish_prompt saves a prompt and returns a shareable mcp.ai/p/<slug> link that opens without login.
| Argument | Type | Description |
|---|---|---|
| limit | number | |
| query | string | |
| action | string | |
| mcp_id | string | |
| message |
Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.
| Argument | Type | Description |
|---|---|---|
| context | string | |
| message* | string | |
| conversation | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"message"
],
"properties": {
"context": {
"type": "string",
"default": ""
},
"message": {
"type": "string"
},
"conversation": {
"type": "string",
"default": "[]"
}
}
}Show the current MCP platform and adapter versions.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}| string |
| tool_id | string |
| arguments | string |
| immediate | boolean |
| tier_slug | string |
| prompt_body | string |
| prompt_slug | string |
| prompt_tool | string |
| prompt_vars | string |
| conversation | string |
| prompt_title | string |
| request_name | string |
| cancel_reason | string |
| cancel_comment | string |
| prompt_targets | array |
| report_context | string |
| prompt_category | string |
| request_details | string |
| prompt_description | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "number",
"default": 10
},
"query": {
"type": "string",
"default": ""
},
"action": {
"enum": [
"search",
"describe",
"install",
"uninstall",
"subscribe",
"cancel",
"resume",
"report_bug",
"request_mcp",
"list_tools",
"invoke",
"search_prompts",
"get_prompt",
"publish_prompt"
],
"type": "string",
"default": "search"
},
"mcp_id": {
"type": "string",
"default": ""
},
"message": {
"type": "string",
"default": ""
},
"tool_id": {
"type": "string",
"default": ""
},
"arguments": {
"type": "string",
"default": "{}"
},
"immediate": {
"type": "boolean",
"default": false
},
"tier_slug": {
"type": "string",
"default": ""
},
"prompt_body": {
"type": "string",
"default": ""
},
"prompt_slug": {
"type": "string",
"default": ""
},
"prompt_tool": {
"type": "string",
"default": ""
},
"prompt_vars": {
"type": "string",
"default": "{}"
},
"conversation": {
"type": "string",
"default": "[]"
},
"prompt_title": {
"type": "string",
"default": ""
},
"request_name": {
"type": "string",
"default": ""
},
"cancel_reason": {
"enum": [
"too_expensive",
"missing_features",
"switched_service",
"unused",
"customer_service",
"too_complex",
"low_quality",
"other"
],
"type": "string"
},
"cancel_comment": {
"type": "string",
"default": ""
},
"prompt_targets": {
"type": "array",
"items": {
"enum": [
"claude",
"chatgpt",
"cursor",
"lovable"
],
"type": "string"
},
"default": []
},
"report_context": {
"type": "string",
"default": ""
},
"prompt_category": {
"type": "string",
"default": ""
},
"request_details": {
"type": "string",
"default": ""
},
"prompt_description": {
"type": "string",
"default": ""
}
}
}