search_iacr
Locate cryptography research papers from IACR by entering a search query and specifying the maximum number of results. Ideal for academic and technical research in cryptology.
Instructions
Search IACR (International Association for Cryptologic Research) for cryptography papers
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| maxResults | No | Maximum number of results to return | |
| query | Yes | Search query for cryptography research |
Input Schema (JSON Schema)
{
"properties": {
"maxResults": {
"default": 20,
"description": "Maximum number of results to return",
"maximum": 100,
"minimum": 1,
"type": "number"
},
"query": {
"description": "Search query for cryptography research",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
}
Implementation Reference
- The main execution handler for the 'search_iacr' tool. It simulates searching the IACR ePrint Archive by generating mock cryptography paper results based on the input query, including title, authors, abstract, venue, year, URL, and keywords.execute: async (args: ToolInput): Promise<ToolOutput> => { try { const { query, maxResults = 20 } = args; // Simulated IACR search results const results = Array.from({ length: Math.min(maxResults, 10) }, (_, i) => ({ title: `Cryptographic Analysis of ${query} - Paper ${i + 1}`, authors: [`Dr. Crypto Expert ${i + 1}`, `Prof. Security Researcher ${i + 1}`], abstract: `This paper presents a comprehensive analysis of ${query} in the context of modern cryptographic systems...`, venue: i % 2 === 0 ? 'CRYPTO' : 'EUROCRYPT', year: 2024 - (i % 3), url: `https://eprint.iacr.org/2024/${String(i + 1).padStart(3, '0')}`, category: 'Cryptography', keywords: [query, 'cryptography', 'security', 'algorithms'] })); return { success: true, data: { source: 'IACR', query, results, totalResults: results.length }, metadata: { searchTime: Date.now(), source: 'IACR ePrint Archive' } }; } catch (error) { return { success: false, error: `IACR search failed: ${error instanceof Error ? error.message : String(error)}`, data: null }; } }
- Input schema definition for the 'search_iacr' tool, specifying the required 'query' parameter and optional 'maxResults' with validation constraints.inputSchema: { type: 'object', properties: { query: { type: 'string', description: 'Search query for cryptography research' }, maxResults: { type: 'number', description: 'Maximum number of results to return', default: 20, minimum: 1, maximum: 100 } }, required: ['query'] },
- src/tools/academic/biorxiv-tools.ts:65-124 (registration)Registration of the 'search_iacr' tool in the registerBioRxivTools function, defining name, description, category, source, input schema, and execute handler.registry.registerTool({ name: 'search_iacr', description: 'Search IACR (International Association for Cryptologic Research) for cryptography papers', category: 'academic', source: 'IACR', inputSchema: { type: 'object', properties: { query: { type: 'string', description: 'Search query for cryptography research' }, maxResults: { type: 'number', description: 'Maximum number of results to return', default: 20, minimum: 1, maximum: 100 } }, required: ['query'] }, execute: async (args: ToolInput): Promise<ToolOutput> => { try { const { query, maxResults = 20 } = args; // Simulated IACR search results const results = Array.from({ length: Math.min(maxResults, 10) }, (_, i) => ({ title: `Cryptographic Analysis of ${query} - Paper ${i + 1}`, authors: [`Dr. Crypto Expert ${i + 1}`, `Prof. Security Researcher ${i + 1}`], abstract: `This paper presents a comprehensive analysis of ${query} in the context of modern cryptographic systems...`, venue: i % 2 === 0 ? 'CRYPTO' : 'EUROCRYPT', year: 2024 - (i % 3), url: `https://eprint.iacr.org/2024/${String(i + 1).padStart(3, '0')}`, category: 'Cryptography', keywords: [query, 'cryptography', 'security', 'algorithms'] })); return { success: true, data: { source: 'IACR', query, results, totalResults: results.length }, metadata: { searchTime: Date.now(), source: 'IACR ePrint Archive' } }; } catch (error) { return { success: false, error: `IACR search failed: ${error instanceof Error ? error.message : String(error)}`, data: null }; } } });
- src/index.ts:233-233 (registration)Invocation of registerBioRxivTools during server startup in registerAllTools(), which registers the 'search_iacr' tool.registerBioRxivTools(this.toolRegistry); // 3 tools: search_iacr, search_medrxiv, search_biorxiv