find_speaker
Find sessions featuring a specific speaker at KubeCon Europe 2026. Provide a speaker name or partial name to retrieve their sessions.
Instructions
Find sessions by a specific speaker.
Args: name: Speaker name or partial name (e.g., "Lin Sun", "Bryce").
Returns: JSON array of sessions featuring the speaker.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |
Implementation Reference
- src/kubecon_eu_mcp/server.py:112-130 (handler)The MCP tool handler for 'find_speaker'. Decorated with @mcp.tool(), takes a speaker name, calls data_service.find_speakers(), and returns JSON results.
@mcp.tool() async def find_speaker(name: str) -> str: """Find sessions by a specific speaker. Args: name: Speaker name or partial name (e.g., "Lin Sun", "Bryce"). Returns: JSON array of sessions featuring the speaker. """ results = await data_service.find_speakers(name) if not results: return json.dumps( { "message": f"No sessions found for speaker '{name}'.", "suggestion": "Try a partial name or check spelling.", } ) return json.dumps([s.to_dict() for s in results], indent=2) - The data service method find_speakers() that searches sessions by speaker name (partial match) and also checks session titles.
async def find_speakers(self, name: str, limit: int = 10) -> list[Session]: """Find sessions by speaker name.""" all_sessions = await self.get_sessions() name_lower = name.lower() results = [] for s in all_sessions: for speaker in s.speakers: if name_lower in speaker.lower(): results.append(s) break else: # Also check the title (speaker names often in title) if name_lower in s.title.lower(): results.append(s) return results[:limit] - src/kubecon_eu_mcp/server.py:15-49 (registration)The FastMCP server instance (mcp) is created with tool instructions listing 'find_speaker' as one of the available tools. The @mcp.tool() decorator on line 112 registers it.
mcp = FastMCP( "KubeCon EU 2026 Guide", stateless_http=True, json_response=True, instructions=""" # KubeCon + CloudNativeCon Europe 2026 — Conference Guide You are a helpful conference assistant for KubeCon EU 2026, held March 23-26 at RAI Amsterdam, Netherlands. ## Tool Selection Guide - Use `search_sessions` to find talks by topic, speaker, or keyword. - Use `get_schedule` to see the full schedule for a specific day. - Use `find_parties` to discover social events and parties. - Use `plan_party_route` to optimize an evening of party-hopping. - Use `get_venue_info` to answer questions about the venue, rooms, or maps. - Use `get_hotel_info` for hotel details and distances to venue. - Use `get_travel_info` for transit, airport, and airline discount info. - Use `get_colocated_events` for Monday's co-located events. - Use `find_speaker` to look up what a specific person is presenting. - Use `get_conference_overview` for a high-level event summary. - Use `score_sessions` to get sessions with a scoring rubric for personalized ranking. - Use `detect_conflicts` to check if selected sessions overlap in time. ## Important Context - All times are in CET (Central European Time, UTC+1). - Monday (March 23) = Co-located Events day (requires All Access Pass). - Tuesday-Thursday (March 24-26) = Main conference (keynotes + breakouts). - KubeCrawl + CloudNativeFest is Tuesday 5:30-7PM in the expo halls. - Session seating is first-come, first-served. - Recordings are posted on the CNCF YouTube channel within 2 weeks. """, )