Pubblicare un MCP Server in GitHub MCP Registry

di Matteo Tumiati, in DevOps,

Abbiamo già parlato all'interno di ASPItalia.com degli MCP Server, in quanto sono il tema del momento. Ne stanno nascendo così tanti che la governance e la discovery di questi server diventa sempre più fondamentale: GitHub, infatti, ha recentemente lanciato l'MCP Registry (https://github.com/mcp), ovvero un portale in cui si può fare ricerca di MCP Server e la loro installazione all'interno di VSCode in modo veloce e semplice, che va ad affiancarsi al Marketplace (per il discovery e installazione di GitHub Actions) e Models che abbiamo già visto e utilizzato nei precedenti articoli sul canale.

Se abbiamo sviluppato il nostro MCP Server e vogliamo renderlo disponibile anche ad altri tramite l'MCP Registry, ci sono un paio di passaggi che dobbiamo eseguire. Prima di tutto possiamo scaricare e installare l'utility mcp-publisher:

brew install mcp-publisher

In assenza di homebrew si può provare direttamente con curl:

curl -L "https://github.com/modelcontextprotocol/registry/releases/download/latest/mcp-publisher_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz" | tar xz mcp-publisher

A questo punto dobbiamo configurare il file server.json, in modo standard per poter istruire successivamente le operazioni di publishing:

cd /path/to/your/mcp-server
mcp-publisher init

Questo creerà un file simile a questo:

{
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json",
  "name": "io.github.yourname/your-server",
  "title": "Describe Your Server",
  "description": "A description of your MCP server",
  "version": "1.0.0",
  "packages": [
    {
      "registryType": "npm",
      "identifier": "your-package-name",
      "version": "1.0.0",
      "transport": { "type": "stdio" }
    }
  ]
}

Questo file deve essere personalizzato secondo le nostre esigenze e in base a chi effettua la pubblicazione. Infatti, se abbiamo un account enterprise, possiamo sostituire io.github.yourname con com.yourcompany: al posto della sola autenticazione, ci verrà richiesto anche la validazione del nome DNS.

Dopodichè dobbiamo garantire la provenienza del server e per farlo dobbiamo applicare delle "annotation" che dipendono dal linguaggio di riferimento. Per esempio se il server è un Docker container, ci basterà modificare il Dockerfile così:

LABEL io.modelcontextprotocol.server.name="io.github.username/server-name"

Mentre nel caso di NuGet package, dobbiamo modificare il README per includere:

mcp-name: io.github.username/server-name

Ora dobbiamo procedere con l'autenticazione:

mcp-publisher login github

E, infine, con la pubblicazione vera e propria:

mcp-publisher publish

Se la pubblicazione è andata a buon fine, troveremo il nostro server accessibile tramite:

In questo momento, proprio per prevenire il proliferare di MCP Server e mantenere alti standard qualitativi, per fare in modo che il server sia visibile all'interno del registry deve esserci una approvazione esplicita di GitHub. Questa approvazione avviene, in questa fase, tramite una richiesta formale all'indirizzo mail partnerships@github.com.

Commenti

Visualizza/aggiungi commenti

| Condividi su: LinkedIn, Facebook

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi