There There
There There (there-there.app) MCP — ferramentas de helpdesk com IA para tickets, contatos, conhecimento e canais via OAuth.
Servidor MCP hospedado
npx add-mcp 'https://there-there.app/mcp'Instala no Claude Code, Codex, Cursor e outros
Documentação
Servidor MCP
O que é MCP?
O Model Context Protocol é um padrão aberto que permite que clientes de IA (Claude Desktop, ChatGPT, Cursor, VS Code e outros) chamem ferramentas executadas em um servidor remoto. O There There inclui um servidor MCP, então, ao conectar seu cliente de IA, o assistente pode ler seus tickets, fazer triagem, responder a clientes e editar sua base de conhecimento diretamente, sem sair do cliente de IA.
As conexões são limitadas a um usuário, mas podem conceder acesso a um ou mais workspaces. O usuário escolhe os workspaces na tela de consentimento. Cada chamada de ferramenta é executada como esse usuário e obedece às mesmas regras de acesso a canais do painel.
URL do servidor
https://there-there.app/mcp
O endpoint fala JSON-RPC 2.0 sobre HTTP e aceita apenas solicitações POST. Há também uma URL de descoberta em https://there-there.app/.well-known/oauth-protected-resource que os clientes de IA leem automaticamente para encontrar o fluxo OAuth.
Como conectar
A maioria dos clientes orienta você pelo OAuth: você clica em Conectar, o There There abre uma tela de consentimento onde você escolhe o workspace e as habilidades a conceder, clica em Permitir e o cliente está conectado. Você nunca precisa copiar um token manualmente.
Claude Code (CLI)
Execute isto no seu terminal:
claude mcp add there-there --transport http https://there-there.app/mcp --scope user
A flag --scope user torna o There There disponível em todos os seus projetos. Deixe-a de fora se quiser a conexão apenas no projeto atual.
Na primeira vez que o assistente usar uma ferramenta, seu navegador abrirá a tela de consentimento do There There. Depois de clicar em Permitir, você retorna ao Claude e a conexão fica ativa.
Claude Desktop, ChatGPT, Cursor, VS Code
Cada um desses clientes expõe uma configuração de "conector MCP personalizado" ou equivalente. O caminho exato no menu varia conforme a versão, mas o único valor que qualquer um deles precisa é a URL do servidor:
https://there-there.app/mcp
Quando o cliente chama uma ferramenta pela primeira vez, ele abre seu navegador, você escolhe o workspace e as habilidades na tela de consentimento do There There, e a conexão fica ativa.
Para clientes que aceitam configuração JSON (algumas versões do Cursor, por exemplo), a entrada fica assim:
{
"mcpServers": {
"there-there": {
"url": "https://there-there.app/mcp"
}
}
}
Outros clientes
Qualquer cliente MCP que suporte transporte HTTP com OAuth 2.1 (PKCE com o método de desafio S256, além de Dynamic Client Registration conforme definido na RFC 7591) funcionará. Aponte-o para a URL do servidor e ele descobrirá todo o resto por meio de /.well-known/oauth-protected-resource.
A tela de consentimento
Quando um cliente de IA se conecta pela primeira vez, o There There mostra uma tela onde você escolhe:
- Quais workspaces a conexão deve poder acessar. Marque um ou mais. Você só vê os workspaces dos quais faz parte.
- Quais habilidades conceder. Cada habilidade é uma caixa de seleção; a conexão não pode usar nenhuma ferramenta cuja habilidade você não marcou.
As mesmas habilidades se aplicam a todos os workspaces marcados. Escolha o menor conjunto necessário.
Você pode revogar a conexão a qualquer momento em Configurações, Aplicativos conectados.
Atuar em vários workspaces
Se você marcou mais de um workspace, cada chamada de ferramenta carrega um argumento workspace_ulid que escolhe em qual workspace ela atua. A IA vê a lista de workspaces concedidos (com nomes e IDs) nas instruções do servidor, então, quando você diz "tickets na Spatie", o assistente escolhe o ID correto automaticamente.
Se você marcou apenas um workspace, workspace_ulid é opcional. A conexão usa esse workspace por padrão e a IA não precisa se preocupar com isso.
Você nunca precisa procurar um ID de workspace para uma conexão OAuth. Você só precisa de um ao conectar com um token de API.
Habilidades
Habilidades são o que o cliente de IA pode fazer. O There There tem quatro:
| Habilidade | O que permite |
|---|---|
mcp:read | Listar e ler tickets, contatos, canais e a base de conhecimento. |
mcp:tickets:manage | Fazer triagem de tickets: alterar status, atribuir, etiquetar, definir campos personalizados, adicionar notas internas. |
mcp:tickets:reply | Enviar respostas e encaminhamentos a clientes e criar novos tickets de saída. O cliente recebe essas mensagens. |
mcp:knowledge:write | Criar, atualizar e excluir artigos do brain. |
Escolha o menor conjunto necessário. Uma conexão com apenas mcp:read não pode responder acidentalmente a um cliente, mesmo que a IA tente.
A habilidade de resposta é sinalizada na tela de consentimento porque o cliente vê o resultado. As outras habilidades são internas.
Ferramentas
As ferramentas disponíveis para uma conexão são filtradas pelas habilidades que você concedeu. Uma conexão sem mcp:tickets:reply nem verá reply-to-ticket-tool na lista de ferramentas.
Ferramentas de leitura (mcp:read)
| Ferramenta | Descrição |
|---|---|
list-tickets-tool | Listar tickets no workspace. Filtrar por status, canal, etiqueta, contato, responsável, campo personalizado e uma busca de texto livre no assunto. |
get-ticket-tool | Buscar um único ticket junto com seu thread de mensagens e campos personalizados. |
search-tickets-tool | Busca semântica em tickets e mensagens por significado, não apenas pelo texto do assunto. Use para consultas por tópico, como "tickets sobre bugs de exportação". |
lookup-contacts-tool | Encontrar contatos por e-mail ou nome. Retorna até 10 correspondências com contagens recentes de tickets. |
search-knowledge-tool | Pesquisar artigos do brain e documentação. |
list-channels-tool | Listar os canais que o usuário pode acessar. |
Ferramentas de triagem (mcp:tickets:manage)
| Ferramenta | Descrição |
|---|---|
change-ticket-status-tool | Definir um ticket como aberto, aguardando, fechado ou spam. |
assign-ticket-tool | Atribuir um ticket a um usuário ou equipe, ou desatribuir um deles. |
add-note-to-ticket-tool | Publicar uma nota interna. As notas são visíveis apenas para colegas de equipe, nunca para o cliente. |
add-tag-to-ticket-tool | Adicionar uma etiqueta existente do workspace a um ticket. |
remove-tag-from-ticket-tool | Remover uma etiqueta de um ticket. |
set-ticket-custom-field-tool | Definir um campo personalizado em um ticket. Chame get-ticket-tool primeiro para obter os IDs de campo e opção aplicáveis. |
Ferramentas de resposta (mcp:tickets:reply)
| Ferramenta | Descrição |
|---|---|
reply-to-ticket-tool | Enviar uma resposta ao cliente pelo canal do ticket. |
forward-ticket-tool | Encaminhar uma mensagem específica de um ticket para um ou mais destinatários. |
create-ticket-tool | Iniciar um novo ticket de saída: escolha um canal, informe o e-mail do destinatário, o assunto e o corpo. |
Ferramentas de conhecimento (mcp:knowledge:write)
| Ferramenta | Descrição |
|---|---|
create-brain-article-tool | Criar um novo artigo em um brain. Novos artigos ficam como rascunho (privado) por padrão, então não aparecem no widget até você publicá-los. |
update-brain-article-tool | Atualizar o título, o corpo ou a visibilidade de um artigo existente. |
delete-brain-article-tool | Excluir um artigo do brain. |
Acesso a canais
Se sua equipe usa canais restritos (canais que nem todos os membros podem ver), as chamadas de ferramentas de IA obedecem a essas regras. A conexão só pode ver e atuar em tickets nos canais aos quais você tem acesso. Tickets em canais inacessíveis retornam "não encontrado" em vez de um erro de permissão, para que a IA não possa sondar a existência deles.
Trilha de auditoria
Cada chamada de ferramenta é registrada no workspace com o nome da ferramenta, o usuário, a conexão, a duração e se foi bem-sucedida. Você pode revisar a atividade de uma conexão clicando nela em Configurações, Aplicativos conectados.
Campos confidenciais são ocultados no log de auditoria. O corpo de uma resposta, encaminhamento ou nota, o assunto e o corpo de um novo ticket de saída, e o título e o corpo de um artigo do brain criado ou atualizado são substituídos por [REDACTED] na entrada do log. Listas de destinatários em respostas, encaminhamentos e tickets de saída também são ocultadas. A mensagem ou o artigo reais mantêm o conteúdo original; apenas a linha de auditoria é mascarada.
Gerenciando conexões
Configurações, Aplicativos conectados lista todas as conexões de IA ativas do workspace atual. A partir daí, você pode:
- Ver quais habilidades cada conexão possui.
- Abrir uma conexão para ver suas chamadas de ferramentas recentes e eventuais erros.
- Revogar uma conexão. Revogar invalida imediatamente os tokens da conexão; o cliente de IA precisa reconectar para usar qualquer ferramenta novamente.
Cada usuário gerencia suas próprias conexões. Outras pessoas no workspace não podem ver ou revogar as suas.
Tokens de API (avançado)
Se você preferir usar um token de acesso pessoal em vez de OAuth, pode criar um em Configurações, Tokens de API. O nível de permissão do token decide quais habilidades ele recebe via MCP:
| Permissão do token | Habilidades MCP |
|---|---|
| Leitura e escrita | Todas as quatro: mcp:read, mcp:tickets:manage, mcp:tickets:reply, mcp:knowledge:write |
| Somente leitura | mcp:read |
O token também precisa de acesso ao workspace em que você quer atuar. Envie o token no cabeçalho Authorization. Se o token puder acessar mais de um workspace, as chamadas de ferramenta escolhem um workspace com o argumento workspace_ulid, assim como uma conexão OAuth. Para fixar a conexão em um único workspace, envie o ID do workspace em X-Workspace-Id. Você pode copiar o ID de Configurações, Tokens de API, que lista todos os workspaces dos quais você faz parte, ou de Configurações, Workspace, Geral. Consulte Encontrando seu ID de workspace.
POST /mcp
Authorization: Bearer <token>
X-Workspace-Id: <workspace-id>
Content-Type: application/json
OAuth é recomendado para clientes de IA porque o fluxo de consentimento é mais amigável e a conexão é por cliente. Use tokens de API para scripts e CI.
Limites
- Cada conexão tem limite de taxa por minuto. Se você atingir o limite, a resposta será HTTP 429 e o cliente de IA deve tentar novamente após uma pausa curta.
- Corpos de respostas e encaminhamentos têm limite de 100.000 caracteres. Corpos de notas têm limite de 50.000. Corpos de artigos do brain têm limite de 200.000. Esses limites evitam que prompts descontrolados excedam os limites das colunas do banco de dados.
- Assuntos em tickets de saída têm limite de 998 caracteres (o limite de linha da RFC 5322).
Solução de problemas
O cliente de IA diz que não consegue conectar. Verifique se você consegue acessar https://there-there.app/mcp da mesma máquina. Algumas redes corporativas bloqueiam POST para hosts desconhecidos.
A tela de consentimento diz que você não pertence a nenhum workspace. Você precisa ser membro de pelo menos um workspace antes de conectar um cliente de IA.
Uma ferramenta retorna "não encontrado" para um ticket que você sabe que existe. A conexão provavelmente não tem acesso ao canal desse ticket. Abra o ticket no painel para confirmar. Se você também não conseguir vê-lo lá, peça a um proprietário do workspace que conceda acesso.
A IA fica pedindo permissão. Sua conexão pode ter sido revogada ou expirada. Abra Configurações, Aplicativos conectados e verifique se a conexão ainda está listada. Se não estiver, reconecte pelo cliente de IA.
Minhas respostas não estão chegando aos clientes. Verifique se o canal está configurado para enviar e-mails (Configurações, Canais, seção Enviar do canal). Ao criar um novo ticket de saída por meio de create-ticket-tool, a ferramenta recusa antecipadamente se o canal não estiver pronto para envio.