Saltar al contenido
K0lateral
Programación

MCP Plugins en Python: El Prompt Que Te Ahorrará Horas de Código

· (banco local)
MCP Plugins en Python: El Prompt Que Te Ahorrará Horas de Código
(banco local)

MCP Plugins en Python: El Prompt Que Te Ahorrará Horas de Código

Mira, colega, si estás aquí es porque ya sabes lo que es MCP (Model Context Protocol) y quieres sacarle jugo a los plugins en Python. No voy a perder tiempo explicándote qué es un plugin MCP, porque si no lo sabes, este artículo no es para ti. Vamos al grano: cómo usar prompts que te hagan la vida más fácil.

El problema real con MCP Plugins

Tío, la mayoría de la gente se pierde en la documentación y acaba copiando ejemplos que no funcionan. Los MCP plugins en Python son potentes, pero requieren que sepas conectar bien las piezas. Aquí te dejo 5 prompts que uso yo mismo para no volverme loco.

Prompt #1: El esqueleto básico de un plugin MCP

Prompt: Genera un plugin MCP en Python con estructura básica

Incluye: cliente MCP, manejo de errores básico, y un endpoint simple

from mcp import Client, Tool

import logging

class MiPluginMCP:

def __init__(self, server_url: str):

self.client = Client(server_url)

logging.basicConfig(level=logging.INFO)

@Tool()

def procesar_datos(self, datos: dict) -> dict:

try:

resultado = self.client.call("procesar", datos)

logging.info(f"Datos procesados: {resultado}")

return {"status": "ok", "data": resultado}

except Exception as e:

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

return {"status": "error", "message": str(e)}

Prompt #2: Plugin con autenticación y caché

Prompt: Crea un plugin MCP con autenticación por token y caché en memoria

Usa: decoradores, functools.lru_cache, y manejo de tokens

from functools import lru_cache

import time

class PluginAutenticado:

def __init__(self, token: str):

self.token = token

self._cache = {}

@lru_cache(maxsize=100)

def consultar_api(self, endpoint: str, params: dict) -> dict:

headers = {"Authorization": f"Bearer {self.token}"}

# Simulación de llamada a API

time.sleep(0.5)

return {"endpoint": endpoint, "params": params}

Prompt #3: Pipeline de datos con MCP

Prompt: Pipeline de procesamiento de datos con MCP plugins

Incluye: transformación, validación y exportación

from typing import List, Dict

import json

class PipelineMCP:

def __init__(self, plugins: List[object]):

self.plugins = plugins

def ejecutar(self, datos: Dict) -> Dict:

resultado = datos

for plugin in self.plugins:

resultado = plugin.procesar(resultado)

return resultado

def exportar_json(self, datos: Dict, archivo: str):

with open(archivo, 'w') as f:

json.dump(datos, f, indent=2)

Prompt #4: Plugin con reintentos automáticos

Prompt: Plugin MCP con política de reintentos exponenciales

Usa: tenacity, retry, y backoff

from tenacity import retry, stop_after_attempt, wait_exponential

class PluginResiliente:

@retry(stop=stop_after_attempt(3),

wait=wait_exponential(multiplier=1, min=2, max=10))

def llamar_con_reintentos(self, funcion: callable, *args, **kwargs):

return funcion(*args, **kwargs)

Prompt #5: Plugin con logging estructurado

Prompt: Plugin MCP con logging estructurado y métricas

Incluye: time.time, logging con formato JSON

import time

import json

import logging

class PluginMetricas:

def __init__(self):

self.metricas = {}

def medir_tiempo(self, funcion: callable):

def wrapper(*args, **kwargs):

inicio = time.time()

resultado = funcion(*args, **kwargs)

duracion = time.time() - inicio

self.metricas[funcion.__name__] = duracion

logging.info(json.dumps({

"funcion": funcion.__name__,

"duracion": duracion,

"args": args

}))

return resultado

return wrapper

Cómo usar estos prompts

Tío, no copies y pegues sin más. Cada prompt está pensado para una situación específica. Mi recomendación:

  • Empieza con el Prompt #1 para entender la estructura base
  • Añade autenticación (#2) cuando necesites seguridad
  • Combina los prompts según tu caso de uso

El truco está en entender que los MCP plugins son como piezas de Lego: cada prompt te da un bloque que puedes combinar.

Y tú, colega, ¿qué prompt usas para tus plugins MCP en Python? Cuéntame en los comentarios, que esto es un trabajo en equipo.

Más sobre Programación

Ver todo →