# Kast > Install Kast, query Kotlin in IntelliJ IDEA, and inspect its tool contracts. - [Kast](https://kast.michne.com/index.md): Install Kast and ask your first compiler-backed question. - [Install Kast](https://kast.michne.com/start.md): Install the matched IDEA plugin, connect a client, and run a first query. - [Connect an agent client](https://kast.michne.com/agent-harnesses.md): Choose direct MCP, one-shot tool RPC, or the hosted Codex App Server. - [Query your Kotlin project](https://kast.michne.com/search.md): Copy two questions that work in any Kotlin Gradle repository. - [Compose a query](https://kast.michne.com/query-pipelines.md): Start from declarations or exact references, then apply ordered query steps. - [Add a declaration](https://kast.michne.com/change.md): Use Kast's one-call, exact-target source change. - [Workspace control](https://kast.michne.com/workspaces.md): Understand when the hosted workspace_lifecycle tool is needed. - [Troubleshoot Kast](https://kast.michne.com/troubleshooting.md): Act on the reported installation, readiness, or semantic failure. - [How Kast works](https://kast.michne.com/concepts/architecture.md): Follow a request from an agent to IDEA and back to a qualified result. - [What an answer proves](https://kast.michne.com/concepts/evidence-boundaries.md): Interpret Kast's scope, identity, and coverage together. - [Background startup](https://kast.michne.com/concepts/background-startup.md): How Kast prepares an IDEA project for a semantic request. - [API and RPC reference](https://kast.michne.com/reference/api.md): Choose the right Kast contract before reading detailed callable and result schemas. - [MCP contract](https://kast.michne.com/reference/mcp-catalog.md): Discover Kast tools, call one by name, and decode the direct MCP result. - [Tool RPC contract](https://kast.michne.com/reference/rpc-catalog.md): Use the installed one-shot JSON process interface without MCP. - [Read a Kast result](https://kast.michne.com/reference/responses.md): Separate transport completion from semantic coverage. - [Read a symbol](https://kast.michne.com/reference/symbols.md): Use exact compiler references, locations, and signatures without guessing identity. - [Compatibility](https://kast.michne.com/reference/compatibility.md): Check the platform and installed client contract. - [Query symbols](https://kast.michne.com/api-reference/query-symbols.md): Inputs and response fields for query_symbols. - [Read source](https://kast.michne.com/api-reference/read-source.md): Inputs and response fields for read_source. - [Check diagnostics](https://kast.michne.com/api-reference/check-diagnostics.md): Inputs and response fields for check_diagnostics. - [Add declaration](https://kast.michne.com/api-reference/add-declaration.md): Inputs and response fields for add_declaration. - [Workspace lifecycle](https://kast.michne.com/api-reference/workspace-lifecycle.md): Inputs and response fields for workspace_lifecycle. - [MCP tool call result](https://kast.michne.com/reference/models/mcp-tool-call-result.md): The JSON-RPC tools/call result wrapper returned by direct Kast MCP. - [MCP semantic read result](https://kast.michne.com/reference/models/mcp-read-result.md): Complete, partial, rejected, and unavailable direct MCP outcomes. - [MCP investigation result](https://kast.michne.com/reference/models/mcp-investigation-result.md): The direct MCP result for health_check and validate_workspace. - [MCP change result](https://kast.michne.com/reference/models/mcp-change-result.md): The direct MCP result for the one-call change tool. - [Tool RPC reply](https://kast.michne.com/reference/models/tool-rpc-reply.md): The closed catalog, document, and boundary-failure variants of tool RPC. - [Query item](https://kast.michne.com/reference/models/query-item.md) - [Relation fact](https://kast.michne.com/reference/models/relation-fact.md) - [Diagnostic entry](https://kast.michne.com/reference/models/diagnostic.md) - [Live read evidence](https://kast.michne.com/reference/models/live-evidence.md) ## OpenAPI Specs - [callables.openapi](/reference/callables.openapi.json)