servidor MCP
Conecte su agente de codificación de IA a la documentación DEUNA a través del Protocolo de contexto modelo.
En esta página
DEUNA Docs expone un mando Protocolo de contexto modelo servidor. Agréguelo a su agente y podrá buscar y leer esta documentación mientras escribe su integración.
Punto final#
https://docs.deuna.com/api/mcp- Transporte: HTTP transmitible (
POSTúnicamente, apátrida). - Autenticación: ninguno. El servidor sólo lee documentación pública.
- Herramientas:
search_docsclasifica las páginas de documentación;get_docdevuelve el código fuente Markdown de una página;search_api_referencebusca en el inventario completo de endpoints públicos;get_api_endpointdevuelve el contrato publicado para un método HTTP y una ruta exactos; ysearch_provider_capabilitiesbusca en el catálogo generado de proveedores.
La URL anterior se crea a partir del host en el que está navegando, por lo que siempre coincide con el entorno que sirve a esta página.
Conéctate en dos minutos#
- Copia el endpoint que aparece arriba.
- Agrégalo a tu cliente de IA como un servidor HTTP Streamable remoto llamado
deuna-docs. - Habilita las cinco herramientas de documentación de DEUNA de solo lectura cuando el cliente solicite aprobación.
- Haz una pregunta sobre la documentación, por ejemplo: «¿Cómo creo una orden?». El cliente debe llamar a
search_docsosearch_api_referenceantes de responder.
No necesitas una API key de DEUNA ni un token de ATHIA. El servidor MCP expone únicamente el corpus de documentación publicado y nunca acepta credenciales de un cliente MCP.
Código Claude#
Ejecute esto una vez. Añadir --scope user para que esté disponible en cada proyecto, o --scope project para compartirlo a través .mcp.json.
claude mcp add --transport http deuna-docs https://docs.deuna.com/api/mcpcorrer claude mcp list para confirmar que el servidor está conectado.
Claude Desktop y claude.ai#
- Acceda a Configuración › Conectores.
- Seleccione Agregar conector personalizado.
- Nómbralo
DEUNA Docsy pega la URL:
https://docs.deuna.com/api/mcpCursor#
Agregue el servidor a ~/.cursor/mcp.json para cada proyecto, o para .cursor/mcp.json en un único repositorio.
{
"mcpServers": {
"deuna-docs": {
"url": "https://docs.deuna.com/api/mcp"
}
}
}Luego abre Configuración ›MCP y comprueba eso deuna-docs está habilitado.
Código VS (copiloto de GitHub)#
Agregue el servidor a .vscode/mcp.json en tu espacio de trabajo, o regístralo desde la 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"}'Utilice las herramientas de Copilot Chat en Agente mode.
windsurf#
Agregue el servidor a ~/.codeium/windsurf/mcp_config.json, luego actualice la lista de MCP en Cascade.
{
"mcpServers": {
"deuna-docs": {
"serverUrl": "https://docs.deuna.com/api/mcp"
}
}
}CLI del códice#
Registre el servidor desde la terminal, o agréguelo a ~/.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 de Géminis#
Registre el servidor desde la terminal, o agréguelo a ~/.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"
}
}
}correr /mcp dentro de Gemini CLI para confirmar que las herramientas están cargadas.
Otros agentes#
Cualquier cliente que admita servidores MCP remotos a través de Streamable HTTP puede conectarse con la URL del punto final. Los clientes que solo admiten servidores locales (stdio) pueden usar mcp-remote como puente: npx mcp-remote <endpoint>.
Verificar el servidor#
Enumere las herramientas disponibles con una solicitud JSON-RPC sin formato:
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))
}Un servidor en buen estado devuelve las cinco herramientas de solo lectura para documentación, referencia de API y capacidades de proveedores en result.tools.
Resolución de problemas#
- Una pestaña del navegador muestra
method_not_allowed: es el comportamiento esperado porque la navegación del navegador usaGET. Configura la URL en un cliente MCP o usa laPOSTsolicitud de verificación anterior. - El cliente no puede conectarse localmente: ejecuta
npm run apijunto con el servidor de desarrollo de Docusaurus. Las páginas locales dirigen intencionalmente los clientes MCP ahttp://localhost:3001/api/mcp. - El cliente desplegado informa un error de conexión: verifica que la URL termine en
/api/mcp, use HTTPS público y sea accesible desde la red del cliente. El servidor no mantiene estado, por lo que no es necesario conservar ningún identificador de sesión. - El servidor responde, pero una pregunta no obtiene respuesta: confirma que el cliente haya habilitado las herramientas devueltas. El servidor indica intencionalmente que la información no está documentada en vez de responder con conocimiento general del modelo.