---
title: Community catalog
sidebar:
  label: "Community Catalog"
---

import { getCollection } from 'astro:content'
import { getIntegrationEntries } from '@util/integration-content'
import SimpleTable from '@components/SimpleTable.astro'
import PageLink from '@components/PageLink.astro'

export const allDocs = await getCollection('docs')
export const communityIntegrations = getIntegrationEntries(allDocs, 'integration', true)
export const communityPlugins = getIntegrationEntries(allDocs, 'plugin', true)
export const communityModelProviders = getIntegrationEntries(allDocs, 'model-provider', true)
export const communitySessionManagers = getIntegrationEntries(allDocs, 'session-manager', true)
export const communityTools = getIntegrationEntries(allDocs, 'tool', true)
export const communityAgentExtensions = getIntegrationEntries(allDocs, 'agent-extension', true)

export const packageColumns = [
  { header: "Package" },
  { header: "Description" },
  { header: "Python", style: { textAlign: 'center' } },
  { header: "TypeScript", style: { textAlign: 'center' } },
]

export const renderCell = (item, colIndex) => [
    <PageLink href={item.href}>{item.displayTitle}</PageLink>,
    item.description ?? '',
    item.pythonSupport ? '✅' : '❌',
    item.typescriptSupport ? '✅' : '❌',
  ][colIndex]

The Strands community has built tools and integrations for a variety of use cases. This catalog helps you discover what's available and find packages that solve your specific needs.

Browse by category below to find tools, model providers, session managers, and platform integrations built by the community.

:::note[Community maintained]
These packages are maintained by their authors, not the Strands team. Review packages before using them in production. Quality and support may vary.
:::

## Integrations

Platform integrations help you connect Strands agents with external services and user interfaces.

<SimpleTable data={communityIntegrations} columns={packageColumns}>
  {renderCell}
</SimpleTable>

## Plugins

Plugins extend agent behavior by hooking into lifecycle events. Use these to add cross-cutting capabilities like policy enforcement, logging, or output control without modifying your agent code.

<SimpleTable data={communityPlugins} columns={packageColumns}>
  {renderCell}
</SimpleTable>

## Model providers

Model providers add support for additional LLM services beyond the built-in providers. Use these to integrate with specialized or regional LLM platforms.

<SimpleTable data={communityModelProviders} columns={packageColumns}>
 {renderCell}
</SimpleTable>

## Session managers

Session managers provide alternative storage backends for conversation history. Use these when you need persistent, scalable, or distributed session storage.

<SimpleTable data={communitySessionManagers} columns={packageColumns}>
  {renderCell}
</SimpleTable>

## Tools

Tools extend your agents with capabilities for specific services and platforms. Each package provides one or more tools you can add to your agents.

<SimpleTable data={communityTools} columns={packageColumns}>
  {renderCell}
</SimpleTable>

## Agent Extensions

Agent extensions provide specialized agent subclasses that change how Strands agents reason and act. Use these when you need an alternative action paradigm beyond the default tool-calling approach.

<SimpleTable data={communityAgentExtensions} columns={packageColumns}>
  {renderCell}
</SimpleTable>

---

## Add your package

Built something useful? We'd love to feature it here.

See the [Extensions guide](../contribute/contributing/extensions.md) for how to build and publish your package, and the [Get Featured guide](./get-featured.md) for how to get listed in this catalog.
