MCP Hub
Back to servers

Filament MCP Server

Enables AI assistants to build and manage Filament admin panels by providing component references, implementation plans, and official documentation lookups. It supports Laravel's Filament framework versions 4.x and 5.x through specialized tools and prompts.

glama
Updated
Feb 23, 2026

Filament MCP Server

A Model Context Protocol (MCP) server that provides tools, prompts, and resources for working with Filament - the Laravel admin panel framework.

Overview

This MCP server enables AI assistants to help developers build Filament admin panels by providing:

  • Component Reference: Access to Filament form, table, and infolist component documentation
  • Code Generation: Generate implementation plans for Filament resources
  • Documentation Lookup: Fetch and search official Filament documentation
  • Namespace Lookup: Get correct PHP namespaces for Filament classes
  • Command Reference: List available Filament artisan commands
  • Relationship Helpers: Laravel Eloquent relationship type references

Supports both Filament v4.x and v5.x.

Requirements

  • Node.js: v20.10.0 or higher
  • npm: v9.0.0 or higher (or pnpm v8.0.0+)

Installation

  1. Clone the repository:
cd filament-mcp-server
  1. Install dependencies:
npm install

Building

Compile TypeScript to JavaScript:

npm run build

This compiles the source from src/ to dist/. The main entry point is dist/index.js.

Running

Development Mode

Watch for changes and rebuild automatically:

npm run dev

Production Mode

Run the compiled server:

npm start

Stdio Mode

The server uses stdio transport by default. This allows it to communicate with MCP clients over standard input/output streams. The server starts and waits for JSON-RPC messages from the client.

MCP Integration

To use this server with MCP-compatible AI assistants, you need to register it as an MCP server. Below are configuration examples for popular clients.

Claude Desktop

Add the following to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "filament": {
      "command": "node",
      "args": ["/absolute/path/to/filament-mcp-server/dist/index.js"],
      "env": {}
    }
  }
}

or

(I prefer npx)

{
  "mcpServers": {
    "filament": {
      "command": "npx",
      "args": ["/absolute/path/to/filament-mcp-server"],
      "env": {}
    }
  }
}

Replace `/absolute/path/to/filament-mcp-server` with the actual path to this project.

### Cursor

1. Open Cursor settings
2. Navigate to **Features** → **MCP**
3. Add a new MCP server with the following configuration:

```json
{
  "mcpServers": {
    "filament": {
      "command": "node",
      "args": ["/absolute/path/to/filament-mcp-server/dist/index.js"]
    }
  }
}

Other MCP Clients

For other MCP-compatible assistants, configure them to spawn a child process using:

node /path/to/filament-mcp-server/dist/index.js

The server communicates via stdio using JSON-RPC 2.0 protocol.

Available Tools

The server provides the following MCP tools:

ToolDescription
filament_get_componentGet detailed information about a specific Filament component (properties, methods, examples)
filament_list_componentsList all components in a category (forms, tables, infolists, actions, schemas, support)
filament_get_namespaceGet the correct PHP namespace for a Filament class type
filament_generate_planGenerate a complete Filament implementation plan for a resource
filament_get_commandsGet a list of Filament artisan commands with descriptions
filament_get_relationshipsGet Laravel Eloquent relationship types with examples
filament_get_docsFetch documentation from filamentphp.com for a specific category/section
filament_list_docsList all available documentation sections
filament_discover_docsDiscover live documentation routes from the official website
filament_search_docsSearch Filament documentation and return matching sections

Tool Parameters

  • version: All tools support a version parameter ("4.x" or "5.x") to target specific Filament versions. Defaults to "5.x".
  • component: Component name (e.g., TextInput, Select, Table)
  • category: Component category (forms, tables, infolists, actions, schemas, support)
  • classType: Filament class type (model, resource, widget, relation_manager, etc.)
  • description: What you want to build (used for plan generation)

Available Prompts

The server provides the following MCP prompts for common tasks:

PromptDescription
create_resource_planGenerate an implementation plan for a Filament resource
debug_filament_issueHelp debug a Filament issue with error messages
create_relation_managerGenerate a Filament RelationManager for relationships
create_custom_actionGenerate a custom Filament action
migrate_to_v5Migrate Filament v4 code to v5
create_form_with_validationGenerate a form with validation rules
create_table_with_featuresGenerate a table with filters and actions

Available Resources

The server provides the following MCP resources:

Resource URIDescription
filament://reference/v4/componentsComplete Filament v4 component reference
filament://reference/v5/componentsComplete Filament v5 component reference
filament://reference/v4/commandsFilament v4 artisan commands
filament://reference/v5/commandsFilament v5 artisan commands
filament://docs/v4/indexFilament v4 documentation index
filament://docs/v5/indexFilament v5 documentation index
filament://reference/quickQuick reference for common patterns

Configuration

Version Targeting

Most tools accept an optional version parameter to target Filament v4 or v5:

// Example tool call with version
{
  tool: "filament_get_component",
  arguments: {
    component: "TextInput",
    version: "5.x"  // or "4.x"
  }
}

Namespace Mapping

The server includes predefined namespace mappings for different Filament class types:

Class Typev4.x Namespacev5.x Namespace
modelApp\ModelsApp\Models
resourceApp\Filament\ResourcesApp\Filament\Resources
widgetApp\Filament\WidgetsApp\Filament\Widgets
relation_managerApp\Filament\Resources\{Resource}\RelationManagersApp\Filament\Resources\{Resource}\RelationManagers
form_componentFilament\Forms\ComponentsFilament\Forms\Components
schema_component(not available)Filament\Schemas\Components
table_columnFilament\Tables\ColumnsFilament\Tables\Columns
actionFilament\ActionsFilament\Actions

Testing

Run tests with Vitest:

npm test

Run tests in watch mode:

npm run test:watch

Project Structure

filament-mcp-server/
├── src/
│   ├── index.ts              # Main entry point
│   ├── data/
│   │   └── filament-reference.ts  # Component reference data
│   ├── lib/
│   │   ├── doc-fetcher.ts    # Documentation fetching utilities
│   │   └── plan-generator.ts # Implementation plan generator
│   ├── prompts/
│   │   └── index.ts          # MCP prompts
│   ├── resources/
│   │   └── index.ts          # MCP resources
│   └── tools/
│       └── index.ts          # MCP tools
├── dist/                     # Compiled JavaScript output
├── tests/
│   └── index.test.ts         # Test suite
├── package.json
├── tsconfig.json
└── README.md

Dependencies

  • @modelcontextprotocol/sdk: MCP protocol implementation
  • cheerio: HTML parsing for documentation fetching
  • zod: Schema validation for tool parameters

License

MIT

Reviews

No reviews yet

Sign in to write a review