Tools, prompts, and resources for working with the Filament admin framework.
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
- Clone the repository:
cd filament-mcp-server
- 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:
| Tool | Description |
|---|---|
| `filament_get_component` | Get detailed information about a specific Filament component (properties, methods, examples) |
| `filament_list_components` | List all components in a category (forms, tables, infolists, actions, schemas, support) |
| `filament_get_namespace` | Get the correct PHP namespace for a Filament class type |
| `filament_generate_plan` | Generate a complete Filament implementation plan for a resource |
| `filament_get_commands` | Get a list of Filament artisan commands with descriptions |
| `filament_get_relationships` | Get Laravel Eloquent relationship types with examples |
| `filament_get_docs` | Fetch documentation from filamentphp.com for a specific category/section |
| `filament_list_docs` | List all available documentation sections |
| `filament_discover_docs` | Discover live documentation routes from the official website |
| `filament_search_docs` | Search Filament documentation and return matching sections |
Tool Parameters
version: All tools support aversionparameter ("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:
| Prompt | Description |
|---|---|
create_resource_plan |
Generate an implementation plan for a Filament resource |
Tools (10)
filament_get_componentGet detailed information about a specific Filament component.filament_list_componentsList all components in a category.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.Configuration
{"mcpServers": {"filament": {"command": "node", "args": ["/absolute/path/to/filament-mcp-server/dist/index.js"]}}}