eprint-mcp-server
by heewon-chung
README.md
# IACR ePrint Archive MCP Server
[](https://opensource.org/licenses/MIT)
[](https://nodejs.org/)
[](https://www.typescriptlang.org/)
A Model Context Protocol (MCP) server that provides access to the [IACR Cryptology ePrint Archive](https://eprint.iacr.org/), enabling AI assistants to search and retrieve cryptographic research papers.
## ⨠Features
- š **Smart Search**: Search papers by title, abstract, author, or keywords (RSS-based filtering)
- š **Paper Details**: Get comprehensive information about specific papers
- š° **Recent Papers**: Retrieve the latest published papers from RSS feed
- š **Direct Links**: Get web page and PDF URLs for papers
- š **Download Info**: Get download information for paper PDFs
- š **Privacy Focused**: No cookies, no tracking, respects ePrint Archive guidelines
## š Quick Start
### Installation
#### Option 1: Direct Installation
```bash
# 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
```
#### Option 2: Using npx (Coming Soon)
```bash
npx eprint-mcp-server
```
### Claude Desktop Setup
1. **Find your Claude Desktop config file:**
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
2. **Add the server configuration:**
```json
{
"mcpServers": {
"eprint": {
"command": "node",
"args": ["/path/to/eprint-mcp-server/dist/index.js"]
}
}
}
```
3. **Restart Claude Desktop** completely (ā+Q then reopen)
## š Usage Examples
### Search Papers
```
Find papers about "zero knowledge proofs"
```
### Get Recent Papers
```
Show me the 10 most recent cryptography papers
```
### Get Paper Details
```
Tell me about paper 2025/123
```
### Find by Author
```
Find papers by Goldreich from 2024
```
## š ļø Development
### Prerequisites
- Node.js 18.0.0 or higher
- npm or yarn
### Setup
```bash
git clone https://github.com/YOUR_USERNAME/eprint-mcp-server.git
cd eprint-mcp-server
npm install
```
### Development Commands
```bash
# Development with hot reload
npm run dev
# Build for production
npm run build
# Run tests
npm test
# Type checking
npm run type-check
```
### Project Structure
```
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
```
## š§ Configuration
### Environment Variables
- `DEBUG`: Set to `1` to enable debug logging
- `MAX_RESULTS`: Maximum number of search results (default: 100)
### MCP Server Options
```json
{
"mcpServers": {
"eprint": {
"command": "node",
"args": ["./dist/index.js"],
"env": {
"DEBUG": "0",
"MAX_RESULTS": "50"
}
}
}
}
```
## š Available Tools
| Tool | Description | Parameters |
|------|-------------|------------|
| `search_papers` | Search for papers | `query`, `maxResults`, `author`, `dateFrom`, `dateTo` |
| `get_paper` | Get paper details | `paperId` |
| `get_recent_papers` | Get recent papers | `limit` |
| `download_paper` | Get download info | `paperId`, `outputPath` |
| `get_paper_url` | Get paper URLs | `paperId` |
## š Search Limitations
Currently, the ePrint Archive's search API endpoint is not publicly available, so this server uses RSS feed filtering for search functionality. This means:
- ā
Search works within recent papers (last ~100 papers from RSS)
- ā ļø Historical search is limited
- š We're working on implementing full search capabilities
## š¤ Contributing
1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
## š License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## š Acknowledgments
- [IACR Cryptology ePrint Archive](https://eprint.iacr.org/) for providing open access to cryptographic research
- [Model Context Protocol](https://github.com/modelcontextprotocol) for the MCP framework
- The cryptographic research community
## š Support
- š **Issues**: [GitHub Issues](https://github.com/YOUR_USERNAME/eprint-mcp-server/issues)
- š¬ **Discussions**: [GitHub Discussions](https://github.com/YOUR_USERNAME/eprint-mcp-server/discussions)
- š§ **Email**: your.email@example.com
## š Changelog
### v1.0.0 (2025-06-25)
- ⨠Initial release
- š RSS-based search functionality
- š Paper details retrieval
- š° Recent papers listing
- š Direct URL generation
---
**Made with ā¤ļø for the cryptography research community**TDQS
A3.5/5.0
Scored across 5 tools
Disambiguation5/5
Each tool has a clearly distinct purpose: searching, getting details, getting URLs, downloading, and listing recent papers. No overlap.
Naming Consistency5/5
All tool names follow a consistent verb_noun pattern with underscores (e.g., download_paper, search_papers). The naming is uniform and predictable.
Tool Count5/5
With 5 tools, the server is well-scoped for its domain. It provides essential operations without being too few or overly numerous.
Completeness4/5
The tool set covers search, metadata retrieval, URL access, and download. Minor gap: lack of explicit filtering by author or category, but search likely supports parameters.
Maintenance
ActivityInactive
ResponsivenessNo issues