magicoli / assistant-mcp-engine
Reusable Filament/MCP engine for AI personal-assistant apps — auth, memory, skills, mail, AI-provider resolution.
Requires
- php: ^8.3|^8.4
- bezhansalleh/filament-language-switch: ^5.0
- directorytree/imapengine-laravel: ^1.3
- filament/filament: ^5.0
- filament/spatie-laravel-media-library-plugin: ^5.6
- filament/spatie-laravel-settings-plugin: ^5.7
- illuminate/contracts: ^12.0|^13.0
- joaopaulolndev/filament-edit-profile: ^3.0
- laravel/ai: ^0.10.2
- laravel/mcp: ^0.9.1
- laravel/passport: ^13.0
- laravel/reverb: ^1.11
- laravel/sanctum: ^4.3
- phiki/phiki: ^2.2
- spatie/laravel-medialibrary: ^11.23
- spatie/laravel-package-tools: ^1.16
- spatie/laravel-permission: ^8.3
- spatie/laravel-settings: ^3.9
Requires (Dev)
- fakerphp/faker: ^1.23
- mockery/mockery: ^1.6
- orchestra/testbench: ^9.0|^10.0
- pestphp/pest: ^5.0
- pestphp/pest-plugin-laravel: ^5.0
This package is auto-updated.
Last update: 2026-08-22 14:11:44 UTC
README
Reusable Filament/MCP engine for AI personal-assistant apps — auth, memory, skills, mail,
AI-provider resolution, and MCP service internals (server, tools, tool registry). Extracted from
personal-assistant-mcp so it can be shared
with other consumers (starting with bokit-light) without duplicating this logic.
Not included: any product-specific domain (e.g. booking/PMS logic) or the consuming app's own
User model — a consumer implements Magicoli\AssistantMcpEngine\Contracts\AssistantUser on its
own User model instead of the engine shipping one.
What ships here
- Models:
Assistant,Skill,Memory,MailAccount,AiModelOption. - MCP:
ToolRegistry, the MCP server, skill/memory/mail tools, tool-availability plumbing. - AI layer:
PersonalAssistantagent,InstructionsBuilder(system prompt assembly), provider/model resolution with failover. - Filament UI: Admin (Users/Assistants/AiModelOptions), App (Skills/Memories/MailAccounts, the reference Chat page, tenant registration/profile), Public (OAuth consent), Auth pages.
- Auth: Passport/Sanctum wiring for MCP clients, OAuth routes.
See the consuming app's own dev/project_assistant_mcp_engine_split.md for the extraction
rationale and sequence this package is step 2 of.