Laravel Docs MCP Server
A Model Context Protocol (MCP) server that provides access to Laravel documentation and package recommendations for AI assistants and language models.
Overview
This server enables AI assistants to access Laravel documentation and package recommendations using the Model Context Protocol (MCP). It allows AI tools to:
- Access and search Laravel documentation
- Receive package recommendations based on specific use cases
- Get implementation guidance for popular Laravel packages
- Automatically update documentation from Laravel’s GitHub repository
Installation
Quick Install via Smithery
npx -y @smithery/cli install @brianirish/laravel-docs-mcp --client claude
Manual Installation
Prerequisites
- Python 3.12+
uv
package manager (recommended)
Steps
Clone the repository:
git clone https://github.com/yourusername/laravel-docs-mcp.git cd laravel-docs-mcp
Set up environment and install dependencies:
# Create and activate virtual environment uv venv source .venv/bin/activate # Linux/macOS # or .venvScriptsactivate # Windows # Install dependencies uv pip install .
Usage
Starting the Server
python laravel_docs_server.py
The server automatically fetches Laravel documentation on first run and can be stopped with Ctrl+C.
Command Line Options
Option | Description |
---|---|
--docs-path PATH | Documentation directory path (default: ./docs) |
--server-name NAME | Server name (default: LaravelDocs) |
--log-level LEVEL | Log level: DEBUG, INFO, WARNING, ERROR, CRITICAL (default: INFO) |
--transport TYPE | Transport method: stdio, websocket, sse (default: stdio) |
--host HOST | Host to bind to (network transport) |
--port PORT | Port to listen on (network transport) |
--version VERSION | Laravel version branch (default: 12.x) |
--update-docs | Update documentation before starting |
--force-update | Force documentation update |
Example with custom options:
python laravel_docs_server.py --docs-path /path/to/docs --version 11.x --update-docs --transport websocket --host localhost --port 8000
Documentation Updater
You can update the documentation separately:
# Update documentation
python docs_updater.py --target-dir ./docs --version 12.x
# Check if update is needed
python docs_updater.py --check-only
# Force update
python docs_updater.py --force
API Reference
Client Example
import asyncio
from fastmcp import Client
async def main():
client = Client("path/to/laravel_docs_server.py")
async with client:
# List documentation
result = await client.call_tool("list_docs", {})
print(result)
# Search documentation
result = await client.call_tool("search_docs", {"query": "routing"})
print(result)
# Get package recommendations
result = await client.call_tool("get_package_recommendations",
{"use_case": "implementing subscription billing"})
print(result)
# Read documentation
resource = await client.read_resource("laravel://routing.md")
print(resource)
if __name__ == "__main__":
asyncio.run(main())
Available Tools
Documentation Tools
list_docs()
- List all documentation filessearch_docs(query: str)
- Search documentation for specific termsupdate_docs(version: Optional[str], force: bool)
- Update documentationdocs_info()
- Get documentation version information
Package Recommendation Tools
get_package_recommendations(use_case: str)
- Get package recommendations for a use caseget_package_info(package_name: str)
- Get details about a specific packageget_package_categories(category: str)
- List packages in a specific categoryget_features_for_package(package: str)
- Get available features for a package
Resource Access
Documentation files can be accessed as resources using:
laravel://{path}
Examples:
laravel://routing.md
laravel://authentication.md
Features and Roadmap
Current Features:
- ✅ Dynamic documentation updates from Laravel’s GitHub repository
- ✅ Graceful shutdown handling
- ✅ Version flexibility through command-line options
- ✅ Package recommendations based on use cases
- ✅ Implementation guidance for common Laravel packages
- ✅ Docker deployment support
Planned Features:
- Multi-version support (access documentation for multiple Laravel versions simultaneously)
- User project analysis for tailored recommendations
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contributing
Contributions are welcome! See CONTRIBUTING.md for guidelines.
Acknowledgements
- Laravel for their excellent documentation
- Laravel package authors for their contributions to the ecosystem
Laravel Documentation Server
Project Details
- brianirish/laravel-docs-mcp
- MIT License
- Last Updated: 4/21/2025
Recomended MCP Servers
MCP server for Mamont search engine
Raindrop MCP Server
An MCP server for fireflies
MCP server for Glean API integration
AgenticAI using MCP
whiteboard SDK / infinite canvas SDK
DuckDuckGo search API MCP server

An MCP (Model Context Protocol) server that enables ✨ AI platforms to interact with 🤖 YepCode's infrastructure. Turn...
MCP server for Atlassian tools (Confluence, Jira)