IACR ePrint Archive

Busca y recupera artículos de investigación criptográfica del IACR Cryptology ePrint Archive.

Documentación

Servidor MCP del Archivo IACR ePrint

License: MIT Node.js TypeScript

Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona acceso al Archivo IACR Cryptology ePrint, permitiendo a los asistentes de IA buscar y recuperar artículos de investigación criptográfica.

✨ Características

  • 🔍 Búsqueda Inteligente: Busca artículos por título, resumen, autor o palabras clave (filtrado basado en RSS)
  • 📄 Detalles de Artículos: Obtén información completa sobre artículos específicos
  • 📰 Artículos Recientes: Recupera los últimos artículos publicados desde el feed RSS
  • 🔗 Enlaces Directos: Obtén URLs de páginas web y PDFs de los artículos
  • 📋 Información de Descarga: Obtén información de descarga para los PDFs de los artículos
  • 🔒 Enfocado en la Privacidad: Sin cookies, sin seguimiento, respeta las directrices del Archivo ePrint

🚀 Inicio Rápido

Instalación

Opción 1: Instalación Directa

# Clone the repository
git clone https://github.com/YOUR_USERNAME/eprint-mcp-server.git
cd eprint-mcp-server

# Install dependencies and build
npm install
npm run build

Opción 2: Usando npx (Próximamente)

npx eprint-mcp-server

Configuración de Claude Desktop

  1. Encuentra tu archivo de configuración de Claude Desktop:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. Añade la configuración del servidor:

    {
      "mcpServers": {
        "eprint": {
          "command": "node",
          "args": ["/path/to/eprint-mcp-server/dist/index.js"]
        }
      }
    }
    
  3. Reinicia Claude Desktop completamente (⌘+Q y luego reabre)

📖 Ejemplos de Uso

Buscar Artículos

Find papers about "zero knowledge proofs"

Obtener Artículos Recientes

Show me the 10 most recent cryptography papers

Obtener Detalles de un Artículo

Tell me about paper 2025/123

Buscar por Autor

Find papers by Goldreich from 2024

🛠️ Desarrollo

Requisitos Previos

  • Node.js 18.0.0 o superior
  • npm o yarn

Configuración

git clone https://github.com/YOUR_USERNAME/eprint-mcp-server.git
cd eprint-mcp-server
npm install

Comandos de Desarrollo

# Development with hot reload
npm run dev

# Build for production
npm run build

# Run tests
npm test

# Type checking
npm run type-check

Estructura del Proyecto

eprint-mcp-server/
├── src/
│   ├── index.ts          # Main MCP server
│   ├── eprintClient.ts   # ePrint Archive API client
│   └── types.ts          # TypeScript type definitions
├── dist/                 # Compiled JavaScript output
├── tests/               # Test files
├── package.json
└── README.md

🔧 Configuración

Variables de Entorno

  • DEBUG: Establécelo en 1 para habilitar el registro de depuración
  • MAX_RESULTS: Número máximo de resultados de búsqueda (predeterminado: 100)

Opciones del Servidor MCP

{
  "mcpServers": {
    "eprint": {
      "command": "node",
      "args": ["./dist/index.js"],
      "env": {
        "DEBUG": "0",
        "MAX_RESULTS": "50"
      }
    }
  }
}

📚 Herramientas Disponibles

HerramientaDescripciónParámetros
search_papersBuscar artículosquery, maxResults, author, dateFrom, dateTo
get_paperObtener detalles del artículopaperId
get_recent_papersObtener artículos recienteslimit
download_paperObtener información de descargapaperId, outputPath
get_paper_urlObtener URLs de artículospaperId

🔍 Limitaciones de Búsqueda

Actualmente, el endpoint de la API de búsqueda del Archivo ePrint no está disponible públicamente, por lo que este servidor utiliza el filtrado del feed RSS para la funcionalidad de búsqueda. Esto significa:

  • ✅ La búsqueda funciona dentro de artículos recientes (últimos ~100 artículos del RSS)
  • ⚠️ La búsqueda histórica es limitada
  • 🔄 Estamos trabajando en implementar capacidades de búsqueda completas

🤝 Contribuciones

  1. Haz un fork del repositorio
  2. Crea una rama de características (git checkout -b feature/amazing-feature)
  3. Haz commit de tus cambios (git commit -m 'Add amazing feature')
  4. Haz push a la rama (git push origin feature/amazing-feature)
  5. Abre una Solicitud de Extracción (Pull Request)

📄 Licencia

Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENSE para más detalles.

🙏 Agradecimientos

📞 Soporte

🔄 Registro de Cambios

v1.0.0 (2025-06-25)

  • ✨ Lanzamiento inicial
  • 🔍 Funcionalidad de búsqueda basada en RSS
  • 📄 Recuperación de detalles de artículos
  • 📰 Listado de artículos recientes
  • 🔗 Generación de URLs directas

Hecho con ❤️ para la comunidad de investigación criptográfica