Skip to main content
Glama
brianirish

Laravel 12 Docs MCP Server

by brianirish

Laravel Docs MCP-сервер

Релиз GitHub (последний по дате) PyPI Версия Python Статус рабочего процесса GitHub Лицензия Образ Докера значок кузнеца Звезды GitHub Форки GitHub

⚠️ Alpha Software — этот проект находится на ранней стадии разработки. Функции могут работать не так, как ожидалось, а критические изменения могут происходить без уведомления.

Помощник ИИ для разработчиков Laravel, который обеспечивает доступ к последней документации Laravel и рекомендациям по интеллектуальным пакетам через Model Context Protocol (MCP). Это позволяет инструментам ИИ помогать вам создавать приложения Laravel с актуальной информацией и лучшими практиками.

Обзор

Этот сервер позволяет помощникам ИИ получать доступ к документации Laravel и рекомендациям по пакетам с использованием Model Context Protocol (MCP). Он позволяет инструментам ИИ:

  • Доступ и поиск в документации Laravel

  • Получайте рекомендации по пакетам на основе конкретных вариантов использования

  • Получите руководство по внедрению популярных пакетов Laravel

  • Автоматически обновлять документацию из репозитория Laravel GitHub

Related MCP server: Documentation Search MCP 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 (рекомендуется)

Шаги

  1. Клонируйте репозиторий:

    git clone https://github.com/brianirish/laravel-docs-mcp.git
    cd laravel-docs-mcp
  2. Настройте среду и установите зависимости:

    # 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-path PATH

Путь к каталогу документации (по умолчанию: ./docs)

--server-name NAME

Имя сервера (по умолчанию: LaravelDocs)

--log-level LEVEL

Уровень журнала: ОТЛАДКА, ИНФОРМАЦИЯ, ПРЕДУПРЕЖДЕНИЕ, ОШИБКА, КРИТИЧЕСКИЙ (по умолчанию: ИНФОРМАЦИЯ)

--transport TYPE

Метод транспортировки: stdio, websocket, sse (по умолчанию: stdio)

--host HOST

Хост для привязки (сетевой транспорт)

--port PORT

Порт для прослушивания (сетевой транспорт)

--version VERSION

Ветка версии Laravel (по умолчанию: 12.x)

--update-docs

Обновите документацию перед началом

--force-update

Принудительное обновление документации

Пример с пользовательскими параметрами:

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

  • laravel://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 за их вклад в экосистему

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    C
    maintenance
    A Model Context Protocol server that enables intelligent searching across documentation for 30+ programming libraries and frameworks, fetching relevant information from official sources.
    23
    8
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server providing file search and question tools for AI models. Enables keyword search in files with line numbers and integration with external chat services.
    297 npm
    MIT