Skip to main content
Glama

Open Search MCP

by flyanima

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

NameRequiredDescriptionDefault
maxResultsNoMaximum number of results to return
queryYesSearch 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'] },
  • 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

Latest Blog Posts

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/flyanima/open-search-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server