Generates text embeddings using Google Gemini's API for vector-based document similarity and search operations
Stores and retrieves vector embeddings in Supabase using pgvector extension, enabling semantic search and similarity matching across documents
estudIA-MCP
RAG + FastMCP - Servidor MCP con Supabase y Gemini
🚀 Descripción
Servidor MCP (Model Context Protocol) que integra:
Google Gemini para generación de embeddings
Supabase para almacenamiento vectorial
FastMCP para exponer herramientas via MCP
📋 Requisitos
Python >= 3.10
Cuenta de Google Cloud con API de Gemini habilitada
Proyecto de Supabase configurado
🔧 Instalación
Clonar el repositorio
Crear entorno virtual
Instalar dependencias
Configurar variables de entorno
Edita .env con tus credenciales:
Configurar Supabase
Ve al SQL Editor en tu proyecto de Supabase y ejecuta el contenido de supabase_setup.sql
🎯 Herramientas Disponibles
1. generate_embedding
Genera un vector embedding a partir de texto usando Gemini.
Parámetros:
text(string): Texto para convertir en embedding
Ejemplo:
2. store_embedding
Genera un embedding y lo almacena en Supabase.
Parámetros:
text(string): Texto para convertir y almacenartable_name(string, opcional): Nombre de la tabla (default: "embeddings")metadata(dict, opcional): Metadata adicional
Ejemplo:
3. search_similar
Busca documentos similares usando búsqueda vectorial.
Parámetros:
query_text(string): Texto de búsquedatable_name(string, opcional): Nombre de la tablalimit(int, opcional): Número de resultados (default: 5)threshold(float, opcional): Umbral de similitud 0-1 (default: 0.7)
Ejemplo:
🏃 Ejecutar
🔗 Integración con Claude Desktop
Agrega esto a tu configuración de Claude Desktop (claude_desktop_config.json):
📚 Recursos
📝 Notas
Los embeddings de Gemini tienen 768 dimensiones
Asegúrate de tener habilitada la extensión
pgvectoren SupabaseLa función
match_documentsdebe estar creada en tu base de datos
🤝 Contribuir
Las contribuciones son bienvenidas. Por favor abre un issue primero para discutir los cambios.
📄 Licencia
MIT
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
RAG-enabled MCP server that uses Google Gemini for embeddings and Supabase for vector storage, enabling semantic search and document similarity matching through natural language queries.