get_venue_info
Retrieve detailed publication venue information, including abbreviation, name, publisher, type, and category, by specifying the venue name or abbreviation. Ideal for querying DBLP database for accurate venue data.
Instructions
Retrieve detailed information about a publication venue. Arguments:
venue_name (string, required): Venue name or abbreviation (e.g., 'ICLR' or full name). Returns a dictionary with fields: abbreviation, name, publisher, type, and category. Note: Some fields may be empty if DBLP does not provide the information.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| venue_name | Yes |
Implementation Reference
- src/mcp_dblp/dblp_client.py:452-496 (handler)The core handler function that executes the tool logic by querying the DBLP venue API and parsing the response.def get_venue_info(venue_name: str) -> dict[str, Any]: """ Get information about a publication venue using DBLP venue search API. Returns venue name, acronym, type, and DBLP URL. """ logger.info(f"Getting information for venue: {venue_name}") try: url = "https://dblp.org/search/venue/api" params = {"q": venue_name, "format": "json", "h": 1} response = requests.get(url, params=params, headers=HEADERS, timeout=REQUEST_TIMEOUT) response.raise_for_status() data = response.json() hits = data.get("result", {}).get("hits", {}) total = int(hits.get("@total", "0")) if total > 0: hit = hits.get("hit", []) if isinstance(hit, list): hit = hit[0] info = hit.get("info", {}) return { "venue": info.get("venue", ""), "acronym": info.get("acronym", ""), "type": info.get("type", ""), "url": info.get("url", ""), } else: logger.warning(f"No venue found for: {venue_name}") return { "venue": "", "acronym": "", "type": "", "url": "", } except Exception as e: logger.error(f"Error fetching venue info for {venue_name}: {str(e)}") return { "venue": "", "acronym": "", "type": "", "url": "", }
- src/mcp_dblp/server.py:177-195 (registration)Registers the 'get_venue_info' tool with the MCP server, providing name, description, and input schema.types.Tool( name="get_venue_info", description=( "Retrieve information about a publication venue from DBLP.\n" "Arguments:\n" " - venue_name (string, required): Venue name or abbreviation (e.g., 'ICLR', 'NeurIPS', or full name).\n" "Returns a dictionary with fields:\n" " - venue: Full venue title\n" " - acronym: Venue acronym/abbreviation (if available)\n" " - type: Venue type (e.g., 'Conference or Workshop', 'Journal', 'Repository')\n" " - url: Canonical DBLP URL for the venue\n" "Note: Publisher, ISSN, and other metadata are not available through this endpoint." ), inputSchema={ "type": "object", "properties": {"venue_name": {"type": "string"}}, "required": ["venue_name"], }, ),
- src/mcp_dblp/server.py:190-194 (schema)Defines the input schema for the get_venue_info tool: requires 'venue_name' as string.inputSchema={ "type": "object", "properties": {"venue_name": {"type": "string"}}, "required": ["venue_name"], },
- src/mcp_dblp/server.py:374-387 (handler)Server-side dispatch handler that validates input and calls the get_venue_info function, formats output.case "get_venue_info": if "venue_name" not in arguments: return [ types.TextContent( type="text", text="Error: Missing required parameter 'venue_name'" ) ] result = get_venue_info(venue_name=arguments.get("venue_name")) return [ types.TextContent( type="text", text=f"Venue information for {arguments['venue_name']}:\n\n{format_dict(result)}", ) ]
- src/mcp_dblp/server.py:23-28 (helper)Imports the get_venue_info function from dblp_client for use in the server.from mcp_dblp.dblp_client import ( calculate_statistics, fetch_and_process_bibtex, fuzzy_title_search, get_author_publications, get_venue_info,