MCP Plugins en Python: El Prompt Que Te Ahorra 3 Librerías y 2 Días de Debugging
MCP Plugins en Python: El Prompt Que Te Ahorra 3 Librerías y 2 Días de Debugging
Mira, colega, llevo semanas trasteando con los MCP plugins en Python y te voy a ser sincero: al principio pensé que era otro invento overengineered para hacer lo mismo de siempre. Pero no, tío. Esto va en serio. Si programas con modelos de lenguaje y necesitas que ChatGPT, Claude o cualquier IA generativa interactúe con tu código de forma nativa, los Model Context Protocol (MCP) plugins son lo que necesitas.
Pero ojo, no te voy a soltar la chapa teórica. Vamos al lío. Aquí tienes 5 prompts funcionales que puedes copiar-pegar ahora mismo para trabajar con MCP plugins en Python. Sin rodeos.
Prompt 1: Configuración básica de un plugin MCP en Python
Este prompt te monta el esqueleto de un plugin MCP funcional en 2 minutos. Ni flask, ni fastapi, ni historias. Directo al grano.
prompt para crear un plugin MCP básico
import mcp
from mcp import Plugin, tool
class MiPluginMCP(Plugin):
@tool
def saludar(self, nombre: str) -> str:
"""Saluda a un usuario por su nombre"""
return f"Hola {nombre}, esto es un plugin MCP en Python"
Registro del plugin
mcp.register(MiPluginMCP())
¿Qué hace? Te crea un plugin que responde a saludar("Nacho") con un saludo personalizado. Simple, pero la base de todo.
Prompt 2: Plugin MCP con acceso a archivos locales
Aquí viene lo potente. Este prompt te permite que tu IA lea/escriba archivos directamente. Sin andar con APIs ni bases de datos raras.
prompt para plugin MCP con file I/O
import mcp
from mcp import Plugin, tool
import json
class FileManagerPlugin(Plugin):
@tool
def leer_config(self, ruta: str = "config.json") -> dict:
"""Lee un archivo JSON de configuración"""
with open(ruta, 'r') as f:
return json.load(f)
@tool
def escribir_log(self, mensaje: str) -> bool:
"""Escribe un log en el sistema de archivos"""
with open("mcp_log.txt", "a") as f:
f.write(f"{mensaje}\n")
return True
mcp.register(FileManagerPlugin())
Truco: Usa leer_config para cargar settings de tu app y escribir_log para trackear qué hace la IA. Brutal para debugging.
Prompt 3: Plugin MCP con llamadas a API externas
¿Necesitas que tu IA tire de APIs externas? Olvídate de requests complicadas. Este plugin lo hace todo.
prompt para plugin MCP con API calls
import mcp
from mcp import Plugin, tool
import requests
class APIWrapperPlugin(Plugin):
@tool
def obtener_clima(self, ciudad: str) -> dict:
"""Obtiene el clima actual de una ciudad usando OpenWeatherMap"""
api_key = "TU_API_KEY_AQUI" # Cambia esto
url = f"https://api.openweathermap.org/data/2.5/weather?q={ciudad}&appid={api_key}"
response = requests.get(url)
return response.json()
mcp.register(APIWrapperPlugin())
Ojo: Cambia la API key. Si no, te va a petar. Pero la estructura es cojonuda para cualquier API REST.
Prompt 4: Plugin MCP con caché en memoria
Los plugins MCP pueden petar si haces muchas llamadas seguidas. Este prompt añade caché para que no mates el rendimiento.
prompt para plugin MCP con cache
import mcp
from mcp import Plugin, tool
from functools import lru_cache
class CachedPlugin(Plugin):
@tool
@lru_cache(maxsize=128)
def calcular_algo_pesado(self, parametro: int) -> int:
"""Calcula algo que tarda mucho (simulado)"""
import time
time.sleep(2) # Simula proceso pesado
return parametro * 42
mcp.register(CachedPlugin())
Nota: El lru_cache evita recalcular lo mismo. Si la IA pide calcular_algo_pesado(5) dos veces, la segunda va instantánea.
Prompt 5: Plugin MCP con validación de datos
Último y más importante. Los plugins MCP sin validación son una bomba de reloj. Este prompt te protege de entradas maliciosas.
prompt para plugin MCP con validacion
import mcp
from mcp import Plugin, tool
from pydantic import BaseModel, Field
class InputData(BaseModel):
nombre: str = Field(..., min_length=1, max_length=50)
edad: int = Field(..., ge=0, le=150)
class SafePlugin(Plugin):
@tool
def procesar_usuario(self, data: InputData) -> str:
"""Procesa datos de usuario con validación estricta"""
return f"Usuario {data.nombre} ({data.edad} años) procesado"
mcp.register(SafePlugin())
¿Por qué esto mola? Porque si la IA te manda {"nombre": "", "edad": 999}, el plugin lo rechaza automáticamente. No más errores tontos.
Para qué sirve todo esto en la práctica
Mira, colega, los MCP plugins en Python no son un juguete. Los uso para:
- Automatizar deploys: La IA lee configs, ejecuta scripts, todo desde el mismo plugin.
- Chatbots con memoria persistente: En lugar de perder el contexto, guardas logs en archivos.
- Integración con APIs de terceros: Sin tocar el código del modelo principal.
Si estás programando con IA generativa y no usas MCP plugins, estás perdiendo el tiempo. Punto.
Y tú, ¿qué prompt usas para conectar tu IA con Python sin volverte loco?


