Saltar al contenido
Programación

MCP Plugins en Python: El Prompt Que Te Ahorra Días de Curva de Aprendizaje

· (banco local)
Compartir X Facebook
MCP Plugins en Python: El Prompt Que Te Ahorra Días de Curva de Aprendizaje
(banco local)

MCP Plugins en Python: El Prompt Que Te Ahorra Días de Curva de Aprendizaje

Mira, colega, llevo tiempo dándole vueltas a esto de los MCP (Model Context Protocol) plugins en Python. Y tío, la documentación oficial a veces parece escrita por un robot que odia a los humanos. Así que voy a ir al grano: te voy a dar 4 prompts que he ido currando para que integres MCP en tus proyectos Python sin volverte loco.

Primero lo primero: MCP no es magia, es un protocolo para que tus modelos de lenguaje se comuniquen con herramientas externas. Pero si no sabes cómo estructurarlo, te vas a pasar horas debuggeando. Con estos prompts, te saltas esa parte.

1. Prompt para estructura base MCP en Python

Reemplaza "nombre_plugin" por tu plugin

from mcp import MCPServer, MCPPlugin

class MiPlugin(MCPPlugin):

async def handle_request(self, request):

return {"status": "ok", "plugin": "nombre_plugin"}

server = MCPServer()

server.register_plugin(MiPlugin())

server.run()

Este es el esqueleto básico. No te compliques, tío. Con esto ya tienes un servidor MCP funcional.

2. Prompt para añadir funciones personalizadas a tu plugin MCP

Añade funciones que el modelo pueda llamar

from mcp import function_tool

@function_tool

def calcular_potencia(base: float, exponente: float) -> float:

"""Calcula base^exponente"""

return base ** exponente

@function_tool

def procesar_texto(texto: str, modo: str = "mayusculas") -> str:

"""Procesa texto según modo: mayusculas/minusculas"""

if modo == "mayusculas":

return texto.upper()

return texto.lower()

¿Ves? Así de sencillo. El modelo de lenguaje podrá llamar a calcular_potencia o procesar_texto directamente. Sin middleware raro.

3. Prompt para conectar tu plugin MCP con APIs externas

Integra APIs reales en tu plugin

import aiohttp

from mcp import async_tool

@async_tool

async def obtener_clima(ciudad: str) -> dict:

"""Obtiene clima actual de una ciudad"""

async with aiohttp.ClientSession() as session:

async with session.get(

f"https://api.weather.com/v1/{ciudad}",

headers={"Authorization": "Bearer TU_API_KEY"}

) as resp:

return await resp.json()

Esto es lo que realmente importa, colega. Tu plugin MCP puede hablar con cualquier API. El modelo pide el clima y tú se lo sirves en bandeja.

4. Prompt para manejar errores y logging en MCP

Logging y manejo de errores como un pro

import logging

from mcp import MCPError

logging.basicConfig(level=logging.INFO)

logger = logging.getLogger("mcp_plugin")

@function_tool

def buscar_usuario(usuario_id: int) -> dict:

try:

# Tu lógica aquí

if usuario_id <= 0:

raise MCPError("ID de usuario inválido")

logger.info(f"Buscando usuario {usuario_id}")

return {"id": usuario_id, "nombre": "Ejemplo"}

except MCPError as e:

logger.error(f"Error: {e}")

return {"error": str(e)}

Tío, no subestimes el logging. Cuando tu plugin falle a las 3 de la mañana, me lo agradecerás.

5. Prompt para testing automático de tu plugin MCP

Testea tu plugin sin desplegar

import pytest

from mcp.testing import MCPTestClient

def test_mi_plugin():

client = MCPTestClient(MiPlugin())

# Simula una petición del modelo

response = client.send_request({

"tool": "calcular_potencia",

"args": {"base": 2, "exponente": 3}

})

assert response["result"] == 8

print("Plugin funciona correctamente")

Y esto, colega, te ahorra horas de debugging. Testea antes de desplegar, que luego los modelos se vuelven locos.

Y tú, ¿qué prompt usas para integrar MCP en tus proyectos Python?

Más sobre Programación

Ver todo →