ArXiv-MCP

MIT License
  • Linux
  • Apple

Integrations

  • Enables searching for academic papers using keywords, retrieving detailed information about specific papers by ID, extracting full text content from paper PDFs, and generating comprehensive summaries and analyses of papers from the arXiv repository.

  • Provides integration support for n8n workflows, with specific configuration guidance for connecting the MCP server from within n8n's containerized environment.

Una implementación de servidor del Protocolo de Contexto Modelo (MCP) que permite a los agentes de IA buscar, recuperar y analizar artículos académicos de arXiv , el popular repositorio de acceso abierto de preimpresiones electrónicas.

Descripción general

Este proyecto proporciona un servidor MCP que permite a los agentes de IA interactuar con el repositorio arXiv, buscar artículos por palabras clave, recuperar información detallada sobre artículos específicos e incluso extraer y analizar su contenido. Sirve como herramienta práctica de apoyo a la investigación y como implementación de referencia para el desarrollo de servidores MCP.

La implementación sigue las mejores prácticas establecidas para la construcción de servidores MCP, lo que permite una integración perfecta con cualquier cliente compatible con MCP.

Características

El servidor proporciona varias herramientas potentes para la investigación académica:

  1. search_papers : Busque artículos en arXiv usando palabras clave y obtenga resúmenes completos
  2. get_paper_details : recupera información detallada sobre un artículo específico por su ID de arXiv
  3. extract_paper_content : Descarga y extrae el contenido del texto completo del PDF de un artículo
  4. analyze_paper : Analiza el contenido de un artículo y genera un resumen completo.

Prerrequisitos

  • Python 3.11+
  • Docker si se ejecuta el servidor MCP como contenedor (recomendado)

Instalación

Usando uv

  1. Instalar uv si no lo tienes:
    pip install uv
  2. Clonar este repositorio:
    git clone https://github.com/kelvingao/arxiv-mcp.git cd arxiv-mcp
  3. Instalar dependencias:
    uv pip install -e .
  4. Cree un archivo .env basado en .env.example :
    cp .env.example .env
  5. Configure sus variables de entorno en el archivo .env (ver sección Configuración)

Uso de Docker (recomendado)

  1. Construya la imagen de Docker:
    docker build -t mcp/arxiv --build-arg PORT=8050 .
  2. Cree un archivo .env basado en .env.example y configure sus variables de entorno

Configuración

Las siguientes variables de entorno se pueden configurar en su archivo .env :

VariableDescripciónEjemplo
TRANSPORTProtocolo de transporte (sse o stdio)sse
HOSTHost al que vincularse cuando se utiliza el transporte SSE0.0.0.0
PORTPuerto para escuchar cuando se utiliza el transporte SSE8050

Ejecución del servidor

Usando uv

Transporte SSE

# Set TRANSPORT=sse in .env then: python src/server.py

El servidor MCP se ejecutará como un punto final de API al que podrá conectarse con la configuración que se muestra a continuación.

Transporte de Studio

Con stdio, el cliente MCP puede iniciar por sí mismo el servidor MCP, por lo que no es necesario ejecutar nada en este momento.

Usando Docker

Transporte SSE

docker run --env-file .env -p 8050:8050 mcp/arxiv

El servidor MCP se ejecutará como un punto final de API dentro del contenedor al que puede conectarse con la configuración que se muestra a continuación.

Transporte de Studio

Con stdio, el propio cliente MCP puede poner en marcha el contenedor del servidor MCP, por lo que no hay nada que ejecutar en este momento.

Integración con clientes MCP

Configuración de SSE

Una vez que tenga el servidor funcionando con el transporte SSE, puede conectarse a él utilizando esta configuración:

{ "mcpServers": { "arxiv": { "transport": "sse", "url": "http://localhost:8050/sse" } } }

Nota para los usuarios de Windsurf : utilice serverUrl en lugar de url en su configuración:

{ "mcpServers": { "arxiv": { "transport": "sse", "serverUrl": "http://localhost:8050/sse" } } }

Nota para los usuarios de n8n : utilice host.docker.internal en lugar de localhost, ya que n8n tiene que llegar fuera de su propio contenedor a la máquina host:

Entonces la URL completa en el nodo MCP sería: http://host.docker.internal:8050/sse

Asegúrese de actualizar el puerto si está utilizando un valor distinto del predeterminado 8050.

Python con configuración de Stdio

Agregue este servidor a su configuración de MCP para Claude Desktop, Windsurf o cualquier otro cliente de MCP:

{ "mcpServers": { "arxiv": { "command": "your/path/to/arxiv-mcp/.venv/bin/python", "args": ["your/path/to/arxiv-mcp/src/main.py"], "env": { "TRANSPORT": "stdio" } } } }

Docker con configuración de Stdio

{ "mcpServers": { "arxiv": { "command": "docker", "args": ["run", "--rm", "-i", "-e", "TRANSPORT", "mcp/arxiv"], "env": { "TRANSPORT": "stdio" } } } }

Ejemplos de uso

A continuación se muestran algunos ejemplos de cómo utilizar el servidor MCP de arXiv con un agente de IA:

Buscando documentos

Find recent papers about quantum computing published in the last year.

Obtener detalles del documento

Get details for the paper with arXiv ID 2303.08774

Extracción del contenido del papel

Extract the full text from the paper with arXiv ID 2303.08774

Analizando un artículo

Analyze the methodology section of the paper with arXiv ID 2303.08774

Construyendo su propio servidor MCP

Esta implementación proporciona una base para construir servidores MCP más complejos. Para construir el suyo propio:

  1. Agregue sus propias herramientas creando métodos con el decorador @mcp.tool()
  2. Crea tu propia función de vida útil para agregar tus propias dependencias (clientes, conexiones de base de datos, etc.)
  3. Modificar las herramientas existentes o agregar nuevas para mejorar la funcionalidad
  4. Agregue indicaciones y recursos con @mcp.resource() y @mcp.prompt()

Licencia

Licencia MIT

Expresiones de gratitud

-
security - not tested
A
license - permissive license
-
quality - not tested

Un servidor de protocolo de contexto de modelo que permite a los agentes de IA buscar, recuperar y analizar artículos académicos de arXiv, admitiendo funciones como búsqueda de palabras clave, recuperación de detalles de artículos, extracción de contenido y análisis de artículos.

  1. Features
    1. Prerequisites
      1. Installation
        1. Using uv
        2. Using Docker (Recommended)
      2. Configuration
        1. Running the Server
          1. Using uv
          2. Using Docker
        2. Integration with MCP Clients
          1. SSE Configuration
          2. Python with Stdio Configuration
          3. Docker with Stdio Configuration
        3. Usage Examples
          1. Searching for Papers
          2. Getting Paper Details
          3. Extracting Paper Content
          4. Analyzing a Paper
        4. Building Your Own MCP Server
          1. License
            1. Acknowledgements
              ID: 8qnsbe8xkh