Update documentation index page with enhanced feature descriptions and external links
This commit is contained in:
3 files changed
+574
-532
No files matched your search
@@ -7,7 +7,7 @@ A comprehensive Model Context Protocol (MCP) server for FiveM (GTA5) development
|
||||
The FiveM MCP Server enables seamless integration with AI coding assistants (Claude, ChatGPT, etc.) to provide:
|
||||
- **Native function lookups** with client/server separation
|
||||
- **Event documentation** for all frameworks
|
||||
- **Framework support** for Standalone, ESX, QBCore, and COX
|
||||
- **Framework support** for Standalone, ESX, QBCore, COX, and Prodigy Scripts (prp-bridge)
|
||||
- **Resource generation** with customizable boilerplate
|
||||
- **Documentation search** across FiveM, QBCore, and COX MySQL
|
||||
- **Code snippets and best practices** for common patterns
|
||||
@@ -81,32 +81,45 @@ Configure in your AI client settings:
|
||||
|
||||
## Tools
|
||||
|
||||
The MCP server includes 15 powerful tools organized by framework and execution side:
|
||||
The MCP server includes 30 powerful tools organized by framework and execution side:
|
||||
|
||||
### FiveM Core (5 tools)
|
||||
### FiveM Core (7 tools)
|
||||
- **SearchFiveMDocs** - Search FiveM, QBCore, and COX documentation
|
||||
- **GetNativeClientFunction** - Look up client-side native functions (10 natives)
|
||||
- **GetNativeServerFunction** - Look up server-side native functions (12 natives)
|
||||
- **GetEventClientReference** - Client-side event reference (5 events)
|
||||
- **GetEventServerReference** - Server-side event reference (4+ events)
|
||||
- **GenerateManifest** - Generate fxmanifest.lua with framework support
|
||||
- **GenerateResourceBoilerplate** - Complete resource scaffolding
|
||||
|
||||
### QBCore Framework (4 tools)
|
||||
### QBCore Framework (9 tools)
|
||||
- **GetQBCoreServerFunction** - QBCore server functions (13+ functions)
|
||||
- **GetQBCoreClientFunction** - QBCore client functions (6 functions)
|
||||
- **GetQBCoreServerEventReference** - QBCore server events (6 events)
|
||||
- **GetQBCoreClientEventReference** - QBCore client events (6 events)
|
||||
- **GetQBCoreConfig** - QBCore configuration reference
|
||||
- **GetQBCorePlayers** - Player management functions
|
||||
- **GetQBCoreResourceList** - Available QBCore resources
|
||||
- **GetQBCoreResourceReference** - Resource-specific documentation
|
||||
- **GetQBCoreSharedData** - Shared data (jobs, items, vehicles)
|
||||
|
||||
### COX MySQL (2 tools)
|
||||
### COX / ox_libs (10 tools)
|
||||
- **GetCOXFunction** - OxMySQL database functions (8 functions)
|
||||
- **GetCOXEventReference** - COX-specific events
|
||||
- **GetInventoryServerFunction** - ox_inventory server functions (21 functions)
|
||||
- **GetInventoryClientFunction** - ox_inventory client functions (8 functions)
|
||||
- **GetOxDoorlockClientFunction** - ox_doorlock client API
|
||||
- **GetOxDoorlockServerFunction** - ox_doorlock server API
|
||||
- **GetOxDoorlockServerEvent** - ox_doorlock server events
|
||||
- **GetOxFuelClientFunction** - ox_fuel client API
|
||||
- **GetOxFuelServerFunction** - ox_fuel server API
|
||||
- **GetOxTargetClientFunction** - ox_target client API
|
||||
|
||||
### ox_inventory (2 tools)
|
||||
- **GetInventoryServerFunction** - Server-side inventory management (21 functions)
|
||||
- **GetInventoryClientFunction** - Client-side inventory functions (8 functions)
|
||||
|
||||
### Resource Generation (2 tools)
|
||||
- **GenerateManifest** - Generate fxmanifest.lua with framework support
|
||||
- **GenerateResourceBoilerplate** - Complete resource scaffolding
|
||||
### Prodigy Scripts / prp-bridge (4 tools)
|
||||
- **GetProdigyClientEventReference** - prp-bridge client-side events (11 events across notifications, callbacks, allowlist, medical)
|
||||
- **GetProdigyServerEventReference** - prp-bridge server-side events (8 events across framework, groups, medical, UniQueue)
|
||||
- **GetProdigyClientExport** - prp-bridge client exports (allowlist, prop placer, ped interactions)
|
||||
- **GetProdigyServerExport** - prp-bridge server exports (24 exports: cooldowns, allowlist, groups, UniQueue, sell shops, cases)
|
||||
|
||||
## Project Structure
|
||||
|
||||
@@ -114,12 +127,22 @@ The MCP server includes 15 powerful tools organized by framework and execution s
|
||||
app/Mcp/
|
||||
├── Tools/
|
||||
│ ├── COX/
|
||||
│ │ ├── Doorlock/
|
||||
│ │ │ ├── Client/GetOxDoorlockClientFunction.php
|
||||
│ │ │ └── Server/
|
||||
│ │ │ ├── GetOxDoorlockServerFunction.php
|
||||
│ │ │ └── GetOxDoorlockServerEvent.php
|
||||
│ │ ├── Fuel/
|
||||
│ │ │ ├── Client/GetOxFuelClientFunction.php
|
||||
│ │ │ └── Server/GetOxFuelServerFunction.php
|
||||
│ │ ├── Inventory/
|
||||
│ │ │ ├── Server/GetInventoryServerFunction.php
|
||||
│ │ │ └── Client/GetInventoryClientFunction.php
|
||||
│ │ ├── MySQL/
|
||||
│ │ │ ├── GetCOXFunction.php
|
||||
│ │ │ └── GetCOXEventReference.php
|
||||
│ │ └── Inventory/
|
||||
│ │ ├── Server/GetInventoryServerFunction.php
|
||||
│ │ └── Client/GetInventoryClientFunction.php
|
||||
│ │ └── Target/
|
||||
│ │ └── Client/GetOxTargetClientFunction.php
|
||||
│ ├── FiveM/
|
||||
│ │ ├── Client/
|
||||
│ │ │ ├── GetNativeClientFunction.php
|
||||
@@ -130,13 +153,25 @@ app/Mcp/
|
||||
│ │ ├── GenerateManifest.php
|
||||
│ │ ├── GenerateResourceBoilerplate.php
|
||||
│ │ └── SearchFiveMDocs.php
|
||||
│ ├── Prodigy/
|
||||
│ │ ├── Client/
|
||||
│ │ │ ├── GetProdigyClientEventReference.php
|
||||
│ │ │ └── GetProdigyClientExport.php
|
||||
│ │ └── Server/
|
||||
│ │ ├── GetProdigyServerEventReference.php
|
||||
│ │ └── GetProdigyServerExport.php
|
||||
│ └── QBCore/
|
||||
│ ├── Client/
|
||||
│ │ ├── GetQBCoreClientFunction.php
|
||||
│ │ └── GetQBCoreClientEventReference.php
|
||||
│ ├── Server/
|
||||
│ │ ├── GetQBCoreServerFunction.php
|
||||
│ │ └── GetQBCoreServerEventReference.php
|
||||
│ └── Client/
|
||||
│ ├── GetQBCoreClientFunction.php
|
||||
│ └── GetQBCoreClientEventReference.php
|
||||
│ ├── GetQBCoreConfig.php
|
||||
│ ├── GetQBCorePlayers.php
|
||||
│ ├── GetQBCoreResourceList.php
|
||||
│ ├── GetQBCoreResourceReference.php
|
||||
│ └── GetQBCoreSharedData.php
|
||||
├── Resources/
|
||||
│ ├── CodeSnippets.php
|
||||
│ ├── BestPractices.php
|
||||
@@ -186,7 +221,7 @@ php artisan test tests/Feature/GetNativeClientFunctionToolTest.php
|
||||
php artisan test --coverage
|
||||
```
|
||||
|
||||
**Current Test Status:** 82 tests passing ✅
|
||||
**Current Test Status:** 181 tests passing ✅
|
||||
|
||||
## Code Quality
|
||||
|
||||
@@ -206,6 +241,7 @@ vendor/bin/pint --test
|
||||
- [FiveM Natives Reference](https://docs.fivem.net/natives/)
|
||||
- [QBCore Documentation](https://docs.qbcore.org/)
|
||||
- [COX MySQL Documentation](https://coxdocs.dev/)
|
||||
- [Prodigy Scripts Documentation](https://docs.prodigyrp.net/)
|
||||
- [Laravel MCP Documentation](https://laravel.com/docs/mcp)
|
||||
- [Model Context Protocol](https://modelcontextprotocol.io/)
|
||||
|
||||
|
||||
@@ -3,364 +3,368 @@
|
||||
@section('title', 'Full Documentation - FiveM MCP Server')
|
||||
|
||||
@section('content')
|
||||
<div class="max-w-5xl mx-auto py-12 px-4 sm:px-6 lg:px-8">
|
||||
<div class="bg-white dark:bg-gray-800 shadow rounded-lg p-8">
|
||||
<h1 class="text-3xl font-extrabold text-gray-900 dark:text-white mb-6">FiveM Development MCP Server</h1>
|
||||
<div class="max-w-5xl mx-auto py-12 px-4 sm:px-6 lg:px-8">
|
||||
<div class="bg-white dark:bg-gray-800 shadow rounded-lg p-8">
|
||||
<h1 class="text-3xl font-extrabold text-gray-900 dark:text-white mb-6">FiveM Development MCP Server</h1>
|
||||
|
||||
<p class="text-lg text-gray-700 dark:text-gray-300 mb-8">
|
||||
A comprehensive Model Context Protocol (MCP) server for FiveM (GTA5) development, built with Laravel MCP.
|
||||
This server provides AI assistants with powerful tools to help you develop FiveM resources more efficiently.
|
||||
</p>
|
||||
<p class="text-lg text-gray-700 dark:text-gray-300 mb-8">
|
||||
A comprehensive Model Context Protocol (MCP) server for FiveM (GTA5) development, built with Laravel MCP.
|
||||
This server provides AI assistants with powerful tools to help you develop FiveM resources more efficiently.
|
||||
</p>
|
||||
|
||||
<!-- Installation -->
|
||||
<section class="mb-12">
|
||||
<h2 class="text-2xl font-bold text-gray-900 dark:text-white mb-4">Installation & Connection</h2>
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-6">Choose how you want to connect to the FiveM MCP server:</p>
|
||||
<!-- Installation -->
|
||||
<section class="mb-12">
|
||||
<h2 class="text-2xl font-bold text-gray-900 dark:text-white mb-4">Installation & Connection</h2>
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-6">Choose how you want to connect to the FiveM MCP server:</p>
|
||||
|
||||
<!-- Tab Buttons -->
|
||||
<div class="border-b border-gray-200 dark:border-gray-700 mb-6">
|
||||
<nav class="-mb-px flex space-x-8">
|
||||
<button data-tab="remote"
|
||||
class="transition-all duration-200 ease-in-out active border-b-2 border-gta-orange py-4 px-1 text-center text-sm font-medium text-gta-orange">
|
||||
<span class="flex items-center">
|
||||
<span class="mr-2">🌐</span>
|
||||
Remote Server
|
||||
<span
|
||||
class="ml-2 inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-gray-100 dark:bg-gray-700 border border-gta-orange text-gta-orange">
|
||||
Recommended
|
||||
<!-- Tab Buttons -->
|
||||
<div class="border-b border-gray-200 dark:border-gray-700 mb-6">
|
||||
<nav class="-mb-px flex space-x-8">
|
||||
<button data-tab="remote"
|
||||
class="transition-all duration-200 ease-in-out active border-b-2 border-gta-orange py-4 px-1 text-center text-sm font-medium text-gta-orange">
|
||||
<span class="flex items-center">
|
||||
<span class="mr-2">🌐</span>
|
||||
Remote Server
|
||||
<span
|
||||
class="ml-2 inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-gray-100 dark:bg-gray-700 border border-gta-orange text-gta-orange">
|
||||
Recommended
|
||||
</span>
|
||||
</span>
|
||||
</span>
|
||||
</button>
|
||||
<button data-tab="local"
|
||||
class="transition-all duration-200 ease-in-out border-b-2 border-transparent py-4 px-1 text-center text-sm font-medium text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300 hover:border-gray-300 dark:hover:border-gray-600">
|
||||
<span class="flex items-center">
|
||||
<span class="mr-2">💻</span>
|
||||
Local Installation
|
||||
</span>
|
||||
</button>
|
||||
</nav>
|
||||
</div>
|
||||
</button>
|
||||
<button data-tab="local"
|
||||
class="transition-all duration-200 ease-in-out border-b-2 border-transparent py-4 px-1 text-center text-sm font-medium text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300 hover:border-gray-300 dark:hover:border-gray-600">
|
||||
<span class="flex items-center">
|
||||
<span class="mr-2">💻</span>
|
||||
Local Installation
|
||||
</span>
|
||||
</button>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<!-- Tab Content Container -->
|
||||
<div class="tab-content-container">
|
||||
<!-- Remote Server Option -->
|
||||
<div data-tab-content="remote" class="animate-fade-in active">
|
||||
<div class="bg-gray-100 dark:bg-gray-700/30 border-l-4 border-gta-orange p-6">
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-4">
|
||||
<strong>Easy setup!</strong> Connect to a hosted MCP server. This is the easiest option and
|
||||
works from anywhere without any local setup.
|
||||
</p>
|
||||
<!-- Tab Content Container -->
|
||||
<div class="tab-content-container">
|
||||
<!-- Remote Server Option -->
|
||||
<div data-tab-content="remote" class="animate-fade-in active">
|
||||
<div class="bg-gray-100 dark:bg-gray-700/30 border-l-4 border-gta-orange p-6">
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-4">
|
||||
<strong>Easy setup!</strong> Connect to a hosted MCP server. This is the easiest option and
|
||||
works from anywhere without any local setup.
|
||||
</p>
|
||||
|
||||
<h4 class="font-semibold text-gray-900 dark:text-white mb-2">Claude Desktop Configuration:</h4>
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-3">Edit your configuration file:</p>
|
||||
<ul class="list-disc list-inside text-gray-700 dark:text-gray-300 mb-3 ml-4">
|
||||
<li><strong>macOS:</strong> <code
|
||||
class="bg-gray-100 dark:bg-gray-700 text-gray-900 dark:text-gray-100 px-2 py-1 rounded text-sm">~/Library/Application Support/Claude/claude_desktop_config.json</code>
|
||||
</li>
|
||||
<li><strong>Windows:</strong> <code
|
||||
class="bg-gray-100 dark:bg-gray-700 text-gray-900 dark:text-gray-100 px-2 py-1 rounded text-sm">%APPDATA%\Claude\claude_desktop_config.json</code>
|
||||
</li>
|
||||
</ul>
|
||||
<h4 class="font-semibold text-gray-900 dark:text-white mb-2">Claude Desktop Configuration:</h4>
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-3">Edit your configuration file:</p>
|
||||
<ul class="list-disc list-inside text-gray-700 dark:text-gray-300 mb-3 ml-4">
|
||||
<li><strong>macOS:</strong> <code
|
||||
class="bg-gray-100 dark:bg-gray-700 text-gray-900 dark:text-gray-100 px-2 py-1 rounded text-sm">~/Library/Application Support/Claude/claude_desktop_config.json</code>
|
||||
</li>
|
||||
<li><strong>Windows:</strong> <code
|
||||
class="bg-gray-100 dark:bg-gray-700 text-gray-900 dark:text-gray-100 px-2 py-1 rounded text-sm">%APPDATA%\Claude\claude_desktop_config.json</code>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-3">Add this configuration (replace with your
|
||||
actual
|
||||
server URL):</p>
|
||||
<pre class="bg-gray-900 text-gray-100 rounded p-4 overflow-x-auto"><code>@verbatim{
|
||||
"mcpServers": {
|
||||
"fivem": {
|
||||
"url": "https://your-domain.com/fivem"
|
||||
}
|
||||
}
|
||||
}@endverbatim</code></pre>
|
||||
</div>
|
||||
|
||||
<div class="mt-6">
|
||||
<h4 class="font-semibold text-gray-900 dark:text-white mb-2">VSCode Configuration (Cline
|
||||
Extension):
|
||||
</h4>
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-3">If using VSCode with the Cline extension, edit
|
||||
your
|
||||
settings:</p>
|
||||
<ul class="list-disc list-inside text-gray-700 dark:text-gray-300 mb-3 ml-4">
|
||||
<li>Open VSCode Settings (JSON)</li>
|
||||
<li>Add to your global or workspace <code
|
||||
class="bg-gray-100 dark:bg-gray-700 text-gray-900 dark:text-gray-100 px-2 py-1 rounded text-sm">settings.json</code>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<pre class="bg-gray-900 text-gray-100 rounded p-4 overflow-x-auto"><code>@verbatim{
|
||||
"mcp": {
|
||||
"servers": {
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-3">Add this configuration (replace with your
|
||||
actual
|
||||
server URL):</p>
|
||||
<pre class="bg-gray-900 text-gray-100 rounded p-4 overflow-x-auto"><code>@verbatim{
|
||||
"mcpServers": {
|
||||
"fivem": {
|
||||
"url": "https://your-domain.com/fivem"
|
||||
}
|
||||
}
|
||||
}
|
||||
}@endverbatim</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
}@endverbatim</code></pre>
|
||||
</div>
|
||||
|
||||
<!-- Local Installation Option -->
|
||||
<div data-tab-content="local" class="animate-fade-in hidden">
|
||||
<div class="bg-gray-50 dark:bg-gray-700/20 border-l-4 border-gray-400 dark:border-gray-500 p-6">
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-4">
|
||||
<strong>Advanced setup.</strong> Run the MCP server on your own machine. Requires PHP and
|
||||
Laravel setup.
|
||||
</p>
|
||||
<div class="mt-6">
|
||||
<h4 class="font-semibold text-gray-900 dark:text-white mb-2">VSCode Configuration (Cline
|
||||
Extension):
|
||||
</h4>
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-3">If using VSCode with the Cline extension, edit
|
||||
your
|
||||
settings:</p>
|
||||
<ul class="list-disc list-inside text-gray-700 dark:text-gray-300 mb-3 ml-4">
|
||||
<li>Open VSCode Settings (JSON)</li>
|
||||
<li>Add to your global or workspace <code
|
||||
class="bg-gray-100 dark:bg-gray-700 text-gray-900 dark:text-gray-100 px-2 py-1 rounded text-sm">settings.json</code>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h4 class="font-semibold text-gray-900 dark:text-white mb-2">Claude Desktop Configuration:</h4>
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-3">Edit your configuration file and add:</p>
|
||||
<pre class="bg-gray-900 text-gray-100 rounded p-4 overflow-x-auto mb-4"><code>@verbatim{
|
||||
"mcpServers": {
|
||||
"fivem": {
|
||||
"command": "/path/to/php",
|
||||
"args": [
|
||||
"/path/to/fivem-mcp/artisan",
|
||||
"mcp:start",
|
||||
"fivem"
|
||||
]
|
||||
}
|
||||
}
|
||||
}@endverbatim</code></pre>
|
||||
|
||||
<h4 class="font-semibold text-gray-900 dark:text-white mb-2">Command Line Usage:</h4>
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-3">For any MCP-compatible client:</p>
|
||||
<pre
|
||||
class="bg-gray-900 text-gray-100 rounded p-4 overflow-x-auto"><code>php artisan mcp:start fivem</code></pre>
|
||||
|
||||
<h4 class="font-semibold text-gray-900 dark:text-white mb-2 mt-6">VSCode Configuration (Cline
|
||||
Extension):</h4>
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-3">If using VSCode with the Cline extension, add
|
||||
to
|
||||
<code
|
||||
class="bg-gray-100 dark:bg-gray-700 text-gray-900 dark:text-gray-100 px-2 py-1 rounded text-sm">settings.json</code>:
|
||||
</p>
|
||||
<pre class="bg-gray-900 text-gray-100 rounded p-4 overflow-x-auto"><code>@verbatim{
|
||||
"mcp": {
|
||||
"servers": {
|
||||
"fivem": {
|
||||
"command": "php",
|
||||
"args": ["artisan", "mcp:start", "fivem"],
|
||||
"cwd": "/path/to/fivem-mcp"
|
||||
<pre class="bg-gray-900 text-gray-100 rounded p-4 overflow-x-auto"><code>@verbatim{
|
||||
"mcp": {
|
||||
"servers": {
|
||||
"fivem": {
|
||||
"url": "https://your-domain.com/fivem"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}@endverbatim</code></pre>
|
||||
}@endverbatim</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-3 mt-4"><strong>Or use the full PHP path:</strong>
|
||||
</p>
|
||||
<pre class="bg-gray-900 text-gray-100 rounded p-4 overflow-x-auto"><code>@verbatim{
|
||||
"mcp": {
|
||||
"servers": {
|
||||
<!-- Local Installation Option -->
|
||||
<div data-tab-content="local" class="animate-fade-in hidden">
|
||||
<div class="bg-gray-50 dark:bg-gray-700/20 border-l-4 border-gray-400 dark:border-gray-500 p-6">
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-4">
|
||||
<strong>Advanced setup.</strong> Run the MCP server on your own machine. Requires PHP and
|
||||
Laravel setup.
|
||||
</p>
|
||||
|
||||
<h4 class="font-semibold text-gray-900 dark:text-white mb-2">Claude Desktop Configuration:</h4>
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-3">Edit your configuration file and add:</p>
|
||||
<pre class="bg-gray-900 text-gray-100 rounded p-4 overflow-x-auto mb-4"><code>@verbatim{
|
||||
"mcpServers": {
|
||||
"fivem": {
|
||||
"command": "/path/to/php",
|
||||
"args": ["/path/to/fivem-mcp/artisan", "mcp:start", "fivem"]
|
||||
"args": [
|
||||
"/path/to/fivem-mcp/artisan",
|
||||
"mcp:start",
|
||||
"fivem"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}@endverbatim</code></pre>
|
||||
}@endverbatim</code></pre>
|
||||
|
||||
<h4 class="font-semibold text-gray-900 dark:text-white mb-2">Command Line Usage:</h4>
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-3">For any MCP-compatible client:</p>
|
||||
<pre
|
||||
class="bg-gray-900 text-gray-100 rounded p-4 overflow-x-auto"><code>php artisan mcp:start fivem</code></pre>
|
||||
|
||||
<h4 class="font-semibold text-gray-900 dark:text-white mb-2 mt-6">VSCode Configuration (Cline
|
||||
Extension):</h4>
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-3">If using VSCode with the Cline extension, add
|
||||
to
|
||||
<code
|
||||
class="bg-gray-100 dark:bg-gray-700 text-gray-900 dark:text-gray-100 px-2 py-1 rounded text-sm">settings.json</code>:
|
||||
</p>
|
||||
<pre class="bg-gray-900 text-gray-100 rounded p-4 overflow-x-auto"><code>@verbatim{
|
||||
"mcp": {
|
||||
"servers": {
|
||||
"fivem": {
|
||||
"command": "php",
|
||||
"args": ["artisan", "mcp:start", "fivem"],
|
||||
"cwd": "/path/to/fivem-mcp"
|
||||
}
|
||||
}
|
||||
}
|
||||
}@endverbatim</code></pre>
|
||||
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-3 mt-4"><strong>Or use the full PHP path:</strong>
|
||||
</p>
|
||||
<pre class="bg-gray-900 text-gray-100 rounded p-4 overflow-x-auto"><code>@verbatim{
|
||||
"mcp": {
|
||||
"servers": {
|
||||
"fivem": {
|
||||
"command": "/path/to/php",
|
||||
"args": ["/path/to/fivem-mcp/artisan", "mcp:start", "fivem"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}@endverbatim</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bg-blue-50 dark:bg-blue-900/20 border-l-4 border-blue-500 p-4 mt-6">
|
||||
<p class="text-sm text-blue-800 dark:text-blue-200">
|
||||
<strong>💡 Tip:</strong> After configuring Claude Desktop, completely quit and restart the
|
||||
application
|
||||
for
|
||||
changes to take effect.
|
||||
<div class="bg-blue-50 dark:bg-blue-900/20 border-l-4 border-blue-500 p-4 mt-6">
|
||||
<p class="text-sm text-blue-800 dark:text-blue-200">
|
||||
<strong>💡 Tip:</strong> After configuring Claude Desktop, completely quit and restart the
|
||||
application
|
||||
for
|
||||
changes to take effect.
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Available Tools -->
|
||||
<section class="mb-12">
|
||||
<h2 class="text-2xl font-bold text-gray-900 dark:text-white mb-6">Available Tools</h2>
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-6">
|
||||
The FiveM MCP Server provides {{ count($tools) }} tools organized by category.
|
||||
These tools allow AI assistants to search documentation, generate code, and lookup framework functions.
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Available Tools -->
|
||||
<section class="mb-12">
|
||||
<h2 class="text-2xl font-bold text-gray-900 dark:text-white mb-6">Available Tools</h2>
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-6">
|
||||
The FiveM MCP Server provides {{ count($tools) }} tools organized by category.
|
||||
These tools allow AI assistants to search documentation, generate code, and lookup framework functions.
|
||||
</p>
|
||||
@php
|
||||
$groupedTools = collect($tools)->groupBy('category');
|
||||
@endphp
|
||||
|
||||
@php
|
||||
$groupedTools = collect($tools)->groupBy('category');
|
||||
@endphp
|
||||
@foreach ($groupedTools as $category => $categoryTools)
|
||||
<div class="mb-8">
|
||||
<h3 class="text-xl font-bold text-gray-800 dark:text-gray-200 mb-4 flex items-center">
|
||||
<span class="inline-block w-1 h-6 bg-gta-orange mr-3"></span>
|
||||
{{ $category }} Tools
|
||||
<span
|
||||
class="ml-3 text-sm font-normal text-gray-500 dark:text-gray-400">({{ count($categoryTools) }})</span>
|
||||
</h3>
|
||||
|
||||
@foreach ($groupedTools as $category => $categoryTools)
|
||||
<div class="mb-8">
|
||||
<h3 class="text-xl font-bold text-gray-800 dark:text-gray-200 mb-4 flex items-center">
|
||||
<span class="inline-block w-1 h-6 bg-gta-orange mr-3"></span>
|
||||
{{ $category }} Tools
|
||||
<span
|
||||
class="ml-3 text-sm font-normal text-gray-500 dark:text-gray-400">({{ count($categoryTools) }})</span>
|
||||
</h3>
|
||||
@foreach ($categoryTools as $index => $tool)
|
||||
<div class="mb-6 border-l-4 border-gta-orange pl-6">
|
||||
<h4 class="text-lg font-semibold text-gray-900 dark:text-white mb-2">{{ $tool['name'] }}</h4>
|
||||
<p class="text-gray-700 dark:text-gray-300">{{ $tool['description'] }}</p>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
@endforeach
|
||||
</section>
|
||||
|
||||
@foreach ($categoryTools as $index => $tool)
|
||||
<div class="mb-6 border-l-4 border-gta-orange pl-6">
|
||||
<h4 class="text-lg font-semibold text-gray-900 dark:text-white mb-2">{{ $tool['name'] }}</h4>
|
||||
<p class="text-gray-700 dark:text-gray-300">{{ $tool['description'] }}</p>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
@endforeach
|
||||
</section>
|
||||
<!-- Available Resources -->
|
||||
<section class="mb-12">
|
||||
<h2 class="text-2xl font-bold text-gray-900 dark:text-white mb-6">Available Resources</h2>
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-6">
|
||||
MCP Resources provide read-only reference documentation that AI assistants can access.
|
||||
Currently available: {{ count($resources) }} resources.
|
||||
</p>
|
||||
|
||||
<!-- Available Resources -->
|
||||
<section class="mb-12">
|
||||
<h2 class="text-2xl font-bold text-gray-900 dark:text-white mb-6">Available Resources</h2>
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-6">
|
||||
MCP Resources provide read-only reference documentation that AI assistants can access.
|
||||
Currently available: {{ count($resources) }} resources.
|
||||
</p>
|
||||
@forelse ($resources as $index => $resource)
|
||||
<div class="mb-6 border-l-4 border-green-500 pl-6">
|
||||
<h3 class="text-lg font-semibold text-gray-900 dark:text-white mb-2">{{ $index + 1 }}.
|
||||
{{ $resource['name'] }}
|
||||
</h3>
|
||||
<p class="text-gray-700 dark:text-gray-300">{{ $resource['description'] }}</p>
|
||||
</div>
|
||||
@empty
|
||||
<p class="text-gray-500 dark:text-gray-400 italic">No resources configured.</p>
|
||||
@endforelse
|
||||
</section>
|
||||
|
||||
@forelse ($resources as $index => $resource)
|
||||
<div class="mb-6 border-l-4 border-green-500 pl-6">
|
||||
<h3 class="text-lg font-semibold text-gray-900 dark:text-white mb-2">{{ $index + 1 }}.
|
||||
{{ $resource['name'] }}
|
||||
</h3>
|
||||
<p class="text-gray-700 dark:text-gray-300">{{ $resource['description'] }}</p>
|
||||
</div>
|
||||
@empty
|
||||
<p class="text-gray-500 dark:text-gray-400 italic">No resources configured.</p>
|
||||
@endforelse
|
||||
</section>
|
||||
<!-- Available Prompts -->
|
||||
<section class="mb-12">
|
||||
<h2 class="text-2xl font-bold text-gray-900 dark:text-white mb-6">Available Prompts</h2>
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-6">
|
||||
MCP Prompts are pre-built prompt templates for common tasks.
|
||||
Currently available: {{ count($prompts) }} prompts.
|
||||
</p>
|
||||
|
||||
<!-- Available Prompts -->
|
||||
<section class="mb-12">
|
||||
<h2 class="text-2xl font-bold text-gray-900 dark:text-white mb-6">Available Prompts</h2>
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-6">
|
||||
MCP Prompts are pre-built prompt templates for common tasks.
|
||||
Currently available: {{ count($prompts) }} prompts.
|
||||
</p>
|
||||
@forelse ($prompts as $index => $prompt)
|
||||
<div class="mb-6 border-l-4 border-purple-500 pl-6">
|
||||
<h3 class="text-lg font-semibold text-gray-900 dark:text-white mb-2">{{ $index + 1 }}.
|
||||
{{ $prompt['name'] }}
|
||||
</h3>
|
||||
<p class="text-gray-700 dark:text-gray-300">{{ $prompt['description'] }}</p>
|
||||
</div>
|
||||
@empty
|
||||
<p class="text-gray-500 dark:text-gray-400 italic">No prompts configured.</p>
|
||||
@endforelse
|
||||
</section>
|
||||
|
||||
@forelse ($prompts as $index => $prompt)
|
||||
<div class="mb-6 border-l-4 border-purple-500 pl-6">
|
||||
<h3 class="text-lg font-semibold text-gray-900 dark:text-white mb-2">{{ $index + 1 }}.
|
||||
{{ $prompt['name'] }}
|
||||
</h3>
|
||||
<p class="text-gray-700 dark:text-gray-300">{{ $prompt['description'] }}</p>
|
||||
</div>
|
||||
@empty
|
||||
<p class="text-gray-500 dark:text-gray-400 italic">No prompts configured.</p>
|
||||
@endforelse
|
||||
</section>
|
||||
<!-- Testing -->
|
||||
<section class="mb-12">
|
||||
<h2 class="text-2xl font-bold text-gray-900 dark:text-white mb-4">Testing the Server</h2>
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-4">You can test the MCP server locally using the inspector:
|
||||
</p>
|
||||
<pre
|
||||
class="bg-gray-900 text-gray-100 rounded p-4 overflow-x-auto"><code>php artisan mcp:inspector fivem</code></pre>
|
||||
<p class="text-gray-600 dark:text-gray-400 text-sm mt-2">This will open the MCP Inspector in your browser
|
||||
where
|
||||
you
|
||||
can test all the tools interactively.</p>
|
||||
</section>
|
||||
|
||||
<!-- Testing -->
|
||||
<section class="mb-12">
|
||||
<h2 class="text-2xl font-bold text-gray-900 dark:text-white mb-4">Testing the Server</h2>
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-4">You can test the MCP server locally using the inspector:
|
||||
</p>
|
||||
<pre
|
||||
class="bg-gray-900 text-gray-100 rounded p-4 overflow-x-auto"><code>php artisan mcp:inspector fivem</code></pre>
|
||||
<p class="text-gray-600 dark:text-gray-400 text-sm mt-2">This will open the MCP Inspector in your browser
|
||||
where
|
||||
you
|
||||
can test all the tools interactively.</p>
|
||||
</section>
|
||||
<!-- Development -->
|
||||
<section class="mb-12">
|
||||
<h2 class="text-2xl font-bold text-gray-900 dark:text-white mb-4">Development</h2>
|
||||
|
||||
<!-- Development -->
|
||||
<section class="mb-12">
|
||||
<h2 class="text-2xl font-bold text-gray-900 dark:text-white mb-4">Development</h2>
|
||||
<h3 class="text-xl font-semibold text-gray-900 dark:text-white mb-3">Adding New Tools</h3>
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-4">1. Create a new tool class in <code
|
||||
class="bg-gray-100 dark:bg-gray-700 text-gray-900 dark:text-gray-100 px-2 py-1 rounded text-sm">app/Mcp/Tools/</code>:
|
||||
</p>
|
||||
|
||||
<h3 class="text-xl font-semibold text-gray-900 dark:text-white mb-3">Adding New Tools</h3>
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-4">1. Create a new tool class in <code
|
||||
class="bg-gray-100 dark:bg-gray-700 text-gray-900 dark:text-gray-100 px-2 py-1 rounded text-sm">app/Mcp/Tools/</code>:
|
||||
</p>
|
||||
<pre class="bg-gray-900 text-gray-100 rounded p-4 overflow-x-auto mb-4"><code>@verbatim<?php
|
||||
|
||||
<pre class="bg-gray-900 text-gray-100 rounded p-4 overflow-x-auto mb-4"><code>@verbatim<?php
|
||||
namespace App\Mcp\Tools;
|
||||
|
||||
namespace App\Mcp\Tools;
|
||||
use Illuminate\Contracts\JsonSchema\JsonSchema;
|
||||
use Laravel\Mcp\Request;
|
||||
use Laravel\Mcp\Response;
|
||||
use Laravel\Mcp\Server\Attributes\Description;
|
||||
use Laravel\Mcp\Server\Tool;
|
||||
|
||||
use Illuminate\Contracts\JsonSchema\JsonSchema;
|
||||
use Laravel\Mcp\Request;
|
||||
use Laravel\Mcp\Response;
|
||||
use Laravel\Mcp\Server\Attributes\Description;
|
||||
use Laravel\Mcp\Server\Tool;
|
||||
|
||||
#[Description('Your tool description')]
|
||||
class YourTool extends Tool
|
||||
{
|
||||
public function handle(Request $request): Response
|
||||
#[Description('Your tool description')]
|
||||
class YourTool extends Tool
|
||||
{
|
||||
// Tool logic here
|
||||
return Response::text('Result');
|
||||
public function handle(Request $request): Response
|
||||
{
|
||||
// Tool logic here
|
||||
return Response::text('Result');
|
||||
}
|
||||
|
||||
public function schema(JsonSchema $schema): array
|
||||
{
|
||||
return [
|
||||
'param' => $schema->string()->required(),
|
||||
];
|
||||
}
|
||||
}
|
||||
@endverbatim</code></pre>
|
||||
|
||||
public function schema(JsonSchema $schema): array
|
||||
{
|
||||
return [
|
||||
'param' => $schema->string()->required(),
|
||||
];
|
||||
}
|
||||
}
|
||||
@endverbatim</code></pre>
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-4">2. Register the tool in <code
|
||||
class="bg-gray-100 dark:bg-gray-700 text-gray-900 dark:text-gray-100 px-2 py-1 rounded text-sm">app/Mcp/Servers/FiveMServer.php</code>:
|
||||
</p>
|
||||
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-4">2. Register the tool in <code
|
||||
class="bg-gray-100 dark:bg-gray-700 text-gray-900 dark:text-gray-100 px-2 py-1 rounded text-sm">app/Mcp/Servers/FiveMServer.php</code>:
|
||||
</p>
|
||||
<pre class="bg-gray-900 text-gray-100 rounded p-4 overflow-x-auto mb-4"><code>@verbatimprotected array $tools = [
|
||||
// ... existing tools
|
||||
\App\Mcp\Tools\YourTool::class,
|
||||
];@endverbatim</code></pre>
|
||||
|
||||
<pre class="bg-gray-900 text-gray-100 rounded p-4 overflow-x-auto mb-4"><code>@verbatimprotected array $tools = [
|
||||
// ... existing tools
|
||||
\App\Mcp\Tools\YourTool::class,
|
||||
];@endverbatim</code></pre>
|
||||
<h3 class="text-xl font-semibold text-gray-900 dark:text-white mb-3 mt-6">Code Formatting</h3>
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-4">Format code with Laravel Pint:</p>
|
||||
<pre class="bg-gray-900 text-gray-100 rounded p-4 overflow-x-auto"><code>vendor/bin/pint</code></pre>
|
||||
</section>
|
||||
|
||||
<h3 class="text-xl font-semibold text-gray-900 dark:text-white mb-3 mt-6">Code Formatting</h3>
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-4">Format code with Laravel Pint:</p>
|
||||
<pre class="bg-gray-900 text-gray-100 rounded p-4 overflow-x-auto"><code>vendor/bin/pint</code></pre>
|
||||
</section>
|
||||
<!-- Frameworks & Languages -->
|
||||
<section class="mb-12">
|
||||
<h2 class="text-2xl font-bold text-gray-900 dark:text-white mb-4">Supported Frameworks</h2>
|
||||
<ul class="list-disc list-inside text-gray-700 dark:text-gray-300 space-y-2 ml-4">
|
||||
<li><strong>Standalone:</strong> Basic FiveM resources without framework dependencies</li>
|
||||
<li><strong>ESX:</strong> ESX Framework (es_extended)</li>
|
||||
<li><strong>QBCore:</strong> QBCore Framework (qb-core / qbx_core)</li>
|
||||
<li><strong>Prodigy Studios (prp-bridge):</strong> Unified bridge supporting QBox, QB-Core, ESX, and ND Core with
|
||||
events, exports, UniQueue, groups, allowlists, sell shops, cases, and ped interactions</li>
|
||||
</ul>
|
||||
|
||||
<!-- Frameworks & Languages -->
|
||||
<section class="mb-12">
|
||||
<h2 class="text-2xl font-bold text-gray-900 dark:text-white mb-4">Supported Frameworks</h2>
|
||||
<ul class="list-disc list-inside text-gray-700 dark:text-gray-300 space-y-2 ml-4">
|
||||
<li><strong>Standalone:</strong> Basic FiveM resources without framework dependencies</li>
|
||||
<li><strong>ESX:</strong> ESX Framework (es_extended)</li>
|
||||
<li><strong>QBCore:</strong> QBCore Framework (qb-core)</li>
|
||||
</ul>
|
||||
<h2 class="text-2xl font-bold text-gray-900 dark:text-white mb-4 mt-6">Scripting Languages</h2>
|
||||
<p class="text-gray-700 dark:text-gray-300">Both Lua and JavaScript are fully supported across all tools and
|
||||
generators.</p>
|
||||
</section>
|
||||
|
||||
<h2 class="text-2xl font-bold text-gray-900 dark:text-white mb-4 mt-6">Scripting Languages</h2>
|
||||
<p class="text-gray-700 dark:text-gray-300">Both Lua and JavaScript are fully supported across all tools and
|
||||
generators.</p>
|
||||
</section>
|
||||
<!-- Resources -->
|
||||
<section class="mb-12">
|
||||
<h2 class="text-2xl font-bold text-gray-900 dark:text-white mb-4">Resources</h2>
|
||||
<ul class="list-disc list-inside text-gray-700 dark:text-gray-300 space-y-2 ml-4">
|
||||
<li><a href="https://docs.fivem.net/docs/" class="link-gta">FiveM
|
||||
Documentation</a></li>
|
||||
<li><a href="https://docs.fivem.net/natives/" class="link-gta">FiveM
|
||||
Natives Reference</a></li>
|
||||
<li><a href="https://coxdocs.dev/" class="link-gta">COX
|
||||
MySQL
|
||||
Documentation</a> - Required
|
||||
for database operations</li>
|
||||
<li><a href="https://docs.qbcore.org/" class="link-gta">QBCore
|
||||
Documentation</a></li>
|
||||
<li><a href="https://docs.prodigyrp.net/" class="link-gta">Prodigy
|
||||
Studios Documentation</a></li>
|
||||
<li><a href="https://laravel.com/docs/mcp" class="link-gta">Laravel
|
||||
MCP Documentation</a></li>
|
||||
<li><a href="https://modelcontextprotocol.io/" class="link-gta">Model
|
||||
Context Protocol</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<!-- Resources -->
|
||||
<section class="mb-12">
|
||||
<h2 class="text-2xl font-bold text-gray-900 dark:text-white mb-4">Resources</h2>
|
||||
<ul class="list-disc list-inside text-gray-700 dark:text-gray-300 space-y-2 ml-4">
|
||||
<li><a href="https://docs.fivem.net/docs/" class="link-gta">FiveM
|
||||
Documentation</a></li>
|
||||
<li><a href="https://docs.fivem.net/natives/" class="link-gta">FiveM
|
||||
Natives Reference</a></li>
|
||||
<li><a href="https://coxdocs.dev/" class="link-gta">COX
|
||||
MySQL
|
||||
Documentation</a> - Required
|
||||
for database operations</li>
|
||||
<li><a href="https://docs.qbcore.org/" class="link-gta">QBCore
|
||||
Documentation</a></li>
|
||||
<li><a href="https://laravel.com/docs/mcp" class="link-gta">Laravel
|
||||
MCP Documentation</a></li>
|
||||
<li><a href="https://modelcontextprotocol.io/" class="link-gta">Model
|
||||
Context Protocol</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- Contributing -->
|
||||
<section class="mb-12">
|
||||
<h2 class="text-2xl font-bold text-gray-900 dark:text-white mb-4">Contributing</h2>
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-4">Contributions are welcome! Areas for expansion:</p>
|
||||
<ul class="list-disc list-inside text-gray-700 dark:text-gray-300 space-y-2 ml-4">
|
||||
<li>More native functions in the database</li>
|
||||
<li>Additional framework support (vRP, etc.)</li>
|
||||
<li>More event types</li>
|
||||
<li>Advanced code generators</li>
|
||||
<li>Database query builders</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<!-- Contributing -->
|
||||
<section class="mb-12">
|
||||
<h2 class="text-2xl font-bold text-gray-900 dark:text-white mb-4">Contributing</h2>
|
||||
<p class="text-gray-700 dark:text-gray-300 mb-4">Contributions are welcome! Areas for expansion:</p>
|
||||
<ul class="list-disc list-inside text-gray-700 dark:text-gray-300 space-y-2 ml-4">
|
||||
<li>More native functions in the database</li>
|
||||
<li>Additional framework support (vRP, etc.)</li>
|
||||
<li>More event types</li>
|
||||
<li>Advanced code generators</li>
|
||||
<li>Database query builders</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<!-- License -->
|
||||
<section>
|
||||
<h2 class="text-2xl font-bold text-gray-900 dark:text-white mb-4">License</h2>
|
||||
<p class="text-gray-700 dark:text-gray-300">MIT License</p>
|
||||
</section>
|
||||
<!-- License -->
|
||||
<section>
|
||||
<h2 class="text-2xl font-bold text-gray-900 dark:text-white mb-4">License</h2>
|
||||
<p class="text-gray-700 dark:text-gray-300">MIT License</p>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@@ -10,218 +10,220 @@
|
||||
FiveM Development MCP Server
|
||||
</h1>
|
||||
<p class="mt-5 max-w-xl mx-auto text-xl text-gray-500 dark:text-gray-400">
|
||||
A comprehensive Model Context Protocol server for FiveM development with 5 tools, 3 resources, and 5
|
||||
prompts.
|
||||
</p>
|
||||
</div>
|
||||
A comprehensive Model Context Protocol server for FiveM development. Supports FiveM natives, QBCore,
|
||||
COX MySQL, Prodigy Studios (prp-bridge), and more.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- Features Grid -->
|
||||
<div class="mt-12">
|
||||
<h2 class="text-3xl font-extrabold text-gray-900 dark:text-white mb-8">Features</h2>
|
||||
<div class="grid grid-cols-1 gap-8 sm:grid-cols-2 lg:grid-cols-3">
|
||||
<!-- Documentation Search -->
|
||||
<div class="bg-white dark:bg-gray-800 overflow-hidden shadow rounded-lg">
|
||||
<div class="px-4 py-5 sm:p-6">
|
||||
<div class="flex items-center">
|
||||
<div class="shrink-0 bg-gta-orange rounded-md p-3">
|
||||
<svg class="h-6 w-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
||||
d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="ml-5">
|
||||
<h3 class="text-lg font-medium text-gray-900 dark:text-white">Documentation Search</h3>
|
||||
<!-- Features Grid -->
|
||||
<div class="mt-12">
|
||||
<h2 class="text-3xl font-extrabold text-gray-900 dark:text-white mb-8">Features</h2>
|
||||
<div class="grid grid-cols-1 gap-8 sm:grid-cols-2 lg:grid-cols-3">
|
||||
<!-- Documentation Search -->
|
||||
<div class="bg-white dark:bg-gray-800 overflow-hidden shadow rounded-lg">
|
||||
<div class="px-4 py-5 sm:p-6">
|
||||
<div class="flex items-center">
|
||||
<div class="shrink-0 bg-gta-orange rounded-md p-3">
|
||||
<svg class="h-6 w-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
||||
d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="ml-5">
|
||||
<h3 class="text-lg font-medium text-gray-900 dark:text-white">Documentation Search</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-4">
|
||||
<p class="text-sm text-gray-500 dark:text-gray-400">
|
||||
Search FiveM documentation by topic and category. Get direct links to relevant
|
||||
documentation.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-4">
|
||||
<p class="text-sm text-gray-500 dark:text-gray-400">
|
||||
Search FiveM documentation by topic and category. Get direct links to relevant
|
||||
documentation.
|
||||
|
||||
<!-- Native Functions -->
|
||||
<div class="bg-white dark:bg-gray-800 overflow-hidden shadow rounded-lg">
|
||||
<div class="px-4 py-5 sm:p-6">
|
||||
<div class="flex items-center">
|
||||
<div class="shrink-0 bg-gta-orange rounded-md p-3">
|
||||
<svg class="h-6 w-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
||||
d="M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4"></path>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="ml-5">
|
||||
<h3 class="text-lg font-medium text-gray-900 dark:text-white">Native Functions</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-4">
|
||||
<p class="text-sm text-gray-500 dark:text-gray-400">
|
||||
Look up GTA5/FiveM native functions with signatures, parameters, and code examples.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Manifest Generator -->
|
||||
<div class="bg-white dark:bg-gray-800 overflow-hidden shadow rounded-lg">
|
||||
<div class="px-4 py-5 sm:p-6">
|
||||
<div class="flex items-center">
|
||||
<div class="shrink-0 bg-gta-orange rounded-md p-3">
|
||||
<svg class="h-6 w-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
||||
d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z">
|
||||
</path>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="ml-5">
|
||||
<h3 class="text-lg font-medium text-gray-900 dark:text-white">Manifest Generator</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-4">
|
||||
<p class="text-sm text-gray-500 dark:text-gray-400">
|
||||
Generate fxmanifest.lua files automatically for any framework and scripting language.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Event Reference -->
|
||||
<div class="bg-white dark:bg-gray-800 overflow-hidden shadow rounded-lg">
|
||||
<div class="px-4 py-5 sm:p-6">
|
||||
<div class="flex items-center">
|
||||
<div class="shrink-0 bg-gta-orange rounded-md p-3">
|
||||
<svg class="h-6 w-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
||||
d="M13 10V3L4 14h7v7l9-11h-7z"></path>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="ml-5">
|
||||
<h3 class="text-lg font-medium text-gray-900 dark:text-white">Event Reference</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-4">
|
||||
<p class="text-sm text-gray-500 dark:text-gray-400">
|
||||
Complete database of FiveM events including core, QBCore, and Prodigy Studios (prp-bridge)
|
||||
events with examples.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Boilerplate Generator -->
|
||||
<div class="bg-white dark:bg-gray-800 overflow-hidden shadow rounded-lg">
|
||||
<div class="px-4 py-5 sm:p-6">
|
||||
<div class="flex items-center">
|
||||
<div class="shrink-0 bg-gta-orange rounded-md p-3">
|
||||
<svg class="h-6 w-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
||||
d="M4 5a1 1 0 011-1h14a1 1 0 011 1v2a1 1 0 01-1 1H5a1 1 0 01-1-1V5zM4 13a1 1 0 011-1h6a1 1 0 011 1v6a1 1 0 01-1 1H5a1 1 0 01-1-1v-6zM16 13a1 1 0 011-1h2a1 1 0 011 1v6a1 1 0 01-1 1h-2a1 1 0 01-1-1v-6z">
|
||||
</path>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="ml-5">
|
||||
<h3 class="text-lg font-medium text-gray-900 dark:text-white">Boilerplate Generator</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-4">
|
||||
<p class="text-sm text-gray-500 dark:text-gray-400">
|
||||
Generate complete resource structures with client, server, config, and optional NUI files.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Framework Support -->
|
||||
<div class="bg-white dark:bg-gray-800 overflow-hidden shadow rounded-lg">
|
||||
<div class="px-4 py-5 sm:p-6">
|
||||
<div class="flex items-center">
|
||||
<div class="shrink-0 bg-gta-orange rounded-md p-3">
|
||||
<svg class="h-6 w-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
||||
d="M9 3v2m6-2v2M9 19v2m6-2v2M5 9H3m2 6H3m18-6h-2m2 6h-2M7 19h10a2 2 0 002-2V7a2 2 0 00-2-2H7a2 2 0 00-2 2v10a2 2 0 002 2zM9 9h6v6H9V9z">
|
||||
</path>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="ml-5">
|
||||
<h3 class="text-lg font-medium text-gray-900 dark:text-white">Framework Support</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-4">
|
||||
<p class="text-sm text-gray-500 dark:text-gray-400">
|
||||
Full support for Standalone, ESX, QBCore, and Prodigy Studios (prp-bridge) in both Lua and
|
||||
JavaScript.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Quick Actions -->
|
||||
<div class="mt-16 bg-gray-900 dark:bg-black border border-gta-orange rounded-lg shadow-xl overflow-hidden">
|
||||
<div class="px-6 py-12 sm:px-12">
|
||||
<div class="text-center">
|
||||
<h2 class="text-3xl font-extrabold text-white">Ready to get started?</h2>
|
||||
<p class="mt-4 text-lg text-gray-200 dark:text-gray-300">
|
||||
Set up the MCP server in just 5 minutes with our quick start guide.
|
||||
</p>
|
||||
<div class="mt-8 flex justify-center space-x-4">
|
||||
<a href="{{ route('docs.quickstart') }}"
|
||||
class="btn-gta-secondary inline-flex items-center px-6 py-3 text-base">
|
||||
Quick Start Guide
|
||||
</a>
|
||||
<a href="{{ route('docs.documentation') }}"
|
||||
class="btn-gta-primary inline-flex items-center px-6 py-3 text-base">
|
||||
Full Documentation
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Native Functions -->
|
||||
<div class="bg-white dark:bg-gray-800 overflow-hidden shadow rounded-lg">
|
||||
<div class="px-4 py-5 sm:p-6">
|
||||
<div class="flex items-center">
|
||||
<div class="shrink-0 bg-gta-orange rounded-md p-3">
|
||||
<svg class="h-6 w-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
||||
d="M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4"></path>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="ml-5">
|
||||
<h3 class="text-lg font-medium text-gray-900 dark:text-white">Native Functions</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-4">
|
||||
<p class="text-sm text-gray-500 dark:text-gray-400">
|
||||
Look up GTA5/FiveM native functions with signatures, parameters, and code examples.
|
||||
<!-- Resources -->
|
||||
<div class="mt-16">
|
||||
<h2 class="text-3xl font-extrabold text-gray-900 dark:text-white mb-8">Resources</h2>
|
||||
<div class="grid grid-cols-1 gap-6 sm:grid-cols-2">
|
||||
<div class="bg-white dark:bg-gray-800 shadow rounded-lg p-6">
|
||||
<h3 class="text-lg font-medium text-gray-900 dark:text-white mb-4">MCP Server Configuration</h3>
|
||||
<p class="text-sm text-gray-500 dark:text-gray-400 mb-4">
|
||||
To connect to the FiveM MCP server, use the following configuration in your MCP client:
|
||||
</p>
|
||||
<pre
|
||||
class="bg-gray-50 dark:bg-gray-700 text-gray-900 dark:text-gray-100 rounded p-4 text-sm overflow-x-auto"><code>{
|
||||
"servers": {
|
||||
"fivem": {
|
||||
"url": "{{ route('fivem') }}",
|
||||
"type": "http"
|
||||
}
|
||||
}
|
||||
}</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Manifest Generator -->
|
||||
<div class="bg-white dark:bg-gray-800 overflow-hidden shadow rounded-lg">
|
||||
<div class="px-4 py-5 sm:p-6">
|
||||
<div class="flex items-center">
|
||||
<div class="shrink-0 bg-gta-orange rounded-md p-3">
|
||||
<svg class="h-6 w-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
||||
d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z">
|
||||
</path>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="ml-5">
|
||||
<h3 class="text-lg font-medium text-gray-900 dark:text-white">Manifest Generator</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-4">
|
||||
<p class="text-sm text-gray-500 dark:text-gray-400">
|
||||
Generate fxmanifest.lua files automatically for any framework and scripting language.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Event Reference -->
|
||||
<div class="bg-white dark:bg-gray-800 overflow-hidden shadow rounded-lg">
|
||||
<div class="px-4 py-5 sm:p-6">
|
||||
<div class="flex items-center">
|
||||
<div class="shrink-0 bg-gta-orange rounded-md p-3">
|
||||
<svg class="h-6 w-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
||||
d="M13 10V3L4 14h7v7l9-11h-7z"></path>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="ml-5">
|
||||
<h3 class="text-lg font-medium text-gray-900 dark:text-white">Event Reference</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-4">
|
||||
<p class="text-sm text-gray-500 dark:text-gray-400">
|
||||
Complete database of FiveM events including core, ESX, and QBCore events with examples.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Boilerplate Generator -->
|
||||
<div class="bg-white dark:bg-gray-800 overflow-hidden shadow rounded-lg">
|
||||
<div class="px-4 py-5 sm:p-6">
|
||||
<div class="flex items-center">
|
||||
<div class="shrink-0 bg-gta-orange rounded-md p-3">
|
||||
<svg class="h-6 w-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
||||
d="M4 5a1 1 0 011-1h14a1 1 0 011 1v2a1 1 0 01-1 1H5a1 1 0 01-1-1V5zM4 13a1 1 0 011-1h6a1 1 0 011 1v6a1 1 0 01-1 1H5a1 1 0 01-1-1v-6zM16 13a1 1 0 011-1h2a1 1 0 011 1v6a1 1 0 01-1 1h-2a1 1 0 01-1-1v-6z">
|
||||
</path>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="ml-5">
|
||||
<h3 class="text-lg font-medium text-gray-900 dark:text-white">Boilerplate Generator</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-4">
|
||||
<p class="text-sm text-gray-500 dark:text-gray-400">
|
||||
Generate complete resource structures with client, server, config, and optional NUI files.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Framework Support -->
|
||||
<div class="bg-white dark:bg-gray-800 overflow-hidden shadow rounded-lg">
|
||||
<div class="px-4 py-5 sm:p-6">
|
||||
<div class="flex items-center">
|
||||
<div class="shrink-0 bg-gta-orange rounded-md p-3">
|
||||
<svg class="h-6 w-6 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
||||
d="M9 3v2m6-2v2M9 19v2m6-2v2M5 9H3m2 6H3m18-6h-2m2 6h-2M7 19h10a2 2 0 002-2V7a2 2 0 00-2-2H7a2 2 0 00-2 2v10a2 2 0 002 2zM9 9h6v6H9V9z">
|
||||
</path>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="ml-5">
|
||||
<h3 class="text-lg font-medium text-gray-900 dark:text-white">Framework Support</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-4">
|
||||
<p class="text-sm text-gray-500 dark:text-gray-400">
|
||||
Full support for Standalone, ESX, and QBCore frameworks in both Lua and JavaScript.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Quick Actions -->
|
||||
<div class="mt-16 bg-gray-900 dark:bg-black border border-gta-orange rounded-lg shadow-xl overflow-hidden">
|
||||
<div class="px-6 py-12 sm:px-12">
|
||||
<div class="text-center">
|
||||
<h2 class="text-3xl font-extrabold text-white">Ready to get started?</h2>
|
||||
<p class="mt-4 text-lg text-gray-200 dark:text-gray-300">
|
||||
Set up the MCP server in just 5 minutes with our quick start guide.
|
||||
</p>
|
||||
<div class="mt-8 flex justify-center space-x-4">
|
||||
<a href="{{ route('docs.quickstart') }}"
|
||||
class="btn-gta-secondary inline-flex items-center px-6 py-3 text-base">
|
||||
Quick Start Guide
|
||||
</a>
|
||||
<a href="{{ route('docs.documentation') }}"
|
||||
class="btn-gta-primary inline-flex items-center px-6 py-3 text-base">
|
||||
Full Documentation
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Resources -->
|
||||
<div class="mt-16">
|
||||
<h2 class="text-3xl font-extrabold text-gray-900 dark:text-white mb-8">Resources</h2>
|
||||
<div class="grid grid-cols-1 gap-6 sm:grid-cols-2">
|
||||
<div class="bg-white dark:bg-gray-800 shadow rounded-lg p-6">
|
||||
<h3 class="text-lg font-medium text-gray-900 dark:text-white mb-4">MCP Server Configuration</h3>
|
||||
<p class="text-sm text-gray-500 dark:text-gray-400 mb-4">
|
||||
To connect to the FiveM MCP server, use the following configuration in your MCP client:
|
||||
</p>
|
||||
<pre
|
||||
class="bg-gray-50 dark:bg-gray-700 text-gray-900 dark:text-gray-100 rounded p-4 text-sm overflow-x-auto"><code>{
|
||||
"servers": {
|
||||
"fivem": {
|
||||
"url": "{{ route('fivem') }}",
|
||||
"type": "http"
|
||||
}
|
||||
}
|
||||
}</code></pre>
|
||||
</div>
|
||||
<div class="bg-white dark:bg-gray-800 shadow rounded-lg p-6">
|
||||
<h3 class="text-lg font-medium text-gray-900 dark:text-white mb-4">External Links</h3>
|
||||
<ul class="space-y-2 text-sm">
|
||||
<li>
|
||||
<a href="https://docs.fivem.net/docs/"
|
||||
class="link-gta">FiveM
|
||||
Documentation</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://docs.fivem.net/natives/"
|
||||
class="link-gta">FiveM
|
||||
Natives Reference</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://docs.qbcore.org/"
|
||||
class="link-gta">QBCore
|
||||
Documentation</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://coxdocs.dev/"
|
||||
class="link-gta">COX
|
||||
MySQL Documentation</a>
|
||||
</li>
|
||||
<li>
|
||||
<div class="bg-white dark:bg-gray-800 shadow rounded-lg p-6">
|
||||
<h3 class="text-lg font-medium text-gray-900 dark:text-white mb-4">External Links</h3>
|
||||
<ul class="space-y-2 text-sm">
|
||||
<li>
|
||||
<a href="https://docs.fivem.net/docs/" class="link-gta">FiveM
|
||||
Documentation</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://docs.fivem.net/natives/" class="link-gta">FiveM
|
||||
Natives Reference</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://docs.qbcore.org/" class="link-gta">QBCore
|
||||
Documentation</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://coxdocs.dev/" class="link-gta">COX
|
||||
MySQL Documentation</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://docs.prodigyrp.net/" class="link-gta">Prodigy
|
||||
Studios Documentation</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://laravel.com/docs/mcp"
|
||||
class="link-gta">Laravel
|
||||
MCP Documentation</a>
|
||||
|
||||
Reference in new issue
Block a user