Skip to main content
Glama
o6-webwork

LLM Tool-Calling Assistant

by o6-webwork

Este proyecto conecta un LLM local (p. ej., Qwen) con herramientas como una calculadora o una base de conocimientos mediante el protocolo MCP . El asistente detecta y llama automáticamente a estas herramientas para responder a las consultas de los usuarios.


📦 Características

  • 🔧 Ejecución de herramientas a través del servidor MCP

  • 🧠 Integración local de LLM a través de HTTP o OpenAI SDK

  • 📚 Soporte de base de conocimientos ( data.json )

  • ⚡ Admite transportes stdio y sse


Related MCP server: MCP Server with Local LLM

🗂 Archivos del proyecto

Archivo

Descripción

server.py

Registra herramientas e inicia el servidor MCP

client-http.py

Utiliza aiohttp para comunicarse con LLM local

clientopenai.py

Utiliza SDK compatible con OpenAI para LLM + lógica de llamada de herramientas

client-stdio.py

Cliente MCP que utiliza stdio

client-see.py

Cliente MCP que utiliza SSE

data.json

Base de conocimientos de preguntas y respuestas


📥 Instalación

Requisitos

Python 3.8+

Instalar dependencias:

pip install -r requirements.txt

requirements.txt

aiohttp==3.11.18
nest_asyncio==1.6.0
python-dotenv==1.1.0
openai==1.77.0
mcp==1.6.0

🚀 Primeros pasos

1. Ejecute el servidor MCP

python server.py

Esto inicia su servidor de herramientas con funciones como add , multiply y get_knowledge_base .

2. Iniciar un cliente

Opción A: Cliente HTTP (LLM local a través de API sin procesar)

python client-http.py

Opción B: Cliente SDK de OpenAI

python client-openai.py

Opción C: transporte stdio

python client-stdio.py

Opción D: Transporte SSE

Asegúrese de que server.py establezca:

transport = "sse"

Luego ejecuta:

python client-sse.py

💬 Ejemplos de indicaciones

Llamada a la herramienta matemática

What is 8 times 3?

Respuesta:

Eight times three is 24.

Pregunta de la base de conocimientos

What are the healthcare benefits available to employees in Singapore?

La respuesta incluirá la respuesta relevante de data.json .


📁 Ejemplo: data.json

[
  {
    "question": "What is Singapore's public holiday schedule?",
    "answer": "Singapore observes several public holidays..."
  },
  {
    "question": "How do I apply for permanent residency in Singapore?",
    "answer": "Submit an online application via the ICA website..."
  }
]

🔧 Configuración

Dentro de client-http.py o clientopenai.py , actualice lo siguiente:

LOCAL_LLM_URL = "..."
TOKEN = "your-api-token"
LOCAL_LLM_MODEL = "your-model"

Asegúrese de que su LLM esté prestando servicio a puntos finales de API compatibles con OpenAI.


🧹 Limpieza

Los clientes gestionan las llamadas y respuestas de las herramientas automáticamente. Puede detener el servidor o el cliente con Ctrl+C .


🪪 Licencia

Licencia MIT. Véase el archivo LICENSE .

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    C
    maintenance
    A multi-tool MCP server that enhances local LLMs with web search, document reading, scholarly research, Wikipedia access, and calculator functions. Provides comprehensive tools for information retrieval and computation without requiring API keys by default.
    22
    1
    MIT