Next

Documentação da API

Transporte MCP por HTTP para automações e clientes compatíveis.

Endpoint https://mcp.rkm-next.com.br/mcp

Autenticação Authorization: Bearer sua chave pessoal

Protocolo JSON-RPC 2.0

Para uso assistido, baixe o Instalador do Next em /conectar: ele instala dependências e registra Claude Code/Codex com a sua chave.

Pré-requisitos

Claude Code PowerShell
irm https://claude.ai/install.ps1 | iex
Se o instalador avisar que .local\bin nao esta no PATH, rode esta linha e abra o terminal de novo.
[Environment]::SetEnvironmentVariable("Path", [Environment]::GetEnvironmentVariable("Path","User") + ";$env:USERPROFILE\.local\bin", "User")
Depois feche e abra o terminal de novo e confira com claude --version.
Claude Code bash/zsh
curl -fsSL https://claude.ai/install.sh | bash
Depois feche e abra o terminal de novo e confira com claude --version.
Codex PowerShell
npm install -g @openai/codex
Precisa do Node.js 18+ (nodejs.org). Confira com codex --version.
Codex bash/zsh
npm install -g @openai/codex
Precisa do Node.js 18+ (nodejs.org). Confira com codex --version.

Se aparecer 'nao reconhecido como comando', o programa nao esta instalado ou o terminal foi aberto antes da instalacao.

Imagens

A busca devolve figuras dos documentos, incluindo PDF, Office e imagens soltas. A IA abre a figura pela ferramenta next_get_image.

next_get_image

Busca

next_search

Busca no corpus servido e retorna handles, trechos, modalidade e localizador estável.

Argumentos
{"n_results": 5, "query": "como conectar o Claude?"}
Exemplo de resposta
{"id": 1, "jsonrpc": "2.0", "result": {"content": [{"text": "{\"degraded\": false, \"query\": \"como conectar o Claude?\", \"results\": [{\"handle\": \"ev_123\", \"modality\": \"text\", \"snippet\": \"...\", \"stable_locator\": \"doc.md#L10\"}], \"sidecanal\": null}", "type": "text"}], "isError": false, "structuredContent": {"degraded": false, "query": "como conectar o Claude?", "results": [{"handle": "ev_123", "modality": "text", "snippet": "...", "stable_locator": "doc.md#L10"}], "sidecanal": null}}}

next_get_document

Abre o documento citado pelo handle devolvido pela busca.

Argumentos
{"handle": "ev_123"}
Exemplo de resposta
{"id": 1, "jsonrpc": "2.0", "result": {"content": [{"text": "{\"byte_range\": [10, 23], \"content\": \"trecho citado\", \"content_bytes\": 13, \"content_handle\": \"sha256:abc\", \"handle\": \"ev_123\", \"locator\": \"doc.md#L10\", \"reproduz\": true, \"source\": \"doc.md\"}", "type": "text"}], "isError": false, "structuredContent": {"byte_range": [10, 23], "content": "trecho citado", "content_bytes": 13, "content_handle": "sha256:abc", "handle": "ev_123", "locator": "doc.md#L10", "reproduz": true, "source": "doc.md"}}}

next_get_image

Mostra a figura ou imagem indexada pelo figura_id devolvido pela busca ou pelo documento.

Argumentos
{"figura_id": "9999999999999999999999999999999999999999999999999999999999999999", "tamanho": "miniatura"}
Exemplo de resposta
{"id": 1, "jsonrpc": "2.0", "result": {"content": [{"text": "{\"bytes\": 2048, \"figura_id\": \"9999999999999999999999999999999999999999999999999999999999999999\", \"mime\": \"image/jpeg\", \"pagina\": 1, \"source\": \"relatorio-vendas.pdf\", \"tamanho\": \"miniatura\"}", "type": "text"}], "isError": false, "structuredContent": {"bytes": 2048, "figura_id": "9999999999999999999999999999999999999999999999999999999999999999", "mime": "image/jpeg", "pagina": 1, "source": "relatorio-vendas.pdf", "tamanho": "miniatura"}}}

next_domains

Lista os domínios disponíveis no corpus servido.

Argumentos
{}
Exemplo de resposta
{"id": 1, "jsonrpc": "2.0", "result": {"content": [{"text": "{\"domains\": [\"bling\", \"sefaz\", \"synflux\"]}", "type": "text"}], "isError": false, "structuredContent": {"domains": ["bling", "sefaz", "synflux"]}}}

next_stats

Mostra contagens do índice servido.

Argumentos
{}
Exemplo de resposta
{"id": 1, "jsonrpc": "2.0", "result": {"content": [{"text": "{\"indexing\": false, \"status\": \"ok\", \"total_chunks\": 340, \"total_documents\": 12}", "type": "text"}], "isError": false, "structuredContent": {"indexing": false, "status": "ok", "total_chunks": 340, "total_documents": 12}}}

Grafo do corpus

graphify_stats

Dá o panorama do grafo estrutural: nós, arestas, densidade, comunidades e hubs.

Argumentos
{}
Exemplo de resposta
{"id": 1, "jsonrpc": "2.0", "result": {"content": [{"text": "{\"comunidades\": 41, \"edges\": 1974, \"edges_por_relacao\": {\"pertence_a\": 836, \"referencia\": 1138}, \"generation_id\": \"g_2026_09_05\", \"grau_medio\": 4.77, \"maior_comunidade\": 96, \"natureza\": \"estrutural: documento, pasta e link markdown (nao e grafo de conceitos)\", \"nodes\": 828, \"nodes_por_tipo\": {\"documento\": 792, \"pasta\": 36}, \"ontology_release\": \"estrutura@1\", \"orfaos\": 12, \"top_hubs\": [{\"grau\": 63, \"node\": \"sefaz/nfe/layout-4.00.md\"}, {\"grau\": 41, \"node\": \"bling/webhooks.md\"}]}", "type": "text"}], "isError": false, "structuredContent": {"comunidades": 41, "edges": 1974, "edges_por_relacao": {"pertence_a": 836, "referencia": 1138}, "generation_id": "g_2026_09_05", "grau_medio": 4.77, "maior_comunidade": 96, "natureza": "estrutural: documento, pasta e link markdown (nao e grafo de conceitos)", "nodes": 828, "nodes_por_tipo": {"documento": 792, "pasta": 36}, "ontology_release": "estrutura@1", "orfaos": 12, "top_hubs": [{"grau": 63, "node": "sefaz/nfe/layout-4.00.md"}, {"grau": 41, "node": "bling/webhooks.md"}]}}}

graphify_query

A partir de uma pergunta, percorre o grafo e devolve a vizinhança dos documentos encontrados.

Argumentos
{"depth": 2, "question": "webhook do Bling"}
Exemplo de resposta
{"id": 1, "jsonrpc": "2.0", "result": {"content": [{"text": "{\"depth\": 2, \"hops\": [{\"de\": \"bling/webhooks.md\", \"para\": \"bling/autenticacao.md\", \"relacao\": \"referencia\"}, {\"de\": \"bling/webhooks.md\", \"para\": \"bling/pedidos.md\", \"relacao\": \"referencia\"}], \"nodes\": [\"bling/webhooks.md\", \"bling/autenticacao.md\", \"bling/pedidos.md\"], \"origem_das_sementes\": \"busca\", \"question\": \"webhook do Bling\", \"relacoes_seguidas\": [\"referencia\"], \"seeds\": [\"bling/webhooks.md\"], \"total_hops\": 2}", "type": "text"}], "isError": false, "structuredContent": {"depth": 2, "hops": [{"de": "bling/webhooks.md", "para": "bling/autenticacao.md", "relacao": "referencia"}, {"de": "bling/webhooks.md", "para": "bling/pedidos.md", "relacao": "referencia"}], "nodes": ["bling/webhooks.md", "bling/autenticacao.md", "bling/pedidos.md"], "origem_das_sementes": "busca", "question": "webhook do Bling", "relacoes_seguidas": ["referencia"], "seeds": ["bling/webhooks.md"], "total_hops": 2}}}

graphify_path

Encontra o menor caminho entre dois documentos ou pastas no grafo.

Argumentos
{"a": "bling/webhooks.md", "b": "sefaz/nfe/layout-4.00.md"}
Exemplo de resposta
{"id": 1, "jsonrpc": "2.0", "result": {"content": [{"text": "{\"a\": \"bling/webhooks.md\", \"b\": \"sefaz/nfe/layout-4.00.md\", \"caminho\": [\"bling/webhooks.md\", \"bling/integracao-fiscal.md\", \"sefaz/nfe/index.md\", \"sefaz/nfe/layout-4.00.md\"], \"encontrado\": true, \"relacoes\": [\"referencia\", \"referencia\", \"pertence_a\"], \"saltos\": 3}", "type": "text"}], "isError": false, "structuredContent": {"a": "bling/webhooks.md", "b": "sefaz/nfe/layout-4.00.md", "caminho": ["bling/webhooks.md", "bling/integracao-fiscal.md", "sefaz/nfe/index.md", "sefaz/nfe/layout-4.00.md"], "encontrado": true, "relacoes": ["referencia", "referencia", "pertence_a"], "saltos": 3}}}

graphify_explain

Mostra o entorno imediato de um nó: seus vizinhos e a relação de cada aresta.

Argumentos
{"node": "sefaz/nfe/layout-4.00.md"}
Exemplo de resposta
{"id": 1, "jsonrpc": "2.0", "result": {"content": [{"text": "{\"grau\": 63, \"node\": \"sefaz/nfe/layout-4.00.md\", \"tipo\": \"documento\", \"vizinhos\": [{\"direcao\": \"saida\", \"no\": \"sefaz/nfe/regras-validacao.md\", \"relacao\": \"referencia\"}, {\"direcao\": \"entrada\", \"no\": \"sefaz/nfe\", \"relacao\": \"pertence_a\"}]}", "type": "text"}], "isError": false, "structuredContent": {"grau": 63, "node": "sefaz/nfe/layout-4.00.md", "tipo": "documento", "vizinhos": [{"direcao": "saida", "no": "sefaz/nfe/regras-validacao.md", "relacao": "referencia"}, {"direcao": "entrada", "no": "sefaz/nfe", "relacao": "pertence_a"}]}}}

graphify_get_node

Traz metadados e proveniência de um nó: tipo, grau, comunidade e origem.

Argumentos
{"label": "bling/webhooks.md"}
Exemplo de resposta
{"id": 1, "jsonrpc": "2.0", "result": {"content": [{"text": "{\"comunidade\": \"com_07\", \"confidence\": {\"kind\": \"structural\", \"method\": \"markdown-link\", \"score\": 1.0}, \"generation_id\": \"g_2026_09_05\", \"grau\": 41, \"label\": \"bling/webhooks.md\", \"n_provenance_refs\": 2, \"provenance_refs\": [\"sha256:9f2a\", \"sha256:1c7d\"], \"revision\": 3, \"tipo\": \"documento\"}", "type": "text"}], "isError": false, "structuredContent": {"comunidade": "com_07", "confidence": {"kind": "structural", "method": "markdown-link", "score": 1.0}, "generation_id": "g_2026_09_05", "grau": 41, "label": "bling/webhooks.md", "n_provenance_refs": 2, "provenance_refs": ["sha256:9f2a", "sha256:1c7d"], "revision": 3, "tipo": "documento"}}}

graphify_god_nodes

Lista os hubs estruturais do corpus: os nós mais conectados por grau.

Argumentos
{"n": 5}
Exemplo de resposta
{"id": 1, "jsonrpc": "2.0", "result": {"content": [{"text": "{\"criterio\": \"grau (entrada + saida) no grafo estrutural\", \"hubs\": [{\"grau\": 63, \"node\": \"sefaz/nfe/layout-4.00.md\", \"tipo\": \"documento\"}, {\"grau\": 41, \"node\": \"bling/webhooks.md\", \"tipo\": \"documento\"}, {\"grau\": 38, \"node\": \"synflux\", \"tipo\": \"pasta\"}]}", "type": "text"}], "isError": false, "structuredContent": {"criterio": "grau (entrada + saida) no grafo estrutural", "hubs": [{"grau": 63, "node": "sefaz/nfe/layout-4.00.md", "tipo": "documento"}, {"grau": 41, "node": "bling/webhooks.md", "tipo": "documento"}, {"grau": 38, "node": "synflux", "tipo": "pasta"}]}}}

graphify_community

Lista os membros de uma comunidade do grafo, por id ou por rank.

Argumentos
{"rank": 0}
Exemplo de resposta
{"id": 1, "jsonrpc": "2.0", "result": {"content": [{"text": "{\"community_id\": \"com_07\", \"membros\": [\"bling/webhooks.md\", \"bling/autenticacao.md\", \"bling/pedidos.md\"], \"rank\": 0, \"tamanho\": 96, \"truncado\": false}", "type": "text"}], "isError": false, "structuredContent": {"community_id": "com_07", "membros": ["bling/webhooks.md", "bling/autenticacao.md", "bling/pedidos.md"], "rank": 0, "tamanho": 96, "truncado": false}}}

Erros

401 sem chave · 403 chave revogada · ferramenta_indisponivel_neste_transporte

Kits

Claude Code
claude mcp add -s user --transport http next https://mcp.rkm-next.com.br/mcp --header "Authorization: Bearer SUA_CHAVE"
Codex PowerShell
$env:NEXT_TOKEN = "SUA_CHAVE"
setx NEXT_TOKEN "SUA_CHAVE"
codex mcp add next --url https://mcp.rkm-next.com.br/mcp --bearer-token-env-var NEXT_TOKEN
Codex bash/zsh
export NEXT_TOKEN="SUA_CHAVE"
codex mcp add next --url https://mcp.rkm-next.com.br/mcp --bearer-token-env-var NEXT_TOKEN
HTTP curl
curl -X POST https://mcp.rkm-next.com.br/mcp -H "Authorization: Bearer SUA_CHAVE" -H "Content-Type: application/json" -d "@pergunta.json"

pergunta.json: {"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"next_search","arguments":{"query":"..."}}}