Agntic AI for Research Papers
Busca y extrae información sobre artículos de investigación de arXiv.
GitHubPrueba este MCPPatrocinado
Documentación
MCP Agntic AI para Artículos de Investigación
Este proyecto implementa un chatbot utilizando el Protocolo de Contexto de Modelo (MCP) para buscar y recuperar información sobre artículos de investigación de arXiv. El chatbot permite consultar artículos por tema y extraer información detallada sobre artículos específicos.
Descripción General
El sistema consta de dos componentes principales:
- Servidor: Un servidor FastMCP que proporciona herramientas para buscar artículos en arXiv y extraer información de los mismos.
- Cliente: Un cliente MCP que se integra con el modelo GPT de OpenAI para procesar consultas de usuarios e interactuar con el servidor.
El servidor almacena información de artículos en archivos JSON organizados por tema, mientras que el cliente proporciona una interfaz de chat interactiva para que los usuarios ingresen consultas.
Características
- Buscar Artículos: Busca artículos en arXiv por tema, con resultados máximos configurables.
- Extraer Información de Artículos: Recupera información detallada (título, autores, resumen, URL del PDF, fecha de publicación) para un artículo específico usando su ID de arXiv.
- Almacenamiento Persistente: La información de los artículos se guarda en archivos JSON bajo un directorio
papers, organizados por tema. - Chatbot Interactivo: Los usuarios pueden interactuar con el chatbot a través de una interfaz de línea de comandos, con soporte para consultas en lenguaje natural impulsadas por el modelo GPT de OpenAI.
Requisitos
- Python 3.12+
- Dependencias (instalar vía
uvopip):arxivmcpopenainest-asynciopython-dotenv
- Clave API de OpenAI (almacenada en
src/keys.json) uv(recomendado, para ejecutar el servidor y el cliente)
Instalación
- Clonar el repositorio:
git clone <repository-url> cd <repository-directory> - Instalar dependencias usando
uv(recomendado):
O conuv pip install -r pyproject.tomlpip:pip install -r pyproject.toml - Crear un archivo
src/keys.jsoncon tu clave API de OpenAI:{ "open_ai_api": "your-openai-api-key" } - Asegurarse de que la configuración del servidor MCP en
src/server_config.jsonesté configurada correctamente:{ "mcpServers": { "filesystem": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-filesystem", "." ] }, "research": { "command": "uv", "args": ["run", "research_server.py"] }, "fetch": { "command": "uvx", "args": ["mcp-server-fetch"] } } }
Uso
- Iniciar el servidor MCP:
Esto ejecuta el servidor con la configuraciónuv run src/research_server.pyresearch, proporcionando herramientas para búsqueda y extracción de artículos. - Ejecutar el cliente en una terminal separada:
El cliente se conecta al servidor, inicializa el chatbot e inicia el bucle de chat interactivo.uv run main.py - Interactuar con el chatbot:
- Ingresa una consulta como "Buscar artículos sobre computación cuántica" o "Obtener información del artículo 1234.56789".
- Escribe 'quit' para salir.
- Ingresa una consulta como "Buscar artículos sobre computación cuántica" o "Obtener información del artículo 1234.56789".
Estructura del Proyecto
├── papers/ # Directory for storing paper information (auto-created)
├── src/
│ ├── mcp_chatbot.py # MCP client with chatbot implementation
│ ├── research_server.py # FastMCP server with arXiv search tools
│ ├── keys.json # API keys (not tracked in git)
│ ├── server_config.json # MCP server configuration
├── README.md
├── main.py # Entry point
Consultas de Ejemplo
- Buscar artículos:
Salida: Lista de IDs de artículos, con detalles guardados enQuery: Find 3 papers on machine learningpapers/machine_learning/papers_info.json. - Extraer información de artículos:
Salida: Detalles del artículo en formato JSON (título, autores, resumen, etc.) si se encuentra.Query: Get info for paper 2103.12345
Notas
- El servidor crea un directorio
paperspara almacenar archivos JSON que contienen información de artículos, organizados por tema (por ejemplo,papers/quantum_computing/papers_info.json). - El cliente usa
gpt-4o-minipor defecto. Actualiza el modelo ensrc/mcp_chatbot.pysi es necesario. - El sistema asume que
uvestá instalado para ejecutar scripts. Modifica elcommandenserver_config.jsonsi usas una herramienta diferente (por ejemplo,python).
Mejoras Futuras
- Agregar soporte para filtrar artículos por fecha, autor o categoría.
- Implementar descarga y almacenamiento de PDFs de artículos.
- Mejorar el chatbot con mayor comprensión del lenguaje natural para consultas complejas.
- Agregar una interfaz web para una mejor interacción con el usuario.
Licencia
Este proyecto está licenciado bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.
