Server MCP
Collegare il vostro agente di codifica AI alla documentazione DEUNA attraverso il protocollo di contesto del modello.
In questa pagina
DEUNTO Docs espone un telecomando Protocollo di contesto del modello server. Aggiungerlo al vostro agente e può cercare e leggere questa documentazione mentre scrive la vostra integrazione.
Fine#
https://docs.deuna.com/api/mcp- Trasporti: HTTP (in inglese)
POSTsolo, senza stato). - Autenticazione: Nessuno. Il server legge solo la documentazione pubblica.
- Strumenti:
search_docsclassifica le pagine della documentazione;get_docrestituisce il sorgente Markdown di una pagina;search_api_referencecerca nell’inventario completo degli endpoint pubblici;get_api_endpointrestituisce il contratto pubblicato per un metodo HTTP e un percorso esatti; esearch_provider_capabilitiescerca nel catalogo generato dei provider.
L'URL sopra è costruito dall'host che stai navigando, quindi corrisponde sempre all'ambiente che serve questa pagina.
Connettiti in due minuti#
- Copia l’endpoint mostrato sopra.
- Aggiungilo al tuo client IA come server HTTP Streamable remoto denominato
deuna-docs. - Abilita i cinque strumenti di documentazione DEUNA di sola lettura quando il client richiede l’approvazione.
- Fai una domanda sulla documentazione, ad esempio «Come posso creare un ordine?». Il client deve chiamare
search_docsosearch_api_referenceprima di rispondere.
Non sono necessari né una API key DEUNA né un token ATHIA. Il server MCP espone solo il corpus di documentazione pubblicato e non accetta mai credenziali da un client MCP.
Claude Codice#
- Esegui questa volta. Aggiungi
--scope userper renderlo disponibile in ogni progetto, o--scope projectper condividere.mcp.json.
claude mcp add --transport http deuna-docs https://docs.deuna.com/api/mcpCorrere claude mcp list per confermare che il server è collegato.
Claude Desktop e claude.ai#
- Apri Impostazioni › Connettori.
- Seleziona Aggiungi connettore personalizzato.
-
- No.
DEUNA Docse incollare l'URL:
- No.
https://docs.deuna.com/api/mcpCursore#
Aggiungi il server a ~/.cursor/mcp.json per ogni progetto, o per .cursor/mcp.json in un unico repository.
{
"mcpServers": {
"deuna-docs": {
"url": "https://docs.deuna.com/api/mcp"
}
}
}Allora apri Impostazioni › MCP e controlla che deuna-docs è abilitato.
Codice VS (GitHub Copilot)#
Aggiungi il server a .vscode/mcp.json nel tuo spazio di lavoro, o registrarlo dal terminale.
{
"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"}'Utilizzare gli strumenti da Copilot Chat in Agente mode.
Windsurf#
Aggiungi il server a ~/.codeium/windsurf/mcp_config.json, poi rinfrescare la lista MCP in Cascade.
{
"mcpServers": {
"deuna-docs": {
"serverUrl": "https://docs.deuna.com/api/mcp"
}
}
}Codice CLI#
Registrare il server dal terminale, o aggiungerlo al ~/.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"Gemini CLI#
Registrare il server dal terminale, o aggiungerlo al ~/.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"
}
}
}Correre /mcp all'interno di Gemini CLI per confermare gli strumenti sono caricati.
Altri agenti#
Qualsiasi client che supporta server MCP remoti su HTTP Streamable può connettersi con l'URL endpoint. I client che supportano solo server locali (stdio) possono utilizzare mcp-remote come ponte: npx mcp-remote <endpoint>.
Verificare il server#
Elenca gli strumenti disponibili con una richiesta JSON-RPC grezza:
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 server operativo restituisce tutti e cinque gli strumenti di sola lettura per documentazione, riferimento API e funzionalità dei provider in result.tools.
Risoluzione dei problemi#
- Una scheda del browser mostra
method_not_allowed: è il comportamento previsto perché la navigazione del browser usaGET. Configura l’URL in un client MCP oppure usa laPOSTrichiesta di verifica precedente. - Il client non riesce a connettersi in locale: esegui
npm run apiinsieme al server di sviluppo Docusaurus. Le pagine locali indirizzano intenzionalmente i client MCP ahttp://localhost:3001/api/mcp. - Il client distribuito segnala un errore di connessione: verifica che l’URL termini con
/api/mcp, usi HTTPS pubblico e sia raggiungibile dalla rete del client. Il server è stateless, quindi non è necessario conservare alcun identificatore di sessione. - Il server risponde, ma una domanda non riceve risposta: verifica che il client abbia abilitato gli strumenti restituiti. Il server segnala intenzionalmente che l’informazione non è documentata invece di rispondere usando la conoscenza generale del modello.