Legal MCP (alternativa ao Jusbrasil)

Open-source alternative to Jusbrasil for AI: find lawsuits by name, CPF, CNPJ or case number and bui

Should I use this

Quality & Safety

B
Description quality
94%
Schema completeness
71%
Naming quality
82%
Poisoning risk
80%
Permission match
100%
Protocol compliance
100%

Findings (8)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool 'legal_checar_novidades' description contains placeholder textin legal_checar_novidades
  • LOWTool 'djen_get_certidao' description lacks action verbin djen_get_certidao
  • LOWTool 'querido_diario_buscar' description lacks action verbin querido_diario_buscar
  • LOWTool 'connect' description lacks action verbin connect
  • LOWTool 'transparencia_despesas_favorecido' name length outside 3-30 rangein transparencia_despesas_favorecido
  • LOWTool 'transparencia_despesas_documentos' name length outside 3-30 rangein transparencia_despesas_documentos
  • INFOTool description contains placeholder or incomplete textin legal_checar_novidades

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~6,495Tokens (tool definitions)
~764 BTypical response size
Significant attention impact (5.07% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "jusbrasil-mcp": {
      "url": "https://api.mcp.ai/legal"
    }
  }
}

Remote endpoints

https://api.mcp.ai/legalstreamable-http

What it can do

Tool inventory

Tools (30)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢djen_search_comunicacoes(numero_oab, uf_oab, nome_advogado, nome_parte, numero_processo, ...)

Busca publicações/intimações no Diário de Justiça Eletrônico Nacional (DJEN) por OAB, nome de advogado, número de processo, tribunal e data. Cada item traz o texto completo da comunicação. (É o Diário de Justiça — não é base de jurisprudência/ementas, nem cadastro de processos: só tem o que foi PUBLICADO, a partir de 2020 e com cada tribunal entrando numa data própria.) Resultado vazio NÃO devolve só `count: 0`: vem um bloco `ausencia` com o motivo provável (numero_invalido | fora_da_cobertura | sem_publicacao) — leia antes de concluir que o processo não existe, e confirme no `datajud_get_processo`, que é o índice histórico.

Input Schema

{
  "type": "object",
  "properties": {
    "numero_oab": {
      "type": "string"
    },
    "uf_oab": {
      "type": "string"
    },
    "nome_advogado": {
      "type": "string"
    },
    "nome_parte": {
      "type": "string"
    },
    "numero_processo": {
      "type": "string"
    },
    "sigla_tribunal": {
      "type": "string"
    },
    "data_inicio": {
      "type": "string"
    },
    "data_fim": {
      "type": "string"
    },
    "meio": {
      "type": "string"
    },
    "texto": {
      "type": "string"
    },
    "pagina": {
      "type": "number"
    },
    "itens_por_pagina": {
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢djen_processos_por_parte(nome_parte, sigla_tribunal, data_inicio, data_fim, itens_por_pagina, ...)

DESCOBERTA por NOME de parte (grátis, sem captcha): busca o DJEN por quem figura no processo e agrupa por número — devolve a lista de processos da pessoa/empresa, com partes e tribunal. Cobre processos COM publicação no Diário a partir de 2020 (não o acervo histórico completo), então `count_processos: 0` NÃO significa que a pessoa não tem processo — nesse caso vem um bloco `ausencia` explicando. Para entrada por CPF/CNPJ ou processos dormentes, use as tools processos_* (engine). Com os numero_processo, enriqueça com datajud.

Input Schema

{
  "type": "object",
  "properties": {
    "nome_parte": {
      "type": "string"
    },
    "sigla_tribunal": {
      "type": "string"
    },
    "data_inicio": {
      "type": "string"
    },
    "data_fim": {
      "type": "string"
    },
    "itens_por_pagina": {
      "type": "number"
    },
    "pagina": {
      "type": "number"
    }
  },
  "required": [
    "nome_parte"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢djen_get_certidao(hash)

Retorna a URL da certidão (PDF) de uma comunicação do DJEN pelo seu hash (campo `hash` retornado na busca).

Input Schema

{
  "type": "object",
  "properties": {
    "hash": {
      "type": "string"
    }
  },
  "required": [
    "hash"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢processos_buscar_por_nome(nome, platforms, tribunais, max_results)

DESCOBERTA: busca processos pelo NOME de uma parte (pessoa ou empresa) raspando os portais públicos dos tribunais (ESAJ/PJe/eproc/Projudi) — o gap que datajud (só por número) e djen (OAB/advogado) não cobrem. É ASSÍNCRONO e lento: retorna { job_id }; chame processos_get_resultado(job_id) para obter a lista. Com os numero_cnj, use datajud_*/djen_* para enriquecer de graça.

Input Schema

{
  "type": "object",
  "properties": {
    "nome": {
      "type": "string"
    },
    "platforms": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "esaj",
          "pje",
          "eproc",
          "projudi"
        ]
      }
    },
    "tribunais": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "max_results": {
      "type": "number"
    }
  },
  "required": [
    "nome"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢processos_buscar_por_documento(documento, nome_titular, platforms, tribunais, max_results)

DESCOBERTA por CPF ou CNPJ. CPF/CNPJ não são chave de busca pública nos tribunais, então o serviço resolve o documento em nome(s) e busca por NOME nos portais: CNPJ→razão social (automático) e CPF→`nome_titular`, que você PRECISA informar (CPF→nome não é dado público). ASSÍNCRONO: retorna { job_id }; faça o polling com processos_get_resultado(job_id). Sem o nome do titular do CPF, use processos_buscar_por_nome.

Input Schema

{
  "type": "object",
  "properties": {
    "documento": {
      "type": "string"
    },
    "nome_titular": {
      "type": "string"
    },
    "platforms": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "esaj",
          "pje",
          "eproc",
          "projudi"
        ]
      }
    },
    "tribunais": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "max_results": {
      "type": "number"
    }
  },
  "required": [
    "documento"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢processos_obter_pecas(numero_cnj, tribunal, peca_ids, formato)

DOWNLOAD das DECISÕES PÚBLICAS de um processo (acórdãos/inteiro teor): busca as decisões públicas do processo, baixa o PDF e converte em Markdown (o teor da decisão), com link temporário. Escopo PÚBLICO (CNJ Res. 121/2010): retorna o inteiro teor das decisões/acórdãos, NÃO os autos completos (petições/documentos exigem credencial de advogado). É ASSÍNCRONO (captcha por busca): retorna { job_id }; faça o polling com processos_get_resultado(job_id). Quando 'done', cada item traz `markdown` (texto da decisão) + `pdf_url`/`expires_at` (link expira, nada fica arquivado). Use o numero_cnj de processos_get_resultado/datajud. Processo sem decisão pública (ex.: só 1º grau em andamento) volta lista vazia.

Input Schema

{
  "type": "object",
  "properties": {
    "numero_cnj": {
      "type": "string"
    },
    "tribunal": {
      "type": "string"
    },
    "peca_ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "formato": {
      "type": "string",
      "enum": [
        "markdown",
        "pdf"
      ]
    }
  },
  "required": [
    "numero_cnj"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢processos_get_resultado(job_id, job_ids)

Polling de um job de busca (de processos_buscar_por_nome/documento). Retorna { status, progress, items[], errors[] }. status: queued|running|done|error. Quando 'done', items[] traz os processos (numero_cnj, partes, advogados/OAB, classe/assunto) prontos para enriquecer com datajud_*/djen_*. Continue chamando até 'done' (a busca é lenta). IMPORTANTE: um 'done' pode vir DEGRADADO, e nesse caso vem um bloco `aviso` — leia antes de usar os dados. `vinculacao_nome: "nao_confirmada"` significa que o resultado NÃO foi validado contra o nome buscado (não apresente como processo da pessoa sem conferir), e `tribunais_inacessiveis` lista portais que não responderam: isso NÃO quer dizer que o tribunal não tenha o processo. Bulk support: accepts job_ids for batched execution.

Input Schema

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string"
    },
    "job_ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "job_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢cnpj_consultar(cnpj)

Consulta cadastral de um CNPJ (grátis): razão social, nome fantasia, situação cadastral, CNAE principal, porte, município/UF e SÓCIOS (QSA). Útil pra identificar a empresa e seus sócios antes de buscar processos.

Input Schema

{
  "type": "object",
  "properties": {
    "cnpj": {
      "type": "string"
    }
  },
  "required": [
    "cnpj"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢cnpj_processos(cnpj, incluir_socios)

DESCOBERTA por CNPJ: resolve o CNPJ em razão social (e sócios) e busca os processos por NOME no Diário (DJEN) — grátis, com número de processo completo. Opcionalmente inclui os processos dos sócios. Com os números, enriqueça com as tools datajud.

Input Schema

{
  "type": "object",
  "properties": {
    "cnpj": {
      "type": "string"
    },
    "incluir_socios": {
      "type": "boolean"
    }
  },
  "required": [
    "cnpj"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢cpf_validar(cpf)

Valida os dígitos verificadores de um CPF (mod 11) e informa se há broker de identidade disponível. Não revela a identidade do titular.

Input Schema

{
  "type": "object",
  "properties": {
    "cpf": {
      "type": "string"
    }
  },
  "required": [
    "cpf"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢cpf_processos(cpf, nome)

DESCOBERTA por CPF: busca os processos da pessoa por NOME no Diário (DJEN), grátis. IMPORTANTE: CPF→nome não é dado público — informe o parâmetro `nome` (recomendado). Sem nome, só resolve se houver um broker pago configurado na plataforma; caso contrário retorna instrução pedindo o nome.

Input Schema

{
  "type": "object",
  "properties": {
    "cpf": {
      "type": "string"
    },
    "nome": {
      "type": "string"
    }
  },
  "required": [
    "cpf"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢transparencia_sancoes(cpf_cnpj)

Consulta sanções de uma pessoa ou empresa por CPF/CNPJ no Portal da Transparência (consolida CEIS — inidôneas/suspensas, CNEP — empresas punidas, e CEPIM — entidades impedidas). Retorna `tem_sancao` + lista com tipo, órgão, fundamentação e datas. Due diligence / compliance.

Input Schema

{
  "type": "object",
  "properties": {
    "cpf_cnpj": {
      "type": "string"
    }
  },
  "required": [
    "cpf_cnpj"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢transparencia_pep(cpf)

Verifica se um CPF é de Pessoa Exposta Politicamente (PEP) e retorna função/órgão/período. Importante para compliance/KYC.

Input Schema

{
  "type": "object",
  "properties": {
    "cpf": {
      "type": "string"
    }
  },
  "required": [
    "cpf"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢transparencia_despesas_favorecido(cpf_cnpj, mes_ano_inicio, mes_ano_fim)

DESPESAS recebidas por uma empresa ou pessoa (CPF/CNPJ) do Governo Federal num período: 'quanto a empresa recebeu da União'. Soma os recursos recebidos e quebra por órgão pagador e por mês. IMPORTANTE: cobre só o Executivo FEDERAL, não inclui estados nem municípios (cada ente tem portal próprio). Sem datas, usa os últimos 12 meses.

Input Schema

{
  "type": "object",
  "properties": {
    "cpf_cnpj": {
      "type": "string"
    },
    "mes_ano_inicio": {
      "type": "string"
    },
    "mes_ano_fim": {
      "type": "string"
    }
  },
  "required": [
    "cpf_cnpj"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢transparencia_despesas_documentos(cpf_cnpj, ano, fase, ordenacao, pagina)

Documentos de despesa (Empenho, Liquidação ou Pagamento) emitidos pelo Governo Federal para um favorecido (CPF/CNPJ) num ano, item-a-item: data, documento, espécie, valor, órgão, elemento de despesa e nº do processo. `fase` default = 3 (Pagamento, o dinheiro efetivamente pago). Só Executivo FEDERAL. Para o total agregado use transparencia_despesas_favorecido.

Input Schema

{
  "type": "object",
  "properties": {
    "cpf_cnpj": {
      "type": "string"
    },
    "ano": {
      "type": "number"
    },
    "fase": {
      "type": "string",
      "enum": [
        "empenho",
        "liquidacao",
        "pagamento"
      ]
    },
    "ordenacao": {
      "type": "number"
    },
    "pagina": {
      "type": "number"
    }
  },
  "required": [
    "cpf_cnpj"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢querido_diario_buscar(termo, territory_ids, data_inicio, data_fim, size)

Busca em diários oficiais MUNICIPAIS (milhares de prefeituras) por termo/nome — útil pra menções fora do Judiciário: licitações, nomeações, contratos, sanções municipais. Complementa o DJEN (que é judicial). Cada resultado traz trechos (excerpts) + URL do diário. Para nome exato, use aspas no termo.

Input Schema

{
  "type": "object",
  "properties": {
    "termo": {
      "type": "string"
    },
    "territory_ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "data_inicio": {
      "type": "string"
    },
    "data_fim": {
      "type": "string"
    },
    "size": {
      "type": "number"
    }
  },
  "required": [
    "termo"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢jurisprudencia_buscar(termo, tipo, tribunais, data_de, data_ate, ...)

Busca jurisprudência (acórdãos, súmulas, orientações jurisprudenciais, temas) por termo ou tese. Devolve, por registro: identificação da decisão, órgão julgador, relator, data, o trecho que casou a busca e o link para o documento no site oficial. Quando o registro traz `texto_integral_disponivel: true`, o inteiro teor pode ser lido com jurisprudencia_documento usando o `id`. Alguns registros vêm sem relator/órgão/número quando a publicação não permite afirmar esses campos — campo nulo é ausência de informação na fonte, não defeito. Informe `tribunais` para restringir a busca; sem isso a pesquisa é ampla. Zero resultado não significa que a decisão não exista: costuma ser vocabulário (o termo do tribunal difere do coloquial) ou filtro estreito demais. No termo funcionam os operadores: espaço = E, "entre aspas" = frase exata, OR = ou, -palavra = exclui.

Input Schema

{
  "type": "object",
  "properties": {
    "termo": {
      "type": "string"
    },
    "tipo": {
      "type": "string"
    },
    "tribunais": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "data_de": {
      "type": "string"
    },
    "data_ate": {
      "type": "string"
    },
    "ordenar": {
      "type": "string",
      "enum": [
        "relevancia",
        "recencia"
      ]
    },
    "max": {
      "type": "number"
    }
  },
  "required": [
    "termo"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢jurisprudencia_sumulas(termo, max)

Busca SÚMULAS (incluindo vinculantes) por termo. Atalho do jurisprudencia_buscar com tipo=Súmula. Quando o texto completo do enunciado está disponível ele vem na ementa, e enunciado cancelado/revogado é marcado no próprio texto.

Input Schema

{
  "type": "object",
  "properties": {
    "termo": {
      "type": "string"
    },
    "max": {
      "type": "number"
    }
  },
  "required": [
    "termo"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢jurisprudencia_documento(id, numeracao, tribunal, ids)

Lê o INTEIRO TEOR de uma decisão (texto completo do acórdão, não o resumo). Use o campo `id` de um resultado de jurisprudencia_buscar que traga `texto_integral_disponivel: true` (o `id` já identifica o tribunal, basta repassá-lo), ou o número CNJ do processo. Resultado sem `id` não é legível por aqui, abra a `url`. Quando o processo tem mais de uma decisão, as outras vêm listadas em `outras_decisoes_do_processo`. Bulk support: accepts ids for batched execution.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "numeracao": {
      "type": "string"
    },
    "tribunal": {
      "type": "string"
    },
    "ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢legal_dossie(nome, cnpj, cpf, nome_titular, numero_processo, ...)

Raio-X jurídico de uma pessoa ou empresa: descobre os processos e (opcional) o andamento, num relatório consolidado. Aceita `nome`, `cnpj`, `cpf` (com `nome_titular`) ou `numero_processo` — informe APENAS um. Retorna a lista de processos (número, partes, tribunal) + um aviso. IMPORTANTE: confirme sempre o número e o andamento no site oficial do tribunal — os dados podem estar incompletos/desatualizados.

Input Schema

{
  "type": "object",
  "properties": {
    "nome": {
      "type": "string"
    },
    "cnpj": {
      "type": "string"
    },
    "cpf": {
      "type": "string"
    },
    "nome_titular": {
      "type": "string"
    },
    "numero_processo": {
      "type": "string"
    },
    "incluir_andamento": {
      "type": "boolean"
    },
    "incluir_socios": {
      "type": "boolean"
    },
    "incluir_sancoes": {
      "type": "boolean"
    },
    "incluir_mencoes_municipais": {
      "type": "boolean"
    },
    "max_processos": {
      "type": "number"
    },
    "sigla_tribunal": {
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪legal_monitorar(numero_processo, nome, cnpj, oab, uf, ...)

Cria um monitoramento: avisa quando houver NOVIDADE — nova movimentação (numero_processo), novo processo de uma pessoa/empresa (nome/cnpj), ou nova publicação/intimação de uma OAB (oab+uf). Os alertas chegam pelo webhook do install (evento legal.movimentacao_nova); use legal_checar_novidades para checar na hora.

Input Schema

{
  "type": "object",
  "properties": {
    "numero_processo": {
      "type": "string"
    },
    "nome": {
      "type": "string"
    },
    "cnpj": {
      "type": "string"
    },
    "oab": {
      "type": "string"
    },
    "uf": {
      "type": "string"
    },
    "sigla_tribunal": {
      "type": "string"
    },
    "intervalo_horas": {
      "type": "number"
    },
    "label": {
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢legal_listar_monitoramentos

Lista os monitoramentos ativos do workspace.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴legal_remover_monitoramento(watch_id, watch_ids)

Remove (desativa) um monitoramento pelo seu id (`watch_id`). Bulk support: accepts watch_ids for batched execution.

Input Schema

{
  "type": "object",
  "properties": {
    "watch_id": {
      "type": "string"
    },
    "watch_ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "watch_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢legal_checar_novidades(watch_id, watch_ids)

Checa AGORA se há novidade nos monitoramentos (sem esperar o ciclo automático). Passe `watch_id` para um específico, ou nada para checar todos. Atualiza o estado e retorna o que mudou. Bulk support: accepts watch_ids for batched execution.

Input Schema

{
  "type": "object",
  "properties": {
    "watch_id": {
      "type": "string"
    },
    "watch_ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢show_version

Show the current MCP platform and adapter versions.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡report_bug(message, context, conversation)

Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.

Input Schema

{
  "type": "object",
  "properties": {
    "message": {
      "type": "string"
    },
    "context": {
      "default": "",
      "type": "string"
    },
    "conversation": {
      "default": "[]",
      "type": "string"
    }
  },
  "required": [
    "message"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢connect

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.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢toolkit_info

Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡marketplace(action, query, mcp_id, limit, tier_slug, ...)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "action": {
      "default": "search",
      "type": "string",
      "enum": [
        "search",
        "describe",
        "install",
        "uninstall",
        "subscribe",
        "cancel",
        "resume",
        "report_bug",
        "request_mcp",
        "list_tools",
        "invoke",
        "search_prompts",
        "get_prompt",
        "publish_prompt"
      ]
    },
    "query": {
      "default": "",
      "type": "string"
    },
    "mcp_id": {
      "default": "",
      "type": "string"
    },
    "limit": {
      "default": 10,
      "type": "number"
    },
    "tier_slug": {
      "default": "",
      "type": "string"
    },
    "immediate": {
      "default": false,
      "type": "boolean"
    },
    "cancel_reason": {
      "type": "string",
      "enum": [
        "too_expensive",
        "missing_features",
        "switched_service",
        "unused",
        "customer_service",
        "too_complex",
        "low_quality",
        "other"
      ]
    },
    "cancel_comment": {
      "default": "",
      "type": "string"
    },
    "message": {
      "default": "",
      "type": "string"
    },
    "report_context": {
      "default": "",
      "type": "string"
    },
    "conversation": {
      "default": "[]",
      "type": "string"
    },
    "request_name": {
      "default": "",
      "type": "string"
    },
    "request_details": {
      "default": "",
      "type": "string"
    },
    "tool_id": {
      "default": "",
      "type": "string"
    },
    "arguments": {
      "default": "{}",
      "type": "string"
    },
    "prompt_slug": {
      "default": "",
      "type": "string"
    },
    "prompt_vars": {
      "default": "{}",
      "type": "string"
    },
    "prompt_category": {
      "default": "",
      "type": "string"
    },
    "prompt_tool": {
      "default": "",
      "type": "string"
    },
    "prompt_title": {
      "default": "",
      "type": "string"
    },
    "prompt_description": {
      "default": "",
      "type": "string"
    },
    "prompt_body": {
      "default": "",
      "type": "string"
    },
    "prompt_targets": {
      "default": [],
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "claude",
          "chatgpt",
          "cursor",
          "lovable"
        ]
      }
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡authenticate(token)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "token": {
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded30 tools
verifiedversion not recorded30 tools
verifiedversion not recorded30 tools
verifiedversion not recorded30 tools
verifiedversion not recorded30 tools
verifiedversion not recorded30 tools