IACR MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@IACR MCP Serversearch for recent papers on post-quantum cryptography"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
IACR Cryptology ePrint Archive MCP Server
Overview
This Model Context Protocol (MCP) server provides a programmatic interface to the IACR Cryptology ePrint Archive, enabling efficient retrieval of cryptographic research papers.
Related MCP server: All-in-MCP
Features
🔍 Search cryptographic papers
📋 Retrieve paper metadata
🔒 Secure access to research publications
Prerequisites
Node.js (v16+)
npm or yarn
Installation
Installing via Smithery
To install IACR Cryptology ePrint Archive for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install iacr-mcp-server --client claudeManual Installation
git clone https://github.com/yourusername/iacr-mcp-server.git
cd iacr-mcp-server
npm installConfiguration
No additional configuration is required. The server uses the IACR ePrint Archive's RSS feed for data retrieval.
Usage
Available Tools
search_papers: Search for papersParameters:
query: Search term (required)year: Publication year (optional)max_results: Maximum number of results (default: 20)
get_paper_details: Retrieve details for a specific paperParameters:
paper_id: Unique paper identifier (required)
Contributing
Fork the repository
Create a feature branch
Commit your changes
Push to the branch
Create a Pull Request
Disclaimer
This is an unofficial tool. Always refer to the original IACR Cryptology ePrint Archive for the most accurate and up-to-date research publications.
Contact
For issues, questions, or suggestions, please open a GitHub issue.
Available Tools
3 toolsdownload_paperC
Download a paper in PDF or TXT format
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | ||
| paper_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool downloads a paper, implying it retrieves data, but doesn't cover critical aspects like whether it's a read-only operation, if it requires authentication, rate limits, error handling, or what the output looks like (e.g., file content or download link). For a tool with no annotations, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's function and available formats. It's front-loaded with the core action and avoids unnecessary details, making it easy to parse quickly. Every word contributes to understanding the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 parameters, no annotations, no output schema), the description is incomplete. It covers the basic action and format options but lacks details on parameter usage, behavioral traits, output expectations, and differentiation from siblings. Without annotations or output schema, more context is needed for effective use by an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for undocumented parameters. It mentions 'PDF or TXT format', which aligns with the 'format' parameter's enum, adding some meaning. However, it doesn't explain the 'paper_id' parameter at all, leaving its purpose and format unclear. With 2 parameters and low coverage, the description adds limited value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Download') and resource ('a paper'), specifying the available formats ('PDF or TXT format'). It distinguishes from sibling tools like 'get_paper_details' (which likely provides metadata) and 'search_papers' (which searches for papers), but doesn't explicitly differentiate them. The purpose is specific and actionable, though not fully contrasted with alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get_paper_details' or 'search_papers'. It doesn't mention prerequisites, such as needing a valid 'paper_id', or contextual factors like availability of formats. Usage is implied by the action, but no explicit when/when-not instructions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_paper_detailsC
Retrieve details of a specific paper by its ID
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool retrieves details but doesn't describe what those details include, whether it's a read-only operation, potential error conditions (e.g., invalid ID), or performance characteristics. This leaves significant gaps for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations, no output schema, and low schema coverage, the description is inadequate. It doesn't explain what 'details' are returned, how errors are handled, or how this differs from sibling tools. More context is needed for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the schema provides no parameter documentation. The description adds value by explaining that 'paper_id' identifies a specific paper, but it doesn't specify the ID format, source, or constraints. This partially compensates but leaves the parameter underspecified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('retrieve') and resource ('details of a specific paper'), making the purpose understandable. However, it doesn't distinguish this tool from its sibling 'search_papers' (which likely retrieves multiple papers based on criteria rather than a single paper by ID).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'search_papers' or 'download_paper'. It mentions retrieving by ID but doesn't clarify prerequisites (e.g., needing a paper ID from elsewhere) or exclusions (e.g., not for bulk retrieval).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_papersC
Search for papers in the IACR Cryptology ePrint Archive
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | ||
| max_results | No | ||
| query | Yes | ||
| year | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure but only states the basic function. It doesn't describe what the search returns (e.g., list of papers, metadata), whether it's paginated, rate-limited, or has authentication requirements, leaving significant gaps for a tool with 4 parameters and no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasted words. It's appropriately sized for a basic search tool and front-loads the core purpose without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (4 parameters, no annotations, no output schema), the description is incomplete. It doesn't explain return values, error conditions, or parameter usage, making it inadequate for an agent to reliably invoke this tool without additional context or trial-and-error.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate but adds no information about parameters. It doesn't explain what 'category', 'max_results', 'query', or 'year' mean, their formats, or how they affect the search, leaving all 4 parameters undocumented beyond their schema types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Search for papers') and the target resource ('IACR Cryptology ePrint Archive'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'download_paper' or 'get_paper_details' beyond implying this is a search operation versus retrieval operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'download_paper' or 'get_paper_details'. It doesn't mention prerequisites, exclusions, or contextual factors that would help an agent choose between these tools, leaving usage entirely implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose: download_paper retrieves files, get_paper_details fetches metadata, and search_papers finds papers. There is no overlap in functionality, making it easy for an agent to select the correct tool without confusion.
All tool names follow a consistent verb_noun pattern (download_paper, get_paper_details, search_papers) with clear, descriptive verbs. There are no deviations in naming conventions, ensuring predictability and readability.
With only 3 tools, the server feels thin for a paper archive domain, as it lacks operations like filtering, listing categories, or updating metadata. While the core functions are covered, the count is borderline minimal for typical agent workflows.
The tools cover essential CRUD-like operations: search (read), get details (read), and download (retrieve). However, there are minor gaps, such as no ability to list papers by year or category, which agents might need to work around for more complex queries.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
IEEE Xplore MCP — BYOK wrapper over the IEEE Xplore Metadata Search API
ArXiv preprint search, daily category digest, and author-collaborator graph.
Copyright deposit API — protect code, text, and websites with Berne Convention proof
Multi-engine scholarly research server for search, traversal, full text, and reading lists.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides search functionality for arXiv.org papers through the official arXiv API, allowing users to search papers by keywords, filter by subject categories and date ranges, and receive comprehensive metadata including PDF links.MIT
- AlicenseCqualityCmaintenanceEnables academic research through paper search across multiple databases (IACR, CryptoBib, Crossref, Google Scholar), PDF processing, and GitHub repository browsing. Features modular architecture with FastMCP-based proxy server routing to specialized academic tools.72MIT
- AlicenseBqualityCmaintenanceEnables AI agents to interact with the AI-Archive platform for research paper discovery through semantic search, paper submission and management, peer review with structured scoring, and citation generation in multiple formats.54251MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to search and retrieve cryptographic research papers from the IACR Cryptology ePrint Archive. Supports smart search by title, author, or keywords, paper details, and recent papers.53MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/doomdagadiggiedahdah/iacr-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server