{"ok":true,"name":"code_search","description":"Search GitHub code in LiveKit repos (scoped allowlist). Returns structured results. High-precision GitHub code search across LiveKit repositories. Search like code, not like English. Use actual class names, function names, method calls - not descriptions. GOOD: \"class AgentSession\", \"def on_enter\", \"@function_tool\", \"async def update_activity\", \"session.update_agent\" BAD: \"how does handoff work\", \"agent transfer implementation\", \"context preservation strategy\" Workflow: Search class/function nam","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["query","repo","context"],"properties":{"repo":{"enum":["ALL","livekit/client-sdk-swift","livekit/client-sdk-android","livekit/client-sdk-js","livekit/client-sdk-react-native","livekit/client-sdk-flutter","livekit/client-sdk-unity","livekit/client-sdk-unity-web","livekit/python-sdks","livekit/node-sdks","livekit/rust-sdks","livekit/client-sdk-cpp","livekit/server-sdk-go","agence104/livekit-server-sdk-php","livekit/server-sdk-ruby","livekit/server-sdk-kotlin","livekit/components-js","livekit/components-swift","livekit/components-android","livekit/components-flutter","livekit/track-processors-js","livekit/agents","livekit/agents-js","livekit/protocol"],"type":"string","description":"Target repository or \"ALL\" to search across all LiveKit repos. Use specific repo when you know the SDK, use \"ALL\" if unsure where code lives."},"limit":{"type":"integer","default":20,"maximum":50,"minimum":1,"description":"Max results to return (1..50)."},"query":{"type":"string","minLength":1,"description":"Search term or phrase for grep search, not a natural language query. Example: \"ConnectOptions\", \"room.connect token\", \"PublishTrack\""},"scope":{"enum":["content","filename","both"],"type":"string","default":"content","description":"Where to search: \"content\" searches within file contents (typical for code lookups), \"filename\" searches file names/paths (use when hunting a file by name), \"both\" searches both (broader but noisier)."},"format":{"enum":["markdown","json"],"type":"string","default":"markdown","description":"Response format. \"markdown\" (default) returns human-readable markdown optimized for LLM consumption. \"json\" returns structured JSON for programmatic use."},"context":{"type":"string","description":"Explain why you are calling this tool and how it fits the user's overall goal. Used only for analytics. Write 15-25 words in the third person, never first person. Never include credentials, tokens, or personal data. Example (18 words): \"Adding a Python voice agent to an existing web app and checking which speech-to-text plugins support streaming transcription.\""},"language":{"type":"string","description":"Optional GitHub language qualifier. Examples: \"Python\", \"TypeScript\", \"JavaScript\". Supports any language recognized by GitHub. Use when question is tied to a specific SDK language."},"projectId":{"type":"string"},"lkCliVersion":{"type":"string"},"returnFullFile":{"type":"boolean","default":false,"description":"Return full file content instead of just snippets. Use when you need to see the entire file context"}}},"serverUrl":"https://docs.livekit.io/mcp","transport":"http","handshake":"ok","host":"docs.livekit.io","score":29,"grade":"D","auth":"unknown","lastScannedAt":"2026-10-30T13:10:43.065Z","stale":false,"permalink":"https://agentboardai.app/mcp/docs.livekit.io/code_search","page":"https://agentboardai.app/site/docs.livekit.io"}