Skip to main content
Glama
10xroadmap

Order Status Server

by 10xroadmap

Laravel MCP Server

Youtube Video

Build MCP Server with Laravel

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.

Related MCP server: Laravel Cloud MCP Server

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 
  1. Create .env file

copy .env.example .env
  1. 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' 
  1. Generate encryption key for App

php artisan key generate
  1. run migration

php artisan migrate
  1. run db-seed

php artisan db:seed
  1. run the app

php artisan server

Design

  1. Database Model

Model

App\Models\OrderStatus

Table

order_status

Fields

order_id(integer),product,status

  1. Database seed

  • Database\Seeders\OrderStatusSeeder

  • contains some entries for order status

order_id

product

status \

1

Noodles

PENDING

2

Sauce

PROCESSING

  1. MCP Tool

  • App\Mcp\Tools\OrderStatusFinderTool

  • name : order-status-finder

  • what it do : Find and return status of order in structured format

  1. 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

  4. Press Connect

  5. Now Click Tools::Order Status Finder Tool

  6. Enter Order Id as 1 or 2 and Press run

  7. Click response at Bottom to View Output

Via Antigravity CLI

  1. Config Open ~/.gemini/config/mcp_config.json

Add:

{
    "mcpServers": {
        "order-status": {
            "serverUrl": "http://127.0.0.1:8000/mcp/order-status/",
            "headers": {
                "Accept": "application/json, text/event-stream",
                "Content-Type": "application/json"
            }
        }
    }
}
  1. 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.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A Laravel-based MCP server that enables users to browse, search, and import Star Wars character data from the SWAPI external API into a local database. It facilitates seamless AI interaction with Star Wars lore through structured tools and the Model Context Protocol.
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    A production-grade MCP server for order management, featuring tools for looking up and refunding orders with safety measures like confirmation tokens, rate limiting, and error handling.
    -