Suport de servidor MCP en entorn GNOME: guia completa

Darrera actualització: 18 de gener de 2026
  • MCP actua com a estàndard unificat perquè els models d'IA interactuïn amb navegadors, apps d'escriptori GNOME i serveis externs.
  • Hi ha servidors MCP llestos per a producció (Cloudflare, GitHub, Figma, Docker, Stripe, etc.) i altres específics per a Linux (Puppeteer, AT-SPI2).
  • Desenvolupar i desplegar el teu propi servidor MCP al GNOME requereix una arquitectura modular, bones pràctiques de seguretat i proves exhaustives.
  • Clients com Claude Desktop o KoboldCpp poden compartir el mateix ecosistema de servidors MCP, donant flexibilitat al flux de treball a Linux.

Suport de servidor MCP en entorn GNOME

Si treballeu amb assistents d'IA avançats i entorns Linux d'escriptori, segurament ja us heu trobat amb el Protocol de Context de Model (MCP) i la seva integració al GNOME . Cada cop més eines, servidors i plataformes ho adopten perquè els models puguin parlar amb aplicacions, navegadors, APIs i sistemes d'escriptori de manera estàndard i segura.

En aquest article veurem amb tot luxe de detalls com funciona el suport de servidors MCP en un entorn GNOME sobre Linux : des de l'automatització del navegador amb Puppeteer i la interacció amb aplicacions natives via AT-SPI2, fins a la integració amb plataformes com Cloudflare, GitHub, Figma, Docker o Stripe. A més, veurem com aixecar els teus propis servidors MCP, provar-los, desplegar-los i quin paper tenen Windows, ChatGPT, Claude i altres eines en aquest nou ecosistema.

Què és MCP i per què és tan important en escriptoris GNOME

El Protocol de Context de Model s'ha convertit en una cosa així com l' USB-C de la integració entre models de llenguatge i eines . En lloc de crear un connector diferent per a cada aplicació (CRM, base de dades, panell de desplegament, etc.), MCP defineix un estàndard obert perquè els LLM s'entenguin amb servidors que exposen eines i recursos de manera homogènia.

A la pràctica, un servidor MCP és un servei que ofereix eines (accions) i recursos (dades accessibles) segons un esquema ben definit, normalment usant JSON i JSON Schema. Els models d'IA poden descobrir aquestes eines, preguntar quins paràmetres accepten i anomenar-les de manera segura, sense que el desenvolupador s'hagi d'inventar un protocol nou per a cada cas.

En el context del GNOME i altres escriptoris Linux, MCP encaixa com un guant perquè permet que els models es connectin a servidors especialitzats que entenen l'ecosistema gràfic : X11, Wayland, accessibilitat AT-SPI2, navegadors controlats per Puppeteer, aplicacions GTK/Qt/Electron, etc. Tot això sense forçar els usuaris a canviar dentorn ni a dependre dintegracions ad hoc.

Des del punt de vista d'arquitectura, MCP separa clarament el client (l'assistent de l'IA o l'app que el fa servir) del servidor (la peça que parla amb el món real). Aquesta separació fa que puguis canviar el model, l'IDE o el proveïdor cloud sense refer totes les teves integracions sempre que mantinguis el mateix servidor MCP i el mateix contracte d'eines.

Suport de MCP a Windows, dubtes sobre la web i ús en escriptori

Una de les preguntes que més ronda avui dia a la gent que prova MCP és fins a quin punt és senzill fer-ho funcionar a Windows , especialment amb servidors basats en Node.js. Molts usuaris s'han barallat amb instal·lacions manuals, rutes de Node, configuracions de seguretat de PowerShell o problemes amb el fitxer de configuració del client d'IA.

Per alleujar aquest maldecap, algú va decidir demanar a Claude que generés un script de PowerShell capaç de gestionar la instal·lació i actualització de servidors MCP. El resultat és un guió (allotjat en un gist públic) que pots descarregar com mcp-install.ps1. La idea és molt simple: si el paquet apareix a mcp-get.com i s'identifica amb la icona de Node.js, l'script s'encarrega de descarregar-lo, instal·lar-lo i deixar-lo llest per utilitzar-lo.

El flux típic a Windows consisteix a obrir PowerShell i executar alguna cosa com ./mcp-install.ps1 @modelcontextprotocol/server-everything. Aquesta ordre desplega un servidor d'exemple que serveix per comprovar que tota la canonada MCP funciona correctament amb el vostre client (per exemple, Claude Desktop). Les captures del procés mostren què esperar i ajuden a verificar que tot ha quedat ben configurat.

Un detall interessant és que l'script no sobreescriu el teu fitxer claude_desktop_config.json. Comproveu el punt d'entrada del paquet MCP i actualitzeu la configuració de manera incremental. Si el servidor MCP ja està instal·lat, es limita a actualitzar-lo, respectant els paràmetres previs. Això redueix el risc de perdre configuracions personalitzades o rutes a altres servidors.

En sistemes Windows amb versions antigues de PowerShell, potser haureu d'executar abans Set-ExecutionPolicy Bypass -Scope Process per permetre lexecució de lscript. És una solució habitual quan PowerShell bloqueja l'execució de fitxers .ps1 descarregats d'Internet per motius de seguretat.

En paral·lel sorgeix un altre dubte cada cop més freqüent: veurem versions web de Claude o ChatGPT amb suport complet per a MCP? A nivell d'arquitectura no hi ha res que ho impedeixi: els servidors MCP ja existeixen, solen parlar HTTP o STDIO, i el protocol està ben documentat. El que frena els proveïdors sol ser una barreja de seguretat, permisos, límit de recursos, UX i governança: exposar MCP a la web implica permetre que models allotjats al núvol parlin amb sistemes externs, potencialment sensibles, des d'un navegador.

Molta gent simagina un futur en què obre el seu ChatGPT o Claude via web, amb totes les seves eines MCP personals connectades (GitHub, Figma, Jira, Docker, etc.) , i llança ordres complexes sense tocar la terminal. Aquesta visió és tècnicament plausible i, de fet, alguns passos ja s'estan fent, però requerirà polítiques fines de permisos, OAuth ben muntat i una UX que expliqui clarament què pot fer la IA a cada moment.

Automatització de navegador amb Puppeteer i suport de X11/Wayland

Dins de l'ecosistema Linux, un dels servidors MCP més potents és el que automatitza un navegador real mitjançant Puppeteer , amb suport natiu tant per a X11 com per a Wayland. Aquest servidor permet que un model de llenguatge interactuï amb pàgines web com si fos una persona: obrir URLs, fer clic en elements, omplir formularis, executar JavaScript, capturar cops de pantalla i llegir els logs de la consola.

  Com instal·lar Portainer per gestionar els teus contenidors Docker

Aquesta implementació inclou una capa específica per gestionar el servidor de visualització a Linux (X11, Wayland o fins i tot XWayland) . La bifurcació que es descriu a la documentació afegeix detecció automàtica de l'entorn gràfic i configura dinàmicament les variables que necessita Puppeteer per aixecar el navegador sense problemes, tant al GNOME com al KDE i altres escriptoris.

Entre les capacitats clau daquest servidor MCP de navegador destaquen la detecció automàtica de X11/Wayland, la configuració dinàmica de variables com DISPLAY y XAUTHORITY, el suport per a XWayland com a mecanisme de compatibilitat, i una sèrie de rutines de fallback amb maneig robust d'errors per evitar que el servidor caigui davant entorns més exòtics.

Pel que fa a recursos, aquest servidor ofereix dos tipus d'URI molt útils: d'una banda, els registres de la consola accessibles mitjançant console://logs, i de l'altra, les captures de pantalla referenciades com screenshot://<name>. Això proporciona al model un context visual i de depuració molt valuós quan automatitza fluxos E2E o inspecciona aplicacions web complexes.

Les funcions disponibles permeten cobrir gran part de les accions típiques de QA i scraping: navegació entre pàgines, clics, enviament de formularis, execució de scripts personalitzats , lectura de la consola i gestió de captures. Per als que treballen des del GNOME, aquesta capa MCP abstrau completament les peculiaritats del servidor de visualització i deixa al model parlar en un llenguatge d'alt nivell.

Suport MCP per a aplicacions d'escriptori Linux via AT-SPI2

Més enllà del navegador, hi ha un altre servidor MCP molt interessant que s'encarrega d' interactuar amb aplicacions d'escriptori natives a Linux a nivell d'accessibilitat . Fes servir AT-SPI2 (Assistive Technology Service Provider Interface), l'estàndard d'accessibilitat en entorns GNOME i altres escriptoris moderns, per exposar una mena de “arbre semàntic” de la interfície.

Aquest servidor ofereix una cosa semblant al que donen algunes extensions de Chrome amb les seves referències tipus ref_1, ref_2, però aplicat a finestres GTK, Qt, Electron i qualsevol app que publiqui la vostra informació accessible. És capaç de detectar rols (botons, textos, enllaços, menús, etc.), estats (enfocat, habilitat, marcat, editable) i proporcionar una cerca en llenguatge natural d'elements de la interfície.

Entre les seves eines més destacades hi ha funcions com desktop_snapshot, que captura l'arbre d'accessibilitat amb referències semàntiques, desktop_find per localitzar elements a partir de descripcions tipus “botó guardar” o “camp de cerca”, desktop_click per fer clic per referència o coordenades, desktop_type per escriure text, desktop_key per enviar dreceres de teclat i desktop_capabilities per consultar quin tipus d'automatització està disponible a cada entorn.

A GNOME, perquè tot això funcioni correctament, és imprescindible que l' accessibilitat de l'escriptori estigui activada . Normalment es fa des de Configuració → Accessibilitat. Al KDE també hi ha opcions similars al panell de sistema. La majoria descriptors moderns ho activen per defecte, però en alguns casos cal reiniciar sessió perquè el daemon de AT-SPI2 arrenqui bé.

Pel que fa a compatibilitat amb plataformes gràfiques, aquest servidor MCP suporta X11, Wayland i XWayland. En una taula de capacitats s'exposa que la detecció AT-SPI, el clic per referència, l'escriptura de text i l'ús d'eines com ara ydotool estan completament suportats als tres entorns, mentre que xdotool funciona a ple rendiment a X11 i XWayland, però no s'utilitza en sessions Wayland pures.

A l'apartat de resolució de problemes, la documentació esmenta errors típics com “AT-SPI2 not available” o “AT-SPI2 registry not running” , que solen ser perquè l'accessibilitat no està habilitada o que el servei no s'ha iniciat correctament. També es contempla el missatge “No input backend available” a Wayland, que sol resoldre's instal·lant i configurant les eines de simulació d'entrada adequades. A més, s'avisa que certes aplicacions antigues o mal integrades poden no exposar el vostre arbre d'accessibilitat, per la qual cosa alguns elements no apareixeran als snapshots.

MCP com a estàndard d'integració per a equips frontend

Més enllà de l'escriptori, MCP s'està consolidant com la referència per integrar eines crítiques del flux de treball frontend : disseny (Figma), control de versions (GitHub, GitLab), desplegament (Vercel, Netlify, Cloudflare), observabilitat (Sentry, Chromatic) i gestió del treball (Linear, Jira).

Es parla de MCP com l'equivalent a un “USB‑C per a integracions d'agents i eines” perquè permet connectar especificacions de disseny, repositoris, pipelins de desplegament, monitorització i gestió de tasques en un mateix canal que entenen tant els assistents d'IA com els editors de codi i els sistemes CI/CD. Sense capes d adaptadors personalitzats per a cada parella d eines.

Ja hi ha un llistat força complet de servidors MCP remots llestos per a producció, molts d'ells amb OAuth i permisos granulars . Per exemple, Cloudflare manté un catàleg de servidors MCP administrats que s'integren amb Workers, Pages, KV o R2; Notion ofereix un servidor (oficial o comunitari) per llegir i escriure documents, tasques i especificacions; GitHub i GitLab compten amb els seus propis servidors MCP per gestionar issues, pull/merge requests i automatitzar fluxos de revisió de codi.

Altres plataformes que s'hi han sumat són plantilles i servidors MCP que controlen desplegaments , entorns, dominis i projectes, o Supabase, que exposa accés de només lectura a bases de dades i altres capacitats de plataforma pensades per a aplicacions frontend. Al terreny de la gestió de treball, Linear i Atlassian (Jira/Confluence) proporcionen MCP remots que permeten crear incidències, actualitzar estats, consultar esprints o resumir pàgines coneixent els permisos de cada usuari.

A l'àmbit de l'observabilitat, Sentry ofereix un servidor MCP (amb versió allotjada i OSS) per consultar errors, portar context de problemes en temps real i fins i tot generar pegats suggerits. Stripe facilita la interacció amb la seva API i la documentació de pagaments; Chromatic/Storybook exposen eines per a proves visuals i revisió de la interfície; i projectes com Grep MCP permeten fer cerques de codi a escala en repos públics de GitHub , combinant expressions regulars i semàntica.

  Guia Completa per Reutilitzar Discos Durs Vells i Muntar un NAS

Tot això fa que, per a un equip de frontend modern, MCP sigui una opció molt pragmàtica per al 2025 i d'ara endavant . En lloc de mantenir scripts enganxats amb cinta aïllant, només caldria escollir el conjunt adequat de servidors MCP (Figma, GitHub/GitLab, Vercel/Netlify/Cloudflare, Sentry/Chromatic, etc.) i deixar que l'assistent d'IA orquesti el flux de disseny → codi → desplegament → codi → desplegament →

Guia pràctica: anatomia i desenvolupament d'un servidor MCP propi

Si voleu portar el suport MCP al GNOME un pas més enllà, tard o d'hora us tocarà construir el vostre propi servidor MCP . Més enllà d'usar els servidors ja fets, crear-ne un des de zero t'obliga a entendre l'arquitectura backend, la gestió d'eines i el model de missatges del protocol, cosa que et dóna un control absolut sobre com interactua la teva IA amb els teus sistemes.

L'arquitectura típica d'un servidor MCP és modular i se sol dividir en quatre blocs: l' aplicació principal de servidor , els mòduls d'eines i recursos, els manejadors de comunicació i els punts d'integració. L´aplicació s´encarrega d´obrir sockets o endpoints HTTP/STDIO, gestionar connexions concurrents, autenticar clients i coordinar el flux de dades.

Els mòduls de ferramentes són peces de codi que encapsulen accions concretes: consultar una base de dades, fer un càlcul, disparar un desplegament, llençar un playbook d'automatització, etc. Cada eina té un nom únic, una descripció clara, un esquema de paràmetres i un esquema de resposta, moltes vegades definit a JSON Schema per assegurar la validació . El servidor manté un registre daquestes eines i, quan arriba un missatge MCP, reenvia la petició a la funció adequada.

Els manejadors de comunicació s'ocupen de parsejar els missatges que arriben en format MCP, comprovar que compleixen l'esquema i encaminar cada sol·licitud a l'eina o el recurs corresponent. També s'encarreguen de donar forma a la resposta , omplint els camps esperats pel client (resultats, errors, metadades, etc.). Finalment, els punts d'integració són les interfícies externes que permeten a assistents i aplicacions connectar-se: endpoints HTTP, WebSockets, transport STDIO o el que defineixi la implementació.

El flux d'interacció és senzill: un client envia una sol·licitud MCP al servidor, el manejador la interpreta, el servidor executa l'eina indicada i el manejador empaqueta la resposta i la torna. Gràcies a aquest disseny per capes, podeu substituir el transport o afegir noves eines sense tocar el nucli lògic de l'aplicació.

Per desenvolupar un servidor MCP a la pràctica, sols començar triant un llenguatge de programació amb bon suport de xarxa com Python o Node.js. A Python, frameworks com Flask o FastAPI són habituals; a Node.js, Express encaixa molt bé. És recomanable estructurar el projecte amb carpetes per a eines (/tools), manejadors (/handlers) i un fitxer principal (server.py o server.js), a més dels arxius de dependències (requirements.txt o package.json).

A nivell d'entorn, el més sa és treballar amb entorns virtuals o aïllats: venv a Python, o simplement un projecte amb node_modules a Node.js. El control de versions amb Git i un bon .gitignore ajuden a mantenir les coses netes. Documentar el procés d'instal·lació en un README facilita que altres desenvolupadors reprodueixin el vostre servidor MCP a les vostres màquines.

Eines, recursos, proves i desplegament de servidors MCP

Definir bé les teves eines és clau perquè un model de llenguatge les pugui fer servir de forma fiable. Cada eina hauria de fer una única cosa clarament definida (principi d'atomicitat), amb un nom descriptiu, una explicació clara i un esquema detallat d'entrada i de sortida. Això fa que el servidor pugui anunciar les seves capacitats i que el client (el model) entengui què pot demanar i què rebrà.

Al codi, sols mantenir un registre d'eines (per exemple, un diccionari a Python que mapeja noms d'eina a funcions). Afegir una nova eina consisteix a escriure la funció amb les seves validacions, documentar-la i afegir-la a aquest registre. Els recursos, per part seva, són les dades o serveis que aquestes eines toquen: bases de dades, APIs externes, sistemes de fitxers, cues, etc.

La fase de proves inclou tant proves manuals (amb MCP Inspector, Postman o cURL) com a test automatitzats. El més habitual és enviar missatges MCP d'exemple a l'endpoint del servidor i verificar que les respostes compleixen el format esperat, incloent codis derror, estructura de dades i camps obligatoris. A Python, pytest facilita les proves unitàries i dintegració; a Node.js, frameworks com mocha o jest compleixen aquesta funció.

Per depurar, és vital tenir un sistema de logs ben pensat. Biblioteques com logging a Python o winston a Node.js et permeten registrar què passa quan arriba una sol·licitud, quina eina s'executa, quins paràmetres entren i què surt. En entorns de desenvolupament pots fer servir depuradors gràfics (VS Code, PyCharm, WebStorm) per posar breakpoints i examinar variables a fons.

Un cop el vostre servidor MCP funciona en local, el següent pas és desplegar-lo. Moltes persones opten per contenidors Docker i plataformes com Google Cloud Run, AWS ECS o Azure App Service , que ofereixen escalat automàtic, alta disponibilitat i maneig de certificats TLS integrat. És important traslladar tota la configuració sensible (claus d'API, credencials, etc.) a variables d'entorn i mantenir secrets fora del codi.

La seguretat es recolza en mecanismes d'autenticació com ara claus d'API o OAuth, limitant només l'accés a clients de confiança. També convé definir límits de recursos i polítiques d'escalat horitzontal perquè el servidor pugui gestionar pics de trànsit. La monitorització amb eines tipus CloudWatch o Google Operations i l'exposició d'endpoints de health check fan que detectar incidències sigui molt més senzill.

  Vmware esxi: Funcions

Quant al manteniment, convé actualitzar regularment dependències i sistema operatiu , aplicar pegats de seguretat i utilitzar estratègies de desplegament blue/green o rolling per evitar caigudes de servei. Tot això és igual aplicable a un servidor MCP que automatitza el GNOME que a un que integra Stripe o GitHub.

Servidors MCP per a Docker i sandboxes de Linux controlats per IA

Un altre exemple molt il·lustratiu del que es pot fer amb MCP és el servidor que utilitza Docker Engine per crear sandboxes de Linux controlades per la IA. Aquest tipus de servidor aixeca contenidors aïllats en què eines com Gemini-cli o Claude poden executar ordres, compilar codi, editar fitxers i fins i tot obrir editors com vim, mentre lusuari veu tot el que passa.

En una demostració típica, l'usuari demana a l'IA que escrigui un programa en C, el compile i l'executi dins del contenidor, indicant-li que faci servir un editor de terminal. El servidor MCP actua com a intermediari: crea el contenidor, exposa les eines adequades, reenvia les ordres i captura les sortides . Tot això amb un alt grau de visibilitat, de manera que saps exactament què fa el model dins del sandbox.

Aquesta aproximació resulta molt útil per a experiments, formació o tasques de desenvolupament potencialment perilloses, ja que manté el sistema amfitrió fora de perill . El codi font d'aquest servidor concret està disponible a GitHub, cosa que us permet estudiar-lo, adaptar-lo al vostre cas o contribuir amb millores. És un exemple perfecte de com MCP pot connectar IA i contenidors de manera extremadament flexible.

En entorns GNOME, aquesta classe de servidor té molt de sentit: pots utilitzar un client MCP d'escriptori, demanar-li a la IA que munti un entorn de proves a Docker, i continuar treballant en les teves aplicacions gràfiques mentre el contenidor fa la seva feina en segon pla . La separació entre escriptori i sandbox us dóna tranquil·litat sense renunciar a la potència de l'automatització.

A més, combinar aquest tipus de servidor amb els d'automatització de navegador o escriptori (via Puppeteer o AT-SPI2) obre la porta a fluxos de treball molt avançats : per exemple, aixecar una app a Docker, llançar un navegador controlat per MCP per fer tests E2E, i alhora deixar que el model interactuï amb diàlegs.

MCP en clients alternatius: exemple de KoboldCpp

No tot el suport MCP es limita a clients comercials com ara Claude Desktop. Eines com KoboldCpp han incorporat suport nadiu per a MCP en versions recents , amb la idea d'oferir una alternativa d'escriptori capaç de connectar-se als mateixos servidors que faries servir amb altres clients.

A la versió 1.106 de KoboldCpp, s'ha afegit un “pont MCP” que es pot connectar a tots els servidors declarats en un fitxer mcp.json amb el mateix format que fa servir Claude Desktop. Aquest pont és capaç de parlar tant amb servidors MCP basats en HTTP com amb els que utilitzen STDIO com a transport, reenviant automàticament les trucades a eines que la IA decideixi llançar cap al servidor correcte.

Des de la interfície d'usuari de KoboldCpp podeu consultar la llista d'eines disponibles a tots els servidors MCP connectats , activar o desactivar les que vulgueu que el model pugui utilitzar i fins i tot habilitar un sistema d'aprovacions per a les trucades d'eina, de manera que hagueu de confirmar abans que la IA executi certes accions sensibles.

Això demostra que MCP no està lligat a un únic proveïdor, sinó que qualsevol client que implementi el protocol pot aprofitar el mateix ecosistema de servidors . A la pràctica, si teniu un conjunt de servidors MCP ja configurats per al vostre entorn GNOME, podeu provar diferents clients (Claude, KoboldCpp, editors amb plugins MCP, etc.) sense refer totes les integracions.

La comunitat al voltant de KoboldCpp ha compartit captures on es veuen diversos servidors d'eines en acció alhora, mostrant com el pont MCP coordina diferents capacitats sense que l'usuari hagi de tocar a penes la configuració una vegada definit el mcp.json.

Al final, aquest tipus d'avenços reforça la idea de MCP com a estàndard transversal per a agents i eines , no com a afegit propietari d'un producte concret. Això beneficia tant els que usen GNOME i Linux com els que estan a Windows o macOS.

Amb tot això, el panorama per al suport de servidors MCP en entorns GNOME és molt prometedor: disposem d'automatització de navegador i escriptori amb suport X11/Wayland, servidors remots per a pràcticament totes les eines clau d'un equip de desenvolupament modern, guies detallades per construir i desplegar servidors propis i clients cada cop més diversos que entenen el protocol. Si es combina això amb bones pràctiques de seguretat, accessibilitat activada a l'escriptori i una estratègia clara de quins servidors habilitar, és possible muntar un flux de treball en què la IA deixi de ser un simple chatbot i es converteixi en un operador capaç de moure's amb soltesa entre les teves aplicacions GNOME, els teus contenidors Docker i les teves plataformes cloud.

què és el Model Context Protocol (MCP) i com funciona
Article relacionat:
Què és el Model Context Protocol (MCP) i com funciona