Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 14 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
# Laravel Restify MCP Server
# Restify Boost

[![Latest Version on Packagist](https://img.shields.io/packagist/v/binarcode/laravel-restify-mcp.svg?style=flat-square)](https://packagist.org/packages/binarcode/laravel-restify-mcp)
[![GitHub Tests Action Status](https://img.shields.io/github/actions/workflow/status/binarcode/laravel-restify-mcp/run-tests.yml?branch=main&label=tests&style=flat-square)](https://github.com/binarcode/laravel-restify-mcp/actions?query=workflow%3Arun-tests+branch%3Amain)
[![Latest Version on Packagist](https://img.shields.io/packagist/v/binarcode/restify-boost.svg?style=flat-square)](https://packagist.org/packages/binarcode/restify-boost)
[![GitHub Tests Action Status](https://img.shields.io/github/actions/workflow/status/binarcode/restify-boost/run-tests.yml?branch=main&label=tests&style=flat-square)](https://github.com/binarcode/restify-boost/actions?query=workflow%3Arun-tests+branch%3Amain)

The first fully customizable Laravel [JSON:API](https://jsonapi.org) builder with MCP and GraphQL support. "CRUD" and protect your resources with 0 (zero) extra line of code.

<div>
<a href="https://restifytemplates.com">
<img alt="Save weeks of API development" src="/docs-v2/static/starter-kit.png">
<img alt="Save weeks of API development" src="/docs/starter-kit.png">
</a>
</div>

## Introduction

Laravel Restify MCP Server accelerates AI-assisted [Laravel Restify](https://github.com/binarcode/laravel-restify) development by providing comprehensive documentation access through the Model Context Protocol.
Restify Boost accelerates AI-assisted [Laravel Restify](https://github.com/binarcode/laravel-restify) development by providing comprehensive documentation access and code generation tools through the Model Context Protocol.

At its foundation, this package is an MCP server equipped with specialized tools designed to streamline Laravel Restify development workflows. The server provides access to complete documentation, API references, code examples, and troubleshooting guides.

Expand All @@ -25,16 +25,16 @@ At its foundation, this package is an MCP server equipped with specialized tools

## Installation

Laravel Restify MCP Server can be installed via Composer:
Restify Boost can be installed via Composer:

```bash
composer require binarcode/laravel-restify-mcp --dev
composer require binarcode/restify-boost --dev
```

Next, install the MCP server:

```bash
php artisan restify-mcp:install
php artisan restify-boost:install
```

Once installed, you're ready to start coding with Cursor, Claude Code, or your AI agent of choice.
Expand All @@ -59,29 +59,29 @@ Once installed, you're ready to start coding with Cursor, Claude Code, or your A

## Manually Registering the MCP Server

Sometimes you may need to manually register the Laravel Restify MCP server with your editor of choice. You should register the MCP server using the following details:
Sometimes you may need to manually register the Restify Boost MCP server with your editor of choice. You should register the MCP server using the following details:

<table>
<tr><td><strong>Command</strong></td><td><code>php</code></td></tr>
<tr><td><strong>Args</strong></td><td><code>./artisan restify-mcp:start</code></td></tr>
<tr><td><strong>Args</strong></td><td><code>./artisan restify-boost:start</code></td></tr>
</table>

JSON Example:

```json
{
"mcpServers": {
"laravel-restify-mcp": {
"restify-boost": {
"command": "php",
"args": ["./artisan", "restify-mcp:start"]
"args": ["./artisan", "restify-boost:start"]
}
}
}
```

## Contributing

Thank you for considering contributing to Laravel Restify MCP Server! Please see [CONTRIBUTING](CONTRIBUTING.md) for details.
Thank you for considering contributing to Restify Boost! Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

## Security Vulnerabilities

Expand All @@ -94,4 +94,4 @@ Please review [our security policy](../../security/policy) on how to report secu

## License

Laravel Restify MCP Server is open-sourced software licensed under the [MIT license](LICENSE.md).
Restify Boost is open-sourced software licensed under the [MIT license](LICENSE.md).
16 changes: 9 additions & 7 deletions composer.json
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
{
"name": "binarcode/laravel-restify-mcp",
"description": "Laravel Restify MCP server providing comprehensive documentation access through the Model Context Protocol for AI assistants.",
"name": "binarcode/restify-boost",
"description": "Restify Boost - AI-powered Laravel Restify assistant providing comprehensive documentation access and code generation tools.",
"keywords": [
"laravel",
"restify",
"mcp",
"documentation",
"ai"
],
"homepage": "https://github.com/binarcode/laravel-restify-mcp",
"homepage": "https://github.com/binarcode/restify-boost",
"license": "MIT",
"authors": [
{
Expand Down Expand Up @@ -41,16 +41,18 @@
},
"autoload": {
"psr-4": {
"BinarCode\\LaravelRestifyMcp\\": "src/"
"BinarCode\\RestifyBoost\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"BinarCode\\LaravelRestifyMcp\\Tests\\": "tests/"
"BinarCode\\RestifyBoost\\Tests\\": "tests/"
}
},
"scripts": {
"post-autoload-dump": "@composer run prepare",
"post-autoload-dump": [
"@php -r \"file_exists('vendor/bin/testbench') && passthru('vendor/bin/testbench package:discover --ansi') || exit(0);\""
],
"prepare": "@php vendor/bin/testbench package:discover --ansi",
"lint": [
"vendor/bin/pint",
Expand All @@ -76,7 +78,7 @@
},
"laravel": {
"providers": [
"BinarCode\\LaravelRestifyMcp\\LaravelRestifyMcpServiceProvider"
"BinarCode\\RestifyBoost\\RestifyBoostServiceProvider"
]
}
},
Expand Down
1 change: 1 addition & 0 deletions config/restify-mcp.php → config/restify-boost.php
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@
*/
'paths' => [
'primary' => env('RESTIFY_DOCS_PATH', base_path('vendor/binaryk/laravel-restify/docs-v2/content/en')),
'fallback' => base_path('src/Docs/en'),
],

/*
Expand Down
20 changes: 10 additions & 10 deletions src/Commands/ExecuteToolCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,21 @@

declare(strict_types=1);

namespace BinarCode\LaravelRestifyMcp\Commands;

use BinarCode\LaravelRestifyMcp\Mcp\RestifyDocs;
use BinarCode\LaravelRestifyMcp\Mcp\Tools\GenerateActionTool;
use BinarCode\LaravelRestifyMcp\Mcp\Tools\GenerateGetterTool;
use BinarCode\LaravelRestifyMcp\Mcp\Tools\GenerateRepositoryTool;
use BinarCode\LaravelRestifyMcp\Mcp\Tools\GetCodeExamples;
use BinarCode\LaravelRestifyMcp\Mcp\Tools\NavigateDocs;
use BinarCode\LaravelRestifyMcp\Mcp\Tools\SearchRestifyDocs;
namespace BinarCode\RestifyBoost\Commands;

use BinarCode\RestifyBoost\Mcp\RestifyDocs;
use BinarCode\RestifyBoost\Mcp\Tools\GenerateActionTool;
use BinarCode\RestifyBoost\Mcp\Tools\GenerateGetterTool;
use BinarCode\RestifyBoost\Mcp\Tools\GenerateRepositoryTool;
use BinarCode\RestifyBoost\Mcp\Tools\GetCodeExamples;
use BinarCode\RestifyBoost\Mcp\Tools\NavigateDocs;
use BinarCode\RestifyBoost\Mcp\Tools\SearchRestifyDocs;
use Illuminate\Console\Command;
use Laravel\Mcp\Server\Tools\ToolResult;

class ExecuteToolCommand extends Command
{
protected $signature = 'restify-mcp:execute
protected $signature = 'restify-boost:execute
{tool : The MCP tool to execute (search-restify-docs, get-code-examples, navigate-docs, generate-repository, generate-action, generate-getter)}
{--queries=* : Search queries (for search-restify-docs)}
{--topic= : Topic for code examples (for get-code-examples)}
Expand Down
38 changes: 19 additions & 19 deletions src/Commands/InstallCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@

declare(strict_types=1);

namespace BinarCode\LaravelRestifyMcp\Commands;
namespace BinarCode\RestifyBoost\Commands;

use Illuminate\Console\Command;
use Illuminate\Support\Facades\File;

class InstallCommand extends Command
{
protected $signature = 'restify-mcp:install';
protected $signature = 'restify-boost:install';

protected $description = 'Install and configure the Laravel Restify MCP package';
protected $description = 'Install and configure the Restify Boost package';

public function handle(): int
{
Expand All @@ -20,7 +20,7 @@ public function handle(): int
// Publish configuration file
$this->line('Publishing configuration file...');
$this->call('vendor:publish', [
'--tag' => 'restify-mcp-config',
'--tag' => 'restify-boost-config',
'--force' => true,
]);

Expand Down Expand Up @@ -53,10 +53,10 @@ protected function displayWelcome(): void
{
$this->newLine();
$this->info('┌─────────────────────────────────────────┐');
$this->info('│ Laravel Restify MCP Setup │');
$this->info('│ Restify Boost Setup │');
$this->info('└─────────────────────────────────────────┘');
$this->newLine();
$this->line('This will set up the MCP server to provide Laravel Restify');
$this->line('This will set up Restify Boost to provide Laravel Restify');
$this->line('documentation access to AI assistants like Claude Code.');
$this->newLine();
}
Expand Down Expand Up @@ -159,7 +159,7 @@ protected function displayClaudeSetupInstructions(): void
'mcpServers' => [
'laravel-restify' => [
'command' => 'php',
'args' => ['artisan', 'restify-mcp:start'],
'args' => ['artisan', 'restify-boost:start'],
],
],
], JSON_PRETTY_PRINT));
Expand All @@ -184,7 +184,7 @@ protected function displayCursorSetupInstructions(): void
$this->line('2. Navigate to Extensions → MCP');
$this->line('3. Add a new MCP server:');
$this->line(' - Name: Laravel Restify Docs');
$this->line(' - Command: php artisan restify-mcp:start');
$this->line(' - Command: php artisan restify-boost:start');
$this->line(' - Working Directory: '.base_path());
$this->newLine();
}
Expand All @@ -196,7 +196,7 @@ protected function displayGeneralMcpInstructions(): void
$this->newLine();

$this->line('For any MCP-compatible AI assistant:');
$this->line('1. Start the MCP server: php artisan restify-mcp:start');
$this->line('1. Start the MCP server: php artisan restify-boost:start');
$this->line('2. The server will be available on localhost:8080');
$this->line('3. Configure your AI assistant to connect to this endpoint');
$this->newLine();
Expand All @@ -211,19 +211,19 @@ protected function displayGeneralMcpInstructions(): void
protected function displayCompletion(): void
{
$this->newLine();
$this->info('✅ Laravel Restify MCP package installed successfully!');
$this->info('✅ Restify Boost package installed successfully!');
$this->newLine();

$this->info('🚀 Quick Start:');
$this->line('1. Test the installation: php artisan restify-mcp:execute search-restify-docs --queries="repository"');
$this->line('2. Generate a repository: php artisan restify-mcp:execute generate-repository --model-name="User"');
$this->line('3. Browse documentation: php artisan restify-mcp:execute navigate-docs --action="overview"');
$this->line('4. Start MCP server: php artisan restify-mcp:start');
$this->line('1. Test the installation: php artisan restify-boost:execute search-restify-docs --queries="repository"');
$this->line('2. Generate a repository: php artisan restify-boost:execute generate-repository --model-name="User"');
$this->line('3. Browse documentation: php artisan restify-boost:execute navigate-docs --action="overview"');
$this->line('4. Start MCP server: php artisan restify-boost:start');
$this->line('5. Configure your AI assistant to use the MCP server');
$this->newLine();

$this->line('Configuration file: config/restify-mcp.php');
$this->line('Documentation: https://github.com/binarcode/laravel-restify-mcp');
$this->line('Configuration file: config/restify-boost.php');
$this->line('Documentation: https://github.com/binarcode/restify-boost');
$this->newLine();
}

Expand Down Expand Up @@ -264,7 +264,7 @@ protected function createMcpConfigFile(): bool
// Add our MCP server configuration
$config['mcpServers']['laravel-restify'] = [
'command' => 'php',
'args' => ['artisan', 'restify-mcp:start'],
'args' => ['artisan', 'restify-boost:start'],
];

// Write the updated config
Expand Down Expand Up @@ -300,8 +300,8 @@ protected function verifyRestifyInstallation(): bool

protected function checkDocumentationPaths(): void
{
$primaryPath = config('restify-mcp.docs.paths.primary');
$legacyPath = config('restify-mcp.docs.paths.legacy');
$primaryPath = config('restify-boost.docs.paths.primary');
$legacyPath = config('restify-boost.docs.paths.legacy');

$foundDocs = false;

Expand Down
4 changes: 2 additions & 2 deletions src/Commands/StartCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

declare(strict_types=1);

namespace BinarCode\LaravelRestifyMcp\Commands;
namespace BinarCode\RestifyBoost\Commands;

use Illuminate\Console\Command;
use Illuminate\Support\Facades\Artisan;
use Symfony\Component\Console\Attribute\AsCommand;

#[AsCommand('restify-mcp:start', 'Starts Laravel Restify (usually from mcp.json)')]
#[AsCommand('restify-boost:start', 'Starts Restify Boost (usually from mcp.json)')]
class StartCommand extends Command
{
public function handle(): int
Expand Down
2 changes: 1 addition & 1 deletion src/Concerns/MakesHttpRequests.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

declare(strict_types=1);

namespace BinarCode\LaravelRestifyMcp\Concerns;
namespace BinarCode\RestifyBoost\Concerns;

use Illuminate\Http\Client\PendingRequest;
use Illuminate\Http\Client\Response;
Expand Down
2 changes: 1 addition & 1 deletion src/Contracts/McpClient.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

declare(strict_types=1);

namespace BinarCode\LaravelRestifyMcp\Contracts;
namespace BinarCode\RestifyBoost\Contracts;

interface McpClient
{
Expand Down
4 changes: 2 additions & 2 deletions src/Install/CodeEnvironment/ClaudeDesktop.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

declare(strict_types=1);

namespace BinarCode\LaravelRestifyMcp\Install\CodeEnvironment;
namespace BinarCode\RestifyBoost\Install\CodeEnvironment;

use BinarCode\LaravelRestifyMcp\Contracts\McpClient;
use BinarCode\RestifyBoost\Contracts\McpClient;

class ClaudeDesktop extends CodeEnvironment implements McpClient
{
Expand Down
2 changes: 1 addition & 1 deletion src/Install/CodeEnvironment/CodeEnvironment.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

declare(strict_types=1);

namespace BinarCode\LaravelRestifyMcp\Install\CodeEnvironment;
namespace BinarCode\RestifyBoost\Install\CodeEnvironment;

use Illuminate\Contracts\Filesystem\FileNotFoundException;
use Illuminate\Support\Facades\File;
Expand Down
4 changes: 2 additions & 2 deletions src/Install/CodeEnvironment/Cursor.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

declare(strict_types=1);

namespace BinarCode\LaravelRestifyMcp\Install\CodeEnvironment;
namespace BinarCode\RestifyBoost\Install\CodeEnvironment;

use BinarCode\LaravelRestifyMcp\Contracts\McpClient;
use BinarCode\RestifyBoost\Contracts\McpClient;

class Cursor extends CodeEnvironment implements McpClient
{
Expand Down
4 changes: 2 additions & 2 deletions src/Install/CodeEnvironment/VSCode.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

declare(strict_types=1);

namespace BinarCode\LaravelRestifyMcp\Install\CodeEnvironment;
namespace BinarCode\RestifyBoost\Install\CodeEnvironment;

use BinarCode\LaravelRestifyMcp\Contracts\McpClient;
use BinarCode\RestifyBoost\Contracts\McpClient;

class VSCode extends CodeEnvironment implements McpClient
{
Expand Down
10 changes: 5 additions & 5 deletions src/Install/CodeEnvironmentsDetector.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@

declare(strict_types=1);

namespace BinarCode\LaravelRestifyMcp\Install;
namespace BinarCode\RestifyBoost\Install;

use BinarCode\LaravelRestifyMcp\Install\CodeEnvironment\ClaudeDesktop;
use BinarCode\LaravelRestifyMcp\Install\CodeEnvironment\CodeEnvironment;
use BinarCode\LaravelRestifyMcp\Install\CodeEnvironment\Cursor;
use BinarCode\LaravelRestifyMcp\Install\CodeEnvironment\VSCode;
use BinarCode\RestifyBoost\Install\CodeEnvironment\ClaudeDesktop;
use BinarCode\RestifyBoost\Install\CodeEnvironment\CodeEnvironment;
use BinarCode\RestifyBoost\Install\CodeEnvironment\Cursor;
use BinarCode\RestifyBoost\Install\CodeEnvironment\VSCode;
use Illuminate\Container\Container;
use Illuminate\Support\Collection;

Expand Down
2 changes: 1 addition & 1 deletion src/Install/DisplayHelper.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

declare(strict_types=1);

namespace BinarCode\LaravelRestifyMcp\Install;
namespace BinarCode\RestifyBoost\Install;

use InvalidArgumentException;

Expand Down
Loading
Loading