Skip to main content
Glama
resource.py2.64 kB
""" Базовый класс для ресурсов MCP. """ from typing import Optional from app.core.base.component import MCPComponent from app.core.base.observer import Observable class MCPResource(MCPComponent, Observable): """ Базовый класс для всех ресурсов MCP. Ресурсы представляют данные, которые могут быть использованы инструментами и промптами. Attributes: uri: Уникальный идентификатор ресурса name: Имя ресурса description: Описание ресурса mime_type: MIME тип ресурса """ def __init__( self, uri: str, name: str, description: Optional[str] = None, mime_type: Optional[str] = None, ) -> None: """ Инициализирует ресурс. Args: uri: Уникальный идентификатор ресурса name: Имя ресурса description: Описание ресурса mime_type: MIME тип ресурса """ Observable.__init__(self) self.uri = uri self.name = name self.description = description self.mime_type = mime_type self._content: Optional[str] = None @property def content(self) -> Optional[str]: """ Возвращает содержимое ресурса. Returns: Optional[str]: Содержимое ресурса или None, если оно не установлено """ return self._content @content.setter def content(self, value: str) -> None: """ Устанавливает содержимое ресурса и уведомляет наблюдателей. Args: value: Новое содержимое ресурса """ import asyncio self._content = value asyncio.create_task(self.notify_observers(self.uri, self)) async def initialize(self) -> bool: """ Инициализирует ресурс. Returns: bool: True, если инициализация прошла успешно """ return True async def cleanup(self) -> bool: """ Освобождает ресурсы, используемые ресурсом. Returns: bool: True, если очистка прошла успешно """ return True

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/eagurin/myaiserv'

If you have feedback or need assistance with the MCP directory API, please join our Discord server