inboxmcpDocs

Documentação do inboxMCP

O inboxMCP é um servidor MCP hospedado que permite que qualquer app de IA compatível com MCP (Claude, ChatGPT, Cursor e outros) use suas contas do LinkedIn, WhatsApp, Telegram e Instagram com segurança. Seu assistente lê e responde suas mensagens em cada uma delas. No LinkedIn, ele também encontra pessoas, visualiza perfis, envia convites e publica posts. Espaçamos cada ação e mantemos cada conta dentro de limites seguros, para que ela não seja confundida com um bot. A seção Limites explica exatamente como.

URL do servidor MCPhttps://inbox-mcp.com/mcp
50ferramentas
3 diasde teste grátis, sem cartão de crédito
US$ 10por conta conectada, por mês
45–75 sentre ações no LinkedIn

Primeiros passos

  1. Adicione o servidor ao seu app de IA. Cole a URL acima como servidor MCP remoto (veja Apps de IA).
  2. Entre e escolha as permissões. Seu app abre nossa página de login: informe seu e-mail, clique no link que enviamos e permita o que o app pode fazer. A leitura já vem ativada; o envio só se você permitir.
  3. Conecte uma conta pelo chat. Peça “conecte meu LinkedIn” (ou WhatsApp, Telegram, Instagram). O assistente chama connect_account e te passa um link; você faz login no seu navegador (sua senha nunca passa pelo chat). Sua primeira conta inicia o teste grátis de 3 dias. Você também pode conectar pelo painel.
  4. Agora é só pedir. “Quem ficou sem resposta minha esta semana?”, “Encontre product designers em Paris”, “Mande um convite de conexão para a Ada com uma mensagem curta”, “Responda o Sam no WhatsApp”. Chame inbox_status a qualquer momento para ver o que ainda resta hoje em uma conta.

Apps de IA

Apps com OAuth fazem seu login na nossa página. Os outros usam uma chave de API, criada na página Chaves de API e enviada como Authorization: Bearer <key>. Cada chave pertence a uma única conta conectada.

ClaudeOAuth · recomendado
  1. Abra as configurações de conectores. No Claude, vá em Configurações → Conectores → Adicionar conector personalizado.
  2. Dê o nome inboxMCP e cole sua URL. Use a URL acima como URL do servidor MCP remoto.
  3. Conecte e escolha suas permissões. Entre, escolha uma conta do LinkedIn e aprove as ações que o Claude pode usar.
Guia do Claude ↗
Claude CodeOAuth · recomendado

Adicione o servidor e depois faça a autenticação no Claude Code com /mcp. Prefere usar uma chave? Use o segundo comando.

claude mcp add --transport http inboxmcp \
  https://inbox-mcp.com/mcp
claude mcp add --transport http inboxmcp \
  https://inbox-mcp.com/mcp \
  --header "Authorization: Bearer <API_KEY>"
ChatGPTOAuth
  1. Ative o modo desenvolvedor. No ChatGPT, abra as Configurações e vá até a seção de apps e conectores. Nas configurações avançadas, ative o modo desenvolvedor.
  2. Crie um conector com sua URL. Crie um novo conector, dê o nome inboxMCP e cole a URL acima, com OAuth.
  3. Conecte e escolha suas permissões. Entre, escolha uma conta do LinkedIn e aprove as ações que o ChatGPT pode usar.
CodexOAuth · recomendado

Adicione o servidor e depois entre com codex mcp login. Prefere usar uma chave? Adicione o TOML em ~/.codex/config.toml.

codex mcp add inboxmcp --url https://inbox-mcp.com/mcp
codex mcp login inboxmcp
[mcp_servers.inboxmcp]
url = "https://inbox-mcp.com/mcp"
http_headers = { "Authorization" = "Bearer <API_KEY>" }
GrokOAuth
  1. Abra os conectores. No Grok, abra os conectores e adicione um conector personalizado.
  2. Adicione um servidor MCP remoto. Cole a URL acima como URL do servidor.
  3. Conecte e escolha suas permissões. Entre, escolha uma conta do LinkedIn e aprove as ações que o Grok pode usar.
Guia do Grok ↗
Grok BotOAuth
  1. Peça ao Grok Bot para adicionar o servidor. No chat, diga: Adicione um servidor MCP personalizado chamado inboxMCP com a URL acima. Depois, confirme a adição.
  2. Autorize a conexão. Autorize a conexão no card que aparece, entre, escolha uma conta do LinkedIn e aprove as ações que o Grok Bot pode usar.
  3. Use no chat. Mencione o inboxMCP com @ quando quiser que o Grok Bot trabalhe com o LinkedIn.
MuseOAuth
  1. Peça ao Muse para se conectar. Cole sua URL nas configurações de conexão MCP ou peça ao Muse para se conectar a ela.
  2. Aprove a conexão. Entre, escolha uma conta do LinkedIn e aprove as ações que o Muse pode usar.
HermesOAuth · recomendado

Adicione o servidor em ~/.hermes/config.yaml, entre com hermes mcp login inboxmcp e depois rode /reload-mcp no chat. Prefere usar uma chave? Use o segundo bloco.

mcp_servers:
  inboxmcp:
    url: "https://inbox-mcp.com/mcp"
    auth: oauth
mcp_servers:
  inboxmcp:
    url: "https://inbox-mcp.com/mcp"
    headers:
      Authorization: "Bearer <API_KEY>"
Guia do Hermes ↗
OpenClawOAuth · recomendado

Adicione o servidor e depois entre com openclaw mcp login. Prefere usar uma chave? Coloque o JSON em ~/.openclaw/openclaw.json.

openclaw mcp set inboxmcp '{"url":"https://inbox-mcp.com/mcp","transport":"streamable-http","auth":"oauth"}'
openclaw mcp login inboxmcp
{
  "mcp": {
    "servers": {
      "inboxmcp": {
        "url": "https://inbox-mcp.com/mcp",
        "transport": "streamable-http",
        "headers": {
          "Authorization": "Bearer <API_KEY>"
        }
      }
    }
  }
}
Guia do OpenClaw ↗
CursorChave de API

Adicione o servidor à sua configuração MCP (~/.cursor/mcp.json).

{
  "mcpServers": {
    "inboxmcp": {
      "url": "https://inbox-mcp.com/mcp",
      "headers": {
        "Authorization": "Bearer <API_KEY>"
      }
    }
  }
}
WindsurfChave de API

Copie isto na configuração dos seus servidores MCP.

{
  "mcpServers": {
    "inboxmcp": {
      "serverUrl": "https://inbox-mcp.com/mcp",
      "headers": {
        "Authorization": "Bearer <API_KEY>"
      }
    }
  }
}
VS CodeChave de API

Adicione um servidor HTTP na configuração MCP do seu workspace (.vscode/mcp.json).

{
  "servers": {
    "inboxmcp": {
      "type": "http",
      "url": "https://inbox-mcp.com/mcp",
      "headers": {
        "Authorization": "Bearer <API_KEY>"
      }
    }
  }
}
MCP personalizadoOAuth ou chave de API

Qualquer cliente compatível com servidores MCP remotos via Streamable HTTP pode se conectar.

  1. Adicione um servidor MCP remoto. Nas configurações MCP do seu cliente, adicione um servidor chamado inboxMCP com a URL acima.
  2. Entre com OAuth ou envie uma chave de API. Clientes com suporte a OAuth para MCP encontram o login automaticamente. Caso contrário, envie sua chave em um cabeçalho Authorization: Bearer, como na configuração abaixo, ou cole a URL com sua chave no final (…/mcp/<API_KEY>).
{
  "mcpServers": {
    "inboxmcp": {
      "type": "http",
      "url": "https://inbox-mcp.com/mcp",
      "headers": {
        "Authorization": "Bearer <API_KEY>"
      }
    }
  }
}

Ferramentas

Exatamente o que seu app de IA recebe de tools/list. Ferramentas de escrita enviam ou alteram algo na sua conta: bons assistentes mostram o texto antes de enviar. As ferramentas inbox_* funcionam com todas as plataformas (passe account quando tiver mais de uma conta); as ferramentas linkedin_* são exclusivas do LinkedIn. As ferramentas whatsapp_*, telegram_* e instagram_* aparecem assim que uma conta desse tipo é conectada (talvez seu app precise atualizar a lista de ferramentas). Cada chamada à plataforma conta para o limite indicado.

50 ferramentas

Inbox6

inbox_list_accountsList connected accountsLeitura

The LinkedIn, WhatsApp, Telegram and Instagram accounts this connection can use, with their account_id, provider, name and status. Pass account_id as `account` to the inbox_* and provider tools (linkedin_*, whatsapp_*, telegram_*, instagram_*) when more than one is connected.

Permissão: nenhumaLimite: sem chamada à plataforma
inbox_list_chatsList conversationsLeitura

Conversations across every connected inbox (LinkedIn, WhatsApp, Telegram, Instagram), merged and sorted most recent first; account or provider narrows it. Use unread=true to triage. Each item has chat_id, its account_id and provider (pass account_id as account to inbox_get_messages / inbox_send_message when several accounts are connected), and person_id for 1-to-1 chats. Accounts that can't be read right now are listed in skipped, with what to do.

Permissão: Read messagesLimite: Reads (inbox, invitations, group members, posts list)
accountstringOnly this account (account_id from inbox_list_accounts); default: every connected account, merged
provider"linkedin" | "whatsapp" | "telegram" | "instagram"Only this provider's accounts
unreadbooleanOnly conversations with unread messages
limitinteger (padrão: 20, 1–50)
cursorstringnext_cursor from a previous call
freshbooleanBypass the 1h cache (costs a provider call) (padrão: false)
inbox_get_messagesRead a conversationLeitura

Messages in one conversation, most recent first. 'from' is 'me' (the account owner) or 'them'.

Permissão: Read messagesLimite: Reads (inbox, invitations, group members, posts list)
accountstringaccount_id from inbox_list_accounts (a listed chat's account_id). Needed only when several accounts are connected.
chat_idobrigatóriostring
limitinteger (padrão: 30, 1–100)
cursorstring
freshboolean (padrão: false)
inbox_send_messageSend a messageEscrita

Reply in an existing conversation, on any connected provider. Plain text. Show the user the exact text before calling this.

Permissão: Send messagesLimite: Messages
accountstringaccount_id from inbox_list_accounts (a listed chat's account_id). Needed only when several accounts are connected.
chat_idobrigatóriostring
textobrigatóriostring (máx. 8000 caracteres)
inbox_start_chatStart a new conversationEscrita

Message someone you have no conversation with yet. `to`: on LinkedIn the person_id (1st-degree connections; for InMail use linkedin_start_chat), on WhatsApp a phone number with country code, on Telegram the user id, on Instagram the user id. New conversations have a low daily limit, especially on WhatsApp, where cold messages get new accounts banned. Show the user the exact text before calling this.

Permissão: Send messagesLimite: New conversations
accountstringaccount_id from inbox_list_accounts (a listed chat's account_id). Needed only when several accounts are connected.
toobrigatóriostringRecipient: person_id, phone number (WhatsApp) or user id
textobrigatóriostring (máx. 8000 caracteres)
inbox_mark_readMark conversation as readEscrita

Marks a conversation read (or unread), on any connected provider.

Permissão: Send messagesLimite: Inbox updates (mark read, reactions)
accountstringaccount_id from inbox_list_accounts (a listed chat's account_id). Needed only when several accounts are connected.
chat_idobrigatóriostring
readboolean (padrão: true)

LinkedIn12

linkedin_list_chatsList LinkedIn conversationsLeitura

Conversations in the LinkedIn inbox, most recent first. Use unread=true to triage. Returns chat_id values for linkedin_get_messages / linkedin_send_message and person_id for 1-to-1 chats. With several LinkedIn accounts, lists them all merged (each item has its account_id: pass it as account to the other linkedin_* tools); account narrows to one.

Permissão: Read messagesLimite: Reads (inbox, invitations, group members, posts list)
accountstringOnly this account (account_id from inbox_list_accounts); default: every connected LinkedIn account, merged
unreadbooleanOnly conversations with unread messages
limitinteger (padrão: 20, 1–50)
cursorstringnext_cursor from a previous call
freshbooleanBypass the 1h cache (costs a LinkedIn call) (padrão: false)
linkedin_get_messagesRead a LinkedIn conversationLeitura

Messages in one conversation, most recent first. 'from' is 'me' (the account owner) or 'them'.

Permissão: Read messagesLimite: Reads (inbox, invitations, group members, posts list)
accountstringaccount_id of a LinkedIn account from inbox_list_accounts (a listed chat's account_id). Needed only when several LinkedIn accounts are connected.
chat_idobrigatóriostring
limitinteger (padrão: 30, 1–100)
cursorstring
freshboolean (padrão: false)
linkedin_send_messageSend a LinkedIn messageEscrita

Reply in an existing conversation. Plain text. Show the user the exact text before calling this.

Permissão: Send messagesLimite: Messages
accountstringaccount_id of a LinkedIn account from inbox_list_accounts (a listed chat's account_id). Needed only when several LinkedIn accounts are connected.
chat_idobrigatóriostring
textobrigatóriostring (máx. 8000 caracteres)
linkedin_start_chatStart a new LinkedIn conversationEscrita

Message someone you are connected with (1st degree). For others, set inmail=true (needs a LinkedIn premium plan with InMail credits). Get the person_id from linkedin_search_people or linkedin_get_profile.

Permissão: Send messagesLimite: New conversations
accountstringaccount_id of a LinkedIn account from inbox_list_accounts (a listed chat's account_id). Needed only when several LinkedIn accounts are connected.
person_idobrigatóriostringLinkedIn user id of the recipient
textobrigatóriostring (máx. 8000 caracteres)
inmailboolean (padrão: false)
subjectstringInMail subject (máx. 200 caracteres)
linkedin_mark_readMark LinkedIn conversation as readEscrita

Marks a conversation read (or unread).

Permissão: Send messagesLimite: Inbox updates (mark read, reactions)
accountstringaccount_id of a LinkedIn account from inbox_list_accounts (a listed chat's account_id). Needed only when several LinkedIn accounts are connected.
chat_idobrigatóriostring
readboolean (padrão: true)
linkedin_search_peopleSearch people on LinkedInLeitura

Search LinkedIn members by keywords, or paste a LinkedIn people-search URL copied from the browser (keeps all its filters). Each page costs one LinkedIn search. Returns person_id values for other tools.

Permissão: SearchLimite: Searches (pages)
keywordsstring (máx. 200 caracteres)
urlstring (uri)A LinkedIn people-search URL
network_distance1 | 2 | 3[]1 = connections, 2 = 2nd degree, 3 = 3rd+
limitinteger (padrão: 10, 1–25)
cursorstring
accountstringaccount_id of a LinkedIn account from inbox_list_accounts (a listed chat's account_id). Needed only when several LinkedIn accounts are connected.
linkedin_get_profileGet a LinkedIn profileLeitura

Full profile by person_id or public identifier (the part after linkedin.com/in/). Counts as a profile view on LinkedIn.

Permissão: ProfilesLimite: Profile views
personobrigatóriostringperson_id or public identifier
freshboolean (padrão: false)
accountstringaccount_id of a LinkedIn account from inbox_list_accounts (a listed chat's account_id). Needed only when several LinkedIn accounts are connected.
linkedin_send_invitationSend a connection requestEscrita

Invite someone to connect, optionally with a note (max 300 characters, 200 on free LinkedIn accounts, which can add a note to about 15 invitations a week). Limited per day and per week, and LinkedIn actions are spaced about a minute apart; check linkedin_status first.

Permissão: Send messagesLimite: Invitations
person_idobrigatóriostring
notestring (máx. 300 caracteres)
accountstringaccount_id of a LinkedIn account from inbox_list_accounts (a listed chat's account_id). Needed only when several LinkedIn accounts are connected.
linkedin_list_invitationsList connection requestsLeitura

Pending invitations you sent or received.

Permissão: ProfilesLimite: Reads (inbox, invitations, group members, posts list)
direction"sent" | "received" (padrão: "received")
limitinteger (padrão: 20, 1–50)
cursorstring
accountstringaccount_id of a LinkedIn account from inbox_list_accounts (a listed chat's account_id). Needed only when several LinkedIn accounts are connected.
linkedin_create_postPublish a LinkedIn postEscrita

Publish a text post on the account's feed. A link can be appended; LinkedIn builds the preview from the first URL in the text. Public and irreversible from here: confirm the final text with the user first.

Permissão: Send messagesLimite: Posts
textobrigatóriostring (máx. 3000 caracteres)
linkstring (uri)
visibility"anyone" | "relations_only" (padrão: "anyone")
accountstringaccount_id of a LinkedIn account from inbox_list_accounts (a listed chat's account_id). Needed only when several LinkedIn accounts are connected.
linkedin_schedule_outreachSchedule paced LinkedIn messagesEscrita

Queue up to 50 messages or invitations. They are sent one by one with random gaps of a minute or more, respecting daily limits. An invitation's text is its note (max 300 characters, 200 on free LinkedIn accounts). Returns a job_id; poll with linkedin_get_job. Confirm the list with the user first.

Permissão: Send messagesLimite: Cada item usa o próprio limite
itemsobrigatórioobject[] (máx. 50 itens)
items[].kindobrigatório"message" | "invitation"
items[].chat_idstringfor kind=message: existing conversation
items[].person_idstringfor kind=invitation, or kind=message to start a new conversation
items[].textobrigatóriostring (máx. 3000 caracteres)
min_gap_secondsinteger (padrão: 120, 60–3600)
accountstringaccount_id of a LinkedIn account from inbox_list_accounts (a listed chat's account_id). Needed only when several LinkedIn accounts are connected.
linkedin_get_jobCheck an outreach jobLeitura

Progress and per-item results of a job from linkedin_schedule_outreach.

Permissão: nenhumaLimite: sem chamada à plataforma
job_idobrigatóriostring

WhatsApp8

whatsapp_list_chatsList WhatsApp chatsLeitura

WhatsApp chats (1-to-1 and groups), most recent first. Use unread=true to triage. Returns chat_id values for whatsapp_get_messages / whatsapp_send_message, and person_id (the contact's WhatsApp id, <digits>@s.whatsapp.net) for 1-to-1 chats; for a group's members use whatsapp_list_group_members. With several WhatsApp accounts, lists them all merged (each item has its account_id: pass it as account to the other whatsapp_* tools); account narrows to one.

Permissão: Read messagesLimite: Reads (inbox, invitations, group members, posts list)
accountstringOnly this account (account_id from inbox_list_accounts); default: every connected WhatsApp account, merged
unreadbooleanOnly conversations with unread messages
limitinteger (padrão: 20, 1–50)
cursorstringnext_cursor from a previous call
freshbooleanBypass the 1h cache (costs a WhatsApp call) (padrão: false)
whatsapp_get_messagesRead a WhatsApp chatLeitura

Messages in one WhatsApp chat, most recent first. 'from' is 'me' (the account owner) or 'them'. message_id values work with whatsapp_react.

Permissão: Read messagesLimite: Reads (inbox, invitations, group members, posts list)
accountstringaccount_id of a WhatsApp account from inbox_list_accounts (a listed chat's account_id). Needed only when several WhatsApp accounts are connected.
chat_idobrigatóriostring
limitinteger (padrão: 30, 1–100)
cursorstring
freshboolean (padrão: false)
whatsapp_send_messageSend a WhatsApp messageEscrita

Reply in an existing WhatsApp chat (1-to-1 or group). Plain text. WhatsApp actions are spaced 10–20 s apart. Show the user the exact text before calling this.

Permissão: Send messagesLimite: Messages
accountstringaccount_id of a WhatsApp account from inbox_list_accounts (a listed chat's account_id). Needed only when several WhatsApp accounts are connected.
chat_idobrigatóriostring
textobrigatóriostring (máx. 8000 caracteres)
whatsapp_start_chatStart a new WhatsApp chatEscrita

Message a phone number you have no WhatsApp chat with yet. phone: international format with its country code, like +33 6 12 34 56 78. WhatsApp bans accounts that send cold messages (new accounts after 2–3), so only message people who expect it; at most 10 new chats a day. Show the user the exact text before calling this.

Permissão: Send messagesLimite: New conversations
accountstringaccount_id of a WhatsApp account from inbox_list_accounts (a listed chat's account_id). Needed only when several WhatsApp accounts are connected.
phoneobrigatóriostringPhone number with its country code, like +33 6 12 34 56 78
textobrigatóriostring (máx. 8000 caracteres)
whatsapp_mark_readMark WhatsApp chat as readEscrita

Marks a WhatsApp chat read (or unread).

Permissão: Send messagesLimite: Inbox updates (mark read, reactions)
accountstringaccount_id of a WhatsApp account from inbox_list_accounts (a listed chat's account_id). Needed only when several WhatsApp accounts are connected.
chat_idobrigatóriostring
readboolean (padrão: true)
whatsapp_reactReact to a WhatsApp messageEscrita

Add an emoji reaction to a message (message_id from whatsapp_get_messages). Any emoji works; a new reaction replaces yours.

Permissão: Send messagesLimite: Inbox updates (mark read, reactions)
accountstringaccount_id of a WhatsApp account from inbox_list_accounts (a listed chat's account_id). Needed only when several WhatsApp accounts are connected.
chat_idobrigatóriostring
message_idobrigatóriostring
reactionobrigatóriostringOne emoji, like 👍 (máx. 16 caracteres)
whatsapp_get_profileGet a WhatsApp profileLeitura

A WhatsApp user's profile: name, username, phone when WhatsApp shares it, bio, followers and picture. Counts as a profile view.

Permissão: ProfilesLimite: Profile views
accountstringaccount_id of a WhatsApp account from inbox_list_accounts (a listed chat's account_id). Needed only when several WhatsApp accounts are connected.
user_idobrigatóriostringThe contact's WhatsApp id (a chat's person_id, <digits>@s.whatsapp.net) or phone number with country code
freshboolean (padrão: false)
whatsapp_list_group_membersList WhatsApp group membersLeitura

Members of a WhatsApp group chat (chat_id from whatsapp_list_chats), with their user_id for whatsapp_get_profile and their phone number. Group chats only.

Permissão: Read messagesLimite: Reads (inbox, invitations, group members, posts list)
accountstringaccount_id of a WhatsApp account from inbox_list_accounts (a listed chat's account_id). Needed only when several WhatsApp accounts are connected.
chat_idobrigatóriostring
limitinteger (padrão: 50, 1–100)
cursorstringnext_cursor from a previous call

Telegram8

telegram_list_chatsList Telegram chatsLeitura

Telegram chats (private chats and groups), most recent first. Use unread=true to triage. Returns chat_id values for telegram_get_messages / telegram_send_message, and person_id (the contact's Telegram user id) for private chats; for a group's members use telegram_list_group_members. With several Telegram accounts, lists them all merged (each item has its account_id: pass it as account to the other telegram_* tools); account narrows to one.

Permissão: Read messagesLimite: Reads (inbox, invitations, group members, posts list)
accountstringOnly this account (account_id from inbox_list_accounts); default: every connected Telegram account, merged
unreadbooleanOnly conversations with unread messages
limitinteger (padrão: 20, 1–50)
cursorstringnext_cursor from a previous call
freshbooleanBypass the 1h cache (costs a Telegram call) (padrão: false)
telegram_get_messagesRead a Telegram chatLeitura

Messages in one Telegram chat, most recent first. 'from' is 'me' (the account owner) or 'them'. message_id values work with telegram_react.

Permissão: Read messagesLimite: Reads (inbox, invitations, group members, posts list)
accountstringaccount_id of a Telegram account from inbox_list_accounts (a listed chat's account_id). Needed only when several Telegram accounts are connected.
chat_idobrigatóriostring
limitinteger (padrão: 30, 1–100)
cursorstring
freshboolean (padrão: false)
telegram_send_messageSend a Telegram messageEscrita

Reply in an existing Telegram chat (private or group). Plain text. Show the user the exact text before calling this.

Permissão: Send messagesLimite: Messages
accountstringaccount_id of a Telegram account from inbox_list_accounts (a listed chat's account_id). Needed only when several Telegram accounts are connected.
chat_idobrigatóriostring
textobrigatóriostring (máx. 8000 caracteres)
telegram_start_chatStart a new Telegram chatEscrita

Message a Telegram user you have no chat with yet, by numeric user id (a chat's person_id, or a member from telegram_list_group_members). Telegram restricts accounts that message many strangers, so only message people who expect it; at most 10 new chats a day. Show the user the exact text before calling this.

Permissão: Send messagesLimite: New conversations
accountstringaccount_id of a Telegram account from inbox_list_accounts (a listed chat's account_id). Needed only when several Telegram accounts are connected.
user_idobrigatóriostringTelegram user id of the recipient
textobrigatóriostring (máx. 8000 caracteres)
telegram_mark_readMark Telegram chat as readEscrita

Marks a Telegram chat read (or unread).

Permissão: Send messagesLimite: Inbox updates (mark read, reactions)
accountstringaccount_id of a Telegram account from inbox_list_accounts (a listed chat's account_id). Needed only when several Telegram accounts are connected.
chat_idobrigatóriostring
readboolean (padrão: true)
telegram_reactReact to a Telegram messageEscrita

Add an emoji reaction to a message (message_id from telegram_get_messages). Telegram accepts only its standard reaction emojis (👍 ❤️ 🔥 🎉 😁 👏 …); others fail.

Permissão: Send messagesLimite: Inbox updates (mark read, reactions)
accountstringaccount_id of a Telegram account from inbox_list_accounts (a listed chat's account_id). Needed only when several Telegram accounts are connected.
chat_idobrigatóriostring
message_idobrigatóriostring
reactionobrigatóriostringOne emoji, like 👍 (máx. 16 caracteres)
telegram_get_profileGet a Telegram profileLeitura

A Telegram user's profile: name, username, phone when Telegram shares it, bio, followers and picture. Counts as a profile view.

Permissão: ProfilesLimite: Profile views
accountstringaccount_id of a Telegram account from inbox_list_accounts (a listed chat's account_id). Needed only when several Telegram accounts are connected.
user_idobrigatóriostringTelegram user id (a chat's person_id or a group member's user_id)
freshboolean (padrão: false)
telegram_list_group_membersList Telegram group membersLeitura

Members of a Telegram group chat (chat_id from telegram_list_chats), with their user_id for telegram_get_profile. Group chats only.

Permissão: Read messagesLimite: Reads (inbox, invitations, group members, posts list)
accountstringaccount_id of a Telegram account from inbox_list_accounts (a listed chat's account_id). Needed only when several Telegram accounts are connected.
chat_idobrigatóriostring
limitinteger (padrão: 50, 1–100)
cursorstringnext_cursor from a previous call

Instagram9

instagram_list_chatsList Instagram conversationsLeitura

Instagram direct messages, most recent first. Use unread=true to triage. Returns chat_id values for instagram_get_messages / instagram_send_message, and person_id (the contact's Instagram user id) for 1-to-1 chats. With several Instagram accounts, lists them all merged (each item has its account_id: pass it as account to the other instagram_* tools); account narrows to one.

Permissão: Read messagesLimite: Reads (inbox, invitations, group members, posts list)
accountstringOnly this account (account_id from inbox_list_accounts); default: every connected Instagram account, merged
unreadbooleanOnly conversations with unread messages
limitinteger (padrão: 20, 1–50)
cursorstringnext_cursor from a previous call
freshbooleanBypass the 1h cache (costs a Instagram call) (padrão: false)
instagram_get_messagesRead an Instagram conversationLeitura

Messages in one Instagram conversation, most recent first. 'from' is 'me' (the account owner) or 'them'. message_id values work with instagram_react.

Permissão: Read messagesLimite: Reads (inbox, invitations, group members, posts list)
accountstringaccount_id of a Instagram account from inbox_list_accounts (a listed chat's account_id). Needed only when several Instagram accounts are connected.
chat_idobrigatóriostring
limitinteger (padrão: 30, 1–100)
cursorstring
freshboolean (padrão: false)
instagram_send_messageSend an Instagram messageEscrita

Reply in an existing Instagram direct conversation. Plain text. Show the user the exact text before calling this.

Permissão: Send messagesLimite: Messages
accountstringaccount_id of a Instagram account from inbox_list_accounts (a listed chat's account_id). Needed only when several Instagram accounts are connected.
chat_idobrigatóriostring
textobrigatóriostring (máx. 8000 caracteres)
instagram_start_chatStart a new Instagram conversationEscrita

Send a direct message to an Instagram user you have no conversation with yet, by user id (a chat's person_id, or from instagram_get_profile). Messages to people who don't follow the account land in their message requests, and Instagram restricts accounts that message many strangers: only message people who expect it; at most 10 new conversations a day. Show the user the exact text before calling this.

Permissão: Send messagesLimite: New conversations
accountstringaccount_id of a Instagram account from inbox_list_accounts (a listed chat's account_id). Needed only when several Instagram accounts are connected.
user_idobrigatóriostringInstagram user id of the recipient
textobrigatóriostring (máx. 8000 caracteres)
instagram_mark_readMark Instagram conversation as readEscrita

Marks an Instagram conversation read (or unread).

Permissão: Send messagesLimite: Inbox updates (mark read, reactions)
accountstringaccount_id of a Instagram account from inbox_list_accounts (a listed chat's account_id). Needed only when several Instagram accounts are connected.
chat_idobrigatóriostring
readboolean (padrão: true)
instagram_reactReact to a Instagram messageEscrita

Add an emoji reaction to a message (message_id from instagram_get_messages). Instagram keeps one reaction per person: a new one replaces yours.

Permissão: Send messagesLimite: Inbox updates (mark read, reactions)
accountstringaccount_id of a Instagram account from inbox_list_accounts (a listed chat's account_id). Needed only when several Instagram accounts are connected.
chat_idobrigatóriostring
message_idobrigatóriostring
reactionobrigatóriostringOne emoji, like 👍 (máx. 16 caracteres)
instagram_get_profileGet a Instagram profileLeitura

A Instagram user's profile: name, username, phone when Instagram shares it, bio, followers and picture. Counts as a profile view.

Permissão: ProfilesLimite: Profile views
accountstringaccount_id of a Instagram account from inbox_list_accounts (a listed chat's account_id). Needed only when several Instagram accounts are connected.
user_idobrigatóriostringInstagram user id (a chat's person_id) or username
freshboolean (padrão: false)
instagram_list_postsList Instagram postsLeitura

Posts of an Instagram user, most recent first: the account's own by default, or someone else's with user_id. Returns caption, link, date, likes and comments.

Permissão: ProfilesLimite: Reads (inbox, invitations, group members, posts list)
accountstringaccount_id of a Instagram account from inbox_list_accounts (a listed chat's account_id). Needed only when several Instagram accounts are connected.
user_idstringInstagram user id or username; default: the account's own posts
limitinteger (padrão: 10, 1–50)
cursorstringnext_cursor from a previous call
instagram_create_postPublish an Instagram postEscrita

Publish a photo on the account's Instagram feed: image_url is an https link to a JPEG, PNG or WebP (at most 8 MB), text is the caption. Public and irreversible from here: confirm the image and the caption with the user first.

Permissão: Send messagesLimite: Posts
accountstringaccount_id of a Instagram account from inbox_list_accounts (a listed chat's account_id). Needed only when several Instagram accounts are connected.
image_urlobrigatóriostring (uri)https link to the image
textstringCaption (padrão: "", máx. 2200 caracteres)

Account & plan5

linkedin_statusLinkedIn account status and limitsLeitura

Call before planning several LinkedIn actions. Says whether the account can act now (blocked_reason), how many actions are left today (profile_views → linkedin_get_profile, searches → linkedin_search_people, messages → linkedin_send_message, new_conversations → linkedin_start_chat, invitations → linkedin_send_invitation, posts → linkedin_create_post; invitations also have a weekly limit), and ready_in_seconds for each: the wait before that action can run. Reading the inbox has a high limit and is not listed. No account or a disconnected one: use linkedin_connect_account. Plan or seats: use inboxmcp_billing. For WhatsApp, Telegram and Instagram accounts, use inbox_status.

Permissão: nenhumaLimite: sem chamada à plataforma
accountstringaccount_id from inbox_list_accounts; default: the first LinkedIn account
inbox_statusAccount status and limitsLeitura

Status and limits of one connected account, any provider (LinkedIn, WhatsApp, Telegram, Instagram). Call before planning several actions. Says whether the account can act now (blocked_reason), how many actions are left today (messages → *_send_message, new_conversations → *_start_chat, profile_views → *_get_profile, posts → linkedin_create_post / instagram_create_post; on LinkedIn also searches and invitations), and ready_in_seconds for each. Reading has a high limit and is not listed. No account or a disconnected one: use connect_account. Plan or seats: use inboxmcp_billing.

Permissão: nenhumaLimite: sem chamada à plataforma
accountstringaccount_id from inbox_list_accounts. Needed only when several accounts are connected.
connect_accountConnect an accountLeitura

Get a link for the user to connect a LinkedIn, WhatsApp, Telegram or Instagram account, or to reconnect one that was logged out. Before giving the link, tell the user what the result says about the free trial or price. They log in on our connect page in their browser (LinkedIn and Instagram: their login; WhatsApp and Telegram: scan a QR code). Never ask for passwords or codes in the chat. The link works for 30 minutes. Afterwards, call inbox_list_accounts to confirm.

Permissão: nenhumaLimite: sem chamada à plataforma
providerobrigatório"linkedin" | "whatsapp" | "telegram" | "instagram"Which network to connect
mode"auto" | "new" | "reconnect"auto: reconnect the current account if it needs it, otherwise add one if none is connected. new: add another account. reconnect: log the current account back in. (padrão: "auto")
accountstringaccount_id from inbox_list_accounts: the one to reconnect, when several of this network are connected
linkedin_connect_accountConnect a LinkedIn accountLeitura

Get a link for the user to connect a LinkedIn account, or to reconnect one LinkedIn logged out. Before giving the link, tell the user what the result says about the free trial or price. They log in to LinkedIn in their browser on our connect page (never ask for their LinkedIn password or codes in the chat). The link works for 30 minutes. Afterwards, call linkedin_status to confirm.

Permissão: nenhumaLimite: sem chamada à plataforma
mode"auto" | "new" | "reconnect"auto: reconnect the current account if it needs it, otherwise add one if none is connected. new: add another account. reconnect: log the current account back in. (padrão: "auto")
inboxmcp_billingPlan and billingLeitura

The user's inbox MCP plan: free trial (3 days, starts when the first account is connected) or subscription ($10/month per connected account, any provider), with a link to our billing page to subscribe, update their card, get invoices, or cancel (payment happens on Stripe, in their browser). The link works for 30 minutes. Use it when the tools say the trial or subscription ended.

Permissão: nenhumaLimite: sem chamada à plataforma

ChatGPT deep research2

fetchFetch a LinkedIn recordLeitura

Fetch a full record by id from search: person:<id> or chat:<id>.

Permissão: ProfilesLimite: Profile views
idobrigatóriostring

Limites

Os limites seguem as recomendações da Unipile para cada plataforma e evitam que suas contas sejam restringidas. Eles valem por conta conectada e são compartilhados por todos os apps e chaves de API que usam essa conta. A tabela abaixo é a do LinkedIn; WhatsApp, Telegram e Instagram têm os próprios limites.

  • Ritmo humano. No LinkedIn, visualizações de perfil, buscas, mensagens, novas conversas, convites e posts são espaçados aleatoriamente de 45 a 75 segundos (10–20 s nas outras plataformas), somando todas as ferramentas. Uma chamada feita cedo demais é recusada com retry_after_seconds, nunca colocada na fila. Para enviar várias mensagens ou convites, use linkedin_schedule_outreach.
  • Por minuto. No máximo 10 chamadas por minuto por conta no total, sem contar leituras, além do limite por minuto de cada ação.
  • Renovação. Os limites diários zeram à meia-noite UTC; os semanais, toda segunda-feira às 00:00 UTC.
  • Se a plataforma reclamar. Quando a plataforma acusa excesso de requisições, a conta entra em pausa de segurança por pelo menos 5 minutos (30 quando a própria plataforma pediu). Chamadas durante a pausa são recusadas, com o tempo restante.
  • Leituras em cache são grátis. Leituras respondidas pelo cache não contam. Passe fresh: true para forçar uma leitura em tempo real.
  • LinkedIn gratuito ou Premium. Os limites de convites dependem do tipo de conta do LinkedIn, detectado quando você conecta.
AçãoPor diaPor semanaEspaçamentoFerramentas
Reads (inbox, invitations, group members, posts list)3000—0 sinbox_list_chats, inbox_get_messages, linkedin_list_chats, linkedin_get_messages, linkedin_list_invitations, whatsapp_list_chats, whatsapp_get_messages, whatsapp_list_group_members, telegram_list_chats, telegram_get_messages, telegram_list_group_members, instagram_list_chats, instagram_get_messages, instagram_list_posts
Inbox updates (mark read, reactions)500—1 sinbox_mark_read, linkedin_mark_read, whatsapp_mark_read, whatsapp_react, telegram_mark_read, telegram_react, instagram_mark_read, instagram_react
Profile views80—45–75 slinkedin_get_profile, whatsapp_get_profile, telegram_get_profile, instagram_get_profile, fetch
Searches (pages)40—45–75 slinkedin_search_people, search
Messages75—45–75 sinbox_send_message, linkedin_send_message, whatsapp_send_message, telegram_send_message, instagram_send_message
New conversations25—45–75 sinbox_start_chat, linkedin_start_chat, whatsapp_start_chat, telegram_start_chat, instagram_start_chat
Invitations25 · 80 no Premium150 · 200 no Premium
15 com nota (contas gratuitas)
45–75 slinkedin_send_invitation
Posts3—45–75 slinkedin_create_post, instagram_create_post

Notas de convite: até 300 caracteres no Premium e 200 em contas gratuitas. As páginas de busca retornam até 25 pessoas.

WhatsApp, Telegram e Instagram

A Unipile só publica recomendações para o WhatsApp (algumas centenas de mensagens por dia, com 10 a 20 segundos de intervalo, e pouquíssimas conversas novas em uma conta recente). Ficamos bem abaixo disso e aplicamos limites igualmente conservadores ao Telegram e ao Instagram, que não publicam nenhuma. Buscas e convites são exclusivos do LinkedIn.

Por diaWhatsAppTelegramInstagram
Reads (inbox, invitations, group members, posts list)300030003000
Inbox updates (mark read, reactions)500500500
Profile views505050
Messages10010050
New conversations101010
Posts——3
Espaçamento10–20 s10–20 s10–20 s

Teste grátis e preços

  • Teste grátis de 3 dias com limites completos e 1 conta conectada por app (um LinkedIn, um WhatsApp…). Ele começa quando você conecta sua primeira conta. Sem cartão de crédito, e nada é cobrado automaticamente.
  • US$ 10 por mês por conta conectada. Um preço único para todas as plataformas, sem faixas. Conectar ou remover uma conta atualiza o valor, de forma proporcional. Até 50 contas.
  • Lembretes. Enviamos um e-mail na véspera do fim do teste e outro quando ele termina.
  • Depois do teste, as ferramentas ficam pausadas até você assinar; elas explicam o motivo e indicam inboxmcp_billing. Contas conectadas sem pagamento são removidas 12 horas depois; você pode conectá-las de novo quando quiser.
  • Pague pelo chat ou pelo painel. O inboxmcp_billing te dá um link (válido por 30 minutos) para nossa página de cobrança; pagamento, cartão, faturas e cancelamento ficam no Stripe. Cada conta tem direito a um único teste grátis, seja qual for o e-mail.
  • Pagamento recusado? Tudo continua funcionando enquanto o Stripe tenta cobrar de novo; atualize seu cartão para evitar uma pausa.

Permissões

Escolhidas na página de consentimento (OAuth) ou ao criar uma chave de API. Revogue o acesso de um app a qualquer momento em Apps conectados.

PermissãoPermiteFerramentas
Read your messages
linkedin:messages
View conversations and messages in your connected accounts.inbox_list_chats, inbox_get_messages, linkedin_list_chats, linkedin_get_messages, whatsapp_list_chats, whatsapp_get_messages, whatsapp_list_group_members, telegram_list_chats, telegram_get_messages, telegram_list_group_members, instagram_list_chats, instagram_get_messages
View profiles
linkedin:profiles
Read the profiles and posts of people on your connected accounts.linkedin_get_profile, linkedin_list_invitations, whatsapp_get_profile, telegram_get_profile, instagram_get_profile, instagram_list_posts, fetch
Search LinkedIn
linkedin:search
Find people and explore your LinkedIn network.linkedin_search_people, search
Send messages & invitations
linkedin:send
Send messages from your connected accounts, and LinkedIn invitations.inbox_send_message, inbox_start_chat, inbox_mark_read, linkedin_send_message, linkedin_start_chat, linkedin_mark_read, linkedin_send_invitation, linkedin_create_post, linkedin_schedule_outreach, whatsapp_send_message, whatsapp_start_chat, whatsapp_mark_read, whatsapp_react, telegram_send_message, telegram_start_chat, telegram_mark_read, telegram_react, instagram_send_message, instagram_start_chat, instagram_mark_read, instagram_react, instagram_create_post

Erros

As ferramentas nunca lançam exceções. Uma chamada recusada retorna isError: true com uma frase simples que seu assistente pode ler para você, além de um code e, quando vale a pena esperar, retry_after_seconds.

gapCedo demais depois da ação anterior nesta conta (ritmo humano) ou limite deste minuto atingido. Aguarde retry_after_seconds.
limitLimite diário ou semanal atingido, ação indisponível nesta plataforma ou nota de convite longa demais. Renova à meia-noite UTC / na segunda-feira.
cooldownA plataforma limitou a conta; as ações voltam depois do tempo indicado.
planTeste grátis encerrado ou assinatura inativa. O inboxmcp_billing fornece um link para assinar.
accountA conta precisa de um novo login. O connect_account fornece um link para reconectar.
no_accountNenhuma conta conectada ainda. O connect_account fornece um link.
permissionEste app ou chave de API não tem permissão para essa ação. Reconecte o app com a permissão ou use outra chave.
trial_limit · seat_limit · plan_inactiveO connect_account não pode adicionar uma conta agora (o teste inclui uma conta por app, o limite de contas foi atingido ou não há plano ativo).

Endpoints e autenticação

O inboxMCP é um servidor MCP remoto com OAuth 2.1 (PKCE, refresh tokens, registro dinâmico e documentos de metadados de client ID). A maioria dos apps só precisa da URL do servidor.

POST /mcpMCP server (Streamable HTTP). Auth: OAuth 2.1 access token or an API key, as Authorization: Bearer …
GET /.well-known/oauth-protected-resourceWhich authorization server protects /mcp (clients discover OAuth here).
GET /.well-known/oauth-authorization-serverOAuth 2.1 metadata: endpoints, scopes, PKCE.
GET /authorizeSign-in and consent page: pick the account and the permissions.
POST /oauth/tokenToken endpoint (authorization code with PKCE, refresh tokens).
POST /oauth/registerDynamic client registration, for clients without a client ID metadata document.