Skip to main content
Glama
base.py954 B
from abc import ABC, abstractmethod from typing import Dict, Any, Optional import logging class BaseMCPTool(ABC): """Abstract base class for MCP tools""" def __init__(self): self.logger = logging.getLogger(f"mcp-tool.{self.name}") @property @abstractmethod def name(self) -> str: """Tool name identifier""" pass @property @abstractmethod def description(self) -> str: """Tool description for users""" pass @abstractmethod def get_parameters_schema(self) -> Dict[str, Any]: """Return JSON schema for tool parameters""" pass @abstractmethod async def execute(self, parameters: Dict[str, Any]) -> Any: """Execute the tool with given parameters""" pass def validate_parameters(self, parameters: Dict[str, Any]) -> None: """Validate parameters against schema (override if needed)""" pass

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/antpavlenko/mcp_dockerized'

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