> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lambdadb.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# SDK reference

> Install and use the official LambdaDB SDKs for Python, TypeScript, and Go. Each SDK wraps the REST API with idiomatic client libraries.

<CardGroup cols={3}>
  <Card title="Python SDK" icon="python" href="https://pypi.org/project/lambdadb" />

  <Card title="JavaScript/TypeScript SDK" icon="node-js" href="https://www.npmjs.com/package/@functional-systems/lambdadb" />

  <Card title="Go SDK" icon="golang" href="https://pkg.go.dev/github.com/lambdadb/go-lambdadb" />
</CardGroup>

## Compatibility clients

<CardGroup cols={1}>
  <Card title="Qdrant SDK compatibility" icon="code" href="/guides/migrations/qdrant/qdrant-sdk-compatibility">
    Use Qdrant-style Python and TypeScript clients during Qdrant-to-LambdaDB application migrations.
  </Card>
</CardGroup>

## MCP

If you want to use LambdaDB from an MCP client such as Claude Desktop, see the MCP guide:

<CardGroup cols={1}>
  <Card title="Use with MCP" icon="robot" href="/guides/get-started/use-with-mcp" />
</CardGroup>

## Client lifecycle

<Note>
  Python: `LambdaDB` supports context manager usage. `__enter__` returns the client, and `__exit__` calls `client.close()` (closing the SDK-owned HTTP client) and makes the client unusable after the `with` block. If you don't use `with`, call `client.close()` when you're done. If you pass a custom `client=`/`async_client=`, you own closing it.
</Note>

<Note>
  JavaScript/TypeScript: the SDK uses the platform `fetch` API and does not expose a `close()` method. In most environments there's nothing to close explicitly. To cancel requests, pass an `AbortSignal` (for example via request `fetchOptions.signal`). If you provide your own `fetch`/HTTP implementation to the SDK, you own its lifecycle.
</Note>

<Note>
  Go: the SDK uses `net/http` and does not require an explicit `Close()` in typical usage. Responses are closed internally. If you provide a custom `http.Client`/`Transport`, you own its lifecycle (for example, managing idle connections) and should shut it down according to your application's needs.
</Note>
