# Interface: PluginToolkitProvider

Minimum shape every entry in the [Plugins](./docs/api/appkit/TypeAlias.Plugins.md) map must expose. Core plugins (analytics, files, genie, lakebase) implement this directly via their `.toolkit()` method. The agents plugin and standalone `runAgent` synthesize this shape for any registered plugin that doesn't implement `.toolkit()` directly (falling back to `getAgentTools()` walking).

## Methods[​](#methods "Direct link to Methods")

### toolkit()[​](#toolkit "Direct link to toolkit()")

```ts
toolkit(opts?: ToolkitOptions): Record<string, ToolkitEntry>;

```

#### Parameters[​](#parameters "Direct link to Parameters")

| Parameter | Type                                                                    |
| --------- | ----------------------------------------------------------------------- |
| `opts?`   | [`ToolkitOptions`](./docs/api/appkit/Interface.ToolkitOptions.md) |

#### Returns[​](#returns "Direct link to Returns")

`Record`<`string`, [`ToolkitEntry`](./docs/api/appkit/Interface.ToolkitEntry.md)>
