UpRank

Pesquise, redija, pontue e publique artigos citados para o seu próprio site; cada afirmação rastreada até uma fonte e com rígidos controles de qualidade aplicados.

Servidor MCP hospedado

npx add-mcp 'https://uprank.devino.ca/api/mcp'

Instala no Claude Code, Codex, Cursor e outros

Documentação

Servidor MCP para escrita de blogs com IA

Copie uma frase, cole-a em qualquer agente de codificação de IA, e ele conecta o servidor MCP uprank por conta própria: 17 ferramentas, 10 recursos, 4 prompts de orquestração.

Um servidor MCP para escrita de blogs permite que seu agente de codificação execute as etapas de escrita de um artigo, como pesquisa, briefing, rascunho e pontuação, como chamadas de ferramenta em vez de em uma janela de chat. O uprank expõe 17 ferramentas via MCP: pesquisa, briefings, rascunhos, pontuação contra 13 portões rígidos, revisão, sugestões de links e registros de publicação para rascunhos do Strapi. Cada chamada executa o mesmo pipeline e os mesmos portões que o aplicativo, então um artigo que seu agente rascunha é submetido às mesmas regras.

Mais rápido: Adicionar ao Claude

Adicionar ao Claude

Claude na web, Desktop ou mobile: abre o diálogo "Adicionar conector personalizado" do Claude com o servidor MCP do uprank preenchido. Clique em Adicionar e aprove a tela de consentimento do uprank como proprietário do workspace. Nenhum token para copiar.

O que o agente executa

Fetch and execute the appropriate instructions to set me up for uprank from https://uprank.devino.ca/agent-setup/prompt.md

O agente busca /agent-setup/prompt.md, pede uma vez um token MCP (emitido em /mcp), registra o servidor e o verifica com article_list.

Configuração manual

Os mesmos comandos que o prompt usa, por agente.

Os agentes comparados

Como cada guia adiciona o servidor e como verificar se ele carregou. Cada linha vincula ao guia completo.

AgenteAdicionado comComando ou arquivoConfirmar carregamento
Claude CodeComando CLIclaude mcp add --transport http --scope user uprank https://uprank.devino.ca/api/mcp --header 'Authorization: Bearer ${UPRANK_MCP_TOKEN}'Execute claude mcp list: uprank mostra ✔ Connected assim que o Claude Code alcançar o servidor. claude mcp get uprank mostra essa entrada, e /mcp dentro de uma sessão a lista com sua contagem de ferramentas.
CodexComando CLIcodex mcp add uprank --url https://uprank.devino.ca/api/mcp --bearer-token-env-var UPRANK_MCP_TOKEN Config: ~/.codex/config.tomlExecute codex mcp list e verifique se uprank está entre os servidores configurados. Dentro do TUI do Codex, /mcp mostra os servidores MCP ativos.
CursorArquivo de configuração~/.cursor/mcp.jsonAbra Customize na barra lateral e escolha MCPs: uprank deve estar listado com o alternador ativado. Suas ferramentas também aparecem na lista de ferramentas no topo do painel de chat.
WindsurfArquivo de configuração~/.config/devin/mcp_config.jsonAbra o menu Actions (...) no canto superior direito do painel Cascade. A seção MCPs lista uprank com o número de ferramentas habilitadas e um alternador para ligar ou desligar.
VS Code (Copilot)Arquivo de configuração.vscode/mcp.jsonExecute MCP: List Servers na Paleta de Comandos e selecione uprank para iniciar, parar ou reiniciar, ou para mostrar sua saída. Ele também está listado em MCP SERVERS - INSTALLED na visualização Extensions.
OpenCodeArquivo de configuração~/.config/opencode/opencode.jsonExecute opencode mcp list: ele lista cada servidor MCP configurado e seu status de autenticação, então uprank deve aparecer lá.

O que você obtém

  • 17 ferramentas Pesquise tópicos, gere briefings e rascunhos, pontue, revise, sugira links, registre publicações de rascunhos.
  • 10 recursos Corpos completos de artigos, pacotes de evidências, alegações, avaliações de qualidade, rastreamentos de execução.
  • 4 prompts Receitas transparentes de orquestração: criar, melhorar, atualizar, publicar.

As 17 ferramentas MCP

Cada chamada é limitada pelos escopos da credencial e executa o mesmo pipeline e portões de qualidade que o aplicativo.

pipeline_run

Execute o pipeline completo para um tópico: pesquisa, evidências, briefing, rascunho, verificação de alegações, pontuação.

pipeline_status

Leia o status de uma execução, a etapa atual e qualquer erro estruturado.

brand_ingest

Reconstrua o perfil da marca a partir das páginas que você listar: pelo menos uma URL é obrigatória e no máximo 40 são buscadas. Um sitemap não pode ser passado via MCP.

brand_get

Leia o perfil da marca: voz, posicionamento, pontos de prova.

topic_research

Pesquise uma consulta semente (obrigatória) em uma única oportunidade de tópico com um Pacote de Evidências, para uma campanha.

brief_generate

Gere e critique um briefing editorial para um tópico.

article_generate

Rascunhe um artigo a partir de seu briefing e Pacote de Evidências.

article_score

Pontue uma versão nas dimensões de qualidade e portões rígidos.

article_revise

Revise seções fracas em uma nova versão, dentro de um loop limitado.

links_suggest

Sugira links internos e externos para revisão.

media_select

Anexe uma imagem licenciada, ou avise visivelmente quando nenhuma estiver disponível.

publication_create_draft

Registre uma publicação de rascunho para um alvo de publicação no uprank; idempotente e seguro para repetir. Nada é enviado ao CMS: o rascunho do Strapi é enviado pela aba Publishing do artigo, uma vez que a versão passe em seus portões rígidos.

publication_publish

Registre uma solicitação de publicação ao vivo para uma versão com avaliação de qualidade atual e aprovada; requer publication:live e confirme "PUBLISH LIVE". Nada é enviado ao CMS.

publication_status

Leia o estado de uma publicação.

refresh_list

Liste artigos publicados, aprovados e que precisam de revisão; o motivo é definido apenas quando uma alegação sensível ao tempo expirou ou a versão canônica não tem avaliação de qualidade atual.

article_get

Leia um artigo e uma de suas versões.

article_list

Liste artigos com filtros de site, campanha, status ou busca.

Tokens e escopos

Um token só pode chamar as ferramentas cujos escopos ele possui. Gerado a partir dos escopos e contratos de ferramenta que o servidor impõe.

  • Emitindo um token. Um proprietário de workspace OWNER pode emitir um token manualmente em https://uprank.devino.ca/mcp: um nome e os escopos que ele pode usar. O token bruto é mostrado uma única vez e apenas seu hash é armazenado. Um token emitido dessa forma não tem data de expiração e funciona até ser revogado.
  • Alterando escopos. Um token emitido em https://uprank.devino.ca/mcp mantém os escopos com os quais foi emitido. Para alterá-los, emita um novo token e revogue o antigo. Uma conexão "Adicionar ao Claude" funciona da mesma forma: seus escopos são fixados quando o proprietário a aprova.
  • Adicionar ao Claude (OAuth). "Adicionar ao Claude" conecta via OAuth, então não há token para copiar. Apenas um proprietário de workspace OWNER pode aprovar sua tela de consentimento, e apenas para um workspace que essa pessoa possua. O proprietário não escolhe escopos lá: a conexão recebe os escopos que o cliente solicitou de todos os escopos, exceto publication:live, ou todos esses escopos quando o cliente não solicitou nenhum. O Claude não é o único cliente que pode iniciar o fluxo: qualquer cliente MCP que se registre pode alcançar a tela de consentimento, que trata um cliente cujos callbacks são do Claude ou do ChatGPT como verificado e avisa que qualquer outro cliente não é verificado. A conexão é armazenada como uma credencial, então aparece em https://uprank.devino.ca/mcp com um selo de "aplicativo conectado", nomeado como "OAuth: Claude".
  • Vida útil do OAuth. Um token de acesso "Adicionar ao Claude" dura 1 hora. O cliente o renova com um token de atualização que dura 30 dias. Cada renovação emite um novo token de acesso e um novo token de atualização na mesma credencial, e o par antigo para de funcionar. Quando o token de atualização expira, ou o proprietário que aprovou a conexão não é mais proprietário do workspace, ele para de renovar e precisa ser aprovado novamente.
  • Escopo ausente. Uma chamada de ferramenta sem todos os escopos que a ferramenta precisa é recusada com UNAUTHORIZED, nomeando os escopos ausentes.
  • Nunca por padrão. publication:live nunca é concedido por padrão, e o diálogo de emissão o marca como perigoso. Uma conexão "Adicionar ao Claude" não pode tê-lo de forma alguma.
  • Revogação. Um proprietário de workspace OWNER revoga um token ou uma conexão "Adicionar ao Claude" na tabela de credenciais em https://uprank.devino.ca/mcp. Isso corta todos os agentes que o usam de uma vez: a próxima chamada é recusada com um 401 ("Credencial MCP desconhecida, revogada ou expirada."), e uma conexão revogada não pode mais renovar. A revogação é auditada. Um cliente OAuth também pode revogar sua própria conexão pelo endpoint de revogação padrão (RFC 7009).
  • Auditoria. Toda chamada de ferramenta bem-sucedida que altera algo é gravada no log de auditoria, com o nome da ferramenta e os escopos que ela exigiu.
EscopoFerramentas que precisam deleRecursos que precisam deleConselho
brand:readbrand_getbrandSiteNo primeiro token recomendado
brand:writebrand_ingestNenhum hoje
campaign:readtopic_researchcampaign, topicNo primeiro token recomendado
campaign:writeNenhum hojeNenhum hoje
research:runpipeline_run, topic_researchNenhum hojeAdicione a pesquisa, rascunho, pontuação e revisão
article:readpipeline_status, publication_status, refresh_list, article_get, article_listevidencePack, article, articleVersion, claims, quality, workflowRun, publicationNo primeiro token recomendado
article:writepipeline_run, brief_generate, article_generate, article_revise, links_suggest, media_selectNenhum hojeAdicione a pesquisa, rascunho, pontuação e revisão
quality:runarticle_scoreNenhum hojeAdicione a pesquisa, rascunho, pontuação e revisão
publication:draftpublication_create_draftNenhum hoje
publication:livepublication_publishNenhum hojeNunca concedido por padrão
connection:readNenhum hojeNenhum hoje
connection:writeNenhum hojeNenhum hoje

Uma ferramenta precisa de todos os escopos listados para ela: pipeline_run precisa de article:write e research:run; topic_research precisa de research:run e campaign:read.

Solução de problemas

O que você vê, a causa provável e o que fazer. Cada linha descreve o que o código do servidor faz.

O que você vêCausa provávelO que fazer
A tela de consentimento diz “Only a workspace owner can connect an app to uprank.” e não tem botão Allow.Sua conta não é OWNER de nenhum workspace, e a tela lista apenas os workspaces que você possui. O servidor verifica o papel novamente quando você pressiona Allow e recusa com “Only an owner of that workspace can connect an app.”Peça a um owner do workspace para conectar o app ou emitir um token para você em https://uprank.devino.ca/mcp. Voltar retorna ao app sem conectar.
A página de consentimento diz “This connection can’t continue”, com “unknown client_id” ou “The redirect_uri does not match any URI this app registered.”A solicitação nomeia um app para o qual a uprank não tem registro, ou um endereço de callback que esse app não registrou. A uprank recusa esses casos sem enviá-lo de volta ao app.Inicie a conexão novamente pelo app. Se continuar falhando, envie um e-mail para o suporte.
A conexão funciona, mas mostra o workspace errado ou nada do que você espera.Uma conexão pertence ao único workspace escolhido na tela de consentimento. A tela mostra uma opção de Workspace apenas quando você possui mais de um, e ela pré-seleciona seu workspace atual quando você o possui. Uma chamada de ferramenta não pode nomear outro workspace.Para alternar, um owner revoga a conexão na tabela de credenciais em https://uprank.devino.ca/mcp, e depois conecta novamente e escolhe o outro workspace.
Toda chamada falha com HTTP 401 e “Unknown, revoked, or expired MCP credential.”O token é desconhecido, foi revogado ou expirou. Um token de acesso Add to Claude dura 1 hora e é renovado com um refresh token que dura 30 dias. Uma conexão não pode renovar depois que o refresh token expira, ou quando o owner que a aprovou não é mais owner do workspace (a uprank então a revoga). Um token emitido manualmente não tem data de expiração, então geralmente é revogado ou digitado errado. O 401 traz um cabeçalho WWW-Authenticate que aponta clientes OAuth para os metadados de autorização da uprank.Para uma conexão Add to Claude, conecte novamente e aprove a tela de consentimento como owner. Para um token, verifique-o na tabela de credenciais em https://uprank.devino.ca/mcp; se estiver revogado ou perdido, um owner emite um novo.
HTTP 401 com “Missing or malformed Authorization header (expected "Bearer <token>").”A solicitação não trouxe token bearer, ou o cabeçalho não estava nesse formato.Envie o cabeçalho Authorization: Bearer <token>. Para um token emitido manualmente, o guia do seu agente mostra onde ele lê o token (UPRANK_MCP_TOKEN).
Uma ferramenta que você espera não está na lista de ferramentas.O servidor lista apenas as ferramentas cujos escopos a credencial possui. Uma ferramenta que precisa de um escopo que a credencial não tem não é anunciada.A tabela de escopos acima mostra qual escopo cada ferramenta precisa. Um token mantém os escopos com os quais foi emitido, então um owner emite um novo token com o escopo extra.
Uma chamada de ferramenta retorna um erro com código UNAUTHORIZED e “Missing MCP scope(s): …”.A credencial não possui todos os escopos que a ferramenta precisa. Uma ferramenta chamada pelo nome é verificada da mesma forma que uma listada. Os escopos ausentes são nomeados na mensagem e em details.missing.Use uma credencial que possua os escopos nomeados. Algumas ferramentas precisam de mais de um, como diz a linha abaixo da tabela de escopos.
publication_publish não está na lista de ferramentas para uma conexão Add to Claude.Uma conexão Add to Claude nunca possui publication:live, mesmo que o app peça, então a ferramenta não é anunciada. A tela de consentimento diz “Never live publishing.”Somente se você quiser que um agente registre solicitações de publicação ao vivo: um owner emite um token em https://uprank.devino.ca/mcp com publication:live, marcado como perigoso no diálogo de emissão, e o dá ao agente. A chamada também precisa de confirm: "PUBLISH LIVE" e uma avaliação de qualidade aprovada. Ela registra uma solicitação de publicação ao vivo na uprank e não envia nada para o CMS. Não há aprovação humana separada, então conceda apenas a um agente em quem você confia.
publication_publish retorna QUALITY_GATE_FAILED: “No current quality assessment exists for this version; score it before publishing.” ou “The article version has not passed its hard quality gates; live publishing is blocked.”A versão não tem avaliação de qualidade atual, ou sua avaliação falhou em um gate rígido. A verificação ocorre antes de qualquer registro, então uma recusa não deixa rastros.Execute article_score, ou revise o artigo até que os gates passem, e publique novamente. O suggestedAction do erro diz qual. Os limites estão listados em https://uprank.devino.ca/quality-gates.
Uma chamada de ferramenta retorna VALIDATION_FAILED: “Input failed schema validation.”Os argumentos não correspondem ao esquema de entrada da ferramenta. details.issues lista cada problema como “path: message”. O erro é marcado como retryable: false. Um corpo de solicitação que não é JSON válido recebe HTTP 400 e o mesmo código.Corrija os argumentos que details.issues nomeia e chame novamente. Repetir a mesma chamada falha da mesma forma.
HTTP 429 com código RATE_LIMITED: “Rate limit exceeded for this MCP credential; retry after a short delay.”Cada credencial tem um bucket de 60 chamadas que recarrega a 1 chamada por segundo. Apenas chamadas de ferramenta e leituras de recurso contam; o handshake e as chamadas de lista não. O erro é marcado como retryable: true.Aguarde alguns segundos e chame novamente. Em uma execução longa, espaçe as chamadas para cerca de uma por segundo.
Uma ferramenta retorna apenas um workflowRunId e nenhum resultado (pipeline_run, brand_ingest, topic_research, brief_generate, article_generate, article_score, article_revise, links_suggest, media_select).Essas ferramentas iniciam uma execução no servidor e retornam imediatamente. O trabalho continua após a chamada retornar.Chame pipeline_status com o workflowRunId. Ele retorna o status (PENDING, RUNNING, SUCCEEDED, FAILED ou CANCELLED), a etapa atual e o progresso de 0 a 100.
pipeline_status retorna status FAILED com um objeto de erro.A execução parou em uma etapa, e currentStep a nomeia. error contém code, message, retryable e, quando o código os define, suggestedAction e step. O código marca uma falha transitória com retryable: true.Leia error.message e error.suggestedAction e corrija o que eles nomeiam. Quando retryable for true, você pode iniciar a ferramenta novamente.
Um erro com código MODEL_OUTPUT_INVALID.O servidor usa esse código para uma falha inesperada sem código mais específico, e para uma execução cujo executor lançou uma exceção. É marcado como retryable: true.Tente a chamada novamente. Se repetir, envie um e-mail para o suporte com o código, a mensagem e o workflowRunId.
media_select termina, mas o artigo não tem imagem.Nenhum provedor de mídia está configurado. A ferramenta não falha e nunca insere um placeholder. Ela registra um ativo de mídia ausente (“No media provider configured.”) e o artigo é concluído sem imagem. A aba Media lista o ativo com um selo “missing”.Nada falhou, então não há nada para tentar novamente. Sem um provedor de mídia, o artigo não tem imagem até que uma seja anexada.
publication_create_draft é bem-sucedido, mas nada aparece no Strapi.A ferramenta registra uma publicação de rascunho na uprank. Ela não envia nada para o CMS.Envie o rascunho pela aba Publishing do artigo no app, uma vez que a versão passe nos gates rígidos.
Você quer desconectar um agente, ou um token pode ter vazado.Um token e uma conexão Add to Claude são ambos credenciais. Eles funcionam até expirarem ou um owner os revogar.Um owner revoga na tabela de credenciais em https://uprank.devino.ca/mcp. A próxima chamada é recusada com um 401, e uma conexão revogada não pode mais renovar.

Ainda preso? Envie um e-mail para [email protected] com o nome do seu workspace e, quando houver, o workflowRunId, o código do erro e a mensagem.

Perguntas comuns

Quais agentes de codificação funcionam com o servidor MCP da uprank?

Qualquer agente que possa chamar um servidor MCP streamable-HTTP com um token bearer. Há guias de configuração para Claude Code, Codex, Cursor, Windsurf, VS Code (Copilot), OpenCode, e a frase de integração nesta página funciona em cada um deles.

Um agente pode publicar ao vivo sem revisão?

Não, a menos que você permita. publication_publish precisa de uma credencial que possua publication:live, que nunca é concedida por padrão, a confirmação literal confirm: "PUBLISH LIVE", e uma avaliação de qualidade aprovada e não obsoleta na versão do artigo; caso contrário, a chamada é recusada com UNAUTHORIZED ou QUALITY_GATE_FAILED. Não há verificação separada de aprovação humana, então conceda publication:live apenas a um agente em quem você confia. Hoje, a chamada registra uma solicitação de publicação ao vivo na uprank e não envia nada para o CMS. Toda chamada é auditada.

O que um token MCP permite?

Apenas o que seus escopos permitem. Um primeiro token é somente leitura: article:read, brand:read, campaign:read. Adicione research:run, article:write, quality:run para pesquisar, rascunhar, pontuar e revisar, e publication:draft para registrar publicações de rascunho. Um workspace OWNER emite o token em https://uprank.devino.ca/mcp; o token bruto é mostrado uma vez e armazenado com hash.

Ele executa as mesmas verificações que o app?

Sim. As ferramentas chamam o mesmo pipeline e serviços de domínio que o app, então article_score avalia os mesmos 13 gates rígidos: 6 pontuações mínimas e 7 verificações de integridade. Locação e escopos vêm da credencial, nunca da entrada da solicitação.

Para qual CMS ele publica?

Strapi. Um destino de publicação contém seu tipo de conteúdo e mapeamento de campos, e publication_create_draft registra uma publicação de rascunho para ele. O envio para o Strapi é feito pela aba Publishing do artigo, como rascunho, uma vez que a versão passe nos gates rígidos. Nenhum outro CMS tem um publisher ainda. Como a conexão funciona: https://uprank.devino.ca/strapi-ai-blog-writer.

Leia mais