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

# Developer Resources

> SDKs, integrations, and APIs for building with Freeplay.

Freeplay provides multiple integration paths depending on your stack and needs. This page helps you understand how they fit together and choose the right approach.

## Integration Philosophy

Freeplay follows a layered approach:

1. **HTTP API** - The foundation. All Freeplay functionality is accessible via REST endpoints.
2. **Native SDKs** - Language-specific bindings for common operations (Python, TypeScript, Java/Kotlin).
3. **Framework Integrations** - Packages optimized for specific AI frameworks (LangGraph, Vercel AI SDK, Google ADK).
4. **OpenTelemetry** - For observability with OTel-compatible frameworks where Freeplay lacks a direct integration.

The SDKs are designed for core Freeplay functionality that is likely in your production code path: fetching prompts, recording completions, and executing tests. The API provides a superset of functionality for automation, bulk operations, and advanced use cases. OpenTelemetry provides observability only—use it alongside the SDK or API for prompt management.

## Freeplay SDKs

Native SDKs for direct integration with full control over prompt management, observability, and testing / evaluation.

<CardGroup cols={3}>
  <Card title="Python" icon="python" href="/freeplay-sdk/setup">
    Full-featured SDK for Python applications
  </Card>

  <Card title="TypeScript" icon="js" href="/freeplay-sdk/setup">
    Native support for Node.js and TypeScript projects
  </Card>

  <Card title="Java/Kotlin" icon="java" href="/freeplay-sdk/setup">
    JVM SDK for Java and Kotlin applications
  </Card>
</CardGroup>

**What the SDKs provide:**

* Fetch and format prompt templates with variable interpolation
* Record completions, traces, and sessions for observability
* Execute batch tests using saved datasets
* Add customer feedback to observability logs

[View SDK documentation →](/freeplay-sdk/organizing-principles)

## AI Framework Integrations

For teams using popular AI frameworks, dedicated integration packages provide simplified, automatic observability and streamlined prompt management.

| Integration                                                          | Language    | Observability     | Prompt Management       | Best For                            |
| -------------------------------------------------------------------- | ----------- | ----------------- | ----------------------- | ----------------------------------- |
| [LangGraph](/developer-resources/integrations/langgraph)             | Python only | Automatic tracing | Full support            | LangGraph agents                    |
| [Vercel AI SDK](/developer-resources/integrations/vercel-ai-sdk)     | TypeScript  | Automatic tracing | Full support            | TypeScript/JS AI applications       |
| [Google ADK](/developer-resources/integrations/adk)                  | Python      | Automatic tracing | Full support            | Google ADK agents                   |
| [OpenTelemetry](/developer-resources/integrations/tracing-with-otel) | Any         | "AI centric" OTel | Not included (use SDKs) | Vendor agnostic / custom frameworks |

<Note>
  OpenTelemetry integration provides observability only. For prompt management with OTel-traced applications, use the Freeplay SDK alongside your OTel instrumentation.
</Note>

## HTTP API

The REST API provides programmatic access to all Freeplay capabilities. Use the API when you need:

* Operations not covered by the SDK (e.g. bulk uploads, search, statistics)
* Integration with languages without a native SDK
* Additional automation and scripting

<Card title="API Reference" icon="code" href="/api-reference">
  Complete HTTP API documentation with authentication, endpoints, and interactive playground
</Card>

## Code Recipes

Complete, runnable examples for common integration patterns. Use these as starting points.

<Card title="Code Recipes" icon="book-open" href="/developer-resources/recipes/overview">
  Browse examples for prompts, chat, tool calling, providers, and testing
</Card>

## Choosing Your Integration

| Your Situation                                                            | Recommended Path                                                                                         |
| ------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| New, custom application in Python/TypeScript/Java                         | Start with the [Freeplay SDK](/freeplay-sdk/setup)                                                       |
| New, custom application in other languages (Go, Ruby, etc.)               | Use the [HTTP API](/api-reference) directly                                                              |
| Building with LangGraph in Python                                         | Use the [LangGraph integration](/developer-resources/integrations/langgraph)                             |
| Using Vercel AI SDK                                                       | Use the [Vercel AI SDK integration](/developer-resources/integrations/vercel-ai-sdk)                     |
| Using Google ADK                                                          | Use the [ADK integration](/developer-resources/integrations/adk)                                         |
| Using another OTel-compatible framework (LlamaIndex, etc.) or prefer OTel | [OpenTelemetry](/developer-resources/integrations/tracing-with-otel) for observability + SDK for prompts |
| Need additional bulk operations or automation                             | [HTTP API](/api-reference) directly                                                                      |
| Want working examples                                                     | Browse [Code Recipes](/developer-resources/recipes/overview)                                             |

## MCP integration & Freeplay Skills

<Warning>
  These tools are experimental and subject to change. Use only with trusted agents, as they provide access to your Freeplay API credentials.
</Warning>

For teams using Claude Code, Cursor, Claude Desktop, or similar, Freeplay provides experimental integrations that enable AI agents to interact directly with your Freeplay workspace through natural language.

<CardGroup cols={3}>
  <Card title="Freeplay MCP Server" icon="server" href="https://github.com/freeplayai/freeplay-mcp">
    Model Context Protocol server with tools and skills
  </Card>

  <Card title="Freeplay Skills" icon="wand-magic-sparkles" href="https://github.com/freeplayai/freeplay-skills">
    Specialized skills for Claude Code and Cursor
  </Card>

  <Card title="Freeplay Plugin" icon="plug" href="https://github.com/freeplayai/freeplay-plugin">
    Native Claude Code plugin (bundles MCP server)
  </Card>
</CardGroup>

What these tools enable:

* Analyze production logs and diagnose quality issues through conversation
* Iterate on prompts and agent configurations using real production data
* Run experiments and manage datasets directly from your editor
* Debug AI systems by exploring traces and sessions interactively

These integrations are ideal for development and debugging workflows, allowing you to explore Freeplay data and iterate on AI systems conversationally. For production integrations, use the SDKs or HTTP API above. See the respective GitHub repositories for installation instructions.

## Production Best Practices

<Tip>
  Many Freeplay customers configure different client setups for different environments:

  * **Dev/Staging**: Fetch prompts from the Freeplay server for rapid iteration
  * **Production**: Use [Prompt Bundling](/core-concepts/prompt-management/prompt-bundling) to read prompts from local files

  This provides fast experimentation in lower environments while ensuring production stability. See [Prompt Bundling](/core-concepts/prompt-management/prompt-bundling) for implementation details.
</Tip>
