
Originally published byDev.to
A. Features
a. Calendar Integration
| Function | Description | Intelligence |
|---|---|---|
create_event |
Schedule new meetings/appointments | Conflict detection, optimal time suggestions |
list_events |
View calendar for specific dates | Smart filtering, availability analysis |
check_availability |
Find free time slots | Multi-day search, duration-aware |
delete_event |
Remove scheduled events | Cascade handling, notification support |
b. Weather Intelligence
| Function | Description | Intelligence |
|---|---|---|
get_alerts |
Get weather alerts for US states | Real-time severe weather notifications |
get_forecast |
Multi-day weather predictions | Official NWS forecasts with detailed periods |
get_current_weather |
Current observation data | Real-time conditions from weather stations |
c. Analyzer
| Function | Description | Intelligence |
|---|---|---|
add |
Add two numbers together | Total |
subtract |
Subtract second number from first number | Comparison |
multiply |
Multiply two numbers together | multiplication |
divide |
Divide first number by second number | Percentage |
power |
power of a number | Repitition |
factorial |
factorial of positive number | Is It A Prime Number? |
B. Testing
a. Calendar
1. Natural Language Queries
Try these conversational requests:
| Query | Expected Behavior |
|---|---|
| "Schedule a team meeting tomorrow at 2pm" | Creates event, checks conflicts |
| "Do I have anything on Friday afternoon?" | Lists events for specified time |
| "Find me 30 minutes free time this week" | Suggests available slots |
| "Cancel my 3pm meeting today" | Finds and removes matching event |
2. Complex Scenarios
The AI agent can handle complex requests as well:
I need to schedule a 90-minute project review with the team. I'm free Tuesday and Wednesday afternoons. What works best?
Agent Process:
1. Calls check_availability() for Tuesday/Wednesday afternoons
2. Finds optimal 90-minute slots
3. Suggests best options based on preferences
4. Creates event when user confirms
3. Error Handling
The calendar server handles various edge cases:
| Error Type | Handling | User Experience |
|---|---|---|
| Invalid Date Format | Parse error with format help | "Please use format: YYYY-MM-DD HH:MM" |
| Past Date Scheduling | Validation with warning | "Cannot schedule events in the past" |
| File Corruption | Backup and recovery | Graceful fallback to empty calendar |
| Concurrent Access | File locking | Prevents data corruption |
b. Weather
1. Natural Language Queries
Try these conversational weather requests:
| Query | Expected Behavior |
|---|---|
| "Get current weather for Seattle" | Current conditions from nearest station |
| "Show me the forecast for San Francisco" | 5-day detailed forecast periods |
| "Are there any weather alerts in California?" | Active severe weather alerts for CA |
| "What's the weather like in New York?" | Current observations with temperature |
2. Error Handling
The server handles various failure modes gracefully:
- Network timeouts: 30-second timeout prevents hanging
- Invalid coordinates: Clear error messages for bad inputs
- API unavailable: Graceful degradation with error messages
- Missing data: Handles null/missing fields safely
- State code validation: Validates US state codes for alerts
c. Analyzer
1. Natural Language Queries (Natural Language β Tool Mapping)
| Query | Expected Behavior |
|---|---|
| "add 25 and 17" | β add(x=25, y=17) |
| "25 plus 17" | β add(x=25, y=17) |
| "what's 25 + 17" | β add(x=25, y=17) |
| "sum of 25 and 17" | β add(x=25, y=17) |
| "15% of 200" | β percentage(number=200, percent=15) |
| "what is 15 percent of 200" | β percentage(number=200, percent=15) |
| "square root of 64" | β square_root(x=64) |
| "sqrt(64)" | β square_root(x=64) |
2. Complex Query Handling
For complex queries like
I have $1000, spend $234 on groceries and $156 on gas. How much is left?
Agent breaks down the problem
Calls subtract(1000, 234) β 766
Calls subtract(766, 156) β 610
Responds: "You have $610 left"
3. Error Handling
if y == 0:
raise ValueError("Cannot divide by zero")
- Provides clear error messages
- Prevents invalid operations
- Errors are automatically sent back to AI agent
πΊπΈ
More news from United StatesUnited States
NORTH AMERICA


