К основному содержанию
правило официальный · GitHub

quarkus-mcp-server-sse — правило для GitHub Copilot: настройка

Правило задаёт структуру и практики разработки MCP-серверов на Quarkus. Оно пригодится в Java-проекте, где подключено расширение MCP Server.

Установить в GitHub Copilot · Вручную: положить файлы Все способы и платформы ↓
.github/instructions/quarkus-mcp-server-sse.instructions.md
Открыть на GitHub

Что делает quarkus-mcp-server-sse

Правило применяется к Java-файлам и конфигурации Quarkus в application.properties, application.yml и application.yaml. Оно описывает разработку на Java 21 с Quarkus и рекомендует транспорт Streamable HTTP через mcp-server-http; HTTP/SSE поддерживается для существующих проектов. Для нового проекта правило рекомендует mcp-server-http, а не устаревший mcp-server-sse: последний не входит в актуальные Quarkus platform BOM.

Инструкции задают слои mcp, service и repository, внедрение зависимостей через конструктор, модели на Record и требования к методам @Tool в CDI-бинах. Методы должны проверять параметры и возвращать сообщения об ошибках вместо null; для ожидаемых бизнес-ошибок указано исключение ToolCallException. Бизнес-логику в инструменты MCP помещать не следует.

Правило рассчитано только на проекты с расширением Quarkus MCP Server. Если проект уже использует mcp-server-sse, переход на него в новом приложении может привести к откату Quarkus CLI на более старый platform stream.

Какие задачи решает

  • разложить MCP-сервер Quarkus на слои инструментов, сервисов и репозиториев
  • оформить методы MCP как CDI-инструменты с @Tool
  • обрабатывать ошибки вызова инструмента без возврата null
  • проверять параметры и предусмотреть граничные случаи

Примеры запросов агенту

  • Создай MCP-сервер на Java 21 с Quarkus и транспортом Streamable HTTP, следуя правилу.
  • Разнеси логику этого MCP-инструмента по слоям mcp, service и repository.
  • Проверь методы @Tool: добавь валидацию параметров и обработку бизнес-ошибок через ToolCallException.

Как установить quarkus-mcp-server-sse

Вручную: положить файлы

.github/instructions/quarkus-mcp-server-sse.instructions.md

Поле applyTo задаёт, к каким файлам применять

По шагам, с командами для каждой платформы: AGENTS.md и CLAUDE.md: что это, кто читает и какой выбрать

Вопросы о quarkus-mcp-server-sse

Как установить quarkus-mcp-server-sse в GitHub Copilot?

Добавьте файл .github/instructions/quarkus-mcp-server-sse.instructions.md в репозиторий.

Что делает quarkus-mcp-server-sse?

Задаёт правила разработки MCP-сервера на Quarkus: структуру слоёв, требования к инструментам и обработку ошибок.

Какой транспорт выбрать для нового MCP-сервера Quarkus?

Правило рекомендует Streamable HTTP через mcp-server-http. HTTP/SSE оставлен для существующих проектов; mcp-server-sse не входит в актуальные Quarkus platform BOM.

Исходный текст

quarkus-mcp-server-sse.instructions.md · MIT
---
applyTo: '**/*.java, **/application*.properties, **/application*.yml, **/application*.yaml'
description: 'Quarkus MCP Server development standards and instructions, with Streamable HTTP (preferred) and legacy HTTP SSE transports'
---
# Quarkus MCP Server

Apply these instructions only when the project uses a Quarkus MCP Server extension (`mcp-server-http`, or the legacy `mcp-server-sse`).

Build MCP servers with Java 21, Quarkus, and Streamable HTTP transport (legacy HTTP SSE is also supported).

## Stack

- Java 21 with Quarkus Framework
- MCP Server Extension: `mcp-server-http` (`io.quarkiverse.mcp:quarkus-mcp-server-http`), which serves both transports: legacy HTTP/SSE at `http://localhost:8080/mcp/sse` and Streamable HTTP (preferred; SSE is deprecated in the MCP spec) at `http://localhost:8080/mcp`
- `mcp-server-sse` is not managed by recent Quarkus platform BOMs (verified: absent from 3.40.1); the Quarkus CLI silently falls back to an older platform stream when asked for it. Use it only to keep an existing project that already depends on it.
- CDI for dependency injection

## Quick Start

```bash
quarkus create app --no-code -x rest-client-jackson,qute,mcp-server-http your-domain-mcp-server
```

## Structure

- Use standard Java naming conventions (PascalCase classes, camelCase methods)
- Organize in packages: `model`, `repository`, `service`, `mcp`
- Use Record types for immutable data models
- State management for immutable data must be managed by repository layer
- Add Javadoc for public methods

## MCP Tools

- Must be public methods in `@ApplicationScoped` CDI beans
- Use `@Tool(name="tool_name", description="clear description")`
- Never return `null` - return error messages instead
- Always validate parameters and handle errors gracefully

## Architecture

- Separate concerns: MCP tools → Service layer → Repository
- Use constructor injection (`@Inject` is optional on a single constructor)
- Make data operations thread-safe
- Use `Optional<T>` to avoid null pointer exceptions

## Common Issues

- Don't put business logic in MCP tools (use service layer)
- For expected business errors throw `io.quarkiverse.mcp.server.ToolCallException` (its message becomes a failed tool result); don't let other unhandled exceptions escape, as they are reported as generic internal errors
- Don't forget to validate input parameters
- Test with edge cases (null, empty inputs)

© github · MIT · github/awesome-copilot

Похожие правила IDE

Все правила IDE по теме «Бэкенд и API» →

Из того же набора861

Весь набор →
rust Правило задаёт рекомендации для Rust-кода и применяется к файлам *.rs. Оно пригодится, когда Copilot пишет или проверяет код на Rust. ★ 40 418звёзд репо rust-mcp-server Правило задаёт Copilot ориентиры при написании MCP-серверов на Rust через официальный SDK rmcp. Пригодится, когда проект на Rust и нужен свой MCP-сервер. ★ 40 418звёзд репо ruby-mcp-server Правило задаёт практики для MCP-серверов на Ruby с официальным gem mcp. Пригодится для инструментов, ресурсов и промптов. ★ 40 418звёзд репо r Задаёт Copilot правила генерации кода на R: стиль проекта, безопасность, работа с путями и данными. Пригодится, если в репозитории есть .R, .Rmd или .qmd файлы. ★ 40 418звёзд репо qa-engineering-best-practices Правило для GitHub Copilot с набором инструкций по тестированию: пирамида тестов, именование, ассерты, баг-репорты. Пригодится, когда Copilot пишет тесты в вашем проекте. ★ 40 418звёзд репо python-mcp-server Набор инструкций для GitHub Copilot по разработке MCP-серверов на Python SDK версии 2. Помогает ассистенту писать код по спецификации 2026-07-28 без устаревших методов. ★ 40 418звёзд репо powershell Правило для GitHub Copilot, которое заставляет его писать идиоматичные скрипты PowerShell по гайдлайнам Microsoft. Пригодится, если в проекте есть .ps1 и .psm1. ★ 40 418звёзд репо powershell-pester-6 Задаёт стандарты написания тестов на Pester v6 для PowerShell. Помогает генерировать надёжные спецификации в файлах *.Tests.ps1 без устаревших конструкций v5. ★ 40 418звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой