# Custom Extensions



## Overview [#overview]

Godmode extensions are plug-and-play. Create a `manifest.yaml`, register it, and your OpenAPI-compliant/GraphQL API is available as both a CLI and an MCP server. No code generation, no SDKs.

## Create a manifest [#create-a-manifest]

```yaml
# manifest.yaml
slug: my-api
name: My API
type: api
spec: https://example.com/openapi.json
url: https://api.example.com
auth:
  env: MY_API_KEY
  type: bearer
headers:
  X-Custom: value
```

## Register [#register]

```bash
godmode extension add ./my-extension
godmode my-api --help
godmode mcp my-api
```

## Types [#types]

### REST [#rest]

```yaml
type: api
spec: https://example.com/openapi.json
url: https://api.example.com
```

### GraphQL [#graphql]

```yaml
type: graphql
url: https://api.example.com/graphql
```

Or with a local SDL file:

```yaml
type: graphql
spec: https://example.com/schema.graphql
url: https://api.example.com/graphql
```

### MCP [#mcp]

```yaml
type: mcp
url: https://my-mcp-server.com/mcp
```
