Servidor MCP
Conecte seu agente de codificação de IA à documentação da DEUNA através do Protocolo de Contexto de Modelo.
Nesta página
A DEUNA Docs expõe um Protocolo de Contexto de Modelo servidor. Adicione-o ao seu agente e ele poderá pesquisar e ler esta documentação enquanto você desenvolve a integração.
Endpoint#
https://docs.deuna.com/api/mcp- Transporte: HTTP Streaming (
POSTapenas, sem estado). - Autenticação: nenhuma. O servidor apenas lê a documentação pública.
- Ferramentas:
search_docsclassifica as páginas da documentação;get_docretorna o código-fonte Markdown de uma página;search_api_referencepesquisa o inventário completo de endpoints públicos;get_api_endpointretorna o contrato publicado para um método HTTP e caminho exatos; esearch_provider_capabilitiespesquisa o catálogo gerado de provedores.
A URL acima é construída a partir do host que você está visualizando, portanto, sempre corresponde ao ambiente que serve esta página.
Conecte-se em dois minutos#
- Copie o endpoint exibido acima.
- Adicione-o ao seu cliente de IA como um servidor HTTP Streamable remoto chamado
deuna-docs. - Habilite as cinco ferramentas de documentação somente leitura da DEUNA quando o cliente solicitar aprovação.
- Faça uma pergunta sobre a documentação, como “Como criar um pedido?”. O cliente deve chamar
search_docsousearch_api_referenceantes de responder.
Você não precisa de uma API key da DEUNA nem de um token da ATHIA. O servidor MCP expõe apenas o corpus de documentação publicado e nunca aceita credenciais de um cliente MCP.
Claude Code#
Execute uma vez. Adicione --scope user para torná-lo disponível em todos os projetos, ou --scope project para compartilhá-lo através de .mcp.json.
claude mcp add --transport http deuna-docs https://docs.deuna.com/api/mcpExecute claude mcp list para confirmar que o servidor está conectado.
Claude Desktop e claude.ai#
- Abra Configurações › Conectores.
- Selecione Adicionar conector personalizado.
- Nomeie-o
DEUNA Docse cole a URL:
https://docs.deuna.com/api/mcpCursor#
Adicione o servidor ao ~/.cursor/mcp.json para cada projeto ou para .cursor/mcp.json em um único repositório.
{
"mcpServers": {
"deuna-docs": {
"url": "https://docs.deuna.com/api/mcp"
}
}
}Então abra Configurações ›MCP e verifique isso deuna-docs está habilitado.
Código VS (copiloto do GitHub)#
Adicione o servidor ao .vscode/mcp.json em seu espaço de trabalho ou registre-o no terminal.
{
"servers": {
"deuna-docs": {
"type": "http",
"url": "https://docs.deuna.com/api/mcp"
}
}
}code --add-mcp '{"name":"deuna-docs","type":"http","url":"https://docs.deuna.com/api/mcp"}'Use as ferramentas do Copilot Chat em Agente mode.
Windsurf#
Adicione o servidor ao ~/.codeium/windsurf/mcp_config.jsone atualize a lista MCP no Cascade.
{
"mcpServers": {
"deuna-docs": {
"serverUrl": "https://docs.deuna.com/api/mcp"
}
}
}CLI do Codex#
Registre o servidor no terminal ou adicione-o ao ~/.codex/config.toml.
codex mcp add deuna-docs --url https://docs.deuna.com/api/mcp[mcp_servers.deuna-docs]
url = "https://docs.deuna.com/api/mcp"CLI Gêmeos#
Registre o servidor no terminal ou adicione-o ao ~/.gemini/settings.json.
gemini mcp add --transport http deuna-docs https://docs.deuna.com/api/mcp{
"mcpServers": {
"deuna-docs": {
"httpUrl": "https://docs.deuna.com/api/mcp"
}
}
}Execute /mcp dentro do Gemini CLI para confirmar que as ferramentas estão carregadas.
Outros agentes#
Qualquer cliente que suporte servidores MCP remotos por HTTP Streamable pode se conectar ao URL do terminal. Clientes que suportam apenas servidores locais (stdio) podem usar mcp-remote como uma ponte: npx mcp-remote <endpoint>.
Verifique o servidor#
Liste as ferramentas disponíveis com uma solicitação JSON-RPC bruta:
curl -X POST https://docs.deuna.com/api/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'const response = await fetch("https://docs.deuna.com/api/mcp", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Accept": "application/json, text/event-stream"
},
body: JSON.stringify({
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
})
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();import requests
response = requests.request(
"POST",
"https://docs.deuna.com/api/mcp",
headers={
"Content-Type": "application/json",
"Accept": "application/json, text/event-stream"
},
json={
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
},
)
response.raise_for_status()
data = response.json()<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://docs.deuna.com/api/mcp",
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Accept: application/json, text/event-stream"
],
CURLOPT_POSTFIELDS => json_encode([
"jsonrpc" => "2.0",
"id" => 1,
"method" => "tools/list"
])
]);
$response = curl_exec($curl);
curl_close($curl);import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Example {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://docs.deuna.com/api/mcp"))
.header("Content-Type", "application/json")
.header("Accept", "application/json, text/event-stream")
.method("POST", HttpRequest.BodyPublishers.ofString("{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/list\"}"))
.build();
HttpResponse<String> response = HttpClient.newHttpClient().send(
request, HttpResponse.BodyHandlers.ofString()
);
System.out.println(response.body());
}
}package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
request, err := http.NewRequest("POST", "https://docs.deuna.com/api/mcp", strings.NewReader("{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/list\"}"))
if err != nil { panic(err) }
request.Header.Set("Content-Type", "application/json")
request.Header.Set("Accept", "application/json, text/event-stream")
response, err := http.DefaultClient.Do(request)
if err != nil { panic(err) }
defer response.Body.Close()
body, _ := io.ReadAll(response.Body)
fmt.Println(string(body))
}Um servidor íntegro retorna as cinco ferramentas somente leitura de documentação, referência da API e recursos dos provedores em result.tools.
Solução de problemas#
- Uma aba do navegador mostra
method_not_allowed: isso é esperado porque a navegação do navegador usaGET. Configure a URL em um cliente MCP ou use aPOSTsolicitação de verificação acima. - O cliente não consegue se conectar localmente: execute
npm run apijunto com o servidor de desenvolvimento do Docusaurus. As páginas locais direcionam intencionalmente os clientes MCP parahttp://localhost:3001/api/mcp. - O cliente implantado informa um erro de conexão: verifique se a URL termina em
/api/mcp, usa HTTPS público e está acessível pela rede do cliente. O servidor não mantém estado, portanto nenhum identificador de sessão precisa ser preservado. - O servidor responde, mas uma pergunta fica sem resposta: confirme se o cliente habilitou as ferramentas retornadas. O servidor informa intencionalmente que a informação não está documentada em vez de responder com conhecimento geral do modelo.