Um servidor Model Context Protocol (MCP) que expõe metadados de workspaces, review sets e buscas salvas do Relativity como ferramentas dentro de uma conversa com o Claude. Gerentes de legal-ops e engenheiros de e-discovery podem pedir ao Claude que liste workspaces ativos, obtenha contagens de documentos de um review set ou resuma a definição de uma busca salva — sem precisar abrir a interface do Relativity nem escrever uma consulta personalizada. O scaffold está em apps/web/public/artifacts/mcp-server-relativity-ediscovery/ e é somente leitura por design: nenhum documento é recuperado, nenhuma decisão de codificação por documento é exposta e nenhuma operação de escrita está registrada.
Quando usar
Use este servidor quando sua equipe usa o Relativity — seja o RelativityOne na nuvem ou o Relativity Server on-prem — e você consegue identificar três ou mais perguntas operacionais recorrentes que exigem navegar pela interface do Relativity várias vezes por semana. Exemplos típicos: “Quantos documentos estão no review set do processo Alpha e qual percentual já foi revisado?”, “Quais workspaces estão ativos atualmente e quais são suas contagens de documentos?”, “Mostre as buscas salvas no workspace do processo Bravo e quem são os proprietários.” Essas perguntas são navegação operacional; nenhuma delas exige ler um único documento ou ver uma única decisão de codificação. São exatamente o tipo de trabalho que se comprime bem em uma conversa com o Claude.
O argumento econômico é concreto. Uma equipe de e-discovery gerenciando entre 8 e 12 processos ativos simultaneamente gasta uma parte significativa de cada semana buscando números de status no Relativity: abrindo dashboards de workspace, alternando entre visões de processos, verificando o progresso dos review sets, confirmando definições de buscas salvas para próximas produções. Uma estimativa conservadora (baseada na estrutura da tarefa, não em um estudo controlado) é de 45 minutos por dia para um gerente de legal-ops em tempo integral nessa escala. Comprimir essas buscas em conversas de 30 segundos com o Claude reduz a sobrecarga operacional para menos de 5 minutos por dia. O tempo recuperado é destinado a trabalho de coordenação substantivo: comunicar o progresso da revisão para advogados externos, ajustar atribuições nos review sets e preparar cronogramas de produção.
Este servidor também é útil para integração de novos membros. Quando alguém novo entra em uma equipe de processo, pedir ao Claude para listar as buscas salvas e os review sets do workspace é mais rápido do que agendar uma demonstração na interface do Relativity. O retrato de metadados de um processo — quantos workspaces existem, quais review sets existem, quais são as buscas principais — fica imediatamente acessível em uma conversa com o Claude.
Quando NÃO usar
Não use se sua quantidade de processos é baixa — menos de aproximadamente quatro processos ativos ao mesmo tempo — ou se as consultas de metadados operacionais da sua equipe são menos de cerca de quinze por semana. O custo de configuração cobre: provisionamento de credenciais com o administrador do Relativity, uma revisão da postura de privilégio com o advogado interno, uma revisão de segurança do raio de ação da conta de serviço e o ciclo de validação de sandbox para produção descrito na etapa de verificação de funcionamento. Esse custo não se amortiza com baixo volume de consultas. Use a interface do Relativity diretamente; reconsidere quando a quantidade de processos ou a frequência de consultas aumentar.
Não use se seu deploy é regido por uma ordem de proteção que restrinja como os dados do caso podem ser transmitidos ou processados. Nomes de workspaces do Relativity, atribuições de processos e nomes de review sets podem estar sujeitos a obrigações de confidencialidade. Antes de enviar esses metadados por uma sessão do Claude, confirme com o advogado responsável que o deploy é compatível com as ordens de proteção aplicáveis e quaisquer protocolos de tratamento de dados adotados pelo seu escritório ou cliente.
Não use se sua instância do Relativity é anterior ao Relativity Server 2022 ou se seu tenant não validou os caminhos base da API REST. O scaffold aponta para as convenções da API REST documentadas para o RelativityOne (2024–2025); os caminhos de versões on-prem mais antigas divergem. Executá-lo contra um caminho base não validado produz erros 404 ou respostas malformadas que aparecem no Claude como “nenhum dado encontrado” — exatamente o modo de falha que corrói a confiança em ferramentas jurídicas mediadas por MCP. Confirme os caminhos com o administrador do Relativity antes do primeiro uso.
Não use se você ainda não tem uma política de IA cobrindo o acesso do Claude a metadados de e-discovery. A política deve abordar: quais processos estão no escopo, quem pode consultar via MCP e como as sessões do Claude são registradas. Estabeleça a política primeiro.
Configuração
A configuração completa está documentada em apps/web/public/artifacts/mcp-server-relativity-ediscovery/README.md. Resumo:
- Clone o bundle em um repositório privado. Execute
pip install -e .dentro de um ambiente virtual Python 3.11+. - Provisione credenciais. Para uso em produção, crie um cliente OAuth2 no Relativity (Home → Authentication → OAuth2 Client Manager → New; Flow Grant Type: Client Credentials; Context User: uma conta de serviço). Copie o client ID e o client secret. Para uso exclusivo de desenvolvimento, a autenticação Basic (usuário/senha) é suportada, mas não recomendada para ambientes compartilhados.
- Configure as variáveis de ambiente:
RELATIVITY_HOST(a URL do seu tenant, por exemplohttps://your-tenant.relativity.one),RELATIVITY_AUTH_MODE(oauth2oubasic) e as variáveis de credenciais correspondentes. - Registre o servidor no Claude Desktop pelo snippet JSON do README. O servidor registra cinco ferramentas sob
relativity-ediscovery. - Execute a verificação de funcionamento: peça ao Claude para listar seus workspaces. Confirme que você recebe nomes de workspaces e ArtifactIDs sem texto de documentos. Peça as buscas salvas em um workspace específico. Confirme que a resposta contém apenas nomes de buscas e proprietários. Se qualquer conteúdo de documento aparecer, pare e investigue antes de ampliar o acesso.
A conta de serviço deve ter acesso de leitura aos workspaces pretendidos. Provisione-a com o escopo mais restrito que o deploy precisar — não como administrador de instância.
O que faz
O scaffold registra cinco ferramentas, todas somente leitura:
list_workspaces — chama o endpoint REST do Workspace Manager (GET /Relativity.Rest/api/relativity-environment/v1/workspace/) e retorna uma lista paginada de workspaces acessíveis com nomes, ArtifactIDs, status e atribuições de processos. O ArtifactID é a chave usada em todas as chamadas de ferramentas subsequentes para limitar as consultas a um workspace específico.
get_workspace_summary — chama o helper de resumo do Workspace Manager (/summary) para um único workspace e retorna a contagem de documentos e o tamanho total dos arquivos. A escolha técnica aqui é expor o endpoint de resumo em vez da leitura completa do workspace: o endpoint de resumo retorna os dois números que os gerentes de legal-ops mais frequentemente perguntam, sem retornar campos de configuração de workspace irrelevantes para consultas de status operacional.
get_review_set_metadata — consulta o Object Manager (POST /Relativity.Rest/api/Relativity.ObjectManager/v1/workspace/{id}/object/read) para um objeto de review set específico. Review sets no Relativity são Relativity Dynamic Objects (RDOs) cujo ArtifactTypeID é atribuído quando o aplicativo de revisão é instalado e não é fixo entre instâncias (ao contrário dos documentos, que são sempre tipo 10). O scaffold resolve o ArtifactTypeID consultando o registro de tipos de objetos na primeira chamada e depois armazena em cache para a sessão. A ferramenta retorna metadados no nível do review set — nome, status, contagem total de documentos, contagem de documentos revisados, atribuições de revisores — e explicitamente não expõe os valores de codificação por documento. A resposta inclui um campo _note lembrando ao Claude que os dados de codificação por documento estão intencionalmente ausentes.
get_saved_search_summary — chama o Keyword Search Manager (POST /Relativity.Rest/api/Relativity.Services.Search.ISearchModule/Keyword Search Manager/ReadSingleAsync) para retornar o DTO de definição da busca salva: nome, condições, lista de campos e proprietário. As condições são retornadas à sessão do Claude para que os advogados possam confirmar o que uma busca salva realmente pesquisa — uma necessidade operacional comum antes de usar uma busca para um lote de produção. As condições nunca são gravadas nos logs (o helper log_invocation() em server.py as omite) porque as condições de uma busca salva podem revelar a estratégia de revisão jurídica.
list_saved_searches — chama o endpoint de consulta do Keyword Search Manager para retornar uma lista paginada de buscas salvas em um workspace. A resposta é reduzida a nomes, ArtifactIDs, proprietários e datas de modificação apenas; as condições não são incluídas na resposta de lista (apenas na chamada individual a get_saved_search_summary, para que o advogado as solicite explicitamente).
O dispatch em src/relativity_ediscovery_mcp/server.py não contém operações de escrita. Não existe nenhuma rota create_*, update_*, delete_*, code_document ou de ativação de produção. Adicionar uma requer uma alteração de código explícita.
Realidade de custos
Três itens, todos reais:
Assinatura do Claude. Claude Desktop ou Claude Code com MCP habilitado. Pro a $20/usuário/mês ou Team a $25–30/usuário/mês cobre a maioria das configurações de equipes de legal-ops. Uma equipe executando 200 consultas de metadados operacionais por semana em 10 processos ativos fica confortavelmente dentro desses planos; deployments de altíssimo volume (por exemplo, relatórios automáticos de status de processos a cada hora) podem justificar o Max.
Hospedagem do servidor. Processo Python auto-hospedado. Execute localmente por usuário para desenvolvimento. Para uso compartilhado da equipe, uma pequena VM interna (1 vCPU / 1 GB RAM é suficiente para menos de 200 chamadas por dia) atrás da VPN do escritório custa aproximadamente $5–15/mês em um provedor de nuvem, ou sem custo incremental se você já tem infraestrutura interna.
Cota da API REST do Relativity. O Relativity limita a taxa de clientes REST por tenant, com limites que variam conforme a versão da instância e o nível de assinatura. Uma equipe executando 200 consultas por semana com o padrão gerado por este servidor (leituras de objetos individuais, não exportações em massa de documentos) fica bem dentro das cotas padrão. Uma automação que verifica todos os workspaces a cada hora em uma instância grande vai atingir os limites de taxa; a lista de TODO no README sinaliza as tentativas com backoff exponencial como uma tarefa pré-produção.
O item não orçado é o tempo de advogados e administradores. Planeje de uma a três horas de revisão do advogado interno da postura de privilégio antes de qualquer deploy em produção, de uma a duas horas com o administrador do Relativity para validar os caminhos da API e provisionar a conta de serviço com o escopo correto, e uma revisão trimestral recorrente à medida que o Relativity lança atualizações que podem mudar a superfície da API.
Modos de falha
Expiração do token de autenticação durante uma sessão longa. O scaffold busca um token OAuth2 uma vez na inicialização. Os tokens expiram em aproximadamente uma hora. Se uma sessão do Claude durar mais de uma hora e o token expirar no meio da conversa, as chamadas de ferramentas subsequentes retornam erros 401 que aparecem na conversa do Claude como “Relativity retornou um erro.” Guard: o TODO #2 do README sinaliza a renovação do token OAuth2 como uma tarefa necessária antes do uso em produção. Até lá, trate isso como uma postura apenas para desenvolvimento em sessões de menos de uma hora.
Falha na resolução do ArtifactTypeID para review sets. Review sets são RDOs cujo ArtifactTypeID não é fixo; o scaffold o resolve consultando o registro de tipos de objetos por nome na primeira chamada. Se o aplicativo de revisão não estiver instalado no workspace de destino, ou se o nome do tipo de objeto diferir de “Review Set” na configuração do seu tenant, a busca falha com um erro descritivo. Guard: a função resolve_review_set_artifact_type_id() em server.py gera uma mensagem de erro clara nomeando o tipo de objeto que buscou, então a falha é diagnosticável. Valide o nome do tipo de objeto com o administrador do Relativity antes do deploy em produção.
Divulgação do nome do workspace ou do processo sob uma ordem de proteção. Nomes de workspaces no Relativity tipicamente incluem nomes de processos. Enviá-los por uma sessão do Claude pode implicar obrigações de confidencialidade se o processo for regido por uma ordem de proteção que restrinja a transmissão de metadados do caso. Guard: antes de fazer deploy em qualquer processo ativo, confirme com o advogado responsável que o deploy é compatível com as ordens de proteção aplicáveis. Este é o único modo de falha sem uma proteção técnica — requer uma etapa de revisão jurídica. O README declara isso explicitamente na seção do modelo de segurança.
Registro de condições de buscas salvas. Uma instrumentação descuidada do servidor registraria os parâmetros de consulta incluindo as condições de busca, o que poderia criar um registro descobrível da estratégia de revisão. Guard: o helper log_invocation() em server.py aceita apenas o nome da ferramenta e a contagem de resultados; a string de condição de busca nunca é passada para o logger. Restaurar o registro de condições requer uma alteração de código revisada contra a política de privilégio.
Nomes de campos de resposta diferem da sua versão do Relativity. Os nomes de campos em get_review_set_metadata ("Total Documents", "Reviewed Documents", "Reviewers") seguem convenções de nomenclatura de campos comuns no RelativityOne, mas são personalizáveis e seu tenant pode usar nomes diferentes. Se a ferramenta retornar valores de campos vazios, os nomes de campos estão errados para o seu tenant. Guard: valide os nomes de campos com a configuração de campos do administrador do Relativity antes de confiar na saída da ferramenta.
Versus as alternativas
Os dashboards e widgets nativos do Relativity. O Relativity inclui dashboards de status de processos dentro de cada workspace. Escolha esses se a resposta ficar dentro do Relativity e a pessoa que pergunta tiver um login no Relativity. Escolha este servidor MCP quando a resposta precisar chegar a uma conversa do Claude que também abrange contexto de email, notas de gestão de processos, comunicações com advogados externos ou outras ferramentas no seu stack de legal-ops — ou seja, quando o valor é o raciocínio do Claude através de múltiplas fontes, não apenas a navegação no Relativity.
Relatórios personalizados diretamente via API REST do Relativity. Qualquer engenheiro pode escrever um script Python que consulta a API REST do Relativity e envia um relatório de status por email ou Slack. Essa abordagem é adequada para relatórios agendados em formatos fixos. Escolha o servidor MCP quando as consultas são ad hoc — quando o advogado não sabe de antemão o que vai precisar perguntar, ou quando a pergunta surge de uma conversa em vez de um template de relatório fixo. A abordagem MCP lida com a variabilidade de consultas; um script fixo não.
Status quo: advogados e equipe de legal-ops navegam pela interface do Relativity. Esta é a linha de base honesta. O servidor MCP vence apenas quando a quantidade de processos e a frequência de consultas são altas o suficiente para amortizar o custo de configuração. Com menos de aproximadamente quatro processos ativos e quinze consultas operacionais por semana, o status quo é mais rápido e traz menos riscos.
Stack
Servidor Python MCP auto-hospedado (mcp SDK oficial, httpx, pydantic) que se comunica com a API REST do Relativity no backend; Claude Desktop ou Code no front end. O código-fonte do server.py está em apps/web/public/artifacts/mcp-server-relativity-ediscovery/src/relativity_ediscovery_mcp/server.py. O bundle completo com instruções de instalação, referência de variáveis de ambiente, JSON de registro e a lista numerada de TODO para prontidão de produção está em apps/web/public/artifacts/mcp-server-relativity-ediscovery/README.md.