Saltar al contenido
K0lateral
Programación

MCP Plugins en Python: El Prompt Que Te Ahorra 3 Librerías y 2 Días de Debugging

· (banco local)
MCP Plugins en Python: El Prompt Que Te Ahorra 3 Librerías y 2 Días de Debugging
(banco local)

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?

Más sobre Programación

Ver todo →