Token导航 LogoToken导航TokenDH.com
Ollama Using MCP Server logo
地图位置stdio官方级别未说明来源级核验

Ollama Using MCP Server

MCP Server

一个集成了Ollama和MCP(Model Context Protocol)工具的对话助手系统,用于获取实时信息,如城市天气。

工具数

1

提示词数

0

GitHub Stars

0

资源数

0
Python位置天气搜索

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

santimulet12

提供方

santimulet12

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run python MCPServer.py

详细介绍

Sistema de Chat con Herramientas MCP

Sistema de asistente conversacional que integra Ollama con herramientas MCP (Model Context Protocol) para obtener información en tiempo real, como el clima de ciudades.

📋 Requisitos Previos

  • Python 3.11 o superior
  • uv instalado
  • Ollama instalado y ejecutándose
  • Modelo Qwen 2.5:3b descargado en Ollama
  • Conexión a internet

🔧 Instalación

1. Instalar uv

Linux/macOS:

curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.local/bin/env

Windows:

powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

2. Clonar o descargar el proyecto

git clone https://github.com/santimulet12/ollamaUsingMcpServer.git
cd ollamaUsingMcpServer

3. Instalar dependencias con uv

# uv automáticamente crea el entorno virtual e instala todo
uv sync

Eso es todo. No necesitas ejecutar pip install manualmente.

4. Configurar Ollama

Asegúrate de que Ollama esté instalado y ejecutándose. Si no lo tienes, instálalo desde ollama.ai.

Descarga el modelo requerido:

ollama pull qwen2.5:3b

Verifica que Ollama esté corriendo:

ollama list

5. Configurar la API

En el archivo API.py, modifica la línea 9 con la dirección IP correcta de tu servidor Ollama:

OLLAMA_API_URL = "http://IP_AQUI:11434/api/chat"

Si Ollama está en la misma máquina, usa:

OLLAMA_API_URL = "http://localhost:11434/api/chat"

🚀 Ejecución

Paso 1: Iniciar el Servidor MCP

uv run python MCPServer.py

Deberías ver:

🚀 Servidor MCP iniciado en http://localhost:8000/mcp
📡 Herramientas disponibles: obtener_clima

Paso 2: Iniciar la API Flask

En otra terminal (dejando el servidor MCP corriendo):

uv run python API.py

La API Flask se iniciará en http://localhost:5000

📡 Uso de la API

Endpoint de Chat

URL: POST http://localhost:5000/ask-ia

Body (JSON):

{
  "prompt": "¿Cómo está el clima en Buenos Aires?",
  "historial": []
}

Ejemplo con historial:

{
  "prompt": "¿Y en Madrid?",
  "historial": [
    {"role": "user", "content": "¿Cómo está el clima en Buenos Aires?"},
    {"role": "assistant", "content": "En Buenos Aires hace 22°C..."}
  ]
}

Respuesta:

{
  "response": "En Buenos Aires actualmente hay 22°C con cielo despejado. La sensación térmica es de 21°C y hay un 65% de humedad."
}

Endpoint para verificar el estado de la API

URL: GET http://localhost:5000/health

Respuesta:

{
  "status": "ok"
}

🛠️ Herramientas Disponibles

obtener_clima

Obtiene información meteorológica actual de cualquier ciudad del mundo.

Parámetros:

  • ciudad (string): Nombre de la ciudad (ej: "Buenos Aires", "Madrid", "New York")

Información retornada:

  • Temperatura actual y sensación térmica
  • Descripción del clima
  • Humedad
  • Velocidad del viento
  • Presión atmosférica
  • Visibilidad
  • Índice UV

🧪 Ejemplos de Uso

Usando cURL:

curl -X POST http://localhost:5000/ask-ia \
  -H "Content-Type: application/json" \
  -d '{"prompt": "¿Qué tiempo hace en Mendoza?"}'

Usando Python:

import requests

response = requests.post(
    "http://localhost:5000/ask-ia",
    json={
        "prompt": "¿Cómo está el clima en Londres?",
        "historial": []
    }
)

print(response.json()["response"])

🔧 Comandos útiles con uv

# Agregar una nueva dependencia
uv add nombre-paquete

# Agregar dependencia de desarrollo
uv add --dev nombre-paquete

# Ejecutar scripts
uv run python MCPServer.py
uv run python API.py

# Actualizar dependencias
uv lock --upgrade

# Ver dependencias instaladas
uv pip list

# Ver árbol de dependencias
uv pip tree

🐛 Solución de Problemas

El servidor MCP no inicia

  • Verifica que el puerto 8000 no esté en uso
  • Asegúrate de que todas las dependencias estén instaladas: uv sync

La API Flask no se conecta a Ollama

  • Verifica que Ollama esté corriendo: ollama list
  • Confirma que la URL en API.py sea correcta
  • Asegúrate de que el modelo qwen2.5:3b esté descargado

Error de conexión al servidor MCP

  • Verifica que MCPServer.py esté corriendo con uv run python MCPServer.py
  • Confirma que esté accesible en http://localhost:8000/mcp

El modelo no usa las herramientas correctamente

  • El modelo debe responder en el formato exacto: USE_TOOL: y ARGS:
  • Si no funciona, considera ajustar el SYS_PROMPT en API.py

Problemas con el entorno virtual

# Eliminar el entorno y reinstalar
rm -rf .venv uv.lock
uv sync

📦 Estructura del Proyecto

mcp-chat-system/
├── .venv/                  # Entorno virtual (creado por uv)
├── API.py                  # API Flask principal
├── MCPServer.py            # Servidor MCP con herramientas
├── Documentacion.md        # Documentación técnica
├── README.md               # Este archivo
├── pyproject.toml          # Configuración del proyecto y dependencias
├── uv.lock                 # Lock file para reproducibilidad
└── .python-version         # Versión de Python fijada

📝 Notas

  • El servidor MCP debe estar corriendo antes de iniciar la API Flask
  • El servicio de clima usa wttr.in, que es gratuito pero puede tener límites de uso
  • Las respuestas están configuradas para ser concisas (3-4 oraciones máximo)
  • Todo el sistema está configurado para responder en español
  • uv gestiona automáticamente las dependencias y el entorno virtual
  • No necesitas activar manualmente el entorno virtual, usa uv run

🚀 Ventajas de usar uv

  • 10-100x más rápido que pip
  • 🔒 Lock file automático para reproducibilidad
  • 📦 Gestión unificada de dependencias y Python
  • 🎯 Un solo archivo de configuración (pyproject.toml)
  • 🔄 Sincronización perfecta entre entornos

目录标签

目录标签

Python位置天气搜索对话助手本地部署实时信息天气查询Ollama集成MCP工具

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP