Skip to main content
Glama
10xroadmap

Order Status Server

by 10xroadmap

Laravel MCP Server

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: MySQL Database Access

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. Set GEMINI key, or what ever AI provider

GEMINI_API_KEY=<some-key>
or
ANTHROPIC_API_KEY=<some-key>
or
OPENAI_API_KEY=<some-key>
  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.

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/10xroadmap/laravel-mcp-server-tool-demo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server