Servidor MCP

Conecte Claude, IDEs e outros clientes de IA para ler e editar a wiki pelo Model Context Protocol.

O que é

A Next Wiki traz um servidor Model Context Protocol (MCP). Com ele, Claude, IDEs e os seus próprios agentes leem e editam a wiki com a sua chave: buscam, leem documentos, criam e atualizam páginas, rodam os agentes da wiki e aprovam propostas.

É a forma de automatizar a wiki por fora. A API REST serve ao próprio app e não aceita chave de API (veja API).

ItemValor
Endpointhttps://SUA-WIKI/api/mcp
TransporteStreamable HTTP (POST no endpoint). Não há SSE clássico nem stdio.
AutenticaçãoChave de API nwk_… no cabeçalho Authorization: Bearer ou X-Api-Key
Limite12 pedidos por minuto por IP, por padrão (RATE_LIMIT_SENSIVEL)

Criar a chave

Em Configurações → APIs & Acesso (a página abre com o título API & Access), crie uma chave. Ela aparece uma única vez.

EscopoConcede
docs:lerAs ferramentas de leitura
docs:escreverLeitura e escrita
(nenhum) ou *Acesso total, com as permissões de quem criou a chave
colecoes:gerenciar, exportacoes, workspace:adminAparecem na tela e ainda não têm efeito. Uma chave só com eles não chama ferramenta nenhuma.

Acima do escopo, valem sempre as permissões da pessoa dona da chave: quem não edita uma coleção não edita por MCP; criar agente, skill ou modelo exige ser admin.

Conectar um cliente

Claude Code (ou outro cliente que aceita MCP remoto por HTTP):

{
  "mcpServers": {
    "next-wiki": {
      "type": "http",
      "url": "https://SUA-WIKI/api/mcp",
      "headers": { "Authorization": "Bearer nwk_sua_chave" }
    }
  }
}

Claude Desktop só carrega servidores locais; use a ponte mcp-remote:

{
  "mcpServers": {
    "next-wiki": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://SUA-WIKI/api/mcp",
               "--transport", "http-only",
               "--header", "Authorization: Bearer nwk_sua_chave"]
    }
  }
}

O --transport http-only importa: sem ele, o mcp-remote tenta SSE primeiro e falha.

Pelo curl, mande Accept: application/json, text/event-stream — só application/json recebe 406. A sequência é initialize (guarde o cabeçalho Mcp-Session-Id), notifications/initialized e então tools/call.

Agentes como prompts

Cada agente ativo dos seus workspaces aparece como um prompt MCP. O seu cliente “veste” a persona do agente e usa as ferramentas da wiki com o modelo do cliente. Para rodar o agente no servidor, com o modelo da wiki, use rodar_agente.

Ferramentas

L = leitura, E = escrita. Argumentos opcionais em itálico.

Busca e leitura

FerramentaEsc.ArgumentosO que faz
listar_workspacesL—Workspaces que você acessa
arvoreLworkspaceId, colecaoId, contendo, incluirDocumentos, limiteColeções e documentos
buscarLworkspaceId, consulta, colecaoId, limiteBusca por texto, sem acento
consultar_baseLworkspaceId, afirmacao, colecaoId, limiteBusca por sentido; exige a busca semântica ligada
ler_documentoLdocumentoIdO Markdown de um documento
ler_comentariosLdocumentoIdOs comentários
perguntarLworkspaceId, pergunta, colecaoId, tipoIdResposta com fontes
analisar_conflitosLworkspaceId, colecaoId, tipoIdDocumentos que se contradizem
listar_tagsLworkspaceIdTags do workspace

Documentos e coleções

FerramentaEsc.ArgumentosO que faz
criar_documentoEcolecaoId, titulo, conteudoMarkdown, parentDocumentoIdCria um documento
criar_documento_do_tipoEcolecaoId, tipoDocId, titulo, parentDocumentoIdCria a partir de um modelo
atualizar_documentoEdocumentoId, conteudoMarkdown, tituloSubstitui o conteúdo (gera versão)
renomear_documentoEdocumentoId, tituloRenomeia
mover_documentoEdocumentoId, colecaoId, parentId, ordemMove na árvore
arquivar_documentoEdocumentoIdManda para a lixeira (reversível)
tipificar_documentoEdocumentoId, tipoDocIdDefine o tipo (vazio remove)
criar_tagEworkspaceId, nome, corCria a tag, ou devolve a existente
definir_tags_documentoEdocumentoId, tagIds[]Substitui as tags do documento
criar_colecaoEworkspaceId, nome, parentId, icone, descricao, visibilidade, siglaCria uma coleção
atualizar_colecaoEcolecaoId, nome, parentId, paraRaiz, ordem, icone, descricao, visibilidadeAltera a coleção
excluir_colecaoEcolecaoIdExclui (só admin)

Quadros

FerramentaEsc.ArgumentosO que faz
criar_quadroEcolecaoId, titulo, nos[], conexoes[]Cria um quadro com caixas e setas
escrever_quadroEdocumentoId, nos[], conexoes[]Redesenha o quadro de um documento
escrever_quadro_jsonEdocumentoId, edgelessJsonGrava uma cena Excalidraw pronta

Modelos de documento

FerramentaEsc.ArgumentosO que faz
listar_modelos_documentoLworkspaceIdTipos do workspace
obter_modeloLworkspaceId, tipoDocIdUm tipo com template e instruções
modelos_do_projetoLcolecaoIdPapéis do projeto e o modelo vigente de cada um
templates_do_projetoLcolecaoIdRepositórios-modelo de código do projeto
criar_modeloEworkspaceId, nome, templateMd, descricao, instrucoesIa, papelId, ehVariantePadrao, icone, indexavel, chaveCria um tipo (admin)
atualizar_modeloEworkspaceId, tipoDocId, nome, templateMd, descricao, instrucoesIa, papelId, ehVariantePadrao, chaveAltera um tipo (admin)

Skills

FerramentaEsc.ArgumentosO que faz
listar_skillsLworkspaceIdSkills do workspace
ler_skillLworkspaceId, skillIdUma skill completa
criar_skillEworkspaceId, nome, descricao, instrucoes, colecaoId, tipoRaizId, ativoCria (admin)
atualizar_skillEworkspaceId, skillId, nome, descricao, instrucoes, colecaoId, tipoRaizId, ativo, limpar[]Altera (admin)

Agentes e execuções

FerramentaEsc.ArgumentosO que faz
listar_agentesLworkspaceIdAgentes do workspace
ler_agenteLworkspaceId, agenteIdUm agente completo
criar_agenteEworkspaceId, nome, descricao, instrucoes, ferramentas[], colecaoId, provider, modelo, ativo, tipoRaizId, maxIteracoes, maxCriacoes, skills[], maxTokensExecucaoCria (admin)
atualizar_agenteEworkspaceId, agenteId, os mesmos campos, mais limpar[]Altera (admin)
rodar_agenteEagenteId, tarefa, colecaoId, documentoAtualId, aguardarRoda no servidor. Exige coleção (colecaoId ou a do agente); uma execução ativa por pessoa em cada coleção. Com aguardar (padrão), espera até 75 s; passou disso, devolve o execucaoId e a execução continua. Documento criado já fica na wiki; edição volta como proposta
status_execucaoLexecucaoIdProgresso, perguntas pendentes e propostas
responder_execucaoEexecucaoId, resposta, escolhidas[]Responde a uma pergunta do agente
parar_execucaoEexecucaoIdInterrompe
aplicar_propostaEtipo (editar ou criar), titulo, conteudoMarkdown, documentoId, colecaoId, parentDocumentoId, iconeAplica uma proposta

Se faltar escopo, a ferramenta devolve um erro dizendo qual.