Agent Chicken using its browser tools to search OpenTable for a restaurant

Agent Tool Reference

Complete specification of all tools available to the Agent Chicken agent for LLM planner task execution.

Version 1.0•13 Tools•2026-03-10

Tool Protocol

protocol Tool {
  var name: String
  var description: String
  var category: ToolCategory
  var inputSchema: [...]
  func execute(params:)
    async -> ToolResult
}

Categories

Browser
Web automation via WKWebView
Calendar
EventKit event management
Reminders
EventKit task management
Photos
PhotosKit camera roll access
OCR
Vision framework text extraction
Contacts
Contacts framework search

Native iOS Tools

5 tools
CalendarEventKit
calendar_create_event

Create a calendar event with title, date, and optional location

Parameters

NameTypeDescription
title *stringEvent title
start_date *stringStart date/time (ISO 8601)
end_datestringEnd date/time (ISO 8601)
locationstringEvent location
notesstringEvent notes

Returns

{ "event_id": "string", "title": "string", "start": "string" }
Calendar access required (iOS will prompt)
RemindersEventKit
reminders_create

Create a reminder/task with title and optional due date

Parameters

NameTypeDescription
title *stringReminder title
due_datestringDue date (ISO 8601)
notesstringReminder notes
prioritynumber0=none, 1=high, 5=medium, 9=low

Returns

{ "reminder_id": "string", "title": "string" }
Reminders access required (iOS will prompt)
PhotosPhotosKit
photos_get_latest

Get the latest photo(s) from the camera roll

Parameters

NameTypeDescription
countnumberNumber of photos (default: 1)

Returns

{ "photos": [...], "count": number }
Photos access required (iOS will prompt)
OCRVision
ocr_extract_text

Extract text from an image using OCR

Parameters

NameTypeDescription
image_path *stringPath to image or base64
languagestringLanguage code (e.g., en-US)

Returns

{ "text": "string", "length": number }
None (local processing)

Browser Tools

8 tools
BrowserWKWebView
browser_open

Navigate to a URL in the browser

Parameters

NameTypeDescription
url *stringThe URL to navigate to

Returns

{ "url": "string" }
None
BrowserWKWebView
browser_click

Click an element by CSS selector

Parameters

NameTypeDescription
selector *stringCSS selector for the element

Returns

{ "selector": "string" }
None
BrowserWKWebView
browser_click_text

Click an element by its visible text content

Parameters

NameTypeDescription
text *stringVisible text to search for
exactbooleanMatch text exactly (default: false)

Returns

{ "text": "string", "exact": boolean }
None
BrowserWKWebView
browser_type

Type text into an input field by CSS selector

Parameters

NameTypeDescription
selector *stringCSS selector for input field
text *stringText to type
clearbooleanClear before typing (default: true)

Returns

{ "selector": "string", "text": "string" }
None
BrowserWKWebView
browser_fill_input

Fill an input field by finding it via its label text

Parameters

NameTypeDescription
label *stringLabel text to search for
value *stringValue to fill

Returns

{ "label": "string", "value": "string" }
None
BrowserWKWebView
browser_extract

Extract text or data from the page using CSS selectors

Parameters

NameTypeDescription
selector *stringCSS selector for elements
attributestringAttribute to extract (default: textContent)
multiplebooleanExtract all matches (default: false)

Returns

{ "selector": "string", "data": "string" }
None
BrowserWKWebView
browser_scroll

Scroll the page in a direction

Parameters

NameTypeDescription
direction *string'up', 'down', 'top', 'bottom'
amountnumberScroll amount in pixels (default: 500)

Returns

{ "direction": "string", "amount": number }
None
BrowserWKWebView
browser_wait

Wait for an element to appear or a condition to be met

Parameters

NameTypeDescription
selectorstringCSS selector to wait for
timeoutnumberMax wait seconds (default: 10)

Returns

{ "selector": "string", "found": boolean }
None

Quick Reference

Generated by Claude Opus 4.6 • Project: Agent Chicken - Universal Tool Bus for iOS