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.
README
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 |
debug_filament_issue |
Help debug a Filament issue with error messages |
create_relation_manager |
Generate a Filament RelationManager for relationships |
create_custom_action |
Generate a custom Filament action |
migrate_to_v5 |
Migrate Filament v4 code to v5 |
create_form_with_validation |
Generate a form with validation rules |
create_table_with_features |
Generate a table with filters and actions |
Available Resources
The server provides the following MCP resources:
| Resource URI | Description |
|---|---|
filament://reference/v4/components |
Complete Filament v4 component reference |
filament://reference/v5/components |
Complete Filament v5 component reference |
filament://reference/v4/commands |
Filament v4 artisan commands |
filament://reference/v5/commands |
Filament v5 artisan commands |
filament://docs/v4/index |
Filament v4 documentation index |
filament://docs/v5/index |
Filament v5 documentation index |
filament://reference/quick |
Quick 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 Type | v4.x Namespace | v5.x Namespace |
|---|---|---|
model |
App\Models |
App\Models |
resource |
App\Filament\Resources |
App\Filament\Resources |
widget |
App\Filament\Widgets |
App\Filament\Widgets |
relation_manager |
App\Filament\Resources\{Resource}\RelationManagers |
App\Filament\Resources\{Resource}\RelationManagers |
form_component |
Filament\Forms\Components |
Filament\Forms\Components |
schema_component |
(not available) | Filament\Schemas\Components |
table_column |
Filament\Tables\Columns |
Filament\Tables\Columns |
action |
Filament\Actions |
Filament\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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.