Laravel 12 Docs MCP Server
Laravel Docs MCP-сервер
⚠️ Alpha Software — этот проект находится на ранней стадии разработки. Функции могут работать не так, как ожидалось, а критические изменения могут происходить без уведомления.
Помощник ИИ для разработчиков Laravel, который обеспечивает доступ к последней документации Laravel и рекомендациям по интеллектуальным пакетам через Model Context Protocol (MCP). Это позволяет инструментам ИИ помогать вам создавать приложения Laravel с актуальной информацией и лучшими практиками.
Обзор
Этот сервер позволяет помощникам ИИ получать доступ к документации Laravel и рекомендациям по пакетам с использованием Model Context Protocol (MCP). Он позволяет инструментам ИИ:
Доступ и поиск в документации Laravel
Получайте рекомендации по пакетам на основе конкретных вариантов использования
Получите руководство по внедрению популярных пакетов Laravel
Автоматически обновлять документацию из репозитория Laravel GitHub
Related MCP server: MPC Docs Server
Установка
Быстрая установка через Smithery
npx -y @smithery/cli install @brianirish/laravel-docs-mcp --client claudeУстановить из PyPI
pip install laravel-docs-mcpДокер
# Pull and run the latest version
docker run -p 8000:8000 ghcr.io/brianirish/laravel-docs-mcp:latest
# Or run a specific version
docker run -p 8000:8000 ghcr.io/brianirish/laravel-docs-mcp:v0.1.4Ручная установка из источника
Предпосылки
Питон 3.12+
менеджер пакетов
uv(рекомендуется)
Шаги
Клонируйте репозиторий:
git clone https://github.com/brianirish/laravel-docs-mcp.git cd laravel-docs-mcpНастройте среду и установите зависимости:
# Create and activate virtual environment uv venv source .venv/bin/activate # Linux/macOS # or .venv\Scripts\activate # Windows # Install dependencies uv pip install .
Использование
Запуск сервера
python laravel_docs_server.pyСервер автоматически загружает документацию Laravel при первом запуске и может быть остановлен с помощью Ctrl+C.
Параметры командной строки
Вариант | Описание |
| Путь к каталогу документации (по умолчанию: ./docs) |
| Имя сервера (по умолчанию: LaravelDocs) |
| Уровень журнала: ОТЛАДКА, ИНФОРМАЦИЯ, ПРЕДУПРЕЖДЕНИЕ, ОШИБКА, КРИТИЧЕСКИЙ (по умолчанию: ИНФОРМАЦИЯ) |
| Метод транспортировки: stdio, websocket, sse (по умолчанию: stdio) |
| Хост для привязки (сетевой транспорт) |
| Порт для прослушивания (сетевой транспорт) |
| Ветка версии Laravel (по умолчанию: 12.x) |
| Обновите документацию перед началом |
| Принудительное обновление документации |
Пример с пользовательскими параметрами:
python laravel_docs_server.py --docs-path /path/to/docs --version 11.x --update-docs --transport websocket --host localhost --port 8000Обновление документации
Вы можете обновить документацию отдельно:
# 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
Пример клиента
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())Доступные инструменты
Инструменты документирования
list_docs()— список всех файлов документацииsearch_docs(query: str)— Поиск документации по определенным терминамupdate_docs(version: Optional[str], force: bool)— Обновление документацииdocs_info()— Получить информацию о версии документации
Инструменты рекомендации пакетов
get_package_recommendations(use_case: str)— Получить рекомендации по пакетам для варианта использованияget_package_info(package_name: str)— Получить сведения о конкретном пакетеget_package_categories(category: str)— список пакетов в определенной категорииget_features_for_package(package: str)— Получить доступные функции для пакета
Доступ к ресурсам
Доступ к файлам документации как к ресурсам можно получить с помощью:
laravel://{path}Примеры:
laravel://routing.mdlaravel://authentication.md
Автоматизированные рабочие процессы
Этот проект включает в себя несколько автоматизированных рабочих процессов GitHub Actions:
Ежедневные обновления документации
Триггер : каждый день в полночь по всемирному координированному времени (также можно запустить вручную)
Процесс : Проверка обновлений документации Laravel → Создание PR → Автоматическое слияние → Создание тега версии патча
Результат : автоматический выпуск патчей при обновлении документации Laravel.
Выпуск публикации
Триггер : при отправке тегов версии (например,
v0.1.4)Процесс : Сборка пакетов → Публикация в PyPI → Сборка и отправка образов Docker в GHCR
Результат : синхронизированные релизы через PyPI и Docker Hub.
Динамическое управление версиями
Источник версии : Автоматически получен из тегов git с помощью
hatch-vcsСборки для разработки : получите уникальные идентификаторы (например,
0.1.3.dev1+g75aec71)Сборки релизов : чистые номера версий, соответствующие тегам (например,
0.1.4)
Особенности и дорожная карта
Текущие возможности:
✅ Ежедневные обновления документации : автоматическая синхронизация с репозиторием Laravel GitHub каждый день
✅ Динамическое управление версиями : автоматическое управление версиями на основе тегов git
✅ Автоматизированные выпуски : выпуски исправлений, вызванные обновлениями документации
✅ Несколько вариантов развертывания : пакет PyPI, образы Docker и торговая площадка Smithery
✅ Рекомендации по пакетам : интеллектуальные предложения, основанные на конкретных вариантах использования
✅ Руководство по внедрению : подробная информация по распространенным пакетам Laravel
✅ Гибкая конфигурация : поддержка нескольких версий Laravel и методов транспортировки
✅ Мягкое выключение : правильная очистка и обработка сигналов
Планируемые функции:
🔄 Поддержка нескольких версий (доступ к документации для нескольких версий Laravel одновременно)
🔍 Анализ пользовательских проектов для индивидуальных рекомендаций
🚀 Расширенные возможности поиска с семантическим соответствием
📊 Аналитика использования и идеи
🔗 Дополнительные интеграции экосистемы Laravel
Лицензия
Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENSE.
Внося вклад
Вклады приветствуются! Смотрите CONTRIBUTING.md для инструкций.
Благодарности
Laravel за их прекрасную документацию
Авторам пакетов Laravel за их вклад в экосистему
This server cannot be installed
Maintenance
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/brianirish/laravel-docs-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server