Tu primer servidor MCP

26 julio, 2025 0 Por admin
Tu primer servidor MCP

Vamos a hacer que la IA de Claude desktop hable con nuestra base de datos para poder pedirle consultas como “dame los nombres de usuarios que empiecen por a en mi base de datos”.

Model Context Protocol Server es un agente que se conecta a una IA o un LLM para dotarlo de más datos y que pueda por ejemplo consulte los datos de tu base de datos haciéndole al LLM la pregunta de “muéstrame todos los usuarios que empiecen por a” o enviar un correo diciéndole “envía correos a los clientes de Alicante” o enviar twit, etc.

Pero claro, no solo sirve para hablar con tu base de datos local, también puedes utilizarlo para que te explique un proyecto de github conectándolo aún agente mcp server de github, que le preguntes sobre el clima de mañana conectándolo a un mcp server de weather, etc, existe una base de datos oficial con estos servidores: https://github.com/modelcontextprotocol/servers

El repositorio oficial https://github.com/modelcontextprotocol tiene ya librerías para que podamos crear mcp servers utilizando nuestro lenguaje favorito.

Vamos a crear nuestro mcp sever utilizando python, para ver como se hace, vamos al repositorio oficial y pinchamos en Python SDK:

Ahora en installation:

Lo  1 que nos dice es que utilizemos el manejador de proyectos Python uv, vamos a instalar uv de forma global con pip install uv ya que nos hará falta para más tarde,  pero para hacerlo lo más sencillo posible, vamos a utilizar nuestro pip y nuestro entorno virtual venv como siempre, creamos un archivo llamado main.py con “echo “” >main.py”, después escribimos “python -m venv .venv” para crear nuestro entorno virtual, cuando vscode nos pida utilizarlo le decimos que si, si no lo pregunta, presionamos ctrl+shift+p y escribimos python interpreter y seleccionamos en (.venv):

Lo activamos con .venv\Scripts\activate y escribimos pip install mcp mcp[cli] para instalar el paquete mcp que nos permitirá crear mcp servers y cliente de línea de comandos mcp[cli] que nos permitirá escribir comando en el terminal o cmd del mcp como por ejemplo “mcp dev main.py” para ejecutar un pequeño servidor de pruebas:

Ahora dentro del main.py escribimos el código para inicializar nuestro mcp:

Por último escribimos “mcp dev main.py”,  cuando nos pregunte que inspector queremos utilizar pulsamos intro, el inspector es una pequeña aplicación web que nos va a permitir probar los mcp servers que vayamos creando:

Cuando termina nos abre una web, pinchamos en connect para ver si hay algún problema, en la parte de debajo de este artículo he puesto los posibles problemas que te puedes encontrar.

Todo ha ido bien:

Creando el tool o herramienta  de nuestro mcp server para consultar usuarios de nuestra base de datos

Creamos el archivo sqliteClient.py con este código:

Modificamos el main.py para añadir el @mcp.tool, los comentarios son muy importantes ya que ayudan a las IAs que se conectan:

Para probar nuestro @mcp.tool dentro de la web pinchamos en Tools:

Ahora en List Tools:

Ahora en nuestra tool “muestra_todos_los_usuarios”:

Ahora pinchamos en Run Tool:

Conectando una IA a nuestro mcp server

Puedes utilizar la IA integrada de github copilot, windsurf, cursor, pero nostros vamos a probar claude desktop, nos lo descargamos de https://claude.ai/download.

Elegimos el plan gratuito, claro:

Una vez instalados y logeados tenemos que indicarle a Claude desktop donde van a estar nuestros mcp-servers.

Ahora toca crear el archivo “claude_desktop_config.json” en el directorio “C:\Users\tu_usuario\AppData\Roaming\Claude” especificando los mcp servers que quieres que vea Claude desktop:

Dentro del archivo “claude_desktop_config.json”, escribimos el comando y la ruta de nuestro mcp server, en lugar de tu_usuario pon el usuario de Windows que tengas:

Si quieres puedes preguntarle a Claude-destop sobre la ruta de la configuración de los mcp:

Ahora cerramos y volvemos a abrir Claude desktop y pinchamos aquí:

Administrar conectores:

Aquí verás tu mcp server:

Ahora toca hacerle la pregunta:

Toca darle los permisos:

Perfecto, hagamos otra pregunta:

Posibles fallos

Error al intentar crear el servidor web

Tenemos que actualizar las librerías de node para crear el servidor web , para eso crearemos un script en power shell, crea un archivo llamado “mcp-install.ps1”, puedes descargarlo de aquí: https://gist.github.com/evalstate/d0420dc6925f603b944c8b19e8b6977c

Ejecuta el archivo dentro de power Shell con “.\mcp-install.ps1 @modelcontextprotocol/server-everything”: