Bot Father: LangChain Tools Guide
Quick Start
When creating a new connector bot via Bot Father, you'll now be asked three additional questions about LangChain task features:
1. Enable Built-in Tools
Question: "Would you like to enable built-in tools (calculator, websearch, datetime, weather, etc.) for this bot?"
Options:
Yes, enable tools - Activates AI agent mode with access to built-in tools
No, just simple chat - Keeps simple chat mode (default)
2. Tools Whitelist (only if tools enabled)
Question: "Which specific tools would you like to enable?"
Quick Reply Options:
Enable all tools - Makes all 8 tools available
Calculator & Web Search - Enables only
calculatorandwebsearchCalculator, Web, DateTime - Enables
calculator,websearch, anddatetime
Manual Entry: You can also type a custom JSON array:
["calculator", "websearch", "datetime", "weather"]3. Conversation History Limit
Question: "How many conversation turns would you like to include in the context?"
Quick Reply Options:
10 turns (recommended) - Balances context and performance
20 turns - More context for complex conversations
Unlimited (-1) - All conversation history (may impact performance)
Manual Entry: Type any number:
-1= unlimited history0= no history10-20= recommended range
Available Built-in Tools
Calculator
calculator
Safe math evaluation (sandboxed)
"What's 15% tip on $84.50?"
Date/Time
datetime
Get current date, time, timezone
"What time is it in Tokyo?"
Web Search
websearch
Search the web (Wikipedia, news)
"What's the weather forecast today?"
Data Formatter
dataformatter
Format JSON, CSV, XML
"Convert this JSON to CSV"
Web Scraper
webscraper
Extract content from web pages (SSRF-protected)
"Get the content from example.com"
Text Summarizer
textsummarizer
Summarize long text
"Summarize this article"
PDF Reader
pdfreader
Extract text from PDF URLs (SSRF-protected)
"Read this PDF file"
Weather
weather
Get weather information
"What's the weather in Paris?"
Tool Configuration (Server-Side)
Some tools require API keys or external configuration to function. These are configured via Environment Variables or application.properties on the EDDI server, not in the bot configuration.
Web Search Tool
By default, the tool uses DuckDuckGo (HTML scraping), which requires no configuration.
To use Google Custom Search (more reliable/structured), configure these properties:
Docker Environment Variables:
EDDI_TOOLS_WEBSEARCH_PROVIDER=googleEDDI_TOOLS_WEBSEARCH_GOOGLE_API_KEY=...EDDI_TOOLS_WEBSEARCH_GOOGLE_CX=...
Weather Tool
The weather tool uses OpenWeatherMap. You must provide an API key:
Docker Environment Variables:
EDDI_TOOLS_WEATHER_OPENWEATHERMAP_API_KEY=...
Configuration Examples
Example 1: Customer Support Bot with Tools
Use Case: Customer support bot that can calculate discounts, search for product info, and provide time-based responses.
Example 2: Simple Chat Bot (No Tools)
Use Case: Basic chat bot for general conversation without external tool access.
Example 3: Research Assistant with All Tools
Use Case: Research assistant with access to all tools and extended conversation memory.
Example 4: Math Tutor (Calculator Only)
Use Case: Math tutor that can perform calculations but doesn't need web access.
Tool Execution Pipeline
All tool invocations flow through a unified pipeline that provides enterprise-grade controls. These settings can be added to the langchain.json task configuration:
enableRateLimiting
boolean
true
Token-bucket rate limiting per tool
defaultRateLimit
int
100
Default calls/minute for each tool
toolRateLimits
map
{}
Per-tool overrides, e.g. {"websearch": 30}
enableToolCaching
boolean
true
Cache identical tool calls
enableCostTracking
boolean
true
Track cost per conversation
maxBudgetPerConversation
number
unlimited
Maximum spend per conversation
Example: Restrict web search rate and set a budget
Security
Tools that accept URLs (PDF Reader, Web Scraper) are protected against SSRF (Server-Side Request Forgery):
Only
http://andhttps://URLs acceptedPrivate / internal IP ranges blocked (127.x, 10.x, 192.168.x, 172.16-31.x)
Cloud metadata endpoints blocked (169.254.169.254, metadata.google.internal)
Internal hostnames rejected (localhost, *.local, *.internal)
The Calculator tool uses a sandboxed recursive-descent parser — no script engine, no code injection risk.
See the Security documentation for full details.
Best Practices
When to Enable Tools
✅ Enable tools when:
Bot needs to perform calculations
Bot should search for current information
Bot needs to access external data
You want agentic behavior (autonomous tool use)
❌ Keep tools disabled when:
Simple conversational bot
Controlled, predictable responses needed
Security/privacy concerns about external access
Cost optimization (tools may increase API costs)
Choosing History Limit
Short conversations (0-5 turns): Use for FAQ bots or single-turn interactions
Medium conversations (10-15 turns): Recommended for most use cases
Long conversations (20+ turns): Use for complex problem-solving or tutoring
Unlimited (-1): Only for special cases; may cause performance issues
Tools Whitelist Strategy
Start specific: Begin with only the tools you need
Add gradually: Enable more tools as requirements grow
Monitor usage: Check which tools are actually being used
Security first: Only enable tools that match your security requirements
Provider Support
All LLM providers in Bot Father now support these features:
OpenAI
✅
✅
Best tool calling support
Anthropic/Claude
✅
✅
Requires includeFirstBotMessage: false
Gemini
✅
✅
Google AI Studio
Gemini Vertex
✅
✅
Google Cloud Vertex AI
Hugging Face
✅
✅
Model-dependent
Ollama
✅
✅
Local models
Jlama
✅
✅
Local Java-based models
Troubleshooting
Tools Not Working
Problem: Bot doesn't use tools even when enabled Solution:
Verify
enableBuiltInToolsis set totrueCheck the system message encourages tool use
Ensure the LLM model supports tool calling
Try with explicit tool-related prompts
Too Many Tools Enabled
Problem: Bot is using unexpected tools Solution:
Use
builtInToolsWhitelistto restrict toolsAdjust system message to guide tool usage
Review conversation logs to see tool invocations
Performance Issues
Problem: Bot is slow or timing out Solution:
Reduce
conversationHistoryLimit(try 5-10)Reduce number of enabled tools
Increase API timeout in parameters
Use faster LLM model
Context Length Errors
Problem: "Context length exceeded" errors Solution:
Lower
conversationHistoryLimitUse model with larger context window
Summarize conversation history periodically
API Configuration Reference
When Bot Father creates the langchain configuration, it generates:
Next Steps
Create a test bot using Bot Father with tools enabled
Experiment with different tool combinations
Monitor bot behavior and tool usage
Optimize configuration based on actual usage
Review the LangChain Integration Documentation for advanced features
Related Documentation
LangChain Integration - Complete LangChain task documentation
Security - SSRF protection, sandboxed evaluation, tool hardening
Bot Father Deep Dive - Bot Father architecture
Behavior Rules - Understanding behavior rules
Output Configuration - Configuring bot outputs
Last Updated: March 2026 EDDI Version: 5.6.0 Bot Father Version: 3.0.1
Last updated
Was this helpful?