Actualizacion para mcp

This commit is contained in:
2025-05-16 02:12:33 +02:00
parent 95c1762ca7
commit 9db2f70009
13 changed files with 597 additions and 247 deletions
+19 -64
View File
@@ -1,74 +1,29 @@
import asyncio
from llms.MCPs.MCPStdioServer import MCPStdioServer
import os
async def main():
prueba = MCPStdioServer(
name="prueba_server_mcp",
command="C:/Users/lucas/Desktop/mcps/.venv/Scripts/python.exe",
args=["C:/Users/lucas/Desktop/mcps/server_mcp_python/server_mcp.py"],
)
await prueba.start()
print("Herramientas:", prueba.get_tool_names())
await prueba.stop() # <- esto previene el error
if __name__ == "__main__":
# Asegura compatibilidad para subprocess en Windows
if os.name == "nt":
asyncio.set_event_loop_policy(asyncio.WindowsProactorEventLoopPolicy())
asyncio.run(main())
async def test_registry(registry: ClientRegistry):
tools = await registry.listar_tools_por_cliente()
prompts = await registry.listar_prompts_por_cliente()
resources = await registry.listar_resources_por_cliente()
print("\n🔧 Herramientas:", tools)
print("\n📋 Prompts:", prompts)
print("\n📂 Resources:", resources)
asyncio.run(test_registry(registry))
async def test_wrapper():
from src.ApiKeys.openai_apikey import OpenAICredencial
from src.ApiKeys.openai_apikey_mmr import OpenAICredencialRepo # Ajusta si está en otro módulo
from src.ConexionSql.Postgres_conexion import PostgresConexion
# 1. Crear instancia de conexión (asegúrate de configurar bien tu conexión en Base_conexion)
from entrypoint.init_db import db_credencial
conexion_admin = PostgresConexion(db_credencial)
# 3. Guardar la credencial en la base de datos
repo = OpenAICredencialRepo(conexion_admin)
credencial_openai = repo.get_by_id(1)
print(f"✅ Credencial: {credencial_openai.titulo}")
from src.ConexionApis.OpenAi_conexion import OpenAICliente
cliente = OpenAICliente(credencial_openai)
from llms.Modelos.Openai_model import ModeloOpenAI
modelo = ModeloOpenAI(
cliente=cliente,
model="gpt-4o",
temperature=1,
top_p=1.0
)
from llms.Agente import AgenteAI
# 2. Llamar a una herramienta de prueba
result = await herramientas.call_tool("generate_uuid")
print("\n🆔 UUID generado:", result[0].text) # Accedemos al contenido directamente
agente_con_herramientas = AgenteAI(
modelo=modelo,
nombre="Agente con herramientas",
descripcion="Un agente que puede usar herramientas",
system_prompt="Eres un asistente que puede usar herramientas para responder preguntas.",
rol="asistente",
objetivos=["Asistir al usuario en tareas complejas", "usar herramientas para obtener información adicional"]
# tools=
)
respuesta = agente_con_herramientas.interactuar(
prompt="Hola como estas?",
)
print(respuesta)
# asyncio.run(test_wrapper())