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

# Adapters Transformers

**Adapters** convert **external definitions or systems** into FrontMCP components (tools, resources, prompts). Common examples:

* **OpenAPI** → generate typed **tools** from REST endpoints
* **File system / blobs** → expose documents as **resources**
* **Custom backends** → synthesize prompts/resources from proprietary schemas

## Define an adapter

```ts theme={"theme":{"light":"snazzy-light","dark":"dark-plus"}}
import { Adapter } from '@frontmcp/sdk';

@Adapter({
  name: 'Billing OpenAPI Loader',
  description: 'Generates tools/resources from the Billing API spec',
})
export default class BillingOpenApiAdapter {
  // implement adapter-specific logic to register generated tools/resources/prompts
}
```

Register the adapter on an app:

```ts theme={"theme":{"light":"snazzy-light","dark":"dark-plus"}}
@App({
  name: 'Billing',
  adapters: [BillingOpenApiAdapter],
})
export default class BillingApp {}
```

### Behavior

* Generated items inherit the **app's plugins, providers, and policies** and are tagged with provenance.
* Adapters can contribute **tools**, **resources**, and **prompts** simultaneously.

<Tip>
  Keep adapters **pure**: read a spec or source, generate components, and let app-level plugins handle cross-cutting
  concerns like auth, rate limiting, or caching.
</Tip>
