Model Context Protocol

Trama para agentes de IA

O Trama tem um servidor MCP hospedado, para que Claude, Cursor e outros clientes MCP leiam seus quadros, criem e movam tarefas, comentem, e leiam e escrevam documentos. Os agentes agem como você, com exatamente o acesso que você tem no app.

Nesta página
URL do servidor MCP
https://mcp.ontrama.com/mcp

Cole a URL no seu cliente, sem headers. Ele abre o Trama no seu navegador para você entrar e aprovar a conexão.

Como funciona

O servidor fala Streamable HTTP. Ele não guarda nada: cada chamada de ferramenta vira requisições à API do Trama com as suas credenciais, então o agente vê os quadros que você vê e só pode alterar o que você mesmo poderia. Há duas formas de entrar.

OAuthRecomendado

Como usar
Cole a URL e aprove no navegador
Acesso
Por scopes: leitura, escrita, comentários
Validade
Tokens de 7 dias que o cliente renova

Token pessoal

Como usar
Crie um token e envie-o em um header
Acesso
Tudo o que você pode fazer no app
Validade
Até você substituí-lo

Claude

Os dois se conectam com OAuth: adicione a URL uma vez e depois aprove o acesso no navegador.

App do Claude (web e desktop)

  1. Abra ConfiguraçõesConectores (Settings › Connectors) e escolha Adicionar conector personalizado (Add custom connector).
  2. Dê o nome Trama e cole https://mcp.ontrama.com/mcp como URL.
  3. Escolha Conectar. O Trama abre para você entrar; revise o acesso e aprove.

Depois pergunte em um chat, por exemplo “O que está em andamento no quadro Website?” Nos planos de equipe, talvez um owner precise adicionar o conector para a organização antes.

Claude Code

Adicione o servidor pelo terminal:

Terminal
claude mcp add --transport http trama https://mcp.ontrama.com/mcp

Depois execute /mcp dentro do Claude Code, escolha trama e entre quando o navegador abrir.

Para compartilhar com todos que trabalham em um repositório, coloque o servidor em .mcp.json, na raiz do projeto:

.mcp.json
{
  "mcpServers": {
    "trama": {
      "type": "http",
      "url": "https://mcp.ontrama.com/mcp"
    }
  }
}

Cursor

Adicione o servidor em ~/.cursor/mcp.json (todos os projetos) ou .cursor/mcp.json (um projeto), ou pelas configurações de MCP do Cursor. O Cursor descobre o OAuth sozinho e abre o navegador para você aprovar.

~/.cursor/mcp.json
{
  "mcpServers": {
    "trama": {
      "url": "https://mcp.ontrama.com/mcp"
    }
  }
}

Vindo do antigo servidor local?

Se a sua configuração ainda roda um processo local (command, args e env com chaves de API), troque esse bloco pela url acima e reinicie o Cursor. O servidor hospedado é a configuração com suporte.

Outros clientes

Qualquer cliente com suporte a Streamable HTTP e à descoberta de OAuth funciona só com a URL. O que ele precisa saber:

Valor
URL do servidorPOSThttps://mcp.ontrama.com/mcp
Metadados do recurso protegidoGEThttps://mcp.ontrama.com/.well-known/oauth-protected-resource/mcp
Servidor de autorizaçãohttps://api.ontrama.com
Registro do clienteDinâmico (RFC 7591), cliente público, PKCE com S256
Scopesboards.read boards.write comments.write

O que acontece quando um cliente se conecta pela primeira vez:

  1. Ele chama POST /mcp sem token e recebe 401 com um header WWW-Authenticate que aponta para os metadados do recurso protegido.
  2. Os metadados indicam o servidor de autorização, https://api.ontrama.com; o cliente lê o /.well-known/oauth-authorization-server dele.
  3. Ele se registra com POST /oauth2/register.
  4. Ele abre https://ontrama.com/oauth2/authorize no seu navegador. Você entra, vê o que ele pede e aprova.
  5. Ele troca o código e o seu PKCE verifier em POST /oauth2/token por um access token (lxt_at_…, 7 dias) e um refresh token que é rotacionado a cada uso.
  6. A partir daí, ele chama POST /mcp com Authorization: Bearer lxt_at_….

O servidor é stateless e só responde a POST; GET e DELETE em /mcp retornam 405.

Token pessoal

Para clientes que não fazem OAuth. Crie um token em ConfiguraçõesAPI e MCP e envie-o como Bearer token. O servidor separa a sua chave de API e o seu segredo antes de chamar a API.

mcp.json
{
  "mcpServers": {
    "trama": {
      "url": "https://mcp.ontrama.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_PERSONAL_TOKEN"
      }
    }
  }
}
Claude Code
claude mcp add --transport http trama https://mcp.ontrama.com/mcp \
  --header "Authorization: Bearer YOUR_PERSONAL_TOKEN"

Trate como uma senha

O token não tem scopes: ele pode fazer tudo o que você pode, em todos os quadros que você acessa, e não expira. Ele aparece uma única vez. Substituí-lo desconecta todos os clientes que usam o antigo; as conexões OAuth continuam funcionando.

Ferramentas

O servidor tem 38 ferramentas, todas construídas sobre operações da API que tokens OAuth podem usar. As ferramentas recebem ids, nomes, chaves como ACME-42 ou links; quando um nome pode se referir a várias coisas, a ferramenta responde com os candidatos em vez de adivinhar. Os agentes buscam ou listam suas tarefas, leem uma tarefa ou a página que importa e então agem; especificações e decisões vão para páginas vinculadas às tarefas.

Buscar e lerboards.read
search
Tarefas, documentos, comentários e quadros que você vê, com links para cada um.
list_my_tasks
Suas tarefas abertas em todos os quadros, as mais urgentes primeiro.
find_board_by_name
Encontra um quadro pelo nome (ou parte dele) e retorna o id.
get_board_snapshot
As colunas e seus cartões (títulos, etiquetas, responsáveis e datas), sem as descrições.
find_column_by_name
Encontra uma coluna de um quadro, para obter o id de que criar e mover precisam.
find_task_by_issue_key
Abre uma tarefa pela chave, como ACME-42.
find_task_by_name
A primeira tarefa de um quadro cujo nome corresponde.
search_tasks_by_name
Todas as tarefas de um quadro cujo nome corresponde, com a coluna de cada uma.
get_task_detail
Uma tarefa completa: descrição, marco, etiquetas, responsáveis, subtarefas, relações, checklists, pull requests, tempo registrado, comentários com respostas e as páginas que a mencionam.
list_milestones
Os marcos de um quadro, com as datas-alvo.
list_tags
As etiquetas de um quadro.
list_task_templates
Os modelos de tarefa de um quadro.
list_task_pull_requests
Os pull requests e merge requests vinculados a uma tarefa.
Ler documentosboards.read
list_workspaces
Seus workspaces, com os quadros e as pessoas de cada um (ids de usuário para menções).
list_documents
A árvore de páginas de um workspace como links, com as conversas abertas, a última edição e quais páginas são restritas.
search_documents
Encontra páginas por título e texto, com trechos, em um workspace ou em todos os seus.
get_document
Uma página em Markdown, com caminho, link, versão, quem pode abri-la, subpáginas, as páginas e tarefas que a mencionam e, se você pedir, as conversas dela.
Alterar tarefasboards.write
create_task
Cria uma tarefa em uma coluna, com marco, prioridade, modelo ou tarefa-mãe, opcionalmente depois de um cartão específico.
create_task_from_template
Cria uma tarefa a partir de um dos modelos do quadro.
create_sub_issue
Adiciona uma subtarefa a uma tarefa.
move_task
Move uma tarefa para outra coluna do mesmo quadro, opcionalmente depois de um cartão específico.
update_task_metadata
Altera nome, descrição, datas, prioridade, marco e tarefa-mãe, e marca a tarefa como concluída ou não.
set_task_assignees
Define, adiciona ou remove responsáveis por nome, e-mail ou “me”.
set_task_tags
Define, adiciona ou remove etiquetas por nome, criando as que faltam, como o app faz.
add_task_relation
Relaciona duas tarefas: bloqueia, bloqueada por, relacionada a ou duplicata de.
remove_task_relation
Remove a relação entre duas tarefas.
add_checklist
Adiciona um checklist a uma tarefa, com itens.
add_check_item
Adiciona itens a um checklist.
set_check_item_done
Marca ou desmarca um item de checklist.
link_pull_request
Vincula um pull request do GitHub ou um merge request do GitLab a uma tarefa.
start_timer
Inicia o cronômetro da tarefa (não faz nada se ele já estiver rodando).
stop_timer
Para o cronômetro da tarefa.
Planejar e escreverboards.write
create_milestone
Cria um marco em um quadro, com uma data-alvo.
update_milestone
Renomeia um marco ou muda a data ou a descrição dele.
create_document
Cria uma página em um workspace, opcionalmente dentro de uma página-mãe ou privada para você.
update_document
Renomeia uma página, ou substitui ou complementa o conteúdo dela; nunca sobrescreve uma edição mais recente de outra pessoa.
Comentarcomments.write
add_comment
Comenta em uma tarefa ou responde em uma conversa; menções notificam as pessoas.
add_document_comment
Abre uma conversa em uma página, opcionalmente citando um trecho, ou responde a uma.

update_task_metadata também lê a tarefa de volta, por isso precisa de boards.read também. As relações que ela adiciona só se acumulam; um link de duplicata pode ser removido passando duplicate_of: null. Os agentes vinculam tarefas e documentos em Markdown, como [ACME-12 Fix the login](/tasks/123) ou [Release plan](/documents/45), e o Trama mostra os backlinks dos dois lados.

O que pedir

  • “Resuma o que está atrasado no quadro Website.”
  • “Crie uma tarefa em A fazer no Website: atualizar a página de preços, prazo na sexta, prioridade alta.”
  • “Mova ACME-42 para Concluído e comente que foi lançada na 2.4.”
  • “Leia o documento Plano de lançamento e crie uma tarefa para cada item em aberto nele.”
  • “Escreva uma página de especificação para ACME-42 a partir dos comentários, vincule-a à tarefa e adicione um checklist com os itens em aberto.”
  • “Crie um marco “Beta” para 14 de novembro e coloque nele todas as tarefas de prioridade alta em A fazer.”

Solução de problemas

As ferramentas falham com 401 Unauthorized

Com OAuth, conclua a aprovação no navegador e confira se o cliente salvou a conexão; reconectar recomeça o processo. Com um token pessoal, envie Authorization: Bearer KEY.SECRET exatamente como foi copiado, e copie de novo se ele tiver sido substituído.

Uma ferramenta falha com 403 missing_scope

A conexão foi aprovada sem esse scope. Remova o app em ConfiguraçõesApps conectados e conecte de novo, aprovando o acesso de leitura, escrita e comentários.

O agente diz que um quadro ou uma tarefa não existe

A API responde 404 para tudo o que você não vê, então o agente não consegue distinguir o que não existe do que é privado. Confira se a sua conta consegue abrir o quadro no Trama.

Quais quadros o agente vê?

Os mesmos que você, nem um a mais. Os scopes do OAuth restringem o que ele pode fazer; nunca dão um acesso que o seu papel não tem.

Como desconecto um cliente?

Clientes OAuth: ConfiguraçõesApps conectados, e depois revogue. Clientes que usam o token pessoal: substitua o token em ConfiguraçõesAPI e MCP.

Veja também