We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/eagurin/myaiserv'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
"""
Базовый класс для промптов MCP.
"""
from abc import abstractmethod
from typing import Any, Dict, List, Optional
from app.core.base.component import MCPComponent
class MCPPrompt(MCPComponent):
"""
Базовый класс для всех промптов MCP.
Промпты представляют шаблоны для генерации сообщений,
которые могут быть использованы для взаимодействия с LLM.
Attributes:
name: Имя промпта
description: Описание промпта
template: Шаблон промпта
arguments: Аргументы промпта
"""
def __init__(
self,
name: str,
description: Optional[str] = None,
template: Optional[str] = None,
arguments: Optional[List[Dict[str, Any]]] = None,
) -> None:
"""
Инициализирует промпт.
Args:
name: Имя промпта
description: Описание промпта
template: Шаблон промпта
arguments: Аргументы промпта
"""
self.name = name
self.description = description
self.template = template
self.arguments = arguments or []
async def initialize(self) -> bool:
"""
Инициализирует промпт.
Returns:
bool: True, если инициализация прошла успешно
"""
return True
async def cleanup(self) -> bool:
"""
Освобождает ресурсы, используемые промптом.
Returns:
bool: True, если очистка прошла успешно
"""
return True
@abstractmethod
async def generate_messages(
self, arguments: Dict[str, Any]
) -> List[Dict[str, Any]]:
"""
Генерирует сообщения на основе аргументов.
Args:
arguments: Аргументы для генерации сообщений
Returns:
List[Dict[str, Any]]: Сгенерированные сообщения
"""
pass