Dropstone CLI

Server MCP

Aggiungi strumenti MCP locali e remoti.

Puoi aggiungere strumenti esterni a Dropstone utilizzando il Model Context Protocol, o MCP. Dropstone supporta sia server locali che remoti.

Una volta aggiunti, gli strumenti MCP sono automaticamente disponibili per il LLM insieme agli strumenti integrati.


Avvertenze

Quando utilizzi un server MCP, questo aggiunge contenuto al contesto. Questo può accumularsi rapidamente se hai molti strumenti. Pertanto, ti consigliamo di essere selettivo riguardo a quali server MCP utilizzare.

Tip

I server MCP aggiungono contenuto al contesto, quindi fai attenzione a quali abiliti.

Alcuni server MCP, come il server MCP di GitHub, tendono ad aggiungere molti token e possono facilmente superare il limite di contesto.


Abilitazione

Puoi definire i server MCP nella tua configurazione Dropstone sotto mcp. Aggiungi ogni MCP con un nome univoco. Puoi fare riferimento a quel MCP per nome quando interagisci con il LLM.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "nome-del-server-mcp": {
      // ...
      "enabled": true,
    },
    "nome-dell-altro-server-mcp": {
      // ...
    },
  },
}

Puoi anche disabilitare un server impostando enabled su false. Questo è utile se vuoi disabilitare temporaneamente un server senza rimuoverlo dalla configurazione.


Sovrascrivere le impostazioni predefinite remote

Le organizzazioni possono fornire server MCP predefiniti tramite il loro endpoint .well-known/dropstone. Questi server possono essere disabilitati per impostazione predefinita, consentendo agli utenti di attivare quelli di cui hanno bisogno.

Per abilitare un server specifico dalla configurazione remota della tua organizzazione, aggiungilo alla tua configurazione locale con enabled: true:

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "jira": {
      "type": "remote",
      "url": "https://jira.example.com/mcp",
      "enabled": true
    }
  }
}

I valori della tua configurazione locale sovrascrivono le impostazioni predefinite remote. Consulta precedenza della configurazione per maggiori dettagli.


Locale

Aggiungi server MCP locali impostando type su "local" all'interno dell'oggetto MCP.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "il-mio-server-mcp-locale": {
      "type": "local",
      // Oppure ["bun", "x", "my-mcp-command"]
      "command": ["npx", "-y", "my-mcp-command"],
      "enabled": true,
      "environment": {
        "MY_ENV_VAR": "my_env_var_value",
      },
    },
  },
}

Il comando definisce come viene avviato il server MCP locale. Puoi anche passare un elenco di variabili d'ambiente.

Ad esempio, ecco come aggiungere il server MCP di test @modelcontextprotocol/server-everything.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "mcp_everything": {
      "type": "local",
      "command": ["npx", "-y", "@modelcontextprotocol/server-everything"],
    },
  },
}

E per usarlo, posso aggiungere usa lo strumento mcp_everything ai miei prompt.

usa lo strumento mcp_everything per sommare i numeri 3 e 4

Opzioni

Ecco tutte le opzioni per configurare un server MCP locale.

OpzioneTipoObbligatoriaDescrizione
typeStringaTipo di connessione al server MCP, deve essere "local".
commandArrayComando e argomenti per eseguire il server MCP.
environmentOggettoVariabili d'ambiente da impostare durante l'esecuzione del server.
enabledBooleanoAbilita o disabilita il server MCP all'avvio.
timeoutNumeroTimeout in ms per recuperare gli strumenti dal server MCP. Predefinito: 5000 (5 secondi).

Remoto

Aggiungi server MCP remoti impostando type su "remote".

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "il-mio-mcp-remoto": {
      "type": "remote",
      "url": "https://my-mcp-server.com",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer MY_API_KEY"
      }
    }
  }
}

L'url è l'URL del server MCP remoto e con l'opzione headers puoi passare un elenco di intestazioni.


Opzioni

OpzioneTipoObbligatoriaDescrizione
typeStringaTipo di connessione al server MCP, deve essere "remote".
urlStringaURL del server MCP remoto.
enabledBooleanoAbilita o disabilita il server MCP all'avvio.
headersOggettoIntestazioni da inviare con la richiesta.
oauthOggettoConfigurazione dell'autenticazione OAuth. Consulta la sezione OAuth qui sotto.
timeoutNumeroTimeout in ms per recuperare gli strumenti dal server MCP. Predefinito: 5000 (5 secondi).

OAuth

Dropstone gestisce automaticamente l'autenticazione OAuth per i server MCP remoti. Quando un server richiede l'autenticazione, Dropstone:

  1. Rileva la risposta 401 e avvia il flusso OAuth
  2. Utilizza la registrazione dinamica del client (RFC 7591) se supportata dal server
  3. Memorizza i token in modo sicuro per le richieste future

Automatico

Per la maggior parte dei server MCP con OAuth, non è necessaria alcuna configurazione speciale. Basta configurare il server remoto:

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "il-mio-server-oauth": {
      "type": "remote",
      "url": "https://mcp.example.com/mcp"
    }
  }
}

Se il server richiede l'autenticazione, Dropstone ti chiederà di autenticarti al primo utilizzo. In caso contrario, puoi attivare manualmente il flusso con dropstone mcp auth <nome-server>.


Pre-registrato

Se disponi di credenziali client dal provider del server MCP, puoi configurarle:

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "il-mio-server-oauth": {
      "type": "remote",
      "url": "https://mcp.example.com/mcp",
      "oauth": {
        "clientId": "{env:MY_MCP_CLIENT_ID}",
        "clientSecret": "{env:MY_MCP_CLIENT_SECRET}",
        "scope": "tools:read tools:execute"
      }
    }
  }
}

Autenticazione

Puoi attivare manualmente l'autenticazione o gestire le credenziali.

Autenticati con un server MCP specifico:

dropstone mcp auth il-mio-server-oauth

Elenca tutti i server MCP e il loro stato di autenticazione:

dropstone mcp list

Rimuovi le credenziali memorizzate:

dropstone mcp logout il-mio-server-oauth

Il comando mcp auth aprirà il tuo browser per l'autorizzazione. Dopo l'autorizzazione, Dropstone memorizzerà i token in modo sicuro in ~/.local/share/dropstone/mcp-auth.json.


Disabilitazione di OAuth

Se vuoi disabilitare l'OAuth automatico per un server (ad esempio, per server che utilizzano chiavi API), imposta oauth su false:

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "il-mio-server-con-chiave-api": {
      "type": "remote",
      "url": "https://mcp.example.com/mcp",
      "oauth": false,
      "headers": {
        "Authorization": "Bearer {env:MY_API_KEY}"
      }
    }
  }
}

Opzioni OAuth

OpzioneTipoDescrizione
oauthOggetto | falseOggetto di configurazione OAuth, oppure false per disabilitare il rilevamento automatico di OAuth.
clientIdStringaID client OAuth. Se non fornito, verrà tentata la registrazione dinamica del client.
clientSecretStringaSegreto client OAuth, se richiesto dal server di autorizzazione.
scopeStringaAmbiti OAuth da richiedere durante l'autorizzazione.

Debug

Se un server MCP remoto non riesce ad autenticarsi, puoi diagnosticare i problemi con:

# Visualizza lo stato di autenticazione per tutti i server compatibili con OAuth
dropstone mcp auth list

# Esegui il debug della connessione e del flusso OAuth per un server specifico
dropstone mcp debug il-mio-server-oauth

Il comando mcp debug mostra lo stato di autenticazione corrente, verifica la connettività HTTP e tenta il flusso di rilevamento OAuth.


Gestione

I tuoi MCP sono disponibili come strumenti in Dropstone, insieme agli strumenti integrati. Puoi quindi gestirli tramite la configurazione Dropstone come qualsiasi altro strumento.


Globale

Ciò significa che puoi abilitarli o disabilitarli globalmente.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "my-mcp-foo": {
      "type": "local",
      "command": ["bun", "x", "my-mcp-command-foo"]
    },
    "my-mcp-bar": {
      "type": "local",
      "command": ["bun", "x", "my-mcp-command-bar"]
    }
  },
  "tools": {
    "my-mcp-foo": false
  }
}

Possiamo anche utilizzare un pattern glob per disabilitare tutti gli MCP corrispondenti.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "my-mcp-foo": {
      "type": "local",
      "command": ["bun", "x", "my-mcp-command-foo"]
    },
    "my-mcp-bar": {
      "type": "local",
      "command": ["bun", "x", "my-mcp-command-bar"]
    }
  },
  "tools": {
    "my-mcp*": false
  }
}

Qui stiamo utilizzando il pattern glob my-mcp* per disabilitare tutti gli MCP.


Per agente

Se hai un gran numero di server MCP, potresti voler abilitarli solo per agente e disabilitarli globalmente. Per fare questo:

  1. Disabilitalo come strumento a livello globale.
  2. Nella tua configurazione agente, abilita il server MCP come strumento.
{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "my-mcp": {
      "type": "local",
      "command": ["bun", "x", "my-mcp-command"],
      "enabled": true
    }
  },
  "tools": {
    "my-mcp*": false
  },
  "agent": {
    "my-agent": {
      "tools": {
        "my-mcp*": true
      }
    }
  }
}

Pattern glob

Il pattern glob utilizza semplici pattern di espressioni regolari glob:

  • * corrisponde a zero o più caratteri qualsiasi (ad esempio, "my-mcp*" corrisponde a my-mcp_search, my-mcp_list, ecc.)
  • ? corrisponde esattamente a un carattere
  • Tutti gli altri caratteri corrispondono letteralmente

Note

Gli strumenti del server MCP vengono registrati con il nome del server come prefisso, quindi per disabilitare tutti gli strumenti di un server usa:

"mynomeserver_*": false

Esempi

Di seguito sono riportati esempi di alcuni server MCP comuni. Contattaci se desideri che ne venga documentato un altro.


Sentry

Aggiungi il server MCP Sentry per interagire con i tuoi progetti e problemi Sentry.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "sentry": {
      "type": "remote",
      "url": "https://mcp.sentry.dev/mcp",
      "oauth": {}
    }
  }
}

Dopo aver aggiunto la configurazione, autenticati con Sentry:

dropstone mcp auth sentry

Questo aprirà una finestra del browser per completare il flusso OAuth e collegare Dropstone al tuo account Sentry.

Una volta autenticato, puoi utilizzare gli strumenti Sentry nei tuoi prompt per interrogare problemi, progetti e dati sugli errori.

Mostrami gli ultimi problemi non risolti nel mio progetto. usa sentry

Context7

Aggiungi il server MCP Context7 per cercare nella documentazione.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "context7": {
      "type": "remote",
      "url": "https://mcp.context7.com/mcp"
    }
  }
}

Se hai creato un account gratuito, puoi utilizzare la tua chiave API e ottenere limiti di richiesta più elevati.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "context7": {
      "type": "remote",
      "url": "https://mcp.context7.com/mcp",
      "headers": {
        "CONTEXT7_API_KEY": "{env:CONTEXT7_API_KEY}"
      }
    }
  }
}

Qui assumiamo che tu abbia impostato la variabile d'ambiente CONTEXT7_API_KEY.

Aggiungi usa context7 ai tuoi prompt per utilizzare il server MCP Context7.

Configura uno script Cloudflare Worker per memorizzare nella cache le risposte API JSON per cinque minuti. usa context7

In alternativa, puoi aggiungere qualcosa come questo al tuo AGENTS.md.

Quando devi cercare nella documentazione, usa gli strumenti `context7`.

Grep di Vercel

Aggiungi il server MCP Grep di Vercel per cercare frammenti di codice su GitHub.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "gh_grep": {
      "type": "remote",
      "url": "https://mcp.grep.app"
    }
  }
}

Poiché abbiamo chiamato il nostro server MCP gh_grep, puoi aggiungere usa lo strumento gh_grep ai tuoi prompt per far sì che l'agente lo utilizzi.

Qual è il modo corretto per impostare un dominio personalizzato in un componente SST Astro? usa lo strumento gh_grep

In alternativa, puoi aggiungere qualcosa come questo al tuo AGENTS.md.

Se non sei sicuro su come fare qualcosa, usa `gh_grep` per cercare esempi di codice da GitHub.
Ctrl+I