Order Status Server
by 10xroadmap
README.md
# Laravel MCP Server
### Youtube Video
[Build MCP Server with Laravel](https://www.youtube.com/watch?v=9yFzD-1JoQE)
## Why Choose a Laravel-Based MCP Server?
- If your application is built on `Laravel`, developing a `MCP Server` directly within your existing codebase is often more efficient and secure than maintaining a separate Python microservice.
- By using Laravel as your MCP host, you create a seamless translation layer that exposes your data, business logic, and internal functions directly to AI agents like Antigravity or Claude Code
---
### Key Advantages
* **Native Access to Business Logic:** Skip the overhead of building and securing custom REST APIs. Your AI tools can interact directly with your database, Eloquent models, relationships, and internal services using code you already have.
* **Enterprise-Grade Security:** Leverage Laravel’s mature security ecosystem. You can utilize built-in features like Laravel Sanctum for authentication and standard middleware for rate-limiting, ensuring your AI integrations are protected by the same rigorous standards as your web app.
* **Robust, Familiar Architecture:** Benefit from built-in Artisan scaffolding to generate tools quickly, keep AI-specific logic organized in a dedicated `app/Mcp` directory, and offload resource-intensive tasks to your existing Laravel Queue infrastructure for better performance.
## Requirements
- PHP: 8.3 or Higher
- Laravel: 13.8 or Higher
- MySql: 9.3.0 or Higher
## How to run
1. Clone this repository
```
git clone
```
2. Create `.env` file
```
copy .env.example .env
```
3. Update `.env` file with MySQL connection settings
```
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=mcp-db
DB_USERNAME=root
DB_PASSWORD='Password'
```
4. Generate encryption key for App
```
php artisan key generate
```
5. run migration
```
php artisan migrate
```
6. run db-seed
```
php artisan db:seed
```
7. run the app
```
php artisan server
```
## Design
1. Database Model
| Model | App\Models\OrderStatus |
| :--- | :---: |
| Table | order_status |
| Fields | order_id(integer),product,status |
2. Database seed
- Database\Seeders\OrderStatusSeeder
- contains some entries for order status
| order_id | product | status \
| :--- | :---: | :---: |
| 1 | Noodles | PENDING |
| 2 | Sauce | PROCESSING|
3. MCP Tool
- App\Mcp\Tools\OrderStatusFinderTool
- name : `order-status-finder`
- what it do : Find and return status of order in structured format
4. MCP Server
- App\Mcp\Servers\OrderStatusServer
- name : `Order Status Server`
- contains : One tool (OrderStatusFinderTool), no resources, no prompts
## How to test
- make sure MCP Server is running
- execute `php artisan serve` at terminal to run MCP Server
### Via Postman
1. File -> New -> MCP
2. Request Type : Change from STDIO to HTTP
3. URL : http://127.0.0.1:8000/mcp/order-status
3. Press Connect
4. Now Click Tools::Order Status Finder Tool
5. Enter Order Id as `1` or `2` and Press run
6. Click response at Bottom to View Output
### Via Antigravity CLI
1. Config
Open ~/.gemini/config/mcp_config.json
Add:
```json
{
"mcpServers": {
"order-status": {
"serverUrl": "http://127.0.0.1:8000/mcp/order-status/",
"headers": {
"Accept": "application/json, text/event-stream",
"Content-Type": "application/json"
}
}
}
}
```
2. Launch Antigravity CLI
```
agy
```
Prompt: `What is the status of order id 2`
## Via ADK 2.0 Agent
```
# mcp_client.py
from google.adk.agents import LlmAgent
from google.adk.tools.mcp_tool import McpToolset
from google.adk.tools.mcp_tool.mcp_session_manager import StreamableHTTPConnectionParams
# Configure connection parameters for the remote HTTP server
connection_params = StreamableHTTPConnectionParams(
url="http://127.0.0.1:8000/mcp/order-status",
headers={
"Accept": "application/json, text/event-stream",
"Content-Type":"application/json"
}
)
# Instantiate the toolset
mcp_tools = McpToolset(connection_params=connection_params)
root_agent = LlmAgent(
model="gemini-2.5-flash-lite",
name="order_status_agent",
instruction="""
You are a helpful assistant who has insight about github accounts
""",
tools=[mcp_tools],
)
```
Prompt: `What is the status of order id 2`
## Laravel MCP Documentation
Visit: https://laravel.com/docs/13.x/mcp
## GIT REPO URL
https://github.com/10xroadmap/laravel-mcp-server-tool-demo
## License or Terms of Use
This project is open-source. However, no part of the source code may be republished, modified, or distributed for commercial or public purposes without giving appropriate credit to the original author.
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues