Token导航 LogoToken导航TokenDH.com
MCP TAVILI DATE OAUT logo
安全风控stdio官方级别未说明来源级核验

MCP TAVILI DATE OAUT

MCP Server

一个集成了Ollama和TAVILY的MCP HTTP服务器/客户端,支持智能网络搜索和OAuth2认证。

工具数

2

提示词数

0

GitHub Stars

0

资源数

0
HTTP服务器Python智能搜索

安装说明

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

作者 / 组织

growley

提供方

growley

最后核验

2026/5/17 20:22

运行时

Python

快速接入

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

命令预览

uv run python src/server.py

详细介绍

mcp-http-starter

Servidor/cliente MCP con integración Ollama y TAVILY para búsquedas web inteligentes. Migrado: Ahora usa transporte HTTP requests en lugar de STDIO. NUEVO: Implementación completa de autenticación OAuth2.

Requisitos

  • Python >= 3.12
  • Dependencias: fastmcp, ollama, requests, tavily-python, fastapi, uvicorn, authlib, python-jose, passlib

Instalación (con uv)

uv sync

Configuración

Ollama (opcional)

Para usar el procesamiento con IA local:

  1. Instalar Ollama: https://ollama.com/download
  2. Descargar modelo: ollama pull gpt-oss:20b
  3. Ejecutar servidor Ollama: ollama serve

TAVILY API (recomendado)

Para búsquedas web mejoradas:

  1. Registrarse en: https://tavily.com
  2. Obtener API key gratuita
  3. Configurar variable de entorno:
   set TAVILY_API_KEY=tu_api_key_aqui
  1. Sin API key, usa DuckDuckGo como fallback

Configuración OAuth2 (opcional)

Para habilitar autenticación OAuth2:

  1. Configurar variables de entorno (copia env.example a .env):
   # JWT
   JWT_SECRET_KEY=tu_clave_secreta_muy_segura_aqui
   
   # Google OAuth2 (opcional)
   GOOGLE_CLIENT_ID=tu_google_client_id
   GOOGLE_CLIENT_SECRET=tu_google_client_secret
   
   # GitHub OAuth2 (opcional)
   GITHUB_CLIENT_ID=tu_github_client_id
   GITHUB_CLIENT_SECRET=tu_github_client_secret
  1. Obtener credenciales OAuth2:

- Google: Google Cloud Console - GitHub: - Microsoft: Azure Portal

Scripts

Servidor HTTP

  • Servidor HTTP: uv run python src/server.py
  • Cliente HTTP: uv run python src/client.py

Clientes de prueba

  • Prueba OAuth2: uv run python test_oauth_client.py
  • Prueba simple: uv run python test_client_simple.py

Herramientas disponibles

1. datetime_now

Devuelve la fecha y hora actuales en formato ISO-8601 (UTC).

2. web_search

Realiza búsquedas web combinando:

  • TAVILY (principal): Optimizada para LLMs, mejor para noticias/deportes
  • DuckDuckGo (fallback): Para consultas generales
  • Ollama (procesamiento): IA local para análisis de resultados

Parámetros:

  • query: Consulta de búsqueda
  • model: Modelo de Ollama a usar (por defecto: "gpt-oss:20b")

Servidor HTTP

El servidor HTTP permite acceso mediante requests HTTP:

Características HTTP

  • Puerto: 8001 (configurable)
  • Endpoints MCP: /mcp (endpoint principal)
  • Endpoints adicionales:

- / - Información del servidor - /health - Estado del servidor - /tools - Lista de herramientas (sin MCP) - /docs - Documentación automática de FastAPI

Uso del servidor HTTP

  1. Iniciar servidor:
   uv run python src/server.py
  1. Probar con cliente:
   uv run python src/client.py
  1. Acceso directo:

- Documentación: http://localhost:8001/docs - Estado: http://localhost:8001/health - Herramientas: http://localhost:8001/tools

Protocolo MCP sobre HTTP

El servidor mantiene compatibilidad completa con el protocolo MCP pero usando HTTP POST:

# Ejemplo de petición MCP HTTP
curl -X POST http://localhost:8001/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": "1",
    "method": "tools/call",
    "params": {
      "name": "datetime_now",
      "arguments": {}
    }
  }'

Autenticación OAuth2

Características de Seguridad

  • Autenticación OAuth2 con múltiples proveedores
  • JWT tokens para acceso seguro
  • Middleware de autenticación automático
  • Roles de usuario (admin, user, readonly)
  • Scopes de permisos (mcp:read, mcp:write)

Endpoints de Autenticación

  • /login - Página de login con proveedores disponibles
  • /auth/providers - Lista de proveedores OAuth2 configurados
  • /auth/{provider} - Iniciar flujo OAuth2
  • /auth/callback/{provider} - Callback OAuth2
  • /auth/token - Refrescar tokens
  • /auth/me - Información del usuario actual
  • /auth/logout - Cerrar sesión

Flujo de Autenticación

  1. Visitar: http://localhost:8001/login
  2. Seleccionar proveedor (Google, GitHub, Microsoft)
  3. Autorizar aplicación en el proveedor
  4. Obtener tokens de acceso y refresco
  5. Usar token en header: Authorization: Bearer

Ejemplo de Uso

# 1. Obtener token (después de OAuth2)
curl -X POST http://localhost:8001/auth/token \
  -H "Content-Type: application/json" \
  -d '{"grant_type": "refresh_token", "refresh_token": "..."}'

# 2. Usar token para acceder a MCP
curl -X POST http://localhost:8001/mcp \
  -H "Authorization: Bearer " \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": "1",
    "method": "tools/call",
    "params": {"name": "datetime_now", "arguments": {}}
  }'

Estructura

  • src/server.py: Servidor MCP HTTP con OAuth2
  • src/client.py: Cliente HTTP (migrado de STDIO)
  • src/auth_models.py: NUEVO Modelos de datos OAuth2
  • src/auth_service.py: NUEVO Servicio de autenticación
  • src/auth_middleware.py: NUEVO Middleware de autenticación
  • src/logger.py: Sistema de logging rotativo
  • logs/: Directorio de logs con rotación automática

目录标签

目录标签

HTTP服务器Python智能搜索本地部署OAuth2认证本地AI处理

接入字段

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

stdio

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

api-key

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdioapi-key部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP