Tools Guide
When to Use Which Tool Pattern?
Scenario
Recommended Pattern
Remote deploy?
Create and Attach Tools
Single-File Tool Integration
# tool/calculator.py
from typing import Any
from langchain_core.tools import BaseTool
from pydantic import BaseModel, Field
class CalculatorArgs(BaseModel):
expression: str = Field(..., description="Arithmetic expression to evaluate")
class CalculatorTool(BaseTool):
name = "calculator"
description = "Evaluates simple arithmetic expressions."
args_schema = CalculatorArgs
def _run(self, expression: str, **_: Any) -> str:
# Replace with business-safe evaluation logic
return str(eval(expression, {"__builtins__": {}}, {}))Complex Tool Logic
Modular Tools (Multiple Files)
Tool Implementation Expectations
Manage Tools
Registry Management
Symptom
Likely cause
Fix
GL Connectors and Managed Connectors
MCP Tool Discovery
Observability and Auditing
Best Practices
Production Readiness Checklist
Related Documentation
Last updated