Beta
Premium

Filament Examples MCP Server

Give your AI agent access to the FilamentExamples.com catalog.

Quick install (Claude Code)
$ claude mcp add --transport http filament-examples \
    https://filamentexamples.com/mcp \
    --header "Authorization: Bearer <YOUR-TOKEN>"

Then, ask Claude Code things like:

  • "Build a Filament Orders resource with bulk CSV export"
  • "Add a wizard to my product form"
> Create dependent Country → City dropdowns in a Filament form.
search-examples(query: "dependent dropdowns")
⎿ Found 3 matching examples in FilamentExamples.com
  └─ UserForm — Country/City cascading Select
Reading example source…
Writing app/Filament/Resources/Users/Schemas/UserForm.php
app/Filament/Resources/Users/Schemas/UserForm.php Filament v4
Select::make('country_id')
    ->relationship('country', 'name')->live(),

Select::make('city_id')
    ->options(fn (Get $get) => City::query()
        ->where('country_id', $get('country_id'))
        ->pluck('name', 'id')),

2-Minute Demo: See It In Action

Getting Started

Three small steps connect your AI assistant to the FilamentExamples MCP server.

1

Create an API token

This MCP server is available only to Premium members.
So first, purchase membership here (yearly or lifetime plan).
Or, Log in if you're already a Premium member.

2

Configure your AI assistant

Pick your AI coding tool and follow the instructions.

Run the install command:

$ claude mcp add --transport http filament-examples \
    https://filamentexamples.com/mcp \
    --header "Authorization: Bearer <YOUR-TOKEN>"

Verify the server is connected:

$ claude mcp get filament-examples

Prefer not to paste the token? Create a project-scoped .mcp.json instead — Claude Code expands ${VAR} at runtime:

{
  "mcpServers": {
    "filament-examples": {
      "type": "http",
      "url": "https://filamentexamples.com/mcp",
      "headers": {
        "Authorization": "Bearer ${FILAMENT_EXAMPLES_TOKEN}"
      }
    }
  }
}

Then export FILAMENT_EXAMPLES_TOKEN=<YOUR-TOKEN> in your shell profile.

Add the following to ~/.codex/config.toml (global, all projects) or .codex/config.toml in your project root (per-project). Create the file if it doesn't exist:

[mcp_servers.filament-examples]
url = "https://filamentexamples.com/mcp"
http_headers = { Authorization = "Bearer <YOUR-TOKEN>" }

Recommended: reference an env var instead of hardcoding (TOML itself has no interpolation, but Codex reads the bearer token from bearer_token_env_var):

[mcp_servers.filament-examples]
url = "https://filamentexamples.com/mcp"
bearer_token_env_var = "FILAMENT_EXAMPLES_TOKEN"

Then export FILAMENT_EXAMPLES_TOKEN=<YOUR-TOKEN> in your shell profile.

Add the following to .cursor/mcp.json in your project root. Create the file if it doesn't exist:

{
  "mcpServers": {
    "filament-examples": {
      "url": "https://filamentexamples.com/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR-TOKEN>"
      }
    }
  }
}

Prefer not to paste the token? Cursor expands ${env:VAR} in header values:

{
  "mcpServers": {
    "filament-examples": {
      "url": "https://filamentexamples.com/mcp",
      "headers": {
        "Authorization": "Bearer ${env:FILAMENT_EXAMPLES_TOKEN}"
      }
    }
  }
}

Then export FILAMENT_EXAMPLES_TOKEN=<YOUR-TOKEN> in your shell profile.

Add the following to .ai/mcp/mcp.json in your project root. Create the file if it doesn't exist:

{
  "mcpServers": {
    "filament-examples": {
      "url": "https://filamentexamples.com/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR-TOKEN>"
      }
    }
  }
}

Junie doesn't currently support env-var substitution inside headers. Keep .ai/mcp/mcp.json out of version control (add it to .gitignore).

Add the following to .gemini/settings.json in your project root. Create the file if it doesn't exist:

{
  "mcpServers": {
    "filament-examples": {
      "url": "https://filamentexamples.com/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR-TOKEN>"
      }
    }
  }
}

Gemini CLI doesn't yet support env-var substitution inside headers (#5282). Keep .gemini/settings.json out of version control (add it to .gitignore).

Add the following to .opencode.json in your project root. Create the file if it doesn't exist:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "filament-examples": {
      "type": "remote",
      "url": "https://filamentexamples.com/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR-TOKEN>"
      }
    }
  }
}

Prefer not to paste the token? Opencode expands {env:VAR} (single braces, no $) in header values:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "filament-examples": {
      "type": "remote",
      "url": "https://filamentexamples.com/mcp",
      "headers": {
        "Authorization": "Bearer {env:FILAMENT_EXAMPLES_TOKEN}"
      }
    }
  }
}

Then export FILAMENT_EXAMPLES_TOKEN=<YOUR-TOKEN> in your shell profile.

3

(Optional) Add instructions to CLAUDE.md

If you don't want to add 'use the search-examples MCP tool' to your every prompt, add this to your project's CLAUDE.md so it's picked up on every run:

When building or modifying Filament forms, tables, resources, pages, or widgets, use the `search-examples` MCP tool to find real working implementations from FilamentExamples.com before writing code.
This feature is in beta. Expect rough edges, and let us know what's missing - email me [email protected].