Saltar al contenido
K0lateral
Programación

MCP Plugins en Python: Cómo conectar tu código con ChatGPT sin volverte loco

· (banco local)
MCP Plugins en Python: Cómo conectar tu código con ChatGPT sin volverte loco
(banco local)

MCP Plugins en Python: Cómo conectar tu código con ChatGPT sin volverte loco

Mira, colega, llevo tiempo dándole vueltas a esto de los MCP plugins y Python. Si eres como yo, que te gusta tener el control de lo que hace la IA con tu código, esto te va a interesar. No es teoría de manual, es práctica pura y dura.

Los MCP (Model Context Protocol) plugins te permiten que ChatGPT o cualquier modelo de lenguaje se comunique directamente con tu código Python. ¿Para qué? Pues para que puedas ejecutar funciones, consultar bases de datos o procesar archivos sin tener que copiar-pegar como un animal. Vamos al grano.

¿Qué necesitas exactamente?

Tres cosas: Python 3.8+, el paquete mcp y un servidor que conecte con tu lógica. Nada más. Olvídate de frameworks enormes. Esto es ligero y directo.

Instalación rápida:

pip install mcp

Y ahora, los prompts que realmente funcionan. Cópialos y pégaliós, que para eso estamos aquí.

Prompt 1: Conectar tu script Python con ChatGPT

Este es el básico, el que te saca del apuro cuando quieres que la IA ejecute una función tuya:

Crea un servidor MCP en Python que exponga una función llamada "analizar_texto" que reciba un string y devuelva el número de palabras, caracteres y frases. Usa el decorador @mcp.tool() para definirla. El servidor debe escuchar en localhost:8000.

Código funcional:

import mcp

@mcp.tool()

def analizar_texto(texto: str) -> dict:

palabras = len(texto.split())

caracteres = len(texto)

frases = len([f for f in texto.split('.') if f])

return {"palabras": palabras, "caracteres": caracteres, "frases": frases}

mcp.run(host="localhost", port=8000)

Prompt 2: Leer archivos locales desde ChatGPT

Esto es oro puro cuando trabajas con datos locales. Ni FTP, ni subidas a la nube:

Crea un servidor MCP en Python con una herramienta llamada "leer_archivo" que acepte una ruta de archivo como string y devuelva su contenido. Incluye manejo de errores para archivos que no existan. El servidor debe usar logging básico.

Código funcional:

import mcp

import logging

logging.basicConfig(level=logging.INFO)

@mcp.tool()

def leer_archivo(ruta: str) -> str:

try:

with open(ruta, 'r', encoding='utf-8') as f:

return f.read()

except FileNotFoundError:

return f"Error: archivo {ruta} no encontrado"

except Exception as e:

return f"Error inesperado: {str(e)}"

mcp.run()

Prompt 3: Base de datos SQLite en tiempo real

Tío, esto es lo que necesitas si trabajas con datos persistentes. ChatGPT consulta tu BD directamente:

Crea un servidor MCP en Python con dos herramientas: "consultar_db" que ejecute SELECTs y "insertar_db" que haga INSERTs. Conéctate a una base de datos SQLite llamada "datos.db". La tabla se llama "usuarios" con columnas id, nombre, email. Incluye validación básica de SQL injection.

Código funcional:

import mcp

import sqlite3

def get_db():

return sqlite3.connect('datos.db')

@mcp.tool()

def consultar_db(query: str) -> list:

if not query.lower().startswith('select'):

return "Solo consultas SELECT permitidas"

conn = get_db()

cursor = conn.cursor()

cursor.execute(query)

resultados = cursor.fetchall()

conn.close()

return resultados

@mcp.tool()

def insertar_db(nombre: str, email: str) -> str:

conn = get_db()

cursor = conn.cursor()

cursor.execute("INSERT INTO usuarios (nombre, email) VALUES (?, ?)", (nombre, email))

conn.commit()

conn.close()

return f"Usuario {nombre} insertado correctamente"

mcp.run()

Prompt 4: Procesar imágenes con PIL

Este es para los que trabajan con imágenes. Directo, sin rodeos:

Crea un servidor MCP en Python con una herramienta "procesar_imagen" que acepte una ruta de imagen y un modo (escala_grises, rotar_90, invertir). Usa PIL para procesar y guarda el resultado como "procesada.jpg". Devuelve la ruta del archivo generado.

Código funcional:

import mcp

from PIL import Image

@mcp.tool()

def procesar_imagen(ruta: str, modo: str) -> str:

img = Image.open(ruta)

if modo == "escala_grises":

img = img.convert('L')

elif modo == "rotar_90":

img = img.rotate(90, expand=True)

elif modo == "invertir":

img = Image.eval(img, lambda x: 255 - x)

else:

return "Modo no soportado"

img.save("procesada.jpg")

return "procesada.jpg"

mcp.run()

Prompt 5: Llamar a APIs externas desde ChatGPT

El clásico, pero con MCP. Útil cuando quieres que la IA tire de datos actualizados:

Crea un servidor MCP en Python con una herramienta "llamar_api" que acepte una URL y devuelva el JSON de respuesta. Incluye timeout de 10 segundos y manejo de errores HTTP. Usa la librería requests.

Código funcional:

import mcp

import requests

@mcp.tool()

def llamar_api(url: str) -> dict:

try:

respuesta = requests.get(url, timeout=10)

respuesta.raise_for_status()

return respuesta.json()

except requests.exceptions.Timeout:

return {"error": "Timeout excedido"}

except requests.exceptions.HTTPError as e:

return {"error": f"HTTP {e.response.status_code}"}

except Exception as e:

return {"error": str(e)}

mcp.run()

Mi opinión, sin filtros

Los MCP plugins son el futuro de la integración IA-código, pero ojo: no te confíes. Esto no es magia. Necesitas tener claro qué quieres exponer y cómo. Yo los uso para automatizar tareas repetitivas de procesamiento de datos y va de puta madre. Pero si esperas que la IA haga todo por ti sin entender el código, vas listo.

Y tú, ¿qué prompt usas para conectar tu código con ChatGPT? Cuéntame, que siempre se aprende algo nuevo.

Más sobre Programación

Ver todo →