ieee_conferences
Search IEEE conferences and proceedings by topic, year, location, or result limit to find relevant events in fields like artificial intelligence, computer vision, or networking.
Instructions
Search IEEE conferences and proceedings
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| location | No | Conference location or region (e.g., "USA", "Europe", "Asia") | |
| maxResults | No | Maximum number of conferences to return (1-50) | |
| topic | Yes | Conference topic or field (e.g., "artificial intelligence", "computer vision", "networking") | |
| year | No | Conference year (e.g., 2024, 2023) |
Implementation Reference
- src/tools/academic/ieee-tools.ts:247-355 (registration)Full registration of the ieee_conferences tool, including name, description, inputSchema, and inline execute handler that simulates IEEE conference search with mock data.registry.registerTool({ name: 'ieee_conferences', description: 'Search IEEE conferences and proceedings', category: 'academic', source: 'IEEE', inputSchema: { type: 'object', properties: { topic: { type: 'string', description: 'Conference topic or field (e.g., "artificial intelligence", "computer vision", "networking")' }, year: { type: 'number', description: 'Conference year (e.g., 2024, 2023)', minimum: 2000, maximum: 2030 }, location: { type: 'string', description: 'Conference location or region (e.g., "USA", "Europe", "Asia")' }, maxResults: { type: 'number', description: 'Maximum number of conferences to return (1-50)', default: 10, minimum: 1, maximum: 50 } }, required: ['topic'] }, execute: async (args: any) => { const { topic, year, location, maxResults = 10 } = args; try { // 模拟IEEE会议搜索结果 const mockConferences = Array.from({ length: Math.min(maxResults, 10) }, (_, i) => { const conferenceYear = year || (new Date().getFullYear() + Math.floor(Math.random() * 2)); const locations = ['San Francisco, CA, USA', 'London, UK', 'Tokyo, Japan', 'Berlin, Germany', 'Sydney, Australia']; const conferenceLocation = location || locations[Math.floor(Math.random() * locations.length)]; return { conferenceId: `ieee_conf_${conferenceYear}_${i}`, name: `IEEE International Conference on ${topic} ${conferenceYear}`, acronym: `IEEE${topic.replace(/\s+/g, '').toUpperCase().substring(0, 6)}${conferenceYear}`, year: conferenceYear, location: conferenceLocation, dates: { start: new Date(conferenceYear, Math.floor(Math.random() * 12), Math.floor(Math.random() * 28) + 1).toISOString().split('T')[0], end: new Date(conferenceYear, Math.floor(Math.random() * 12), Math.floor(Math.random() * 28) + 3).toISOString().split('T')[0] }, description: `The premier international conference on ${topic}, bringing together researchers, practitioners, and industry experts to share the latest advances and innovations in the field.`, topics: [ topic, 'Research and Development', 'Industry Applications', 'Future Trends', 'Technical Innovation' ], keynoteSpeakers: [ `Dr. ${topic.split(' ')[0]} Expert`, `Prof. Leading Researcher`, `Industry Pioneer` ], submissionDeadline: new Date(conferenceYear, Math.floor(Math.random() * 6), Math.floor(Math.random() * 28) + 1).toISOString().split('T')[0], notificationDate: new Date(conferenceYear, Math.floor(Math.random() * 6) + 3, Math.floor(Math.random() * 28) + 1).toISOString().split('T')[0], registrationFee: { earlyBird: `$${Math.floor(Math.random() * 300) + 400}`, regular: `$${Math.floor(Math.random() * 200) + 500}`, student: `$${Math.floor(Math.random() * 100) + 200}` }, paperCount: Math.floor(Math.random() * 500) + 100, acceptanceRate: `${Math.floor(Math.random() * 30) + 20}%`, url: `https://ieeexplore.ieee.org/xpl/conhome/${9000000 + i}/proceeding`, proceedingsUrl: `https://ieeexplore.ieee.org/xpl/conhome/${9000000 + i}/proceeding`, organizer: 'IEEE Computer Society', sponsors: ['IEEE', 'ACM', 'Industry Partners'] }; }); return { success: true, data: { source: 'IEEE Conferences', topic, year, location, totalResults: mockConferences.length, conferences: mockConferences, timestamp: Date.now(), searchMetadata: { database: 'IEEE Conference Database', searchCriteria: { topic, year: year || 'any', location: location || 'any' } } } }; } catch (error) { return { success: false, error: error instanceof Error ? error.message : 'Failed to search IEEE conferences' }; } } });}
- src/tools/academic/ieee-tools.ts:279-354 (handler)The execute handler function for ieee_conferences tool. It takes input parameters like topic, year, location, maxResults, generates mock IEEE conference data based on inputs, and returns structured results including conference details, dates, fees, etc.execute: async (args: any) => { const { topic, year, location, maxResults = 10 } = args; try { // 模拟IEEE会议搜索结果 const mockConferences = Array.from({ length: Math.min(maxResults, 10) }, (_, i) => { const conferenceYear = year || (new Date().getFullYear() + Math.floor(Math.random() * 2)); const locations = ['San Francisco, CA, USA', 'London, UK', 'Tokyo, Japan', 'Berlin, Germany', 'Sydney, Australia']; const conferenceLocation = location || locations[Math.floor(Math.random() * locations.length)]; return { conferenceId: `ieee_conf_${conferenceYear}_${i}`, name: `IEEE International Conference on ${topic} ${conferenceYear}`, acronym: `IEEE${topic.replace(/\s+/g, '').toUpperCase().substring(0, 6)}${conferenceYear}`, year: conferenceYear, location: conferenceLocation, dates: { start: new Date(conferenceYear, Math.floor(Math.random() * 12), Math.floor(Math.random() * 28) + 1).toISOString().split('T')[0], end: new Date(conferenceYear, Math.floor(Math.random() * 12), Math.floor(Math.random() * 28) + 3).toISOString().split('T')[0] }, description: `The premier international conference on ${topic}, bringing together researchers, practitioners, and industry experts to share the latest advances and innovations in the field.`, topics: [ topic, 'Research and Development', 'Industry Applications', 'Future Trends', 'Technical Innovation' ], keynoteSpeakers: [ `Dr. ${topic.split(' ')[0]} Expert`, `Prof. Leading Researcher`, `Industry Pioneer` ], submissionDeadline: new Date(conferenceYear, Math.floor(Math.random() * 6), Math.floor(Math.random() * 28) + 1).toISOString().split('T')[0], notificationDate: new Date(conferenceYear, Math.floor(Math.random() * 6) + 3, Math.floor(Math.random() * 28) + 1).toISOString().split('T')[0], registrationFee: { earlyBird: `$${Math.floor(Math.random() * 300) + 400}`, regular: `$${Math.floor(Math.random() * 200) + 500}`, student: `$${Math.floor(Math.random() * 100) + 200}` }, paperCount: Math.floor(Math.random() * 500) + 100, acceptanceRate: `${Math.floor(Math.random() * 30) + 20}%`, url: `https://ieeexplore.ieee.org/xpl/conhome/${9000000 + i}/proceeding`, proceedingsUrl: `https://ieeexplore.ieee.org/xpl/conhome/${9000000 + i}/proceeding`, organizer: 'IEEE Computer Society', sponsors: ['IEEE', 'ACM', 'Industry Partners'] }; }); return { success: true, data: { source: 'IEEE Conferences', topic, year, location, totalResults: mockConferences.length, conferences: mockConferences, timestamp: Date.now(), searchMetadata: { database: 'IEEE Conference Database', searchCriteria: { topic, year: year || 'any', location: location || 'any' } } } }; } catch (error) { return { success: false, error: error instanceof Error ? error.message : 'Failed to search IEEE conferences' }; } }
- Input schema for ieee_conferences tool defining parameters: topic (required string), year (number 2000-2030), location (string), maxResults (number 1-50, default 10).inputSchema: { type: 'object', properties: { topic: { type: 'string', description: 'Conference topic or field (e.g., "artificial intelligence", "computer vision", "networking")' }, year: { type: 'number', description: 'Conference year (e.g., 2024, 2023)', minimum: 2000, maximum: 2030 }, location: { type: 'string', description: 'Conference location or region (e.g., "USA", "Europe", "Asia")' }, maxResults: { type: 'number', description: 'Maximum number of conferences to return (1-50)', default: 10, minimum: 1, maximum: 50 } }, required: ['topic'] },
- src/index.ts:231-231 (registration)Top-level registration call in main index.ts that invokes registerIEEETools, which registers ieee_conferences among other IEEE tools.registerIEEETools(this.toolRegistry); // 1 tool: search_ieee