- Enhanced `ARCHITECTURE.md` with details on LLM models for work (Llama 3.1 70B Q4) and family agents (Phi-3 Mini 3.8B Q4). - Introduced new documents: - `ASR_EVALUATION.md` for ASR engine evaluation and selection. - `HARDWARE.md` outlining hardware requirements and purchase plans. - `IMPLEMENTATION_GUIDE.md` for Milestone 2 implementation steps. - `LLM_CAPACITY.md` assessing VRAM and context window limits. - `LLM_MODEL_SURVEY.md` surveying open-weight LLM models. - `LLM_USAGE_AND_COSTS.md` detailing LLM usage and operational costs. - `MCP_ARCHITECTURE.md` describing the Model Context Protocol architecture. - `MCP_IMPLEMENTATION_SUMMARY.md` summarizing MCP implementation status. These updates provide comprehensive guidance for the next phases of development and ensure clarity in project documentation.
46 lines
905 B
Python
46 lines
905 B
Python
"""
|
|
Base tool interface.
|
|
"""
|
|
|
|
from abc import ABC, abstractmethod
|
|
from typing import Any, Dict
|
|
|
|
|
|
class BaseTool(ABC):
|
|
"""Base class for MCP tools."""
|
|
|
|
@property
|
|
@abstractmethod
|
|
def name(self) -> str:
|
|
"""Tool name."""
|
|
pass
|
|
|
|
@property
|
|
@abstractmethod
|
|
def description(self) -> str:
|
|
"""Tool description."""
|
|
pass
|
|
|
|
@abstractmethod
|
|
def get_schema(self) -> Dict[str, Any]:
|
|
"""
|
|
Get tool schema for tools/list response.
|
|
|
|
Returns:
|
|
Dict with name, description, and inputSchema
|
|
"""
|
|
pass
|
|
|
|
@abstractmethod
|
|
def execute(self, arguments: Dict[str, Any]) -> Any:
|
|
"""
|
|
Execute the tool with given arguments.
|
|
|
|
Args:
|
|
arguments: Tool arguments
|
|
|
|
Returns:
|
|
Tool execution result
|
|
"""
|
|
pass
|