# ToolRouter — Complete Tool Catalog > One API key for every AI tool. Discover and call tools via MCP, CLI, or REST. Usage-based billing, no per-tool setup. All tools run on the hosted gateway. > **Direct answer:** ToolRouter is a hosted gateway that gives AI agents one API key for 143+ tools and 745 callable skills. > **Updated:** March 25, 2026 > **Reviewed by:** ToolRouter Editorial Team ## Docs - [ToolRouter Docs](https://toolrouter.com/docs/markdown): Getting started with ToolRouter — quickstart guide, API reference, billing, CLI, integration, and tool development docs. - [Quickstart](https://toolrouter.com/docs/markdown/quickstart): Connect ToolRouter to your AI agent or call tools via the REST API in under a minute. - [Overview](https://toolrouter.com/docs/markdown/overview): Product-level orientation for ToolRouter: what it is, who it serves, and the core objects it exposes. - [Connect to Claude](https://toolrouter.com/docs/markdown/connect-claude): Add ToolRouter to Claude as a connector. Works on Claude chat, desktop, and mobile — set up once and it works everywhere. - [Connect to ChatGPT](https://toolrouter.com/docs/markdown/connect-chatgpt): Add ToolRouter to ChatGPT using Developer mode. Create a custom MCP app to give ChatGPT access to 143+ tools. - [Connect to Claude Code](https://toolrouter.com/docs/markdown/connect-claude-code): Add ToolRouter to Claude Code with one terminal command. Access 143+ tools directly from the command line. - [Connect to Microsoft Copilot](https://toolrouter.com/docs/markdown/connect-copilot): Add ToolRouter to Microsoft Copilot Studio. Give your Copilot agent access to 143+ tools like web search, screenshots, and image generation. - [Connect to Codex CLI](https://toolrouter.com/docs/markdown/connect-codex): Add ToolRouter to OpenAI Codex CLI with one terminal command. Give Codex access to 143+ tools. - [Connect to Cline](https://toolrouter.com/docs/markdown/connect-cline): Add ToolRouter to Cline by editing the MCP settings. Give Cline's AI agent access to 143+ tools. - [Connect to Cursor](https://toolrouter.com/docs/markdown/connect-cursor): Add ToolRouter to Cursor by editing the MCP config file. Give Cursor's AI agent access to 143+ tools. - [Connect to Gemini CLI](https://toolrouter.com/docs/markdown/connect-gemini-cli): Add ToolRouter to Gemini CLI by editing the settings file. Give Gemini access to 143+ tools from the command line. - [Connect to OpenClaw](https://toolrouter.com/docs/markdown/connect-openclaw): Add ToolRouter to OpenClaw by editing openclaw.json. Give your OpenClaw agent access to 143+ tools. - [Connect to VS Code](https://toolrouter.com/docs/markdown/connect-vscode): Add ToolRouter to VS Code Copilot by editing .vscode/mcp.json. Give GitHub Copilot agent mode access to 143+ tools. - [Connect to Windsurf](https://toolrouter.com/docs/markdown/connect-windsurf): Add ToolRouter to Windsurf by editing the MCP config file. Give Cascade access to 143+ tools. - [Add to Your Product](https://toolrouter.com/docs/markdown/add-to-your-product): Give your existing AI agent on-demand access to 143+ tools through one integration — no per-tool setup. - [API Reference](https://toolrouter.com/docs/markdown/api-reference): Complete REST API endpoint reference with request/response examples for every ToolRouter endpoint. - [Integration](https://toolrouter.com/docs/markdown/integration): MCP, REST, auth, provider-key forwarding, assets, and runtime behaviors that matter to integrators. - [Billing](https://toolrouter.com/docs/markdown/billing): How credits, fees, and BYOK pricing work on ToolRouter. - [Claude Cowork](https://toolrouter.com/docs/markdown/cowork): Add ToolRouter to Claude Cowork so your agent can discover and call any tool from the desktop. - [CLI](https://toolrouter.com/docs/markdown/cli): How the ToolRouter CLI switches between local and hosted mode, where it stores config, and which commands matter most. - [Providers](https://toolrouter.com/docs/markdown/providers): How ToolRouter supports multiple upstream providers for image and video generation — fal.ai, Prodia, Higgsfield, and Photalabs. - [Tool Authoring](https://toolrouter.com/docs/markdown/building-tools): Complete guide to creating tools, including manifests, handlers, schemas, testing, and reusable metadata standards. - [Adding Providers](https://toolrouter.com/docs/markdown/adding-providers): Step-by-step guide to integrating a new upstream API provider into ToolRouter — client, models, dispatch, billing, and testing. - [Architecture](https://toolrouter.com/docs/markdown/architecture): The runtime path from manifest registration to execution, billing, assets, knowledge, and gateway delivery. ## Quick Start ### MCP (one command, no API key needed) ```bash # Claude Code claude mcp add toolrouter -- npx -y toolrouter-mcp # Codex CLI codex mcp add toolrouter -- npx -y toolrouter-mcp # Cursor / Windsurf / OpenClaw / Cline / VS Code / Gemini CLI / Claude Desktop (JSON config) {"mcpServers":{"toolrouter":{"command":"npx","args":["-y","toolrouter-mcp"]}}} ``` Auto-provisions a free API key on first use. Free tools work immediately. For paid tools, visit the claim URL to add credits. ### CLI (same npm package) ```bash npx -y toolrouter-mcp tools # list tools npx -y toolrouter-mcp search "web scraping" # search npx -y toolrouter-mcp call seo analyze_page --url https://example.com ``` ### REST API ```bash # Discover tools curl https://api.toolrouter.com/v1/tools # Get an API key (or use one from ~/.toolrouter/key after MCP setup) curl -X POST https://api.toolrouter.com/v1/auth/provision # Call a tool curl -H "Authorization: Bearer tr_live_xxx" \ -d '{"tool":"seo","skill":"analyze_page","input":{"url":"https://example.com"}}' \ https://api.toolrouter.com/v1/tools/call ``` ## Providers ToolRouter routes tools through these upstream API providers. Each provider page shows which tools they power. - [fal.ai](https://toolrouter.com/providers/fal): Image, video, and audio generation via 200+ AI models - [ElevenLabs](https://toolrouter.com/providers/elevenlabs): Voice synthesis, transcription, sound effects, music, and audio processing - [Serper](https://toolrouter.com/providers/serper): Google Search API for web and news search - [Exa](https://toolrouter.com/providers/exa): Neural search for companies, people, and content - [Firecrawl](https://toolrouter.com/providers/firecrawl): Web scraping and content extraction - [OpenRouter](https://toolrouter.com/providers/openrouter): Unified API for 200+ LLMs - [Parallel AI](https://toolrouter.com/providers/parallel): Deep research with citations ## Tools (143) ### App Store ASO Complete iOS App Store optimization toolkit. Analyze keyword difficulty, update metadata directly, track competitor rankings, manage in-app events, and monitor reviews. Built for developers and marketers who want higher rankings. - **Version:** 0.02 - **Categories:** marketing, analytics, search #### Analyze Keywords (`analyze_keywords`) Analyze keyword difficulty, traffic, and opportunity scores for iOS App Store. Returns difficulty (0-10), traffic (0-10), and opportunity scores for each keyword. Use this to find the best keywords to target for ASO. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `keywords` | array | Yes | List of keywords to analyze (max 20 per call) | | `country` | string | No | Country code for regional analysis (e.g. us, gb, de, jp) [default: "us"] | **Returns:** Array of keyword analysis results, each with difficulty (0-10), traffic (0-10), and opportunity scores **Example:** ```json { "tool": "appstore-aso", "skill": "analyze_keywords", "input": { "keywords": [ "countdown", "countdown widget", "timer app" ], "country": "us" } } ``` #### Search Apps (`search_apps`) Search the iOS App Store for apps matching a search term. Returns app title, developer, rating, reviews, and price for each result. Use this to see what apps rank for a given keyword. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `term` | string | Yes | Search term to look up | | `country` | string | No | Country code [default: "us"] | | `num` | number | No | Number of results to return (max 20) [default: 10] | **Returns:** List of matching iOS apps with title, developer, rating, review count, price, and app ID **Example:** ```json { "tool": "appstore-aso", "skill": "search_apps", "input": { "term": "countdown widget", "num": 10 } } ``` #### App Details (`app_details`) Get full details for a specific app on the iOS App Store. Returns title, rating, reviews, description, version, category, developer info, and more. Use a numeric App Store ID (e.g. "1611434405"). **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `app_id` | string | Yes | Numeric App Store ID (e.g. "1611434405") | | `country` | string | No | Country code [default: "us"] | **Returns:** Full app metadata including title, rating, reviews, description, version, category, and developer info **Example:** ```json { "tool": "appstore-aso", "skill": "app_details", "input": { "app_id": "324684580" } } ``` #### Competitor Analysis (`competitor_analysis`) Run a full competitor analysis for an iOS app. Finds similar apps, compares ratings and reviews, and optionally checks who ranks for specific keywords. Returns your app details, similar apps list, and keyword rankings. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `app_id` | string | Yes | Your iOS App Store ID (numeric) | | `country` | string | No | Country code [default: "us"] | | `search_terms` | array | No | Keywords to check competitor rankings for (max 5) | **Returns:** Your app details, list of similar competing apps, and keyword ranking comparison **Example:** ```json { "tool": "appstore-aso", "skill": "competitor_analysis", "input": { "app_id": "1611434405", "search_terms": [ "countdown", "countdown widget", "timer" ] } } ``` #### Keyword Hints (`keyword_hints`) Get autocomplete keyword suggestions from Apple's App Store search. Returns suggested search terms with priority ranking. Use this for keyword brainstorming and discovery. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Starting query to get suggestions for (e.g. "countdown") | | `country` | string | No | Country code (us, gb, au, ca, de, fr, es, jp) [default: "us"] | **Returns:** Autocomplete keyword suggestions from App Store search with priority ranking **Example:** ```json { "tool": "appstore-aso", "skill": "keyword_hints", "input": { "query": "countdown", "country": "us" } } ``` #### Keyword Popularity (`keyword_popularity`) Get Apple Ads popularity scores (0-100) for keywords. Returns real Apple Search Ads data including popularity score and difficulty label. Requires an Apple Ads session cookie for authentication. Use this for data-driven keyword prioritization. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `keywords` | array | Yes | List of keywords to check popularity for (max 50 per call) | | `app_id` | string | No | Your iOS App Store ID (numeric). Falls back to saved ios_app_id credential. | | `country` | string | No | Country code for regional popularity (e.g. us, gb, de, jp) [default: "us"] | **Returns:** Apple Ads popularity scores (0-100) and difficulty labels for each keyword **Example:** ```json { "tool": "appstore-aso", "skill": "keyword_popularity", "input": { "keywords": [ "countdown", "countdown widget", "timer app" ], "app_id": "1611434405", "country": "us" } } ``` #### Keyword Recommendations (`keyword_recommendations`) Get related keyword suggestions from Apple Ads based on a seed keyword. Returns recommended keywords with their popularity scores. Requires an Apple Ads session cookie. Use this to discover new keyword opportunities. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `seed_keyword` | string | Yes | Starting keyword to get recommendations for | | `app_id` | string | No | Your iOS App Store ID (numeric). Falls back to saved ios_app_id credential. | | `country` | string | No | Country code for regional recommendations [default: "us"] | | `min_popularity` | number | No | Minimum popularity score to include (0-100) [default: 0] | **Returns:** Related keyword suggestions from Apple Ads with popularity scores **Example:** ```json { "tool": "appstore-aso", "skill": "keyword_recommendations", "input": { "seed_keyword": "fitness", "app_id": "1611434405", "country": "us" } } ``` #### Audit Metadata (`audit_metadata`) Audit all app metadata across locales via App Store Connect. Checks for missing or underutilized fields and generates warnings. Identifies empty keywords, keywords under 80 chars, missing subtitles, and titles over 30 chars. Requires ASC API credentials. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `app_id` | string | Yes | Your iOS App Store ID (numeric, e.g. "1611434405") | **Returns:** Metadata audit with per-locale warnings for empty keywords, short keywords, missing subtitles, and long titles **Example:** ```json { "tool": "appstore-aso", "skill": "audit_metadata", "input": { "app_id": "1611434405" } } ``` #### Export Metadata (`export_metadata`) Full JSON export of all app metadata from App Store Connect. Exports app info, current version, all app info localizations (title, subtitle), and all version localizations (keywords, description, whats new, promotional text). Use for backups before making changes. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `app_id` | string | Yes | Your iOS App Store ID (numeric, e.g. "1611434405") | **Returns:** Complete metadata export including app info, version, and all localizations **Example:** ```json { "tool": "appstore-aso", "skill": "export_metadata", "input": { "app_id": "1611434405" } } ``` #### Update Metadata (`update_metadata`) Update app metadata for a specific locale via App Store Connect. Supports title, subtitle, keywords, description, What's New, and promotional text. Defaults to dry-run mode (preview changes without applying). Set dry_run to false to apply changes. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `app_id` | string | Yes | Your iOS App Store ID (numeric) | | `locale` | string | Yes | Locale to update (e.g. "en-US", "de-DE", "ja") | | `title` | string | No | New app title (max 30 chars) | | `subtitle` | string | No | New app subtitle (max 30 chars) | | `keywords` | string | No | New keywords string (max 100 chars, comma-separated) | | `description` | string | No | New app description | | `whats_new` | string | No | New What's New text for the current version | | `promotional_text` | string | No | New promotional text (can be updated without a new version) | | `dry_run` | boolean | No | Preview changes without applying (default: true) [default: true] | **Returns:** List of metadata changes with old and new values, applied or previewed in dry-run mode **Example:** ```json { "tool": "appstore-aso", "skill": "update_metadata", "input": { "app_id": "1611434405", "locale": "en-US", "keywords": "countdown,timer,widget,clock,event", "dry_run": true } } ``` #### Push Keywords (`push_keywords`) Push a keyword optimization strategy to multiple locales at once. Diffs your strategy JSON against live App Store data and applies changes. Strategy is an object mapping locale codes to title/subtitle/keywords. Defaults to dry-run mode. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `app_id` | string | Yes | Your iOS App Store ID (numeric) | | `strategy` | object | Yes | Localizations map: { [locale]: { title?, subtitle?, keywords? } }. Each locale key maps to the fields to set. | | `dry_run` | boolean | No | Preview changes without applying (default: true) [default: true] | **Returns:** Diff of all changes with action types (create/update/unchanged) and summary counts **Example:** ```json { "tool": "appstore-aso", "skill": "push_keywords", "input": { "app_id": "1611434405", "strategy": { "en-US": { "title": "Countdown Widget", "subtitle": "Days until your event", "keywords": "countdown,timer,widget,clock,event" }, "de-DE": { "title": "Countdown Widget", "subtitle": "Tage bis zum Event", "keywords": "countdown,timer,widget,uhr,ereignis" } }, "dry_run": true } } ``` #### List Reviews (`list_reviews`) Fetch recent iOS App Store reviews for an app. Returns review text, rating, user name, date, version, and vote count. Supports sorting by most recent or most helpful. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `app_id` | string | Yes | iOS App Store ID (numeric). Falls back to saved ios_app_id credential. | | `country` | string | No | Country code to fetch reviews from [default: "us"] | | `num` | number | No | Number of reviews to return (max 50) [default: 20] | | `sort` | string | No | Sort order: most recent or most helpful (recent, helpful) [default: "recent"] | **Returns:** List of app reviews with rating, title, text, user, date, version, and vote count **Example:** ```json { "tool": "appstore-aso", "skill": "list_reviews", "input": { "app_id": "1611434405", "country": "us", "num": 20, "sort": "recent" } } ``` #### List Events (`list_events`) List all in-app events for an iOS app via App Store Connect. Returns event details including reference name, badge, priority, purpose, territory schedules, and all localizations. Requires ASC API credentials. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `app_id` | string | Yes | Your iOS App Store ID (numeric) | **Returns:** All in-app events with their localizations, territory schedules, and state information **Example:** ```json { "tool": "appstore-aso", "skill": "list_events", "input": { "app_id": "1611434405" } } ``` #### Create Event (`create_event`) Create a new in-app event with localizations and territory scheduling via App Store Connect. Supports all badge types (LIVE_EVENT, PREMIERE, CHALLENGE, COMPETITION, NEW_SEASON, MAJOR_UPDATE, SPECIAL_EVENT). Events are created in DRAFT state. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `app_id` | string | Yes | Your iOS App Store ID (numeric) | | `reference_name` | string | Yes | Internal reference name (max 64 chars) | | `badge` | string | Yes | Event badge type displayed on the App Store (LIVE_EVENT, PREMIERE, CHALLENGE, COMPETITION, NEW_SEASON, MAJOR_UPDATE, SPECIAL_EVENT) | | `deep_link` | string | No | Deep link URL to open in the app | | `priority` | string | No | Event priority level (HIGH, NORMAL) [default: "NORMAL"] | | `purpose` | string | No | Target audience purpose (APPROPRIATE_FOR_ALL_USERS, ATTRACT_NEW_USERS, KEEP_ACTIVE_USERS_INFORMED, BRING_BACK_LAPSED_USERS) | | `territory_schedules` | array | No | Territory scheduling for the event | | `localizations` | array | Yes | Localizations for the event (at least one required) | **Returns:** Created event ID, reference name, and count of localizations created **Example:** ```json { "tool": "appstore-aso", "skill": "create_event", "input": { "app_id": "1611434405", "reference_name": "Summer Sale 2026", "badge": "SPECIAL_EVENT", "priority": "HIGH", "purpose": "ATTRACT_NEW_USERS", "localizations": [ { "locale": "en-US", "name": "Summer Sale", "short_description": "Huge savings this summer!", "long_description": "Get up to 50% off all premium features during our annual summer sale event." } ] } } ``` #### Update Event (`update_event`) Update an existing in-app event's attributes or localizations via App Store Connect. Can update reference name, badge, deep link, priority, purpose, territory schedules, and localizations. Localizations with an ID are patched; without an ID they are created. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `event_id` | string | Yes | The event ID to update | | `reference_name` | string | No | New reference name | | `badge` | string | No | New badge type (LIVE_EVENT, PREMIERE, CHALLENGE, COMPETITION, NEW_SEASON, MAJOR_UPDATE, SPECIAL_EVENT) | | `deep_link` | string | No | New deep link URL | | `priority` | string | No | New priority level (HIGH, NORMAL) | | `purpose` | string | No | New target audience purpose (APPROPRIATE_FOR_ALL_USERS, ATTRACT_NEW_USERS, KEEP_ACTIVE_USERS_INFORMED, BRING_BACK_LAPSED_USERS) | | `territory_schedules` | array | No | New territory scheduling | | `localizations` | array | No | Localizations to update or create. Include id to patch existing, omit id to create new. | **Returns:** Event ID and list of all updates applied (attributes and localizations) **Example:** ```json { "tool": "appstore-aso", "skill": "update_event", "input": { "event_id": "evt-123", "badge": "MAJOR_UPDATE", "localizations": [ { "locale": "de-DE", "name": "Sommer-Angebot", "short_description": "Tolle Angebote!", "long_description": "Erhalte bis zu 50% Rabatt auf alle Premium-Funktionen." } ] } } ``` #### Delete Event (`delete_event`) Delete a draft in-app event from App Store Connect. Only events in DRAFT state can be deleted. Published or approved events cannot be deleted via this endpoint. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `event_id` | string | Yes | The event ID to delete (must be in DRAFT state) | **Returns:** Confirmation of event deletion with event ID **Example:** ```json { "tool": "appstore-aso", "skill": "delete_event", "input": { "event_id": "evt-123" } } ``` ### SEO Analysis Audit web pages and sites for ranking issues. Analyze meta tags, headings, content quality, Core Web Vitals, structured data, images, links, and technical SEO. Surfaces prioritized issues with 0-100 scores for diagnosis and competitor benchmarking. - **Version:** 0.02 - **Categories:** search, marketing, analytics #### Analyze Page (`analyze_page`) Full on-page SEO analysis including title, meta, headings, images, links, content length, and structured data presence. Returns a score out of 100 with prioritized issues. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | The URL to analyze | **Returns:** SEO score (0-100), meta tag status, heading counts, image/link audit, and prioritized issues list **Example:** ```json { "tool": "seo", "skill": "analyze_page", "input": { "url": "https://example.com" } } ``` #### Detect Schema (`detect_schema`) Find and validate all structured data (JSON-LD, Microdata, RDFa) on a page. Checks for common errors and provides recommendations for missing schema types. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | The URL to scan for structured data | **Returns:** List of schemas found with type, format, validation status, issues, and recommendations **Example:** ```json { "tool": "seo", "skill": "detect_schema", "input": { "url": "https://example.com/product/shoes" } } ``` #### Check Meta Tags (`check_meta`) Quick audit of all meta tags on a page: title, description, canonical, robots, Open Graph, Twitter Card, viewport, and other SEO-relevant tags. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | The URL to check meta tags for | **Returns:** All meta tags found (title, description, OG, Twitter, canonical, robots) with issues **Example:** ```json { "tool": "seo", "skill": "check_meta", "input": { "url": "https://example.com/pricing" } } ``` #### Audit Headings (`audit_headings`) Analyze the heading hierarchy (H1-H6) of a page for SEO best practices. Checks for missing H1, skipped levels, duplicates, empty headings, and content quality. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | The URL to audit heading structure | **Returns:** Heading hierarchy with scores, level counts, and issues like skipped levels or duplicates **Example:** ```json { "tool": "seo", "skill": "audit_headings", "input": { "url": "https://example.com/blog/guide" } } ``` #### Analyze Content Quality (`analyze_content`) Comprehensive content quality analysis with readability scoring (Flesch-Kincaid, Gunning Fog, Coleman-Liau, SMOG, ARI), E-E-A-T signal detection, keyword density analysis, and content depth scoring. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | The URL to analyze content quality | **Returns:** Content quality score (0-100), readability metrics (6 algorithms), E-E-A-T signals, keyword density analysis, and content depth assessment **Example:** ```json { "tool": "seo", "skill": "analyze_content", "input": { "url": "https://example.com/blog/guide" } } ``` #### Technical SEO Audit (`audit_technical`) Technical SEO audit covering robots.txt validation, sitemap.xml analysis, redirect chain detection, canonical tag verification, hreflang validation, and security headers (HSTS, CSP, X-Frame-Options). **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | The URL to audit technical SEO | **Returns:** Technical SEO score (0-100), robots.txt status, sitemap validation, redirect chain, canonical check, hreflang issues, and security headers audit **Example:** ```json { "tool": "seo", "skill": "audit_technical", "input": { "url": "https://example.com" } } ``` #### Check Core Web Vitals (`check_vitals`) Core Web Vitals analysis via PageSpeed Insights API. Returns LCP, CLS, FCP, TBT, Speed Index, TTFB, Lighthouse category scores, and CrUX real-user field data when available. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | The URL to check Core Web Vitals | | `strategy` | string | No | Device strategy (default: mobile) (mobile, desktop) | **Returns:** Core Web Vitals metrics (LCP, CLS, FCP, TBT, Speed Index), Lighthouse scores, CrUX field data, and traffic-light ratings per metric **Example:** ```json { "tool": "seo", "skill": "check_vitals", "input": { "url": "https://example.com" } } ``` #### Crawl & Audit Site (`crawl_site`) Crawl a website (up to 100 pages) with per-page SEO extraction and site-wide issue summary. Detects missing titles, thin content, broken links, duplicate meta, and missing schema across the entire site. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | The starting URL to crawl | | `max_pages` | number | No | Maximum pages to crawl (default: 20, max: 100) | | `timeout_ms` | number | No | Per-request timeout in ms (default: 10000) | **Returns:** Site-wide SEO health score, per-page data (title, meta, headings, images, links, word count), and aggregated issue summary **Example:** ```json { "tool": "seo", "skill": "crawl_site", "input": { "url": "https://example.com", "max_pages": 10 } } ``` #### Analyze Link Structure (`analyze_links`) Internal link graph analysis with link depth calculation, orphan page detection, anchor text distribution, external link audit, and broken link checking via HEAD requests. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | The URL to analyze link structure | | `max_pages` | number | No | Maximum pages to crawl for link analysis (default: 30, max: 50) | | `check_broken` | boolean | No | Whether to check for broken links via HEAD requests (default: true) | **Returns:** Link structure score (0-100), link depth map, orphan pages, most/least linked pages, anchor text distribution, and broken links **Example:** ```json { "tool": "seo", "skill": "analyze_links", "input": { "url": "https://example.com" } } ``` #### Audit Images (`audit_images`) Image SEO audit checking alt text, file sizes, dimensions, lazy loading, responsive images (srcset), and modern format usage (WebP/AVIF). Includes per-image analysis and aggregate statistics. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | The URL to audit images | | `check_sizes` | boolean | No | Whether to HEAD-request images to check file sizes (default: true) | **Returns:** Image SEO score (0-100), per-image analysis (alt, dimensions, size, format, lazy loading), and aggregate statistics **Example:** ```json { "tool": "seo", "skill": "audit_images", "input": { "url": "https://example.com/products/shoes" } } ``` #### Extract Keywords (`extract_keywords`) TF-IDF keyword extraction from page content with density analysis by position (title, H1, meta description, first paragraph, URL). Includes n-gram analysis for multi-word phrases. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | The URL to extract keywords from | | `max_keywords` | number | No | Maximum keywords to return (default: 20, max: 50) | **Returns:** Top keywords with TF-IDF scores, density percentages, position prominence (title/H1/meta/paragraph), and n-gram phrases **Example:** ```json { "tool": "seo", "skill": "extract_keywords", "input": { "url": "https://example.com/blog/seo-guide" } } ``` #### Compare Pages (`compare_pages`) Side-by-side SEO comparison of two URLs across all metrics: content length, readability, meta tags, schema, headings, response time, and keyword overlap. Determines winner per category. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url_a` | string | Yes | First URL to compare | | `url_b` | string | Yes | Second URL to compare | **Returns:** Per-category comparison with winner designation, metric values for both pages, and overall winner summary **Example:** ```json { "tool": "seo", "skill": "compare_pages", "input": { "url_a": "https://example.com/page", "url_b": "https://competitor.com/page" } } ``` ### Generative Engine Optimization Get cited by ChatGPT, Perplexity, Google AI Overviews, and Claude. Live AI visibility monitoring, citation source analysis, brand sentiment tracking, CORE-EEAT scoring, CITE domain authority, passage-level citability, and GEO optimization from crawler access to content writing. - **Version:** 0.03 - **Categories:** search, marketing, analytics #### Check AI Visibility (`check_ai_visibility`) Check if your domain is being cited in live AI search results. Runs up to 10 queries through Perplexity AI and reports which ones cite your domain, your citation position, competing domains taking your slots, and actionable recommendations. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `domain` | string | Yes | Your domain to check visibility for (e.g. "example.com") | | `queries` | array | Yes | AI search queries to check (1-10). Use queries your target audience would ask. | **Returns:** Visibility score (0-100), per-query citation status, competing domains, and actionable recommendations **Example:** ```json { "tool": "geo", "skill": "check_ai_visibility", "input": { "domain": "example.com", "queries": [ "best project management tools", "project management software comparison", "how to manage remote teams" ] } } ``` #### Analyze Citation Sources (`analyze_citation_sources`) Find which domains AI engines are actually citing for your target queries. Runs queries through Perplexity AI, aggregates all cited sources, ranks them by frequency, and identifies source gaps — the authoritative domains being cited instead of you. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `queries` | array | Yes | AI search queries to analyze citation sources for (1-10) | | `domain` | string | No | Your domain to show your position in the ranking (optional) | **Returns:** Ranked citation sources across queries, your domain position, source gap analysis, and per-query breakdown **Example:** ```json { "tool": "geo", "skill": "analyze_citation_sources", "input": { "queries": [ "best CRM for small business", "CRM software comparison 2026", "how to choose a CRM" ], "domain": "mycrm.com" } } ``` #### Check Brand Sentiment (`check_brand_sentiment`) Analyse how AI search engines describe and frame your brand. Runs brand-related queries through Perplexity AI, then analyses the responses for sentiment, key claims, positive/negative signals, and overall brand framing. Auto-generates relevant queries if none provided. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `brand` | string | Yes | Brand name to analyse sentiment for | | `website` | string | No | Brand website URL (optional — helps with query generation) | | `queries` | array | No | Specific queries to test (optional — auto-generated if omitted). Up to 8. | **Returns:** Brand sentiment score (0-100), positive/negative/neutral signals, overall AI framing, and per-query breakdown with recommendations **Example:** ```json { "tool": "geo", "skill": "check_brand_sentiment", "input": { "brand": "Notion", "website": "notion.so" } } ``` #### Check AI Crawlers (`check_ai_crawlers`) Check if AI crawlers can access your site. Parses robots.txt rules per bot, checks for llms.txt, and reports X-Robots-Tag headers. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | The URL to check AI crawler accessibility for | **Returns:** AI crawler accessibility score (0-100), per-bot status for 10 AI crawlers, robots.txt and llms.txt analysis, and issues **Example:** ```json { "tool": "geo", "skill": "check_ai_crawlers", "input": { "url": "https://example.com" } } ``` #### Audit Content Quality (`audit_content`) Full 80-item CORE-EEAT content quality audit across 8 dimensions (Clarity, Organization, Referenceability, Exclusivity, Experience, Expertise, Authority, Trust). Returns per-item scores and top improvements. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | The URL to audit content quality for | **Returns:** CORE-EEAT scores across 8 dimensions (80 items), GEO/SEO/total/weighted scores, rating, veto status, top 5 improvements, and AI engine citation preferences **Example:** ```json { "tool": "geo", "skill": "audit_content", "input": { "url": "https://example.com/blog/seo-guide" } } ``` #### Optimize Content for GEO (`optimize_content`) Analyze content and provide GEO optimization recommendations using 6 techniques: definitions, quotable statements, authority signals, structure, factual density, and FAQ schema. Returns before/after scores with example rewrites. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | The URL to optimize for GEO | | `target_queries` | array | No | Target AI queries this content should appear for (optional) | **Returns:** GEO optimization plan with 6 techniques, before/after scores, example rewrites, schema recommendations, and per-engine tips **Example:** ```json { "tool": "geo", "skill": "optimize_content", "input": { "url": "https://example.com/blog/cloud-hosting-guide" } } ``` #### Analyze Citability (`analyze_citability`) Score individual passages for AI citation likelihood. Identifies the most and least citable content, categorizes by citation type (definition, statistic, comparison, expert quote), and provides per-engine match scores for Google AI Overviews, ChatGPT, Perplexity, and Claude. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | The URL to analyze passage-level citability for | **Returns:** Overall citability score, top 10 citable passages with types, bottom 5 weak sections with fixes, missing content types, and per-engine match scores **Example:** ```json { "tool": "geo", "skill": "analyze_citability", "input": { "url": "https://example.com/guides/kubernetes-scaling" } } ``` #### Generate Schema Markup (`generate_schema`) Generate optimized JSON-LD schema markup for a page based on its content type. Detects existing schemas, identifies missing ones, and generates complete markup including Article, FAQPage, HowTo, Product, BreadcrumbList, and Organization schemas aligned with GEO best practices. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | The URL to generate schema markup for | | `schema_type` | string | No | Specific schema type to generate (optional — auto-detected if omitted) (Article, FAQPage, HowTo, Product, SoftwareApplication, Organization, Review, ItemList) | **Returns:** Generated JSON-LD schemas with detected content type, existing vs missing schemas, ready-to-paste HTML, and validation notes **Example:** ```json { "tool": "geo", "skill": "generate_schema", "input": { "url": "https://example.com/blog/react-hooks-guide" } } ``` #### Audit Entity Presence (`audit_entity`) Audit entity presence across knowledge graphs and AI systems. Evaluates 6 signal categories: structured data, knowledge base signals, NAP+E consistency, content-based signals, third-party mention indicators, and AI-specific signals. Returns a phased action plan for building entity recognition. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | The URL to audit entity presence for (homepage recommended) | **Returns:** Entity optimization score, primary entity detection, 6-category detailed audit, phased action plan, and schema recommendations **Example:** ```json { "tool": "geo", "skill": "audit_entity", "input": { "url": "https://example.com" } } ``` #### Audit Domain Authority (`audit_domain`) Full 40-item CITE domain authority audit across 4 dimensions: Citation, Identity, Trust, and Eminence. Returns per-item scores, weighted CITE score by domain type, veto checks for manipulation signals, and prioritized action plan. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | The URL to audit domain authority for (homepage recommended) | **Returns:** CITE domain authority score across 4 dimensions (40 items), weighted by domain type, veto status, and prioritized improvements **Example:** ```json { "tool": "geo", "skill": "audit_domain", "input": { "url": "https://example.com" } } ``` #### Analyze SERP & AI Answers (`analyze_serp`) Analyze SERP composition and AI answer patterns for a query. Maps SERP features (AI Overviews, snippets, PAA, knowledge panels), analyzes top results, detects intent, recommends optimal content format, and scores AI citation opportunity per engine. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | The search query to analyze SERP patterns for | | `location` | string | No | Target location for search results (default: United States) [default: "United States"] | | `device` | string | No | Device type for results (desktop, mobile) [default: "desktop"] | **Returns:** SERP feature map, intent classification, top results analysis, content format recommendations, difficulty score, and AI citation opportunity per engine **Example:** ```json { "tool": "geo", "skill": "analyze_serp", "input": { "query": "best practices for React performance optimization" } } ``` #### Write GEO-Optimized Content (`write_content`) Write content optimized for both search engine ranking and AI citation using the CORE-EEAT framework and 6 GEO techniques. Outputs markdown with TL;DR box, comparison tables, FAQ section, proper heading hierarchy, and ready-to-use schema markup. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `topic` | string | Yes | The topic to write about | | `content_type` | string | No | Type of content to write (blog_post, how_to_guide, comparison, landing_page, faq_page, alternative, best_of) [default: "blog_post"] | | `target_keywords` | array | No | Target keywords to optimize for (optional) | | `word_count` | number | No | Target word count (default: 2000) [default: 2000] | | `tone` | string | No | Writing tone (professional, conversational, technical, casual) [default: "professional"] | **Returns:** Complete markdown content with SEO-optimized title, meta description, GEO features (definitions, quotable statements, tables, FAQ), and schema markup **Example:** ```json { "tool": "geo", "skill": "write_content", "input": { "topic": "Kubernetes autoscaling best practices", "content_type": "how_to_guide" } } ``` #### Refresh Content for GEO (`refresh_content`) Analyze existing content for refresh opportunities: outdated statistics, missing GEO elements (definitions, FAQ, tables), stale sources, new subtopics to add, and structural improvements. Returns section-by-section recommendations with estimated impact. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | The URL of the content to refresh | | `target_keywords` | array | No | Target keywords to optimize for during refresh (optional) | **Returns:** Freshness score, urgency level, outdated items with updates, missing GEO elements, section-by-section recommendations, new subtopics, and estimated improvement **Example:** ```json { "tool": "geo", "skill": "refresh_content", "input": { "url": "https://example.com/blog/kubernetes-guide" } } ``` #### Optimize Meta Tags (`optimize_meta`) Generate optimized title tags, meta descriptions, Open Graph tags, and Twitter Card tags for a page. Provides current vs optimized comparison, 3 alternative strategies (CTR, SEO, GEO), and ready-to-paste HTML implementation. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | The URL to optimize meta tags for | | `target_keyword` | string | No | Primary keyword to optimize for (optional) | **Returns:** Current vs optimized meta tags comparison, 3 alternative strategies (CTR/SEO/GEO), and ready-to-paste HTML **Example:** ```json { "tool": "geo", "skill": "optimize_meta", "input": { "url": "https://example.com/products/widget" } } ``` #### Analyze Content Gaps (`analyze_content_gaps`) Find content gaps your competitors cover but you don't. Compares topics, questions, formats, depth, freshness, and GEO gaps across up to 3 competitor URLs. Returns a prioritized content plan. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Your URL to analyze for content gaps | | `competitor_urls` | array | No | Competitor URLs to compare against (up to 3) | | `topic` | string | No | Topic focus area for gap analysis (optional) | **Returns:** Content gap score, identified gaps by type, missing questions, missing formats, and prioritized content plan with GEO elements **Example:** ```json { "tool": "geo", "skill": "analyze_content_gaps", "input": { "url": "https://example.com/blog/seo-guide", "competitor_urls": [ "https://competitor1.com/seo", "https://competitor2.com/seo-guide" ] } } ``` #### Analyze Competitor Strategy (`analyze_competitors`) Analyze a competitor's SEO and GEO strategy: content depth, GEO readiness (definitions, quotable statements, FAQ schema, tables), technical SEO, authority signals, and weaknesses. Optionally compare against your own page to find differentiation opportunities. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `competitor_url` | string | Yes | Competitor URL to analyze | | `your_url` | string | No | Your URL for comparison (optional) | **Returns:** Competitor threat level, strengths/weaknesses, GEO/SEO analysis, differentiation opportunities, and prioritized action items **Example:** ```json { "tool": "geo", "skill": "analyze_competitors", "input": { "competitor_url": "https://competitor.com/blog/topic-guide" } } ``` ### DNS & Domain DNS records, WHOIS registration, SSL/TLS certificates, and domain availability in one tool. Parallel DNS lookups for all record types, SSL expiry and trust checks, and batch availability checking. Essential for DevOps, security, and domain acquisition. - **Version:** 0.02 - **Categories:** infrastructure, security #### DNS Lookup (`lookup_dns`) Resolve DNS records for a domain. Returns A, AAAA, MX, TXT, CNAME, NS, CAA, and SOA records in parallel. Supports querying specific record types or all at once. Reports errors separately from empty results. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `domain` | string | Yes | Domain name to resolve (e.g. "example.com") | | `record_type` | string | No | DNS record type to query. Use "ALL" to fetch all record types in parallel. (A, AAAA, MX, TXT, CNAME, NS, CAA, SOA, ALL) [default: "ALL"] | **Returns:** DNS records grouped by type with TTL and priority information where applicable **Example:** ```json { "tool": "dns-domain", "skill": "lookup_dns", "input": { "domain": "google.com" } } ``` #### WHOIS Lookup (`whois_lookup`) Perform a WHOIS lookup for a domain. Returns registrar, creation date, expiry date, nameservers, and registration status. Connects directly to WHOIS servers. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `domain` | string | Yes | Domain name to look up (e.g. "example.com") | **Returns:** Parsed WHOIS data including registrar, dates, nameservers, status, and raw response **Example:** ```json { "tool": "dns-domain", "skill": "whois_lookup", "input": { "domain": "google.com" } } ``` #### Check SSL Certificate (`check_ssl`) Inspect the SSL/TLS certificate for a domain. Returns issuer, subject, validity dates, protocol version, and days until expiry. Connects via TLS to port 443. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `domain` | string | Yes | Domain name to check SSL for (e.g. "example.com") | | `port` | number | No | Port to connect to (default 443) [default: 443] | **Returns:** SSL certificate details including trust status, hostname match, issuer, expiry, cipher suite, and fingerprint **Example:** ```json { "tool": "dns-domain", "skill": "check_ssl", "input": { "domain": "github.com" } } ``` #### Check Domain Availability (`check_availability`) Check if a domain name is registered or available for purchase. Uses DNS resolution and WHOIS to determine registration status. Supports batch checking of multiple domains. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `domains` | array | Yes | List of domain names to check (e.g. ["example.com", "example.io"]) | **Returns:** Availability status for each domain (available/registered) **Example:** ```json { "tool": "dns-domain", "skill": "check_availability", "input": { "domains": [ "coolstartup.com", "coolstartup.io", "coolstartup.dev" ] } } ``` ### WHOIS & RDAP Look up domain registration details: registrant, creation/expiry dates, registrar, nameservers, and registry status. Uses RDAP with automatic WHOIS fallback for accuracy across all TLDs. For domain research, security investigations, and brand protection. - **Version:** 0.02 - **Categories:** security, infrastructure, search #### Lookup Domain Registration (`lookup_domain`) Inspect a domain with standards-based RDAP lookup and automatic WHOIS fallback. Returns registration status, availability signal, registrar details, nameservers, and lifecycle dates. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `domain` | string | Yes | Domain to inspect (e.g. "example.com") | | `include_raw` | boolean | No | Include raw RDAP/WHOIS payloads in the output for debugging [default: false] | **Returns:** Structured domain registration intelligence with registrar, lifecycle dates, status, nameservers, and source/fallback metadata **Example:** ```json { "tool": "whois-rdap", "skill": "lookup_domain", "input": { "domain": "google.com" } } ``` ### Domain Search Generate domain name ideas from a keyword and instantly check availability across TLDs. Ranked candidates with real-time registration checks. Also verify a specific list of domains you already have in mind. - **Version:** 0.02 - **Categories:** search, marketing, infrastructure #### Search Domains (`search_domains`) Generate and rank domain candidates from a keyword or brand phrase, then check registration status for each candidate across selected TLDs. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Keyword or brand phrase used to generate domain candidates | | `tlds` | array | No | Optional list of TLDs to include (e.g. ["com", "io", "ai"]) | | `limit` | number | No | Maximum number of results to return (1-30) [default: 10] | | `include_taken` | boolean | No | Include registered/taken domains in the returned results [default: false] | **Returns:** Ranked domain candidates with availability checks, registrar metadata, and reasoning for each generated name **Example:** ```json { "tool": "domain-search", "skill": "search_domains", "input": { "query": "human leap", "tlds": [ "com", "io", "ai" ], "limit": 5 } } ``` #### Check Domains (`check_domains`) Check explicit domain names and return structured registration intelligence including source, status, registrar, and availability. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `domains` | array | Yes | Domain names to check (up to 100, e.g. ["example.com", "example.io"]) | | `max` | number | No | Maximum number of domains from the list to check (1-100) [default: 25] | | `include_raw` | boolean | No | Include raw RDAP/WHOIS payloads in each result [default: false] | **Returns:** Structured registration status for each provided domain, including availability, registrar metadata, and lookup source diagnostics **Example:** ```json { "tool": "domain-search", "skill": "check_domains", "input": { "domains": [ "google.com", "this-domain-probably-does-not-exist-12345.com" ], "max": 2 } } ``` ### Page Speed Test Run a Lighthouse-style audit on any URL for performance, SEO, accessibility, and best practices scores plus all Core Web Vitals (LCP, CLS, INP, TTFB, FCP, TBT, TTI, Speed Index). Includes real-user CrUX data when available and a prioritized list of issues ranked by impact. - **Version:** 0.03 - **Categories:** search, analytics, development #### Audit URL (`audit_url`) Run a Lighthouse-style audit for a URL and return category scores, Core Web Vitals metrics, and prioritized issues that hurt ranking or user experience. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | URL to audit | | `strategy` | string | No | Audit strategy to emulate mobile or desktop rendering (mobile, desktop) [default: "mobile"] | | `categories` | array | No | Optional categories to focus on (performance, seo, best-practices, accessibility, pwa) | | `timeout_ms` | number | No | Maximum audit duration in milliseconds (5000-60000) [default: 25000] | **Returns:** Lighthouse-style category scores, performance metrics, and prioritized issues with a resilient fallback mode **Example:** ```json { "tool": "page-speed", "skill": "audit_url", "input": { "url": "https://example.com", "strategy": "mobile" } } ``` ### Site Crawler Walk a website from any URL, collecting per-page titles, descriptions, heading counts, word counts, response times, and link counts. Ideal for site audits, content inventories, broken-link detection, and SEO analysis. - **Version:** 0.02 - **Categories:** search, analytics, development #### Crawl Site (`crawl_site`) Crawl pages from a starting URL and collect metadata including title, description, heading counts, link counts, response time, and crawl diagnostics. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Starting URL or hostname to crawl | | `max_pages` | number | No | Maximum number of pages to crawl (1-100) [default: 20] | | `timeout_ms` | number | No | Request timeout per page in milliseconds (3000-60000) [default: 10000] | | `same_origin_only` | boolean | No | Only crawl pages on the same origin as the start URL [default: true] | | `include_subdomains` | boolean | No | Treat subdomains as internal links when same-origin mode is enabled [default: false] | | `include_external` | boolean | No | Queue external links for crawling when same_origin_only is false [default: false] | **Returns:** Bounded crawl results with per-page SEO metadata, link graph hints, response timing, and failure diagnostics **Example:** ```json { "tool": "site-crawler", "skill": "crawl_site", "input": { "url": "https://example.com", "max_pages": 5 } } ``` ### Image Ops Transform images into production-ready assets in seconds. Resize to exact dimensions, convert between JPEG/WebP/AVIF/PNG, compress for web or app store, and apply rotation, blur, and grayscale — all in one call. Works with URLs or local files. - **Version:** 0.02 - **Categories:** media, marketing, analytics #### Transform Image (`transform_image`) Load an image from a local path or URL, apply resizing and visual transforms, then export an optimized output file for app-store or web usage. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `image_path` | string | No | Local file path to source image | | `image_url` | string | No | Remote URL to source image | | `width` | number | No | Target width in pixels | | `height` | number | No | Target height in pixels | | `fit` | string | No | Resize fit mode when width/height are provided (cover, contain, fill, inside, outside) [default: "inside"] | | `format` | string | No | Output format (original keeps source-like format) (original, png, jpeg, webp, avif) [default: "original"] | | `quality` | number | No | Output quality (1-100) for lossy formats [default: 85] | | `rotate` | number | No | Rotation angle in degrees (-360 to 360) [default: 0] | | `grayscale` | boolean | No | Convert output image to grayscale [default: false] | | `blur` | number | No | Blur sigma amount (0-20) [default: 0] | | `output_basename` | string | No | Optional output filename stem (without extension) | **Returns:** Transformed image output path with final dimensions, file size, format, and operation metadata **Example:** ```json { "tool": "image-ops", "skill": "transform_image", "input": { "image_url": "https://upload.wikimedia.org/wikipedia/commons/a/a9/Example.jpg", "width": 1080, "format": "webp", "quality": 82 } } ``` ### Security Scanner Check URLs, domains, IPs, and file hashes against 70+ AV engines, URLhaus, AbuseIPDB, and ThreatFox. Probe targets for security headers and TLS. Scan for vulnerabilities. Generate risk-scored security reports. - **Version:** 0.04 - **Categories:** security, infrastructure, analytics #### Check URL (`check_url`) Check if a URL is malicious, phishing, or suspicious by scanning it against 70+ security engines. Returns a verdict, detection count, and category classifications. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL to check (e.g. https://example.com/page) | **Returns:** Threat verdict, detection stats from 70+ engines, reputation score, and URL categories **Example:** ```json { "tool": "security-scanner", "skill": "check_url", "input": { "url": "https://example.com" } } ``` #### Check Domain (`check_domain`) Get the threat reputation of a domain including detection stats from 70+ engines, DNS records, WHOIS data, registrar info, and popularity rankings. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `domain` | string | Yes | Domain name to check (e.g. example.com) | **Returns:** Domain threat verdict, DNS records, WHOIS info, registrar, and popularity rankings **Example:** ```json { "tool": "security-scanner", "skill": "check_domain", "input": { "domain": "example.com" } } ``` #### Check IP Address (`check_ip`) Look up an IP address for threat intelligence including detection stats from 70+ engines, geolocation, ASN ownership, and network details. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `ip` | string | Yes | IPv4 or IPv6 address to check (e.g. 8.8.8.8) | **Returns:** IP threat verdict, geolocation, ASN ownership, network range, and detection stats **Example:** ```json { "tool": "security-scanner", "skill": "check_ip", "input": { "ip": "8.8.8.8" } } ``` #### Check File Hash (`check_hash`) Look up a file hash (MD5, SHA-1, or SHA-256) to check if the file is known malware. Returns detection stats from 70+ antivirus engines, sandbox verdicts, and file metadata. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `hash` | string | Yes | File hash — MD5 (32 chars), SHA-1 (40 chars), or SHA-256 (64 chars) | **Returns:** File threat verdict, AV detection stats, sandbox analysis, and file metadata **Example:** ```json { "tool": "security-scanner", "skill": "check_hash", "input": { "hash": "275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4538aabf651fd0f" } } ``` #### Scan Targets (`scan_targets`) Scan web targets for security vulnerabilities by severity. Checks transport security, headers, and common exposure paths like .env and .git. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `targets` | array | Yes | List of URLs or hostnames to scan | | `severity` | string | No | Minimum severity threshold to include in output (info, low, medium, high, critical) [default: "medium"] | | `use_binary` | boolean | No | Attempt to use nuclei binary when available in PATH [default: true] | | `active_checks` | boolean | No | Enable additional active path checks (e.g. /.env, /.git/HEAD) in builtin mode [default: false] | | `max_targets` | number | No | Maximum number of targets to scan from the list (1-100) [default: 25] | | `timeout_ms` | number | No | Timeout per target request in milliseconds (3000-120000) [default: 10000] | **Returns:** Severity-filtered security findings with scanner mode and per-severity counts **Example:** ```json { "tool": "security-scanner", "skill": "scan_targets", "input": { "targets": [ "example.com" ], "severity": "medium" } } ``` #### Probe Hosts (`probe_hosts`) Probe multiple web targets for HTTP status, response times, TLS certificates, security headers, and technology signals. Scan up to 100 hosts concurrently. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `targets` | array | Yes | List of hostnames or URLs to probe | | `max_targets` | number | No | Maximum targets to probe (1-100) [default: 25] | | `timeout_ms` | number | No | Per-target timeout in milliseconds (2000-60000) [default: 8000] | | `concurrency` | number | No | Concurrent probe workers (1-20) [default: 6] | | `follow_redirects` | boolean | No | Follow HTTP redirects [default: true] | | `include_body_preview` | boolean | No | Include first 500 chars of body text [default: false] | **Returns:** Per-target probe intelligence including status, TLS posture, security headers, and reachability **Example:** ```json { "tool": "security-scanner", "skill": "probe_hosts", "input": { "targets": [ "example.com", "https://openai.com" ] } } ``` #### Security Report (`security_report`) Comprehensive one-shot security audit. Runs domain reputation, URL check, host probing, and vulnerability scan in parallel. Returns a unified risk score (0-100) with risk factors. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `target` | string | Yes | Domain or URL to audit (e.g. example.com) | **Returns:** Unified security report with risk score, risk factors, and full intelligence from 5+ sources **Example:** ```json { "tool": "security-scanner", "skill": "security_report", "input": { "target": "example.com" } } ``` ### Web Scraper Turn any website into structured data with JS rendering, anti-bot bypass, and automatic extraction. Scrape pages, crawl sites, discover URLs, extract typed data with AI, or search and scrape at once. Supports markdown, HTML, CSS filtering, and mobile viewports. - **Version:** 0.04 - **Categories:** data, development #### Scrape Page (`scrape_page`) Scrape a single web page with full JavaScript rendering, anti-bot bypass, and configurable output formats. Supports markdown, HTML, and content filtering by CSS tags. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | URL of the page to scrape | | `formats` | array | No | Output formats to return (e.g. "markdown", "html", "rawHtml", "links", "screenshot") | | `onlyMainContent` | boolean | No | Extract only the main content, removing navbars, footers, and sidebars | | `includeTags` | array | No | CSS tags to include in extraction (e.g. ["article", "main"]) | | `excludeTags` | array | No | CSS tags to exclude from extraction (e.g. ["nav", "footer"]) | | `mobile` | boolean | No | Use a mobile user agent and viewport for rendering | | `waitFor` | number | No | Milliseconds to wait after page load before capturing content | | `timeout` | number | No | Maximum time in milliseconds to wait for the page to load | | `proxy` | string | No | Proxy type: "basic" (fast, default), "enhanced" (anti-bot bypass, slower), or "auto" (tries basic first, falls back to enhanced) (basic, enhanced, auto) | | `country` | string | No | ISO country code for geo-targeted proxy (e.g. "us", "gb", "de", "jp") | | `languages` | array | No | Browser language headers for geo-targeted requests (e.g. ["en-US", "en"]) | **Returns:** Scraped page content in the requested formats (markdown, HTML, etc.) with metadata **Example:** ```json { "tool": "web-scraper", "skill": "scrape_page", "input": { "url": "https://example.com" } } ``` #### Crawl Site (`crawl_site`) Recursively crawl a website starting from a URL, following links up to a configurable depth and page limit. Returns scraped content for all discovered pages. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Starting URL for the crawl | | `limit` | number | No | Maximum number of pages to crawl (default 50) | | `maxDepth` | number | No | Maximum link-following depth from the starting URL | | `includePaths` | array | No | URL path patterns to include (e.g. ["/blog/*", "/docs/*"]) | | `excludePaths` | array | No | URL path patterns to exclude (e.g. ["/admin/*", "/api/*"]) | | `allowSubdomains` | boolean | No | Whether to follow links to subdomains of the starting URL | | `allowExternalLinks` | boolean | No | Whether to follow links to external domains | | `proxy` | string | No | Proxy type: "basic" (fast, default), "enhanced" (anti-bot bypass, slower), or "auto" (tries basic first, falls back to enhanced) (basic, enhanced, auto) | | `country` | string | No | ISO country code for geo-targeted proxy (e.g. "us", "gb", "de", "jp") | | `languages` | array | No | Browser language headers for geo-targeted requests (e.g. ["en-US", "en"]) | **Returns:** Array of scraped pages with content, metadata, and crawl status **Example:** ```json { "tool": "web-scraper", "skill": "crawl_site", "input": { "url": "https://example.com/blog", "limit": 20 } } ``` #### Map Site (`map_site`) Quickly discover all URLs on a website using sitemaps and link analysis. Returns a flat list of URLs without scraping content. Optionally filter by keyword. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Website URL to map | | `limit` | number | No | Maximum number of URLs to return (default 1000) | | `search` | string | No | Keyword filter to narrow down discovered URLs | **Returns:** List of discovered URLs from the website via sitemaps and link analysis **Example:** ```json { "tool": "web-scraper", "skill": "map_site", "input": { "url": "https://example.com" } } ``` #### Extract Structured Data (`extract_data`) Use AI to extract structured data from one or more web pages. Provide a JSON Schema for typed output or a natural language prompt for flexible extraction. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `urls` | array | Yes | URLs to extract data from | | `schema` | object | No | JSON Schema defining the structure of data to extract | | `prompt` | string | No | Natural language prompt describing what data to extract | **Returns:** AI-extracted structured data from the provided URLs, matching the schema or prompt **Example:** ```json { "tool": "web-scraper", "skill": "extract_data", "input": { "urls": [ "https://example.com/product/123" ], "schema": { "type": "object", "properties": { "name": { "type": "string" }, "price": { "type": "number" }, "currency": { "type": "string" } } } } } ``` #### Search & Scrape (`search_web`) Search the web using a query and optionally scrape the content of each result page. Returns search results with titles, URLs, and snippets, plus full page content when scraping is enabled. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search query string | | `limit` | number | No | Maximum number of search results to return (default 5) | | `scrapeResults` | boolean | No | Whether to scrape the full content of each search result page (default false) | | `country` | string | No | Country code for localized results (e.g. "us", "gb", "de") | **Returns:** Search results with titles, URLs, snippets, and optionally full scraped page content in markdown **Example:** ```json { "tool": "web-scraper", "skill": "search_web", "input": { "query": "best practices for web scraping 2024" } } ``` #### Stealth Scrape Page (`stealth_scrape`) Scrape a single bot-protected web page using enhanced residential proxies, geo-targeted IPs, and extended rendering wait times. Bypasses Cloudflare, Akamai, DataDome, and similar anti-bot systems. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | URL of the page to scrape | | `formats` | array | No | Output formats to return (e.g. "markdown", "html", "rawHtml", "links", "screenshot") | | `onlyMainContent` | boolean | No | Extract only the main content, removing navbars, footers, and sidebars | | `includeTags` | array | No | CSS tags to include in extraction (e.g. ["article", "main"]) | | `excludeTags` | array | No | CSS tags to exclude from extraction (e.g. ["nav", "footer"]) | | `mobile` | boolean | No | Use a mobile user agent and viewport for rendering | | `waitFor` | number | No | Milliseconds to wait after page load before capturing content (default 3000) | | `timeout` | number | No | Maximum time in milliseconds to wait for the page to load (default 60000) | | `country` | string | No | ISO country code for geo-targeted proxy (e.g. "us", "gb", "de", "jp"). Default: "us" | | `languages` | array | No | Browser language headers (e.g. ["en-US", "en"]) | **Returns:** Scraped page content from bot-protected sites in the requested formats with metadata **Example:** ```json { "tool": "web-scraper", "skill": "stealth_scrape", "input": { "url": "https://example.com/protected-page" } } ``` #### Stealth Crawl Site (`stealth_crawl`) Recursively crawl a bot-protected website using enhanced proxies on every page. Bypasses anti-bot systems across the entire crawl, with geo-targeted IPs and extended rendering. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Starting URL for the crawl | | `limit` | number | No | Maximum number of pages to crawl (default 50) | | `maxDepth` | number | No | Maximum link-following depth from the starting URL | | `includePaths` | array | No | URL path patterns to include (e.g. ["/blog/*", "/docs/*"]) | | `excludePaths` | array | No | URL path patterns to exclude (e.g. ["/admin/*", "/api/*"]) | | `allowSubdomains` | boolean | No | Whether to follow links to subdomains of the starting URL | | `allowExternalLinks` | boolean | No | Whether to follow links to external domains | | `country` | string | No | ISO country code for geo-targeted proxy (e.g. "us", "gb", "de", "jp"). Default: "us" | | `languages` | array | No | Browser language headers (e.g. ["en-US", "en"]) | **Returns:** Array of scraped pages from bot-protected sites with content, metadata, and crawl status **Example:** ```json { "tool": "web-scraper", "skill": "stealth_crawl", "input": { "url": "https://example.com/blog", "limit": 20 } } ``` ### Web Search Structured Google results across 11 types: web, news, images, videos, maps, places, reviews, shopping, academic papers, patents, and autocomplete. Returns clean data without HTML parsing. Essential for research and up-to-date information. - **Version:** 0.02 - **Categories:** search, data #### Web Search (`search`) Search Google and return structured results including organic listings, knowledge graph, answer box, People Also Ask, and related searches. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search query string | | `country` | string | No | Country code for localized results (e.g. 'us', 'gb', 'de') [default: "us"] | | `language` | string | No | Language code for results (e.g. 'en', 'es', 'fr') [default: "en"] | | `num` | number | No | Number of results to return (10, 20, 50, or 100) [default: 10] | | `page` | number | No | Page number for pagination (starts at 1) [default: 1] | | `timeRange` | string | No | Time range filter — h (hour), d (day), w (week), m (month), y (year) (h, d, w, m, y) | **Returns:** Organic results, knowledge graph, answer box, People Also Ask, and related searches **Example:** ```json { "tool": "web-search", "skill": "search", "input": { "query": "best project management tools 2025" } } ``` #### Image Search (`image_search`) Search Google Images and return an array of image results with titles, source URLs, and thumbnail links. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search query string | | `country` | string | No | Country code for localized results (e.g. 'us', 'gb', 'de') [default: "us"] | | `language` | string | No | Language code for results (e.g. 'en', 'es', 'fr') [default: "en"] | | `num` | number | No | Number of results to return (10, 20, 50, or 100) [default: 10] | | `page` | number | No | Page number for pagination (starts at 1) [default: 1] | **Returns:** Array of image results with title, imageUrl, imageWidth, imageHeight, source, and link **Example:** ```json { "tool": "web-search", "skill": "image_search", "input": { "query": "iPhone 16 Pro wallpaper" } } ``` #### News Search (`news_search`) Search Google News and return an array of news articles with titles, snippets, publication dates, and source information. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search query string | | `country` | string | No | Country code for localized results (e.g. 'us', 'gb', 'de') [default: "us"] | | `language` | string | No | Language code for results (e.g. 'en', 'es', 'fr') [default: "en"] | | `num` | number | No | Number of results to return (10, 20, 50, or 100) [default: 10] | | `page` | number | No | Page number for pagination (starts at 1) [default: 1] | | `timeRange` | string | No | Time range filter — h (hour), d (day), w (week), m (month), y (year) (h, d, w, m, y) | **Returns:** Array of news articles with title, link, snippet, date, and source **Example:** ```json { "tool": "web-search", "skill": "news_search", "input": { "query": "artificial intelligence regulation", "timeRange": "d" } } ``` #### Video Search (`video_search`) Search Google Videos and return an array of video results with titles, channels, durations, and thumbnail links. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search query string | | `country` | string | No | Country code for localized results (e.g. 'us', 'gb', 'de') [default: "us"] | | `language` | string | No | Language code for results (e.g. 'en', 'es', 'fr') [default: "en"] | | `num` | number | No | Number of results to return (10, 20, 50, or 100) [default: 10] | | `page` | number | No | Page number for pagination (starts at 1) [default: 1] | **Returns:** Array of video results with title, link, snippet, channel, date, and duration **Example:** ```json { "tool": "web-search", "skill": "video_search", "input": { "query": "TypeScript generics tutorial" } } ``` #### Maps Search (`maps_search`) Search Google Maps and return an array of place results with names, addresses, ratings, coordinates, and business details. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search query string | | `country` | string | No | Country code for localized results (e.g. 'us', 'gb', 'de') [default: "us"] | | `language` | string | No | Language code for results (e.g. 'en', 'es', 'fr') [default: "en"] | | `num` | number | No | Number of results to return (10, 20, 50, or 100) [default: 10] | | `page` | number | No | Page number for pagination (starts at 1) [default: 1] | | `location` | string | No | Location for geo-targeted results (e.g. 'New York, NY' or 'London, UK') | **Returns:** Array of places with title, address, latitude, longitude, rating, and category **Example:** ```json { "tool": "web-search", "skill": "maps_search", "input": { "query": "best pizza", "location": "Brooklyn, NY" } } ``` #### Places Search (`places_search`) Search Google Places and return detailed place results with names, addresses, phone numbers, ratings, reviews count, and opening hours. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search query string | | `country` | string | No | Country code for localized results (e.g. 'us', 'gb', 'de') [default: "us"] | | `language` | string | No | Language code for results (e.g. 'en', 'es', 'fr') [default: "en"] | | `num` | number | No | Number of results to return (10, 20, 50, or 100) [default: 10] | | `page` | number | No | Page number for pagination (starts at 1) [default: 1] | | `location` | string | No | Location for geo-targeted results (e.g. 'New York, NY' or 'London, UK') | **Returns:** Array of places with title, address, phone, rating, reviewsCount, and hours **Example:** ```json { "tool": "web-search", "skill": "places_search", "input": { "query": "specialty coffee", "location": "San Francisco, CA" } } ``` #### Reviews Search (`reviews_search`) Retrieve Google reviews for a specific place. Supports sorting by relevance, newest, highest, or lowest rating. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search query string | | `country` | string | No | Country code for localized results (e.g. 'us', 'gb', 'de') [default: "us"] | | `language` | string | No | Language code for results (e.g. 'en', 'es', 'fr') [default: "en"] | | `placeId` | string | No | Google Place ID for the business (from maps or places search) | | `sortBy` | string | No | Sort order for reviews (relevance, newest, highest, lowest) | **Returns:** Reviews array with author, rating, date, and snippet, plus place summary **Example:** ```json { "tool": "web-search", "skill": "reviews_search", "input": { "query": "The French Laundry Yountville", "placeId": "ChIJaYb0r89VhYARFDAjD7qnXKA" } } ``` #### Shopping Search (`shopping_search`) Search Google Shopping and return an array of product results with titles, prices, ratings, merchants, and product links. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search query string | | `country` | string | No | Country code for localized results (e.g. 'us', 'gb', 'de') [default: "us"] | | `language` | string | No | Language code for results (e.g. 'en', 'es', 'fr') [default: "en"] | | `num` | number | No | Number of results to return (10, 20, 50, or 100) [default: 10] | | `page` | number | No | Page number for pagination (starts at 1) [default: 1] | **Returns:** Array of shopping results with title, price, source, link, rating, and delivery info **Example:** ```json { "tool": "web-search", "skill": "shopping_search", "input": { "query": "Sony WH-1000XM5 headphones" } } ``` #### Scholar Search (`scholar_search`) Search Google Scholar and return academic papers with titles, authors, citation counts, publication year, and links. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search query string | | `country` | string | No | Country code for localized results (e.g. 'us', 'gb', 'de') [default: "us"] | | `language` | string | No | Language code for results (e.g. 'en', 'es', 'fr') [default: "en"] | | `num` | number | No | Number of results to return (10, 20, 50, or 100) [default: 10] | | `page` | number | No | Page number for pagination (starts at 1) [default: 1] | | `year` | number | No | Filter results to papers published from this year onwards | **Returns:** Array of academic results with title, link, snippet, citedBy count, year, and authors **Example:** ```json { "tool": "web-search", "skill": "scholar_search", "input": { "query": "transformer architecture attention mechanism" } } ``` #### Patent Search (`patent_search`) Search Google Patents and return patent results with titles, patent numbers, inventors, filing dates, and abstracts. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search query string | | `country` | string | No | Country code for localized results (e.g. 'us', 'gb', 'de') [default: "us"] | | `language` | string | No | Language code for results (e.g. 'en', 'es', 'fr') [default: "en"] | | `num` | number | No | Number of results to return (10, 20, 50, or 100) [default: 10] | | `page` | number | No | Page number for pagination (starts at 1) [default: 1] | **Returns:** Array of patent results with title, patentNumber, snippet, priorityDate, and inventor **Example:** ```json { "tool": "web-search", "skill": "patent_search", "input": { "query": "natural language processing neural network" } } ``` #### Autocomplete (`autocomplete`) Get Google autocomplete suggestions for a query prefix. Useful for keyword research, content ideation, and understanding search intent. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search query string | | `country` | string | No | Country code for localized results (e.g. 'us', 'gb', 'de') [default: "us"] | | `language` | string | No | Language code for results (e.g. 'en', 'es', 'fr') [default: "en"] | **Returns:** Array of autocomplete suggestion strings **Example:** ```json { "tool": "web-search", "skill": "autocomplete", "input": { "query": "how to build a" } } ``` ### Generate Video Create AI videos from text prompts or animate images. Multiple models with tradeoffs between cinematic quality, speed, cost, and audio support. Returns a downloadable video URL. Ideal for social media, product demos, and creative storytelling. - **Version:** 0.05 - **Categories:** media, ai #### Text to Video (`text_to_video`) Generate a video from a text prompt. 10+ models with different quality, speed, and cost tradeoffs. Returns a downloadable video URL. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `prompt` | string | Yes | Detailed text description of the video to generate. Be specific about scene, action, camera movement, lighting, and style. | | `model` | string | No | Model to use. Use list_models for available models with pricing and audio support. Omit for default. | | `duration` | number | No | Video duration in seconds. Available durations depend on the model. Common options: 4, 5, 6, 8, 10. | | `resolution` | string | No | Output video resolution. Available resolutions depend on the model. Defaults to the model default (usually 1080p). (720p, 1080p, 4k) | | `enable_audio` | boolean | No | Generate audio with video. Audio-capable models only — roughly doubles cost. See list_models for support. [default: true] | | `seed` | number | No | Random seed for reproducible generation. Same seed + same prompt should produce similar results. | | `aspect_ratio` | string | No | Aspect ratio for the generated video. Not all models support all ratios. (16:9, 9:16, 1:1, 4:3, 3:4) | | `negative_prompt` | string | No | Things to avoid in the generated video (e.g. "blurry, low quality, distorted"). Not supported by all models. | **Returns:** Video download URL, model used, duration, resolution, audio status, generation cost, and request metadata **Example:** ```json { "tool": "generate-video", "skill": "text_to_video", "input": { "prompt": "A serene mountain lake at sunrise with mist rolling over the water, cinematic drone shot slowly pulling back to reveal snow-capped peaks" } } ``` #### Image to Video (`image_to_video`) Animate a still image into a video. Provide an image URL and optional motion prompt. 9 models with different quality and cost tradeoffs. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `image_url` | string | Yes | URL of the source image to animate. Must be a publicly accessible image URL (JPEG, PNG, WebP). | | `prompt` | string | No | Optional text prompt to guide the animation direction and style (e.g. "the person starts walking towards the camera"). | | `model` | string | No | Model to use. Use list_models for available models with pricing and audio support. Omit for default. | | `duration` | number | No | Video duration in seconds. Available durations depend on the model. Common options: 4, 5, 6, 8, 10. | | `resolution` | string | No | Output video resolution. Available resolutions depend on the model. Defaults to the model default (usually 1080p). (720p, 1080p, 4k) | | `enable_audio` | boolean | No | Generate audio with video. Audio-capable models only — roughly doubles cost. See list_models for support. [default: true] | | `seed` | number | No | Random seed for reproducible generation. Same seed + same prompt should produce similar results. | | `aspect_ratio` | string | No | Aspect ratio for the generated video. Not all models support all ratios. (16:9, 9:16, 1:1, 4:3, 3:4) | | `negative_prompt` | string | No | Things to avoid in the generated video (e.g. "blurry, low quality, distorted"). Not supported by all models. | **Returns:** Video download URL, source image URL, model used, duration, resolution, audio status, generation cost, and request metadata **Example:** ```json { "tool": "generate-video", "skill": "image_to_video", "input": { "image_url": "https://placehold.co/800x600.png", "prompt": "The product slowly rotates on a white pedestal with soft studio lighting" } } ``` #### List Models (`list_models`) List available video generation models with capabilities, pricing, durations, resolutions, and audio support. Filter by type. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `type` | string | No | Filter models by generation type. Omit to show all models. (text_to_video, image_to_video) | **Returns:** Array of model objects with key, display name, capabilities, pricing, durations, resolutions, and audio support **Example:** ```json { "tool": "generate-video", "skill": "list_models", "input": {} } ``` ### Lead Finder Find companies and people by industry, funding, role, location, or expertise. Enrich domains, find lookalikes, and get cited research answers. For sales prospecting and market mapping. - **Version:** 0.02 - **Categories:** search, data, marketing #### Find Companies (`find_companies`) Find companies matching natural language criteria. Returns structured data including founding year, employee count, funding, revenue, headquarters, and web traffic. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Natural language description of companies to find (e.g. "fintech startups in Europe with Series A funding") | | `numResults` | number | No | Number of results to return (1-100) [default: 10] | | `includeDomains` | array | No | Only include results from these domains (e.g. ["techcrunch.com", "bloomberg.com"]) | | `excludeDomains` | array | No | Exclude results from these domains (e.g. ["reddit.com", "wikipedia.org"]) | **Returns:** Company results with name, URL, founding year, employee count, funding, revenue, city, country, and web traffic **Example:** ```json { "tool": "lead-finder", "skill": "find_companies", "input": { "query": "AI infrastructure startups with Series B funding" } } ``` #### Find People (`find_people`) Find people by role, company, expertise, or location. Searches across 1B+ indexed profiles to find relevant professionals matching your criteria. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Natural language description of people to find (e.g. "VP of Marketing at SaaS companies in New York") | | `numResults` | number | No | Number of results to return (1-100) [default: 10] | | `includeDomains` | array | No | Only include results from these domains (e.g. ["techcrunch.com", "bloomberg.com"]) | | `excludeDomains` | array | No | Exclude results from these domains (e.g. ["reddit.com", "wikipedia.org"]) | **Returns:** People results with name, URL, profile text, highlights, and source information **Example:** ```json { "tool": "lead-finder", "skill": "find_people", "input": { "query": "CTOs at fintech startups in London" } } ``` #### Find Similar (`find_similar`) Find companies or websites similar to a given URL. Useful for competitive analysis, discovering lookalike companies, or expanding a list of leads from a known example. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | URL of the company or page to find similar matches for | | `numResults` | number | No | Number of results to return (1-100) [default: 10] | | `includeDomains` | array | No | Only include results from these domains (e.g. ["techcrunch.com", "bloomberg.com"]) | | `excludeDomains` | array | No | Exclude results from these domains (e.g. ["reddit.com", "wikipedia.org"]) | | `excludeSourceDomain` | boolean | No | Whether to exclude results from the same domain as the source URL [default: true] | | `category` | string | No | Filter results to only companies or people (company, people) | **Returns:** Similar pages with title, URL, text content, highlights, and structured data if category is company **Example:** ```json { "tool": "lead-finder", "skill": "find_similar", "input": { "url": "https://stripe.com", "numResults": 10 } } ``` #### Enrich Company (`enrich_company`) Enrich a company domain with structured data — name, description, industry, employee count, headquarters, founding year, key products, recent news, and social profiles. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `domain` | string | Yes | Company domain to enrich (e.g. "stripe.com", "notion.so") | | `fields` | array | No | Specific fields to extract (e.g. ["companyName", "industry", "employeeCount"]). Omit for all default fields. | **Returns:** Structured company profile with name, description, industry, employee count, headquarters, founding year, key products, and more **Example:** ```json { "tool": "lead-finder", "skill": "enrich_company", "input": { "domain": "stripe.com" } } ``` #### Answer with Sources (`answer`) Get a direct answer to a research question with source citations. Searches the web, synthesizes an answer, and returns it with linked sources for verification. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Question to answer (e.g. "How much funding has Stripe raised?") | | `text` | boolean | No | Whether to include full source text in each citation (increases response size) [default: false] | **Returns:** Answer string with an array of citations containing URL, title, and optionally full source text **Example:** ```json { "tool": "lead-finder", "skill": "answer", "input": { "query": "What is the total funding raised by Figma?" } } ``` ### Weather Forecast Comprehensive weather data for any city or coordinates: current conditions, multi-day forecasts, UV index, air quality, pollen counts, and pollutant breakdowns. For travel planning, outdoor events, health apps, and agriculture. - **Version:** 0.05 - **Categories:** data #### Current Weather (`current_weather`) Current conditions in one call: temperature, wind, humidity, precipitation, snowfall, UV index, AQI (US + EU), pollen, visibility, dew point, and more. Accepts city name or coordinates. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `location` | string | Yes | City name or lat,lon coordinates (e.g. "London" or "51.5,-0.12") | | `units` | string | No | Unit system for temperature and wind speed ("metric" or "imperial") (metric, imperial) [default: "metric"] | **Returns:** Comprehensive current conditions with UV index, air quality (US + EU AQI), pollen counts, visibility, dew point, snowfall, and daylight duration **Example:** ```json { "tool": "weather-forecast", "skill": "current_weather", "input": { "location": "London" } } ``` #### Weather Forecast (`forecast`) Get a multi-day weather forecast for any location. Returns daily high/low temperatures, rain/snowfall breakdown, precipitation hours and probability, wind with compass direction, UV index with category, sunshine/daylight duration, solar radiation, and sunrise/sunset for up to 16 days. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `location` | string | Yes | City name or lat,lon coordinates (e.g. "Tokyo" or "35.68,139.69") | | `days` | number | No | Number of forecast days (1-16, default 7) [default: 7] | | `units` | string | No | Unit system for temperature and wind speed ("metric" or "imperial") (metric, imperial) [default: "metric"] | **Returns:** Daily forecast with temperatures, rain/snowfall, precipitation hours, wind direction, UV index, sunshine duration, solar radiation, and sunrise/sunset **Example:** ```json { "tool": "weather-forecast", "skill": "forecast", "input": { "location": "Tokyo", "days": 5 } } ``` #### Air Quality (`air_quality`) Get detailed air quality, pollen, and UV data for any location. Returns US and European AQI, PM2.5, PM10, gas concentrations (ozone, NO2, SO2, CO), dust, aerosol depth, UV index, and pollen counts for 6 species with severity. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `location` | string | Yes | City name or lat,lon coordinates (e.g. "Beijing" or "39.9,116.4") | **Returns:** Air quality indices (US + EU), pollutants, dust, aerosol depth, UV index, and pollen counts for 6 species with severity categories **Example:** ```json { "tool": "weather-forecast", "skill": "air_quality", "input": { "location": "Beijing" } } ``` ### Currency Exchange Convert amounts between 30+ currencies and retrieve live or historical exchange rates. Accurate rates from the European Central Bank, updated daily. Historical data back to 1999. - **Version:** 0.03 - **Categories:** finance #### Convert Currency (`convert`) Convert an amount between currencies using latest European Central Bank exchange rates. Supports 30+ major currencies including USD, EUR, GBP, JPY, AUD, CAD, CHF, and more. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `amount` | number | Yes | Amount to convert (must be positive) | | `from` | string | Yes | Source currency ISO 4217 code (e.g. "USD") | | `to` | string | Yes | Target currency ISO 4217 code or comma-separated list (e.g. "EUR" or "EUR,GBP") | **Returns:** Converted amounts with the exchange rate date and source **Example:** ```json { "tool": "currency-exchange", "skill": "convert", "input": { "amount": 100, "from": "USD", "to": "EUR" } } ``` #### Latest Exchange Rates (`latest_rates`) Get the latest exchange rates for a base currency against all available currencies or specific targets. Rates are sourced from the European Central Bank and updated daily on business days. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `base` | string | No | Base currency ISO 4217 code (default "USD") [default: "USD"] | | `targets` | string | No | Comma-separated target currency codes to filter (e.g. "EUR,GBP,JPY"). Omit for all currencies. | **Returns:** Exchange rates for the base currency against target currencies with the rate date **Example:** ```json { "tool": "currency-exchange", "skill": "latest_rates", "input": { "base": "USD" } } ``` #### Historical Exchange Rates (`historical_rates`) Get exchange rates for a specific date or date range. Useful for financial reporting, invoice conversion, and historical analysis. Data available from 1999-01-04 onwards. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `date` | string | Yes | Date in YYYY-MM-DD format, or a range as YYYY-MM-DD..YYYY-MM-DD (e.g. "2025-01-01" or "2025-01-01..2025-01-31") | | `base` | string | No | Base currency ISO 4217 code (default "USD") [default: "USD"] | | `targets` | string | No | Comma-separated target currency codes to filter (e.g. "EUR,GBP"). Omit for all currencies. | **Returns:** Historical exchange rates for the specified date or date range with source attribution **Example:** ```json { "tool": "currency-exchange", "skill": "historical_rates", "input": { "date": "2025-01-01", "base": "EUR", "targets": "USD" } } ``` ### Crypto Prices Real-time cryptocurrency prices, market data, and trending coins. Look up prices with 24h changes, drill into detailed stats like ATH and supply, and discover trending coins. Search any coin by name or ticker. - **Version:** 0.03 - **Categories:** finance #### Crypto Price (`price`) Get current price for one or more cryptocurrencies in any fiat or crypto currency. Returns price, 24h change, market cap, and volume. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `coins` | string | Yes | Comma-separated coin IDs (e.g. "bitcoin,ethereum") | | `currency` | string | No | Target currency for prices (e.g. "usd", "eur", "gbp") [default: "usd"] | **Returns:** Current price, market cap, 24h volume, and 24h change percentage for each requested coin **Example:** ```json { "tool": "crypto-prices", "skill": "price", "input": { "coins": "bitcoin,ethereum" } } ``` #### Market Data (`market_data`) Get detailed market data for a cryptocurrency including all-time high, circulating supply, market cap rank, price change over multiple periods, and community data. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `coin` | string | Yes | Coin ID (e.g. "bitcoin", "ethereum", "solana") | | `currency` | string | No | Target currency for price data (e.g. "usd", "eur", "gbp") [default: "usd"] | **Returns:** Comprehensive market data including price, market cap rank, volume, price changes over 24h/7d/30d, all-time high, and supply information **Example:** ```json { "tool": "crypto-prices", "skill": "market_data", "input": { "coin": "bitcoin" } } ``` #### Trending Coins (`trending`) Get the top trending cryptocurrencies based on search popularity in the last 24 hours. Useful for identifying market momentum and emerging interest. **Returns:** List of trending coins with name, symbol, market cap rank, BTC price, and popularity score **Example:** ```json { "tool": "crypto-prices", "skill": "trending", "input": {} } ``` #### Search Coins (`search`) Search for cryptocurrencies by name or symbol. Returns matching coins with their IDs for use in other skills like price lookup and market data. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search term — coin name or symbol (e.g. "solana" or "SOL") | **Returns:** List of matching coins with IDs that can be used in the price and market_data skills **Example:** ```json { "tool": "crypto-prices", "skill": "search", "input": { "query": "solana" } } ``` ### Vulnerability Database Search the full CVE catalog by keyword, look up any CVE by ID, or monitor recent advisories. Results include CVSS severity scores, affected software, CWE types, and reference links. For security researchers, dependency auditing, and DevSecOps pipelines. - **Version:** 0.02 - **Categories:** security #### Search Vulnerabilities (`search_vulnerabilities`) Search the vulnerability database by keyword. Find CVEs related to specific software, libraries, or vulnerability types. Returns severity scores, descriptions, and links. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search keyword (e.g. "log4j", "apache", "remote code execution") | | `limit` | number | No | Max results to return (default 10, max 20) | **Returns:** List of CVEs with IDs, descriptions, severity scores, and detail links **Example:** ```json { "tool": "vulnerability-database", "skill": "search_vulnerabilities", "input": { "query": "log4j" } } ``` #### CVE Details (`cve_details`) Get full details for a specific CVE by its ID. Returns description, CVSS score, severity, weakness types, references, and affected configurations. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `cve_id` | string | Yes | CVE identifier (e.g. "CVE-2021-44228") | **Returns:** Full CVE details including description, severity, CVSS vector, CWEs, and references **Example:** ```json { "tool": "vulnerability-database", "skill": "cve_details", "input": { "cve_id": "CVE-2021-44228" } } ``` #### Recent Vulnerabilities (`recent_vulnerabilities`) Get recently published vulnerabilities. Filter by time period to stay current on new security advisories and emerging threats. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `days` | number | No | Look back period in days (default 7, max 120) | | `limit` | number | No | Max results to return (default 10, max 20) | **Returns:** Recently published CVEs with severity scores and descriptions **Example:** ```json { "tool": "vulnerability-database", "skill": "recent_vulnerabilities", "input": { "days": 7 } } ``` ### Nutrition Data Look up nutrition facts for any food or packaged product. Search by name for USDA macro/micronutrient breakdowns, or search international packaged products by brand. Scan a barcode to get ingredients, allergens, nutri-scores, and per-100g nutrition. - **Version:** 0.03 - **Categories:** data #### Search Foods (`search_foods`) Search food databases for foods by name, brand, or keyword. Returns matching foods with basic nutrition info and FDC IDs for detailed lookup. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search term like 'chicken breast' or 'coca cola' | | `page_size` | number | No | Number of results to return (default 10, max 50) | **Returns:** List of matching foods with FDC IDs, descriptions, brand owners, and key macros (calories, protein, fat, carbs) **Example:** ```json { "tool": "nutrition-data", "skill": "search_foods", "input": { "query": "chicken breast" } } ``` #### Get Nutrition Details (`get_nutrition`) Get detailed nutrition breakdown for a specific food by its FDC ID. Returns comprehensive macro and micronutrient data including vitamins, minerals, and serving sizes. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `fdc_id` | number | Yes | FoodData Central ID from search results | **Returns:** Full nutrition breakdown including calories, protein, fats, carbs, fiber, sugars, sodium, cholesterol, vitamins A/C, calcium, iron, and potassium with units **Example:** ```json { "tool": "nutrition-data", "skill": "get_nutrition", "input": { "fdc_id": 534358 } } ``` #### Search Products (`search_products`) Search an international database of packaged food products by name or brand. Returns product names, brands, nutri-scores, images, and nutrition per 100g. Best for branded and packaged foods worldwide. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search term like 'nutella' or 'oat milk' | | `page_size` | number | No | Number of results to return (default 10, max 50) | **Returns:** List of matching products with names, brands, nutri-scores, images, and nutrition per 100g (calories, protein, fat, carbs, fiber, sugars, salt) **Example:** ```json { "tool": "nutrition-data", "skill": "search_products", "input": { "query": "nutella" } } ``` #### Lookup Barcode (`lookup_barcode`) Look up a packaged food product by its barcode (EAN/UPC). Returns full product details including name, brand, ingredients, allergens, nutri-score, packaging, and detailed nutrition per 100g and per serving. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `barcode` | string | Yes | Product barcode (EAN-13 or UPC-A), e.g. '3017620422003' | **Returns:** Full product details including name, brand, ingredients, allergens, nutri-score, packaging, and nutrition breakdown per 100g and per serving **Example:** ```json { "tool": "nutrition-data", "skill": "lookup_barcode", "input": { "barcode": "3017620422003" } } ``` ### IP Geolocation Turn any IPv4 or IPv6 address into location and network data — city, region, country, timezone, coordinates, ISP, and ASN. Single or batch lookup (up to 10). Useful for enriching logs, detecting visitor geography, investigating traffic, or adding location context to analytics. - **Version:** 0.02 - **Categories:** data #### IP Lookup (`lookup`) Geolocate an IP address to get its city, region, country, timezone, coordinates, ISP, and organization. Works with both IPv4 and IPv6 addresses. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `ip` | string | Yes | IPv4 or IPv6 address like '8.8.8.8' | **Returns:** Geolocation data including city, region, country, coordinates, timezone, ISP, and ASN **Example:** ```json { "tool": "ip-geolocation", "skill": "lookup", "input": { "ip": "8.8.8.8" } } ``` #### Bulk IP Lookup (`bulk_lookup`) Geolocate multiple IP addresses at once. Returns location data for each IP. Maximum 10 IPs per request to respect rate limits. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `ips` | array | Yes | List of IP addresses to geolocate (max 10) | **Returns:** Array of geolocation results for each IP with city, region, country, coordinates, timezone, and ISP **Example:** ```json { "tool": "ip-geolocation", "skill": "bulk_lookup", "input": { "ips": [ "8.8.8.8", "1.1.1.1" ] } } ``` ### Tech News Surface top-ranked and newest technology stories from Hacker News. Get stories by score, latest submissions, or full discussions with top comments. Great for daily tech briefings, research, and tracking developer conversations. - **Version:** 0.02 - **Categories:** data #### Top Stories (`top_stories`) Get the current top stories on Hacker News ranked by score. Returns titles, URLs, scores, comment counts, and authors. Default 10 stories, max 30. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `count` | number | No | Number of stories to return (default 10, max 30) [default: 10] | **Returns:** Array of top Hacker News stories with titles, URLs, scores, authors, comment counts, and relative timestamps **Example:** ```json { "tool": "tech-news", "skill": "top_stories", "input": {} } ``` #### New Stories (`new_stories`) Get the newest stories submitted to Hacker News. Returns the most recently submitted stories regardless of score. Default 10, max 30. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `count` | number | No | Number of stories to return (default 10, max 30) [default: 10] | **Returns:** Array of newest Hacker News stories with titles, URLs, scores, authors, comment counts, and relative timestamps **Example:** ```json { "tool": "tech-news", "skill": "new_stories", "input": { "count": 5 } } ``` #### Story Details (`story_details`) Get full details for a Hacker News story including the top comments. Useful for getting discussion context and community reactions to a story. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `id` | number | Yes | Hacker News story ID | **Returns:** Full story details including title, URL, score, author, self-post text, and top 10 comments with authors and text **Example:** ```json { "tool": "tech-news", "skill": "story_details", "input": { "id": 1 } } ``` ### Academic Research Search millions of peer-reviewed papers, authors, and citation data. Find credible sources by topic, keyword, or title with citation counts and open access links. Ideal for researchers, writers, and students who need trustworthy evidence fast. - **Version:** 0.03 - **Categories:** data #### Search Papers (`search_papers`) Search for academic papers by topic, keyword, or title. Returns matching works with titles, authors, publication dates, citation counts, and open access status. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search query for academic papers (topic, keyword, or title) | | `page_size` | number | No | Number of results to return (1-25, default 10) [default: 10] | | `sort` | string | No | Sort order for results ("relevance", "cited_by_count", or "publication_date") (relevance, cited_by_count, publication_date) [default: "relevance"] | **Returns:** List of academic papers with titles, authors, citation counts, and open access info **Example:** ```json { "tool": "academic-research", "skill": "search_papers", "input": { "query": "transformer neural network architecture" } } ``` #### Paper Details (`paper_details`) Get full metadata for a specific academic paper by its ID or DOI. Returns abstract, all authors, references, related works, and citation information. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `id` | string | Yes | Work ID like 'W2741809807' or DOI like '10.1038/s41586-021-03819-2' | **Returns:** Full paper metadata including abstract, all authors, concepts, and citation information **Example:** ```json { "tool": "academic-research", "skill": "paper_details", "input": { "id": "W2626778328" } } ``` #### Search Authors (`search_authors`) Search for academic authors by name. Returns matching researchers with their affiliations, publication counts, citation counts, and h-index. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Author name to search for (e.g. 'Geoffrey Hinton') | | `page_size` | number | No | Number of results to return (1-25, default 10) [default: 10] | **Returns:** List of academic authors with affiliations, publication counts, citation counts, and h-index **Example:** ```json { "tool": "academic-research", "skill": "search_authors", "input": { "query": "Geoffrey Hinton" } } ``` ### Public Holidays Public holiday data for 100+ countries. Look up all holidays in a year, check if a date is a holiday, or find the next upcoming holiday. Useful for scheduling automation, calendar integrations, and holiday-aware workflows. - **Version:** 0.03 - **Categories:** data #### List Holidays (`holidays`) Get all public holidays for a country and year. Returns holiday names, dates, types, and whether they are fixed or variable dates. Supports 100+ countries by ISO 3166-1 alpha-2 code. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `country` | string | Yes | ISO 3166-1 alpha-2 country code (e.g. 'US', 'GB', 'DE') | | `year` | number | No | Year to get holidays for (defaults to current year) | **Returns:** List of public holidays with names, dates, types, and fixed/variable status **Example:** ```json { "tool": "public-holidays", "skill": "holidays", "input": { "country": "US", "year": 2026 } } ``` #### Check Holiday (`is_holiday`) Check if a specific date is a public holiday in a given country. Returns the holiday details if it is, or confirms it is a regular day. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `date` | string | Yes | Date to check in YYYY-MM-DD format | | `country` | string | Yes | ISO 3166-1 alpha-2 country code (e.g. 'US', 'GB', 'DE') | **Returns:** Whether the date is a holiday, with holiday details if applicable **Example:** ```json { "tool": "public-holidays", "skill": "is_holiday", "input": { "date": "2026-12-25", "country": "US" } } ``` #### Next Holiday (`next_holiday`) Find the next upcoming public holiday for a country from today or from a specified date. Useful for scheduling and planning around holidays. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `country` | string | Yes | ISO 3166-1 alpha-2 country code (e.g. 'US', 'GB', 'DE') | | `from_date` | string | No | Start date in YYYY-MM-DD format (defaults to today) | **Returns:** Next upcoming public holiday with date, name, and number of days away **Example:** ```json { "tool": "public-holidays", "skill": "next_holiday", "input": { "country": "US" } } ``` #### Supported Countries (`supported_countries`) List all countries supported by the public holidays API with their ISO codes and names. **Returns:** List of supported countries with ISO codes and names **Example:** ```json { "tool": "public-holidays", "skill": "supported_countries", "input": {} } ``` ### Competitor Research Generate a comprehensive intelligence report on any company from their website URL. Covers identity, positioning, pricing, social media, content, advertising, reviews, hiring, infrastructure, financials, and competitive landscape in one call. - **Version:** 0.02 - **Categories:** analytics, marketing #### Research Competitor (`research_competitor`) Takes a competitor URL and returns a comprehensive intelligence report including company overview, positioning, pricing, social media presence, content strategy, advertising activity, customer reviews, hiring signals, and competitive landscape. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | URL of the competitor website to research (e.g. https://linear.app) | | `sections` | array | No | Sections to include in the report. Omit for all sections. Use fewer sections to reduce cost and time. | **Returns:** Competitive intelligence report with executive summary, key insights, and 12 sections covering identity, positioning, social, content, ads, reviews, and more. **Example:** ```json { "tool": "competitor-research", "skill": "research_competitor", "input": { "url": "https://linear.app" } } ``` ### Country Data Structured facts for every country. Look up any country by name, ISO code, or currency for capital, population, languages, timezones, borders, and flags. Search by region or language, or compare two countries side by side. - **Version:** 0.02 - **Categories:** data #### Country Lookup (`lookup`) Get comprehensive data for a country by name, ISO code, or currency code. Returns capital, population, languages, currencies, region, timezones, borders, and flag. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Country name, ISO 3166-1 alpha-2/3 code, or currency code like "US", "USA", "United States", "USD" | **Returns:** Comprehensive country data including capital, population, languages, currencies, timezones, borders, flags, and map links **Example:** ```json { "tool": "country-data", "skill": "lookup", "input": { "query": "Japan" } } ``` #### Search Countries (`search`) Search for countries by name, region, language, or currency. Returns matching countries with key information for comparison and filtering. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search term (country name, region, language, or currency depending on filter_by) | | `filter_by` | string | No | What to search by: "name", "region", "language", or "currency" (default "name") (name, region, language, currency) [default: "name"] | **Returns:** List of matching countries with name, capital, population, region, and flag emoji **Example:** ```json { "tool": "country-data", "skill": "search", "input": { "query": "europe", "filter_by": "region" } } ``` #### Compare Countries (`compare`) Side-by-side comparison of two countries across key metrics including population, area, GDP, languages, currencies, and timezones. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `country_a` | string | Yes | First country name or code to compare | | `country_b` | string | Yes | Second country name or code to compare | **Returns:** Side-by-side comparison of two countries including population, area, languages, currencies, and timezones **Example:** ```json { "tool": "country-data", "skill": "compare", "input": { "country_a": "US", "country_b": "CN" } } ``` ### Dictionary & Words Definitions, synonyms, rhymes, and related words for any English word. Includes phonetics, pronunciation audio, parts of speech, examples, and antonyms. All lookups ranked by relevance. Useful for writing, education, and poetry. - **Version:** 0.02 - **Categories:** data #### Define Word (`define`) Get the definition of a word including phonetics, pronunciations, parts of speech, definitions, examples, synonyms, and antonyms. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `word` | string | Yes | The word to define | **Returns:** Word definition with phonetics, audio pronunciation URL, and meanings grouped by part of speech with examples, synonyms, and antonyms **Example:** ```json { "tool": "dictionary-words", "skill": "define", "input": { "word": "serendipity" } } ``` #### Find Synonyms (`synonyms`) Find synonyms for a word, ranked by relevance. Returns semantically similar words with scores. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `word` | string | Yes | The word to find synonyms for | | `limit` | number | No | Maximum number of synonyms to return (default 10, max 50) [default: 10] | **Returns:** List of synonyms ranked by relevance with scores **Example:** ```json { "tool": "dictionary-words", "skill": "synonyms", "input": { "word": "happy" } } ``` #### Find Rhymes (`rhymes`) Find words that rhyme with a given word, ranked by relevance. Useful for creative writing, poetry, songwriting, and wordplay. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `word` | string | Yes | The word to find rhymes for | | `limit` | number | No | Maximum number of rhymes to return (default 10, max 50) [default: 10] | **Returns:** List of rhyming words ranked by relevance with scores **Example:** ```json { "tool": "dictionary-words", "skill": "rhymes", "input": { "word": "moon" } } ``` #### Related Words (`related_words`) Find words related to a given word or topic. Returns words that are triggered by or associated with the input, useful for brainstorming and expanding vocabulary. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `word` | string | Yes | The word or topic to find related words for | | `limit` | number | No | Maximum number of related words to return (default 10, max 50) [default: 10] | **Returns:** List of related words ranked by relevance with scores **Example:** ```json { "tool": "dictionary-words", "skill": "related_words", "input": { "word": "ocean" } } ``` ### World Economy World Bank data: 16,000+ economic, social, and environmental indicators for every country from 1960 to present. Look up time series, compare countries, or search indicator codes. For economic research, country risk, and data journalism. - **Version:** 0.02 - **Categories:** finance, data #### Get Indicator (`indicator`) Get a specific economic indicator for a country over time. Common indicators: GDP (NY.GDP.MKTP.CD), population (SP.POP.TOTL), inflation (FP.CPI.TOTL.ZG), unemployment (SL.UEM.TOTL.ZS). **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `country` | string | Yes | ISO 3166-1 alpha-2 code like 'US', 'GB', or 'all' for world | | `indicator` | string | Yes | Indicator code like 'NY.GDP.MKTP.CD' | | `years` | number | No | Number of most recent years to return [default: 10] | **Returns:** Time series of the requested indicator with year and value pairs **Example:** ```json { "tool": "world-economy", "skill": "indicator", "input": { "country": "US", "indicator": "NY.GDP.MKTP.CD", "years": 5 } } ``` #### Compare Countries (`compare_countries`) Compare an economic indicator across multiple countries for the most recent available year. Useful for benchmarking and cross-country analysis. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `countries` | string | Yes | Semicolon-separated ISO codes like 'US;GB;DE;JP' | | `indicator` | string | Yes | Indicator code like 'NY.GDP.MKTP.CD' | **Returns:** Comparison of the indicator across countries sorted by value descending **Example:** ```json { "tool": "world-economy", "skill": "compare_countries", "input": { "countries": "US;GB;DE;FR;JP;CA;IT", "indicator": "NY.GDP.MKTP.CD" } } ``` #### Search Indicators (`search_indicators`) Search for available economic indicators by keyword. There are 16,000+ indicators covering economics, health, education, environment, and more. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Keyword like 'gdp' or 'education' | | `page_size` | number | No | Number of results to return [default: 10] | **Returns:** List of matching economic indicators with codes, names, and descriptions **Example:** ```json { "tool": "world-economy", "skill": "search_indicators", "input": { "query": "education" } } ``` ### Earthquake Monitor Track recent earthquakes worldwide or search historical seismic events by location, date range, and magnitude. Real-time feeds include tsunami alerts, felt reports, and severity levels. Search within a radius of any coordinate for safety monitoring, research, and situational awareness. - **Version:** 0.02 - **Categories:** data #### Recent Earthquakes (`recent`) Get recent earthquakes worldwide, filterable by time period and minimum magnitude. Returns location, magnitude, depth, and tsunami alerts. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `period` | string | No | Time period to query: "hour", "day", "week", or "month" (hour, day, week, month) [default: "day"] | | `min_magnitude` | string | No | Minimum magnitude filter: "significant", "4.5", "2.5", "1.0", or "all" (significant, 4.5, 2.5, 1.0, all) [default: "4.5"] | **Returns:** List of recent earthquakes with magnitude, location, depth, tsunami alerts, and felt reports **Example:** ```json { "tool": "earthquake-monitor", "skill": "recent", "input": { "period": "week", "min_magnitude": "significant" } } ``` #### Search Earthquakes (`search`) Search for earthquakes by location, date range, and magnitude. Find earthquakes near a specific point within a radius, or within a geographic bounding box. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `latitude` | number | No | Latitude of search center point | | `longitude` | number | No | Longitude of search center point | | `radius_km` | number | No | Search radius in kilometers (max 20001) [default: 100] | | `min_magnitude` | number | No | Minimum earthquake magnitude [default: 4] | | `start_date` | string | No | Start date in YYYY-MM-DD format | | `end_date` | string | No | End date in YYYY-MM-DD format | | `limit` | number | No | Maximum number of results (max 100) [default: 20] | **Returns:** List of earthquakes matching the search criteria with magnitude, location, depth, and alerts **Example:** ```json { "tool": "earthquake-monitor", "skill": "search", "input": { "latitude": 35.6762, "longitude": 139.6503, "radius_km": 200, "min_magnitude": 3, "start_date": "2026-02-12" } } ``` ### Sunrise & Sunset Precise solar times for any city or GPS coordinate on any date. Returns sunrise, sunset, solar noon, twilight phases, day length, and golden hour windows. For photographers, outdoor apps, and travel planners. - **Version:** 0.02 - **Categories:** data #### Sunrise & Sunset Times (`times`) Get sunrise, sunset, twilight times, day length, and golden hour windows for any location and date. Supports city names or coordinates. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `location` | string | Yes | City name or coordinates as "lat,lon" (e.g. "Paris" or "48.8566,2.3522") | | `date` | string | No | Date in YYYY-MM-DD format or "today" (default: today) | **Returns:** Sunrise, sunset, twilight times, day length, and golden hour windows **Example:** ```json { "tool": "sunrise-sunset", "skill": "times", "input": { "location": "Paris" } } ``` ### Nobel Prizes Explore every Nobel Prize winner across Physics, Chemistry, Medicine, Literature, Peace, and Economics. Search by name, filter by year or category, and get full prize motivations and biographical details. Ideal for research, education, and fact-checking. - **Version:** 0.02 - **Categories:** data #### Search Laureates (`laureates`) Search Nobel Prize laureates by name, category, or year. Returns laureate details including birth info, prize motivation, and award year. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | No | Search by laureate name (e.g. "Einstein") | | `category` | string | No | Filter by category: phy (Physics), che (Chemistry), med (Medicine), lit (Literature), pea (Peace), eco (Economics) (phy, che, med, lit, pea, eco) | | `year` | number | No | Filter by award year (e.g. 2024) | | `limit` | number | No | Max results (default 10, max 25) | **Returns:** List of Nobel Prize laureates with names, birth info, and prize details **Example:** ```json { "tool": "nobel-prizes", "skill": "laureates", "input": { "query": "Einstein" } } ``` #### List Prizes (`prizes`) List Nobel Prize awards by year and/or category. Returns prize details including all laureates and their motivations for each award. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `year` | number | No | Filter by year (e.g. 2024) | | `category` | string | No | Filter by category: phy (Physics), che (Chemistry), med (Medicine), lit (Literature), pea (Peace), eco (Economics) (phy, che, med, lit, pea, eco) | | `limit` | number | No | Max results (default 10, max 25) | **Returns:** List of Nobel Prize awards with categories, years, laureates, and motivations **Example:** ```json { "tool": "nobel-prizes", "skill": "prizes", "input": { "year": 2024 } } ``` ### Generate Chart Convert raw numbers into professional chart images in seconds. Supports bar, line, pie, doughnut, radar, scatter, and more with automatic colors and custom dimensions. Returns a permanent shareable URL and downloadable image. Simple data input or full Chart.js config for precise control. - **Version:** 0.02 - **Categories:** data, media #### Create Chart (`create_chart`) Generate a chart image from data. Provide either a simplified input (type, labels, datasets) or a full Chart.js config for advanced control. Returns a permanent URL that renders the chart on-demand, plus a downloadable image when storage is available. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `type` | string | No | Chart type. Defaults to "bar". Ignored if "config" is provided. (bar, horizontalBar, line, pie, doughnut, radar, polarArea, scatter, bubble) [default: "bar"] | | `title` | string | No | Chart title displayed at the top. Ignored if "config" is provided. | | `labels` | array | No | X-axis labels (e.g. ["Jan", "Feb", "Mar"]). Ignored if "config" is provided. | | `datasets` | array | No | One or more datasets to plot. Each needs at least a "data" array. Required unless "config" is provided. | | `config` | object | No | Full Chart.js config for advanced control. Overrides type/title/labels/datasets when provided. | | `width` | number | No | Chart width in pixels (default 600) [default: 600] | | `height` | number | No | Chart height in pixels (default 400) [default: 400] | | `format` | string | No | Output image format (default "png") (png, svg, webp) [default: "png"] | | `background_color` | string | No | Chart background color (CSS color, default "white"). Use "transparent" for no background. [default: "white"] | **Returns:** Short permanent URL to view the chart image, inline base64 image for supported clients, chart dimensions, and the Chart.js config used **Example:** ```json { "tool": "generate-chart", "skill": "create_chart", "input": { "type": "bar", "title": "Quarterly Revenue", "labels": [ "Q1", "Q2", "Q3", "Q4" ], "datasets": [ { "label": "Revenue ($k)", "data": [ 120, 180, 150, 220 ] } ] } } ``` ### SEC Filings Search the SEC EDGAR database for U.S. public companies. Look up by ticker, browse filings (10-K, 10-Q, 8-K, Form 4), pull XBRL financials, track insider trades, search filings by keyword, and screen companies by metrics like revenue or net income. - **Version:** 0.02 - **Categories:** finance, data #### Search Company (`search_company`) Find U.S. public companies by ticker symbol or company name. Returns CIK numbers, tickers, and company names for use with other SEC skills. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Ticker symbol or company name to search for (e.g. "AAPL", "Apple", "Tesla") | **Returns:** List of matching companies with CIK numbers, tickers, and names **Example:** ```json { "tool": "sec-filings", "skill": "search_company", "input": { "query": "AAPL" } } ``` #### Company Filings (`company_filings`) Get recent SEC filings for a company by CIK number. Filter by form type (10-K, 10-Q, 8-K, Form 4, 13F-HR, S-1) and returns company details, addresses, and filing list with direct document URLs. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `cik` | string | Yes | CIK number of the company (e.g. "320193" for Apple) | | `form_type` | string | No | Filter by SEC form type (e.g. "10-K", "10-Q", "8-K", "4", "13F-HR", "S-1") | | `limit` | number | No | Maximum number of filings to return (default 20, max 50) | **Returns:** Company info and recent filings list with form type, dates, accession numbers, and document URLs **Example:** ```json { "tool": "sec-filings", "skill": "company_filings", "input": { "cik": "320193" } } ``` #### Financial Statements (`financial_statements`) Get structured XBRL financial data for a company — income statement, balance sheet, and cash flow. Returns annual and quarterly figures for revenue, net income, assets, liabilities, cash, debt, EPS, and more. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `cik` | string | Yes | CIK number of the company (e.g. "320193" for Apple) | | `statement` | string | No | Financial statement type: "income", "balance_sheet", "cash_flow", or "all" (default "all") | **Returns:** Structured financial data with annual and quarterly values for income, balance sheet, and cash flow line items **Example:** ```json { "tool": "sec-filings", "skill": "financial_statements", "input": { "cik": "320193" } } ``` #### Insider Transactions (`insider_transactions`) Get recent insider trades (Form 4 filings) for a company. Shows who bought or sold shares, transaction dates, prices, share amounts, and ownership after each transaction. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `cik` | string | Yes | CIK number of the company (e.g. "320193" for Apple) | | `limit` | number | No | Number of recent Form 4 filings to fetch (default 10, max 25) | **Returns:** List of insider transactions with owner details, trade type, shares, price, and post-transaction ownership **Example:** ```json { "tool": "sec-filings", "skill": "insider_transactions", "input": { "cik": "320193" } } ``` #### Filing Search (`filing_search`) Full-text search across all SEC filings by keyword. Filter by form type and date range to find specific disclosures, risk factors, material events, or topics across all public companies. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search keywords to find in filing text (e.g. "artificial intelligence risk", "workforce reduction") | | `form_type` | string | No | Filter by SEC form type (e.g. "10-K", "10-Q", "8-K", "S-1") | | `start_date` | string | No | Start date for filing range (YYYY-MM-DD). Default: 12 months ago | | `end_date` | string | No | End date for filing range (YYYY-MM-DD). Default: today | **Returns:** List of matching filings with company name, form type, filing date, description, and direct filing URL **Example:** ```json { "tool": "sec-filings", "skill": "filing_search", "input": { "query": "artificial intelligence risk", "form_type": "10-K" } } ``` #### Screen Companies (`screen_companies`) Screen and rank all U.S. public companies by a financial metric. Find the largest companies by revenue, most profitable by net income, or filter by assets, equity, cash, debt, and more. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `metric` | string | Yes | Financial metric to screen by: "revenue", "net_income", "assets", "equity", "cash", "debt", "operating_income", "gross_profit", "dividends" | | `period` | string | No | XBRL period (e.g. "CY2024", "CY2024Q4I"). Defaults to the latest full calendar year | | `min_value` | number | No | Minimum value filter (in USD) | | `max_value` | number | No | Maximum value filter (in USD) | | `limit` | number | No | Number of companies to return (default 25, max 100) | **Returns:** Ranked list of companies sorted by the selected financial metric, with company name, CIK, and value **Example:** ```json { "tool": "sec-filings", "skill": "screen_companies", "input": { "metric": "revenue" } } ``` ### Web Archive Look back at how any website looked at any point in history. Check if a URL has been archived, browse captures across date ranges, or get year-by-year summaries. For competitive research, recovering lost content, and investigating website histories. - **Version:** 0.02 - **Categories:** data, search #### Check Availability (`check_availability`) Check if a URL has been archived and get the closest snapshot to a given date. Returns the archived snapshot URL and metadata. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | The URL to check for archived snapshots (e.g. "https://example.com") | | `date` | string | No | Target date in YYYY-MM-DD format to find the closest snapshot (defaults to latest available) | **Returns:** Whether the URL is archived, closest snapshot URL, timestamp, and HTTP status of the archived page **Example:** ```json { "tool": "web-archive", "skill": "check_availability", "input": { "url": "https://example.com" } } ``` #### Search Captures (`search_captures`) Search capture history for a URL with date range filters. Shows how many times a page was archived and when, with viewable archive links. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | The URL to search captures for (e.g. "https://example.com") | | `from_date` | string | No | Start date filter in YYYY-MM-DD format | | `to_date` | string | No | End date filter in YYYY-MM-DD format | | `limit` | number | No | Max results to return (default 10, max 50) | | `filter_status` | string | No | Filter by HTTP status code (e.g. "200" for successful captures only) | **Returns:** List of captures with timestamps, original URLs, MIME types, status codes, and viewable archive URLs **Example:** ```json { "tool": "web-archive", "skill": "search_captures", "input": { "url": "https://example.com", "limit": 5 } } ``` #### Site History (`site_history`) Get a summary of how many times a domain or URL has been archived, with yearly capture counts. Useful for understanding a site's web presence over time. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | The URL or domain to get archive history for (e.g. "example.com") | | `from_year` | number | No | Start year to filter history (e.g. 2000) | | `to_year` | number | No | End year to filter history (e.g. 2025) | **Returns:** Total capture count, first and last archived dates, and yearly breakdown of capture counts **Example:** ```json { "tool": "web-archive", "skill": "site_history", "input": { "url": "example.com", "from_year": 2020, "to_year": 2020 } } ``` ### Generate Image Generate, edit, and upscale images with 20+ AI models. Create from text prompts, edit with natural language, inpaint masked areas, change backgrounds, and upscale to 4K. Models range from fast drafts to photorealistic renders, with strengths in typography, design, or speed. - **Version:** 0.07 - **Categories:** media, ai #### Text to Image (`text_to_image`) Generate an image from a text prompt. 20+ models with different quality, speed, style, and cost tradeoffs. Returns image URL(s) and downloadable assets. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `prompt` | string | Yes | Detailed text description of the image to generate. Be specific about subject, style, lighting, composition, and mood. | | `model` | string | No | Model to use — registry key, name, or endpoint ID. Use list_models for options. Omit for default. | | `image_size` | string | No | Size preset: square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3 (default), landscape_16_9. | | `aspect_ratio` | string | No | Aspect ratio (used by some models instead of image_size). Common aliases like "square", "landscape", "portrait" are also accepted. (1:1, 16:9, 9:16, 4:3, 3:4, 3:1, 1:3, 3:2, 2:3) | | `width` | number | No | Custom width in pixels (use with height instead of image_size). | | `height` | number | No | Custom height in pixels (use with width instead of image_size). | | `num_images` | number | No | Number of images to generate (1-4). Defaults to 1. [default: 1] | | `seed` | number | No | Random seed for reproducible results. Same seed + prompt → similar output. | | `output_format` | string | No | Output image format. Defaults to jpeg. (jpeg, png, webp) | | `negative_prompt` | string | No | Things to avoid in the image (e.g. "blurry, low quality, text"). Not all models support this. | | `guidance_scale` | number | No | How closely to follow the prompt (1-20). Higher = more literal. Not all models support this. | | `num_inference_steps` | number | No | Number of denoising steps. More steps = higher quality but slower. Not all models support this. | | `style` | string | No | Style preset (model-specific). Values depend on model — use list_models to see supported styles. | | `style_preset` | string | No | Detailed style preset (model-specific, e.g. "WATERCOLOR", "POP_ART", "80S_ILLUSTRATION"). Use list_models to see which models support this. | | `rendering_speed` | string | No | Rendering speed — affects quality and cost. Only supported by select models. (TURBO, BALANCED, QUALITY) | | `quality` | string | No | Quality tier — affects cost. Only supported by select models. (low, medium, high) | | `background` | string | No | Background mode. Only supported by select models. (auto, transparent, opaque) | | `enhance_prompt` | boolean | No | Let the model expand/improve your prompt. Only supported by select models. | | `raw` | boolean | No | Less processed, more natural-looking output. Only supported by select models. | | `colors` | array | No | Color palette as [{r,g,b}] objects to guide generation. Only supported by select models. | | `loras` | array | No | LoRA weights as [{path, scale}] objects. Only supported by select models. | | `safety_tolerance` | string | No | Safety level (1-6). Higher = more permissive. Only supported by select models. | | `extra_params` | object | No | Additional model-specific parameters passed directly to the inference API. Use for custom models or advanced features not listed above. | **Returns:** Image URL(s), downloadable asset(s) via asset system, model used, seed, dimensions, and request metadata **Example:** ```json { "tool": "generate-image", "skill": "text_to_image", "input": { "prompt": "A sleek wireless headphone on a marble surface, soft studio lighting, product photography, 4K" } } ``` #### Edit Image (`edit_image`) Edit, transform, or inpaint an existing image using AI. Provide an image URL and a text prompt describing the edit. Supports style transfer, object removal/addition, background changes, and targeted edits with masks. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `image_url` | string | Yes | URL of the source image to edit. Must be publicly accessible. | | `prompt` | string | No | Text description of the edit to make (e.g. "change the background to a beach sunset", "remove the person on the left"). | | `model` | string | No | Model to use for editing. Use list_models with capability "editing" or "inpainting" to discover options. Omit to use the default edit model. | | `mask_url` | string | No | URL of mask image for inpainting (white = area to edit). Required for models with "inpainting" capability. | | `strength` | number | No | How much to change the image (0-1). Lower = closer to original. Supported by image-to-image models. | | `image_size` | string | No | Size preset: square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3 (default), landscape_16_9. | | `aspect_ratio` | string | No | Aspect ratio (used by some models instead of image_size). Common aliases like "square", "landscape", "portrait" are also accepted. (1:1, 16:9, 9:16, 4:3, 3:4, 3:1, 1:3, 3:2, 2:3) | | `width` | number | No | Custom width in pixels. | | `height` | number | No | Custom height in pixels. | | `num_images` | number | No | Number of images to generate (1-4). Defaults to 1. [default: 1] | | `seed` | number | No | Random seed for reproducible results. Same seed + prompt → similar output. | | `output_format` | string | No | Output image format. Defaults to jpeg. (jpeg, png, webp) | | `negative_prompt` | string | No | Things to avoid in the image (e.g. "blurry, low quality, text"). Not all models support this. | | `guidance_scale` | number | No | How closely to follow the prompt (1-20). | | `num_inference_steps` | number | No | Number of denoising steps. | | `enhance_prompt` | boolean | No | Let the model expand your prompt. | | `extra_params` | object | No | Additional model-specific parameters passed directly to the inference API. | **Returns:** Edited image URL(s), downloadable asset(s), source image URL, model used, seed, and request metadata **Example:** ```json { "tool": "generate-image", "skill": "edit_image", "input": { "image_url": "https://placehold.co/800x600.png", "prompt": "Add a decorative golden frame border around the entire image" } } ``` #### Upscale Image (`upscale_image`) AI-upscale an image up to 10x resolution. Enhances detail and sharpness while maintaining quality. Choose a target resolution (720p-4K) or a scale factor (1-10x). **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `image_url` | string | Yes | URL of the image to upscale. Must be publicly accessible. | | `upscale_factor` | number | No | Scale factor (1-10). Default 2x. Ignored if target_resolution is set. [default: 2] | | `target_resolution` | string | No | Target resolution instead of scale factor. (720p, 1080p, 1440p, 2160p) | | `seed` | number | No | Random seed for reproducible results. Same seed + prompt → similar output. | | `output_format` | string | No | Output image format. Defaults to jpeg. (jpeg, png, webp) | **Returns:** Upscaled image URL, downloadable asset, upscale factor or target resolution, and request metadata **Example:** ```json { "tool": "generate-image", "skill": "upscale_image", "input": { "image_url": "https://placehold.co/400x300.png" } } ``` #### List Models (`list_models`) List all available image generation models with capabilities, pricing, supported parameters, and descriptions. Filter by capability type. Models not in the registry can still be used by passing their model endpoint ID directly. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `capability` | string | No | Filter models by capability. Omit to show all. (text-to-image, image-to-image, inpainting, editing, upscale, background-removal, text-to-svg, image-to-3d) | **Returns:** Array of model objects with key, capabilities, pricing, supported parameters, and descriptions **Example:** ```json { "tool": "generate-image", "skill": "list_models", "input": {} } ``` ### Penetration Testing Black-box penetration testing for web apps — crawl the attack surface, scan for misconfigurations, and test for SQL injection, XSS, SSRF, and auth bypass with AI-generated payloads. Findings compile into a report with severity ratings, PoC evidence, and remediation guidance. - **Version:** 0.02 - **Categories:** security #### Reconnaissance (`recon`) Crawl a target URL to map its attack surface. Discovers endpoints, forms, input parameters, authentication flows, and tech stack. Returns a session that subsequent test skills use. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `target` | string | Yes | Target URL to scan (e.g. https://example.com) | | `max_pages` | number | No | Maximum pages to crawl (1-100) [default: 50] | | `max_depth` | number | No | Maximum crawl depth (1-10) [default: 3] | | `timeout_ms` | number | No | Per-request timeout in ms (3000-30000) [default: 10000] | | `crawl_timeout_ms` | number | No | Total crawl wall-clock timeout in ms (30000-300000) [default: 120000] | **Returns:** Session object with attack surface map: endpoints, forms, auth flows, input surfaces, and tech stack **Example:** ```json { "tool": "pentest", "skill": "recon", "input": { "target": "https://example.com", "max_pages": 30 } } ``` #### Scan Vulnerabilities (`scan_vulnerabilities`) Run vulnerability scans against the target including security header checks, exposed path detection, server version disclosure, and TLS analysis. Uses nuclei when available. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `session_id` | string | No | Session ID from recon (or pass full session object) | | `session` | object | No | Full session object from recon (preferred over session_id) | | `targets` | array | No | Override target URLs (optional if session provided) | | `severity` | string | No | Minimum severity threshold (info, low, medium, high, critical) [default: "medium"] | | `use_binary` | boolean | No | Use nuclei binary when available [default: true] | | `timeout_ms` | number | No | Per-request timeout in ms [default: 10000] | **Returns:** Vulnerability findings with severity distribution and evidence **Example:** ```json { "tool": "pentest", "skill": "scan_vulnerabilities", "input": { "session_id": "scan_abc123", "severity": "medium" } } ``` #### Test Injection (`test_injection`) AI-powered injection vulnerability testing. Uses LLM reasoning to generate context-aware SQL, NoSQL, and command injection payloads, execute them, and analyze responses. Requires authorization. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `session_id` | string | No | Session ID from recon | | `session` | object | No | Full session object from recon | | `authorized` | boolean | Yes | Explicit authorization to test this target (required: true) | | `target_endpoints` | array | No | Specific endpoints to test (optional) | | `max_rounds` | number | No | Max LLM reasoning rounds (1-20) [default: 15] | | `injection_types` | array | No | Types to test: sql, nosql, command | **Returns:** Confirmed injection findings with PoC payloads, request/response evidence, and remediation **Example:** ```json { "tool": "pentest", "skill": "test_injection", "input": { "session_id": "scan_abc123", "authorized": true, "injection_types": [ "sql" ] } } ``` #### Test Cross-Site Scripting (`test_xss`) AI-powered Cross-Site Scripting testing. Generates context-aware XSS payloads for HTML, attribute, and JavaScript contexts. Tests both reflected and stored XSS. Requires authorization. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `session_id` | string | No | Session ID from recon | | `session` | object | No | Full session object from recon | | `authorized` | boolean | Yes | Explicit authorization to test this target (required: true) | | `target_endpoints` | array | No | Specific endpoints to test | | `max_rounds` | number | No | Max LLM reasoning rounds (1-20) [default: 15] | | `xss_types` | array | No | Types: reflected, stored | **Returns:** Confirmed XSS findings with payloads, reflection context, and remediation **Example:** ```json { "tool": "pentest", "skill": "test_xss", "input": { "session_id": "scan_abc123", "authorized": true } } ``` #### Test Authentication (`test_auth`) AI-powered authentication and authorization testing. Tests for auth bypass, IDOR, privilege escalation, and session handling issues. Optionally accepts test credentials. Requires authorization. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `session_id` | string | No | Session ID from recon | | `session` | object | No | Full session object from recon | | `authorized` | boolean | Yes | Explicit authorization to test this target (required: true) | | `credentials` | object | No | Optional test credentials for authenticated testing | | `max_rounds` | number | No | Max LLM reasoning rounds (1-20) [default: 15] | **Returns:** Auth bypass, IDOR, and privilege escalation findings with evidence **Example:** ```json { "tool": "pentest", "skill": "test_auth", "input": { "session_id": "scan_abc123", "authorized": true } } ``` #### Test Server-Side Request Forgery (`test_ssrf`) AI-powered Server-Side Request Forgery testing. Tests URL-accepting parameters for internal network access, cloud metadata exposure, and redirect-based SSRF. Requires authorization. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `session_id` | string | No | Session ID from recon | | `session` | object | No | Full session object from recon | | `authorized` | boolean | Yes | Explicit authorization to test this target (required: true) | | `target_endpoints` | array | No | Specific endpoints to test | | `max_rounds` | number | No | Max LLM reasoning rounds (1-15) [default: 10] | **Returns:** SSRF findings with payloads, internal info leakage evidence, and remediation **Example:** ```json { "tool": "pentest", "skill": "test_ssrf", "input": { "session_id": "scan_abc123", "authorized": true } } ``` #### Generate Report (`generate_report`) Compile all findings from a scan session into a structured penetration test report. Includes executive summary, severity distribution, PoC evidence, and remediation recommendations. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `session_id` | string | No | Session ID to generate report from | | `session` | object | No | Full session object | | `format` | string | No | Report output format (markdown, json) [default: "markdown"] | **Returns:** Full penetration test report in markdown or structured JSON **Example:** ```json { "tool": "pentest", "skill": "generate_report", "input": { "session_id": "scan_abc123", "format": "markdown" } } ``` ### Sound Effect Generator Turn text descriptions into audio files using AI. Describe any sound — explosions, ambient backgrounds, UI chimes, nature scenes — and get a downloadable MP3 or WAV. For game developers, video producers, and app builders who need unique audio fast. - **Version:** 0.02 - **Categories:** media, ai #### Generate Sound Effect (`generate_sound_effect`) Generate a sound effect from a text description using AI. Describe the sound you want in natural language and receive a downloadable audio file. Supports MP3 and WAV output formats with configurable duration and looping. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `text` | string | Yes | Description of the sound effect to generate. Be specific about characteristics (e.g. "heavy rain on a tin roof with distant thunder"). | | `duration_seconds` | number | No | Duration in seconds (0.5 to 30). If omitted, AI auto-determines the best duration. | | `prompt_influence` | number | No | How closely generation follows the prompt (0-1). Lower = more creative, higher = more literal. Defaults to 0.3. [default: 0.3] | | `loop` | boolean | No | Whether to generate a seamlessly loopable sound effect. Useful for ambient backgrounds, engine hums, or game environment audio. Defaults to false. [default: false] | | `output_format` | string | No | Audio format. Options: mp3_44100_128, mp3_44100_192, pcm_16000, pcm_22050, pcm_24000, pcm_44100. Default: mp3_44100_128. [default: "mp3_44100_128"] | **Returns:** Audio file path (auto-uploaded as downloadable asset), text description used, duration, loop status, prompt influence, output format, and file size **Example:** ```json { "tool": "sound-effect-generator", "skill": "generate_sound_effect", "input": { "text": "A deep cinematic explosion with rumbling aftershock and debris falling, suitable for a movie trailer", "duration_seconds": 8 } } ``` ### Music Generator Generate original music from a text description — specify genre, mood, instruments, tempo, and style. Perfect for content creators, game developers, and anyone needing background music. Tracks from 3 seconds to 10 minutes in MP3 or PCM, with instrumental-only mode and reproducible seeds. - **Version:** 0.02 - **Categories:** media, ai #### Generate Music (`generate_music`) Generate an original music track from a text description using AI. Describe the genre, mood, instruments, tempo, and style to shape the output. Returns a downloadable audio file. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `prompt` | string | Yes | Text description of the music. Specify genre, mood, instruments, tempo (e.g. "upbeat lo-fi hip hop with jazzy piano and vinyl crackle, 85 BPM"). | | `duration_seconds` | number | No | Duration of the generated track in seconds (3-600). Defaults to 30. [default: 30] | | `force_instrumental` | boolean | No | Guarantee instrumental-only output with no vocals or singing. Defaults to false. [default: false] | | `seed` | number | No | Random seed for reproducible results. Same seed and prompt will produce similar output. | | `output_format` | string | No | Audio output format (e.g. "mp3_44100_128", "pcm_44100"). Defaults to "mp3_44100_128". [default: "mp3_44100_128"] | **Returns:** Audio file path (auto-uploaded as a downloadable asset), prompt used, duration, format, seed, and file size **Example:** ```json { "tool": "music-generator", "skill": "generate_music", "input": { "prompt": "Chill lo-fi hip hop beat with jazzy piano chords, warm vinyl crackle, and a slow relaxing groove at 80 BPM", "duration_seconds": 60, "force_instrumental": true } } ``` ### Voice Generator Convert text to lifelike speech with 1000+ voices across dozens of languages and accents. Fine-tune stability, speed, and style. Output as MP3 or raw PCM for streaming. For narrations, explainers, audiobooks, voice assistants, and demos. - **Version:** 0.02 - **Categories:** media, ai #### Generate Voice (`generate_voice`) Convert text to natural-sounding spoken audio using AI text-to-speech. Choose from a wide range of voices, adjust speech parameters like stability, speed, and style, and select from multiple output formats. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `text` | string | Yes | The text to convert to speech. Supports up to 5000 characters per request. | | `voice_id` | string | No | Voice ID to use. Defaults to "JBFqnCBsd6RMkjVDRZzb" (George). Use list_voices to see all available voices. [default: "JBFqnCBsd6RMkjVDRZzb"] | | `model_id` | string | No | Model to use for generation. Defaults to "eleven_multilingual_v2" which supports 29 languages. [default: "eleven_multilingual_v2"] | | `stability` | number | No | Voice stability (0-1). Lower values produce more expressive and variable speech. Higher values produce more consistent and stable output. | | `similarity_boost` | number | No | Similarity boost (0-1). Higher values make the voice more closely match the original voice sample. Lower values allow more creative variation. | | `style` | number | No | Style exaggeration (0-1). Higher values amplify the style of the original speaker. Recommended to keep at 0 for most use cases. | | `speed` | number | No | Speech speed multiplier (0.25-4.0). 1.0 is normal speed, 0.5 is half speed, 2.0 is double speed. | | `output_format` | string | No | Audio output format and quality. Defaults to "mp3_44100_128". Higher bitrate = better quality but larger files. (mp3_22050_32, mp3_44100_64, mp3_44100_128, mp3_44100_192, pcm_16000, pcm_22050, pcm_24000, pcm_44100, ulaw_8000) [default: "mp3_44100_128"] | **Returns:** Audio file path (auto-uploaded), voice and model IDs, text length, output format, and file size **Example:** ```json { "tool": "voice-generator", "skill": "generate_voice", "input": { "text": "Welcome to ToolRouter, the universal API for AI agent tools." } } ``` #### List Voices (`list_voices`) List all available voices with their IDs, names, categories, labels, descriptions, and audio preview URLs. Use this to discover voice options before generating speech. **Returns:** Array of voice objects with voice_id, name, category, labels, description, and preview_url **Example:** ```json { "tool": "voice-generator", "skill": "list_voices", "input": {} } ``` ### Audio Isolator Separate vocals from background music, noise, and instrumentation in any audio file using AI. Returns a clean track with just the isolated voice. Useful for podcast cleanup, music production, and interview extraction. - **Version:** 0.02 - **Categories:** media, ai #### Isolate Vocals (`isolate_vocals`) Isolate vocals from an audio file by removing background music, noise, and instrumentation using AI. Provide a URL to any audio file and receive a cleaned audio track with isolated vocals. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `audio_url` | string | Yes | URL of the audio file to process. Must be a publicly accessible URL pointing to an audio file (MP3, WAV, M4A, etc.). | **Returns:** Audio file path (auto-uploaded as a downloadable asset) and file size in bytes **Example:** ```json { "tool": "audio-isolator", "skill": "isolate_vocals", "input": { "audio_url": "https://example.com/song-with-vocals.mp3" } } ``` ### Audio Transcriber Convert spoken audio into accurate text with AI speech recognition. Supports 99+ languages, speaker diarization, word-level timestamps, and audio event tagging. Perfect for meetings, interviews, podcasts, and lectures. - **Version:** 0.02 - **Categories:** media, ai #### Transcribe Audio (`transcribe_audio`) Transcribe an audio file from a URL to text using AI speech-to-text. Supports speaker diarization, word-level and character-level timestamps, audio event tagging, and automatic language detection for 99+ languages. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `audio_url` | string | Yes | Publicly accessible URL of the audio file to transcribe (MP3, WAV, M4A, FLAC, OGG, etc.) | | `language_code` | string | No | ISO 639-1 language code (e.g. "en", "es", "fr"). If omitted, language is auto-detected. | | `diarize` | boolean | No | Enable speaker diarization to identify and label different speakers in the audio. | | `num_speakers` | integer | No | Expected number of speakers (1-32). Helps improve diarization accuracy when known. | | `timestamps_granularity` | string | No | Granularity of timestamps in the response. "word" returns per-word timing, "character" returns per-character timing. (none, word, character) | | `tag_audio_events` | boolean | No | Tag non-speech audio events such as laughter, applause, music, and background noise. | **Returns:** Full transcription text, word-level timing data with speaker labels, detected language, and confidence scores **Example:** ```json { "tool": "audio-transcriber", "skill": "transcribe_audio", "input": { "audio_url": "https://example.com/podcast-episode.mp3" } } ``` ### Voice Transformer Convert an audio recording into a different voice while preserving pacing, emotion, and delivery. Provide source audio and a target voice ID for speech-to-speech conversion. For anonymization, dubbing, localization, and brand voice matching. Includes noise removal. - **Version:** 0.02 - **Categories:** media, ai #### Transform Voice (`transform_voice`) Convert speech audio into a different voice while preserving the original emotion, delivery, and pacing. Provide a source audio URL and a target voice ID to produce a transformed audio file with fine-grained control over stability, similarity, and style. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `audio_url` | string | Yes | URL of the source audio file to transform. Must be a publicly accessible URL (MP3, WAV, or other common audio format). | | `voice_id` | string | Yes | Voice ID of the target voice. Use the voice-generator list_voices action to browse available voices. | | `model_id` | string | No | Speech-to-speech model to use. Defaults to "eleven_english_sts_v2". [default: "eleven_english_sts_v2"] | | `stability` | number | No | Voice stability (0-1). Lower values produce more expressive and variable output. Higher values produce more consistent results. | | `similarity_boost` | number | No | Similarity boost (0-1). Higher values make the output more closely match the target voice. Lower values allow more creative variation. | | `style` | number | No | Style exaggeration (0-1). Higher values amplify the style of the target voice. Recommended to keep low for natural results. | | `remove_background_noise` | boolean | No | Whether to remove background noise from the source audio before transformation. Defaults to false. [default: false] | | `seed` | number | No | Random seed for reproducible transformations. Same seed with same input should produce similar results. | | `output_format` | string | No | Audio output format and quality. Defaults to "mp3_44100_128". Higher bitrate means better quality but larger files. (mp3_22050_32, mp3_44100_64, mp3_44100_128, mp3_44100_192, pcm_16000, pcm_22050, pcm_24000, pcm_44100, ulaw_8000) [default: "mp3_44100_128"] | **Returns:** Transformed audio file path (auto-uploaded), target voice ID, model ID, noise removal status, output format, and file size **Example:** ```json { "tool": "voice-transformer", "skill": "transform_voice", "input": { "audio_url": "https://example.com/podcast-clip.mp3", "voice_id": "JBFqnCBsd6RMkjVDRZzb" } } ``` ### Audio Dubber Translate audio or video into natural-sounding dubbed versions in any language using AI voice synthesis. Preserves timing and multiple speakers. Ideal for creators and businesses reaching international audiences. - **Version:** 0.02 - **Categories:** media, ai #### Dub Audio (`dub_audio`) Start an asynchronous dubbing job to translate audio or video into a target language. Provide a publicly accessible source URL and the desired target language code. Returns a dubbing_id to check status and retrieve the result with get_dubbed_audio. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `source_url` | string | Yes | Publicly accessible URL of the audio or video file to dub. Supports common formats including MP3, MP4, WAV, and M4A. | | `target_lang` | string | Yes | Target language code for dubbed output (e.g. "es", "fr", "de", "ja", "zh", "pt"). | | `source_lang` | string | No | Source language code of the original audio. Defaults to "auto" for automatic detection. Set explicitly for better accuracy (e.g. "en" for English). [default: "auto"] | | `num_speakers` | integer | No | Number of speakers in the audio. Defaults to 0 for automatic detection. Set explicitly if auto-detection is inaccurate. | | `name` | string | No | Optional project name for organizing dubbing jobs. | | `drop_background_audio` | boolean | No | Whether to remove background audio (music, ambient sounds) from the dubbed output. Defaults to false. [default: false] | | `highest_resolution` | boolean | No | Whether to use the highest resolution processing for better quality. May increase processing time and cost. Defaults to false. [default: false] | | `start_time` | integer | No | Start time in seconds to begin dubbing from. Useful for dubbing a specific segment. | | `end_time` | integer | No | End time in seconds to stop dubbing at. Useful for dubbing a specific segment. | **Returns:** Dubbing job ID, estimated processing duration, target language, and source language. Use the dubbing_id with get_dubbed_audio to retrieve the translated audio once processing completes. **Example:** ```json { "tool": "audio-dubber", "skill": "dub_audio", "input": { "source_url": "https://example.com/video.mp4", "target_lang": "es", "source_lang": "en" } } ``` #### Get Dubbed Audio (`get_dubbed_audio`) Check the status of a dubbing job and retrieve the translated audio file when complete. Provide the dubbing_id from a previous dub_audio call and the target language code. If processing is still in progress, returns the current status so you can poll again later. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `dubbing_id` | string | Yes | The dubbing job ID returned by a previous dub_audio call. | | `language_code` | string | Yes | The target language code to retrieve the dubbed audio for. Must match the target_lang used in the original dub_audio call. | **Returns:** When complete: dubbed audio file path (auto-uploaded as downloadable asset), dubbing ID, language code, status, and file size. When pending: current status and a message to try again later. **Example:** ```json { "tool": "audio-dubber", "skill": "get_dubbed_audio", "input": { "dubbing_id": "dub_abc123def456", "language_code": "es" } } ``` ### Deep Research Turn any question into a cited research report by searching and synthesizing multiple web sources. Cross-references findings with field-level citations and confidence scores. Multiple depth tiers from quick lookups to analyst-grade deep dives. - **Version:** 0.02 - **Categories:** search, data, analytics #### Deep Research (`research`) Run deep research on any topic. Automatically explores multiple web sources, cross-references findings, and returns structured intelligence with citations. Choose a processor tier to control depth vs speed. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Natural language research query — be specific and detailed for best results (max 15,000 chars) | | `processor` | string | No | Research depth tier. lite/base: quick. core: cross-referenced. pro: web research (2-10min). ultra: deep research (5-25min). Add -fast for speed. (lite, base, core, core2x, pro, ultra, ultra2x, ultra4x, ultra8x, lite-fast, base-fast, core-fast, core2x-fast, pro-fast, ultra-fast, ultra2x-fast, ultra4x-fast, ultra8x-fast) [default: "pro"] | | `output_mode` | string | No | Output format. auto: structured JSON with field-level citations. text: markdown report with inline citations. (auto, text) [default: "auto"] | | `output_description` | string | No | Guidance for text mode output — e.g. "focus on market size and key players" or "keep it under 2000 words" | | `source_domains` | array | No | Only use sources from these domains (e.g. ["reuters.com", "bloomberg.com"]) | | `exclude_domains` | array | No | Exclude sources from these domains | **Returns:** Structured research findings with field-level citations, confidence scores, and source excerpts. Content is either structured JSON (auto mode) or a markdown report (text mode). **Example:** ```json { "tool": "deep-research", "skill": "research", "input": { "query": "What is the current market size of the global AI agent platform market? Who are the key players and what are the growth projections?", "processor": "pro" } } ``` ### Localize App Store Screenshots Translate text in App Store and Play Store screenshots into any language while preserving layout, branding, UI, and icons. Handles currency and date formats for cultural accuracy. Go from English to a localized set ready for submission — no designer needed. - **Version:** 0.02 - **Categories:** media, marketing #### Get App Store Screenshots (`get_screenshots`) Fetch high-resolution screenshots and metadata from the Apple App Store for any app. Returns 1290x2796 screenshot URLs, app name, subtitle, icon, and category. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `app_store_url` | string | No | Full Apple App Store URL (e.g. https://apps.apple.com/us/app/example/id123456789). Provide this or app_id. | | `app_id` | string | No | Numeric Apple App Store ID (e.g. "284882215" for Facebook). Provide this or app_store_url. | | `country` | string | No | Two-letter country code for the App Store region (e.g. "us", "gb", "jp"). Defaults to "us". [default: "us"] | **Returns:** High-resolution screenshot URLs (1290x2796), app name, subtitle, icon URL, and primary category **Example:** ```json { "tool": "localize-app-store-screenshots", "skill": "get_screenshots", "input": { "app_store_url": "https://apps.apple.com/us/app/facebook/id284882215" } } ``` #### Localize Screenshot (`localize_screenshot`) Translate all text in an app screenshot to a target language using AI while preserving layout, branding, UI structure, icons, and visual identity. Adapts currency symbols and date formats. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `image` | string | Yes | Source screenshot to localize. Can be a local file path or an HTTP(S) URL. | | `language` | string | Yes | Target language for translation (e.g. "Japanese", "French", "Brazilian Portuguese"). | | `country` | string | Yes | Target country or region for cultural adaptation (e.g. "Japan", "France", "Brazil"). | **Returns:** Local file path to the localized screenshot JPEG, target language, and country **Example:** ```json { "tool": "localize-app-store-screenshots", "skill": "localize_screenshot", "input": { "image": "/path/to/screenshot.png", "language": "Japanese", "country": "Japan" } } ``` ### Restyle App Store Screenshots Transfer the visual style of any inspiration app onto your App Store screenshots using AI image generation. Produces a full restyled set at App Store resolution (1290x2796). Great for A/B testing creative directions or refreshing store pages without a design sprint. - **Version:** 0.02 - **Categories:** media, marketing #### Get App Store Screenshots (`get_screenshots`) Fetch high-resolution screenshots and metadata from the Apple App Store for any app. Returns 1290x2796 screenshot URLs, app name, subtitle, icon, and category. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `app_store_url` | string | No | Full Apple App Store URL (e.g. https://apps.apple.com/us/app/example/id123456789). Provide this or app_id. | | `app_id` | string | No | Numeric Apple App Store ID (e.g. "284882215" for Facebook). Provide this or app_store_url. | | `country` | string | No | Two-letter country code for the App Store region (e.g. "us", "gb", "jp"). Defaults to "us". [default: "us"] | **Returns:** High-resolution screenshot URLs (1290x2796), app name, subtitle, icon URL, and primary category **Example:** ```json { "tool": "restyle-app-store-screenshots", "skill": "get_screenshots", "input": { "app_store_url": "https://apps.apple.com/us/app/facebook/id284882215" } } ``` #### Generate Overview Strip (`generate_overview`) Generate an overview strip that transfers the visual style of inspiration screenshots onto source app screenshots. Creates a horizontal strip with all slots rendered in the inspiration style while preserving the source app UI content. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `source_images` | array | Yes | Array of source app screenshot paths or URLs (the app whose UI content to keep). Max 10 images. | | `inspiration_images` | array | Yes | Array of inspiration app screenshot paths or URLs (the app whose visual style to copy). Max 10 images. | | `source_app_name` | string | No | Name of the source app (used in marketing text generation). | | `source_app_description` | string | No | Description of the source app (used for context in marketing text). | | `inspiration_app_name` | string | No | Name of the inspiration app (used for prompt context). | | `feedback` | string | No | Optional user feedback to adjust the generation (e.g. "make backgrounds darker"). | **Returns:** Local file path to the overview strip PNG, slot count, source app name, and inspiration app name **Example:** ```json { "tool": "restyle-app-store-screenshots", "skill": "generate_overview", "input": { "source_images": [ "https://is1-ssl.mzstatic.com/image/thumb/example1/1290x2796bb.jpg", "https://is1-ssl.mzstatic.com/image/thumb/example2/1290x2796bb.jpg" ], "inspiration_images": [ "https://is1-ssl.mzstatic.com/image/thumb/example3/1290x2796bb.jpg", "https://is1-ssl.mzstatic.com/image/thumb/example4/1290x2796bb.jpg" ], "source_app_name": "My App", "inspiration_app_name": "Beautiful App" } } ``` #### Extract Individual Screenshots (`extract_slots`) Extract and upscale individual screenshots from an overview strip. Analyzes slot mapping to determine source content, then generates each slot at full App Store resolution (1290x2796) with proper UI insertion and style preservation. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `overview_image` | string | Yes | Path or URL to the overview strip image generated by generate_overview. | | `source_images` | array | Yes | Array of original source app screenshot paths or URLs (for UI content extraction). | | `inspiration_images` | array | No | Optional array of inspiration screenshot paths or URLs (for per-slot style reference). | | `slot_count` | number | No | Number of slots to extract. Defaults to the number of source images. | | `slot_mapping` | object | No | Optional pre-computed slot mapping from a previous analysis. If not provided, automatic analysis will be performed. | **Returns:** Array of local file paths to extracted screenshot JPEGs, slot count, and the slot mapping used **Example:** ```json { "tool": "restyle-app-store-screenshots", "skill": "extract_slots", "input": { "overview_image": "/path/to/overview.png", "source_images": [ "https://is1-ssl.mzstatic.com/image/thumb/example1/1290x2796bb.jpg", "https://is1-ssl.mzstatic.com/image/thumb/example2/1290x2796bb.jpg" ] } } ``` ### QR Code Generator Generate scannable QR codes for URLs, text, WiFi credentials, or contact cards. Outputs permanent image URLs in PNG, SVG, JPG, or GIF with control over size, colors, error correction, and margins. Ideal for marketing materials, events, and business cards. - **Version:** 0.02 - **Categories:** productivity, media #### Generate QR Code (`generate_qr`) Generate a QR code from any text or URL. Returns a permanent image URL and downloadable file. Supports custom size, colors, format (PNG/SVG/JPG/GIF), and error correction level. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `data` | string | Yes | The content to encode in the QR code — a URL, plain text, email address, phone number, or any string up to ~900 characters | | `size` | number | No | QR code image size in pixels (10–1000, default 300). The image is always square. [default: 300] | | `format` | string | No | Output image format (default "png"). Use "svg" for scalable vector output. (png, svg, jpg, gif) [default: "png"] | | `ecc` | string | No | Error correction level: L (~7%), M (~15%), Q (~25%), H (~30%). Higher = more resilient but denser. Default "M". (L, M, Q, H) [default: "M"] | | `color` | string | No | QR code foreground color as hex (e.g. "#000000", "FF0000"). Default is black. | | `bgcolor` | string | No | Background color as hex (e.g. "#FFFFFF", "FFF"). Default is white. | | `margin` | number | No | Quiet zone margin in pixels (0–50). Default 1. | **Returns:** QR code image URL (permanent), downloadable image via asset system, image dimensions, and encoded data length **Example:** ```json { "tool": "qr-code-generator", "skill": "generate_qr", "input": { "data": "https://toolrouter.com" } } ``` #### Generate WiFi QR Code (`generate_wifi_qr`) Generate a QR code that lets people connect to a WiFi network by scanning. Encodes SSID, password, and encryption type in the standard WiFi QR format. Scanning auto-connects on most phones. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `ssid` | string | Yes | The WiFi network name (SSID) | | `password` | string | No | The WiFi password. Omit for open networks. | | `encryption` | string | No | Encryption type: "WPA" (WPA/WPA2/WPA3), "WEP" (legacy), "nopass" (open). Auto-detects based on password presence. (WPA, WEP, nopass) [default: "WPA"] | | `hidden` | boolean | No | Whether the network is hidden (not broadcasting SSID). Default false. [default: false] | | `size` | number | No | QR code image size in pixels (default 300) [default: 300] | | `format` | string | No | Output image format (default "png") (png, svg, jpg, gif) [default: "png"] | | `ecc` | string | No | Error correction level (default "H" for WiFi QR — higher resilience when printed) (L, M, Q, H) [default: "H"] | | `color` | string | No | QR code foreground color as hex | | `bgcolor` | string | No | Background color as hex | **Returns:** WiFi QR code image URL, downloadable image, network details (SSID, encryption, hidden status) **Example:** ```json { "tool": "qr-code-generator", "skill": "generate_wifi_qr", "input": { "ssid": "MyHomeWifi", "password": "supersecret123" } } ``` #### Generate Contact QR Code (`generate_vcard_qr`) Generate a QR code containing a vCard contact card. When scanned, the contact is automatically added to the phone's address book. Supports name, phone, email, organization, title, URL, and address. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `first_name` | string | Yes | Contact first name (required) | | `last_name` | string | No | Contact last name | | `phone` | string | No | Phone number (e.g. "+1-555-123-4567") | | `email` | string | No | Email address | | `organization` | string | No | Company or organization name | | `title` | string | No | Job title or role | | `url` | string | No | Website URL | | `address` | string | No | Street address | | `note` | string | No | Additional notes about the contact | | `size` | number | No | QR code image size in pixels (default 300) [default: 300] | | `format` | string | No | Output image format (default "png") (png, svg, jpg, gif) [default: "png"] | | `ecc` | string | No | Error correction level (default "M") (L, M, Q, H) [default: "M"] | | `color` | string | No | QR code foreground color as hex | | `bgcolor` | string | No | Background color as hex | **Returns:** Contact vCard QR code image URL, downloadable image, contact name, and list of included fields **Example:** ```json { "tool": "qr-code-generator", "skill": "generate_vcard_qr", "input": { "first_name": "Jane", "last_name": "Smith", "phone": "+1-555-123-4567", "email": "jane@example.com", "organization": "Acme Corp", "title": "CTO", "url": "https://acme.com" } } ``` ### Play Store ASO Research competitors, optimize store listings, manage screenshots, track releases, and respond to reviews on Google Play. Search keyword rankings, audit listings for gaps, update titles and descriptions across locales, and manage reviews. - **Version:** 0.02 - **Categories:** marketing, analytics #### Search Apps (`search_apps`) Search the Google Play Store for apps matching a search term. Returns app title, developer, rating, reviews, installs, and price for each result. Use this to see what apps rank for a given keyword. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `term` | string | Yes | Search term to look up | | `country` | string | No | Country code (e.g. us, gb, de, jp) [default: "us"] | | `num` | number | No | Number of results to return (max 20) [default: 10] | **Returns:** List of matching Android apps with title, developer, rating, review count, installs, price, and package name **Example:** ```json { "tool": "play-store-aso", "skill": "search_apps", "input": { "term": "fitness tracker", "country": "us", "num": 10 } } ``` #### App Details (`app_details`) Get full details for a specific Android app on Google Play Store. Returns title, rating, reviews, description, version, category, developer info, install counts, and more. Use a package name like "com.example.app". **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `app_id` | string | No | Android package name (e.g. "com.whatsapp") | | `country` | string | No | Country code [default: "us"] | **Returns:** Full Android app metadata including title, rating, reviews, description, version, category, installs, and developer info **Example:** ```json { "tool": "play-store-aso", "skill": "app_details", "input": { "app_id": "com.whatsapp" } } ``` #### Audit Listings (`audit_listings`) Audit all Google Play store listings across locales with warnings for missing or underutilized fields. Checks for empty short descriptions, full descriptions under 100 characters, and missing titles. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `package_name` | string | No | Android package name (e.g. "com.example.app"). Falls back to saved play_store_app_id. | **Returns:** Audit report with all locale listings and warnings for missing or short content **Example:** ```json { "tool": "play-store-aso", "skill": "audit_listings", "input": { "package_name": "com.example.app" } } ``` #### Export Listings (`export_listings`) Full export of all Google Play Store data including listings, images, tracks, and app details. Returns a comprehensive JSON backup of the entire store presence for a given package. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `package_name` | string | No | Android package name. Falls back to saved play_store_app_id. | **Returns:** Complete JSON export of all Play Store data: listings, images, tracks, and app details **Example:** ```json { "tool": "play-store-aso", "skill": "export_listings", "input": { "package_name": "com.example.app" } } ``` #### Update Listing (`update_listing`) Update a Google Play store listing for a specific locale. Supports title, short description, full description, and video URL. Defaults to dry-run mode — set dry_run to false to apply changes. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `package_name` | string | No | Android package name. Falls back to saved play_store_app_id. | | `locale` | string | Yes | Locale code (e.g. "en-US", "de-DE") | | `title` | string | No | New app title (max 30 chars) | | `short_description` | string | No | New short description (max 80 chars) | | `full_description` | string | No | New full description (max 4000 chars) | | `video_url` | string | No | Promo video URL | | `dry_run` | boolean | No | If true, show changes without applying them (default: true) [default: true] | **Returns:** List of changes applied (or that would be applied in dry-run mode) with old and new values **Example:** ```json { "tool": "play-store-aso", "skill": "update_listing", "input": { "package_name": "com.example.app", "locale": "en-US", "title": "My App", "short_description": "The best app ever", "dry_run": true } } ``` #### List Images (`list_images`) List images by type and locale for a Google Play store listing. Returns image IDs, URLs, and SHA256 hashes. Supports phone screenshots, feature graphics, icons, tablet screenshots, wear, and TV assets. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `package_name` | string | No | Android package name. Falls back to saved play_store_app_id. | | `locale` | string | No | Locale code (default: en-US) [default: "en-US"] | | `image_type` | string | Yes | Type of image to list (phoneScreenshots, featureGraphic, icon, sevenInchScreenshots, tenInchScreenshots, wearScreenshots, tvBanner, tvScreenshots) | **Returns:** List of images with IDs, URLs, and SHA256 hashes for the specified type and locale **Example:** ```json { "tool": "play-store-aso", "skill": "list_images", "input": { "package_name": "com.example.app", "image_type": "phoneScreenshots", "locale": "en-US" } } ``` #### Upload Image (`upload_image`) Upload an image (screenshot, icon, or feature graphic) to a Google Play store listing. Downloads the image from the provided URL and uploads it via the Google Play API. The edit is committed immediately. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `package_name` | string | No | Android package name. Falls back to saved play_store_app_id. | | `locale` | string | Yes | Locale code (e.g. "en-US") | | `image_type` | string | Yes | Type of image to upload (phoneScreenshots, featureGraphic, icon, sevenInchScreenshots, tenInchScreenshots, wearScreenshots, tvBanner, tvScreenshots) | | `image_url` | string | Yes | URL to download the image from | **Returns:** Confirmation of successful upload with the image ID, type, and locale **Example:** ```json { "tool": "play-store-aso", "skill": "upload_image", "input": { "package_name": "com.example.app", "locale": "en-US", "image_type": "phoneScreenshots", "image_url": "https://example.com/screenshot.png" } } ``` #### List Tracks (`list_tracks`) Query all release tracks with version info for a Google Play app. Returns track name, release status, version codes, user fraction (for staged rollouts), and release notes per locale. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `package_name` | string | No | Android package name. Falls back to saved play_store_app_id. | **Returns:** All release tracks with version codes, status, rollout fraction, and localized release notes **Example:** ```json { "tool": "play-store-aso", "skill": "list_tracks", "input": { "package_name": "com.example.app" } } ``` #### List Reviews (`list_reviews`) Fetch recent user reviews for a Google Play app. Returns review text, star rating, author, device info, app version, and any developer reply. Requires Google Play Console API access. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `package_name` | string | No | Android package name. Falls back to saved play_store_app_id. | | `max_results` | number | No | Maximum number of reviews to return (default: 20) [default: 20] | **Returns:** List of user reviews with rating, text, device info, app version, and developer reply status **Example:** ```json { "tool": "play-store-aso", "skill": "list_reviews", "input": { "package_name": "com.example.app", "max_results": 10 } } ``` #### Reply to Review (`reply_to_review`) Reply to a user review on Google Play. Requires the review ID (from list_reviews) and the reply text. The reply will be visible publicly on the Play Store listing. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `package_name` | string | No | Android package name. Falls back to saved play_store_app_id. | | `review_id` | string | Yes | Review ID to reply to (from list_reviews) | | `reply_text` | string | Yes | Reply text to post | **Returns:** Confirmation that the reply was posted with the review ID and reply text **Example:** ```json { "tool": "play-store-aso", "skill": "reply_to_review", "input": { "package_name": "com.example.app", "review_id": "abc123", "reply_text": "Thanks for the feedback!" } } ``` ### App Review Analysis Mine App Store and Google Play reviews to find what users love, hate, and where competitors fall short. Clusters themes with AI, tracks sentiment over time, and compares apps. - **Version:** 0.03 - **Categories:** analytics, marketing, ai #### Aggregate Reviews (`aggregate_reviews`) Fetch and normalize App Store and Play Store reviews across one or more apps so you can analyze one consistent review dataset. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `targets` | array | No | Apps to aggregate reviews for. Omit to use saved ios_app_id and/or play_store_app_id defaults. | | `country` | string | No | Country code used for review fetching. Defaults to "us". [default: "us"] | | `language` | string | No | Language code for Play Store review fetching. Defaults to "en". [default: "en"] | | `sort` | string | No | Review ordering: "recent" or "helpful". Defaults to "recent". (recent, helpful) [default: "recent"] | | `limit_per_target` | number | No | Maximum reviews to fetch per app target. Defaults to 50 and caps at 200. [default: 50] | **Returns:** Unified review dataset with normalized review rows, per-app summaries, and aggregate sentiment and rating stats **Example:** ```json { "tool": "app-review-analysis", "skill": "aggregate_reviews", "input": { "targets": [ { "platform": "ios", "app_id": "324684580", "label": "Spotify iOS", "role": "primary" }, { "platform": "android", "app_id": "com.spotify.music", "label": "Spotify Android", "role": "primary" } ], "country": "us", "limit_per_target": 20 } } ``` #### Cluster Themes (`cluster_themes`) Cluster reviews into what users love and hate so you can spot feature opportunities, recurring pain points worth solving, and the biggest product signals. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `targets` | array | No | Apps to analyze. Omit to use saved ios_app_id and/or play_store_app_id defaults. | | `country` | string | No | Country code used for review fetching. Defaults to "us". [default: "us"] | | `language` | string | No | Language code for Play Store review fetching. Defaults to "en". [default: "en"] | | `sort` | string | No | Review ordering: "recent" or "helpful". Defaults to "recent". (recent, helpful) [default: "recent"] | | `limit_per_target` | number | No | Maximum reviews to fetch per app before sampling for analysis. Defaults to 50. [default: 50] | | `max_themes` | number | No | Maximum number of themes to return. Defaults to 6 and caps at 10. [default: 6] | | `focus` | string | No | Optional angle for clustering such as bugs, onboarding, pricing, ads, or retention. | **Returns:** Theme clusters with evidence, severity, cross-app impact, and prioritized actions grounded in the sampled reviews **Example:** ```json { "tool": "app-review-analysis", "skill": "cluster_themes", "input": { "targets": [ { "platform": "ios", "app_id": "324684580", "label": "Spotify iOS", "role": "primary" }, { "platform": "android", "app_id": "com.spotify.music", "label": "Spotify Android", "role": "primary" } ], "country": "us", "limit_per_target": 25, "max_themes": 5 } } ``` #### Sentiment Trends (`sentiment_trends`) Track sentiment, rating mix, and recurring positive and negative terms over time so you can spot improving or declining review momentum. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `targets` | array | No | Apps to analyze. Omit to use saved ios_app_id and/or play_store_app_id defaults. | | `country` | string | No | Country code used for review fetching. Defaults to "us". [default: "us"] | | `language` | string | No | Language code for Play Store review fetching. Defaults to "en". [default: "en"] | | `sort` | string | No | Review ordering: "recent" or "helpful". Defaults to "recent". (recent, helpful) [default: "recent"] | | `limit_per_target` | number | No | Maximum reviews to fetch per app target. Defaults to 50. [default: 50] | | `bucket` | string | No | Time bucket for the trend series: day, week, or month. Defaults to week. (day, week, month) [default: "week"] | **Returns:** Sentiment and rating trend series with per-app direction changes plus the terms driving positive and negative feedback **Example:** ```json { "tool": "app-review-analysis", "skill": "sentiment_trends", "input": { "targets": [ { "platform": "ios", "app_id": "324684580", "label": "Spotify iOS", "role": "primary" }, { "platform": "android", "app_id": "com.spotify.music", "label": "Spotify Android", "role": "primary" } ], "country": "us", "limit_per_target": 30, "bucket": "week" } } ``` #### Compare Competitors (`compare_competitors`) Compare your app against competitors to find gaps worth exploiting — features users hate about them become opportunities for you. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `primary_target` | object | No | Your app to compare against competitors. Omit to use a saved default app when available. | | `competitor_targets` | array | Yes | Competitor apps to compare against the primary app. | | `country` | string | No | Country code used for review fetching. Defaults to "us". [default: "us"] | | `language` | string | No | Language code for Play Store review fetching. Defaults to "en". [default: "en"] | | `sort` | string | No | Review ordering: "recent" or "helpful". Defaults to "recent". (recent, helpful) [default: "recent"] | | `limit_per_target` | number | No | Maximum reviews to fetch per app before sampling for analysis. Defaults to 50. [default: 50] | | `focus` | string | No | Optional comparison angle such as pricing pain, onboarding, ad load, or feature depth. | **Returns:** Competitor comparison with per-app strengths and weaknesses, the primary app’s wins and gaps, and concrete next moves **Example:** ```json { "tool": "app-review-analysis", "skill": "compare_competitors", "input": { "primary_target": { "platform": "android", "app_id": "com.calm.android", "label": "Calm", "role": "primary" }, "competitor_targets": [ { "platform": "android", "app_id": "com.getsomeheadspace.android", "label": "Headspace", "role": "competitor" } ], "country": "us", "limit_per_target": 20 } } ``` ### Social Profiles Retrieve public profile data from 13 platforms: TikTok, Instagram, YouTube, Twitter/X, LinkedIn, Facebook, Reddit, Threads, Bluesky, Snapchat, Twitch, and Truth Social. Get follower counts, bios, verification, and audience data for influencer vetting and creator research. - **Version:** 0.02 - **Categories:** data, analytics #### Get TikTok Profile (`get_tiktok_profile`) Retrieve a TikTok user profile including bio, follower count, following count, likes, and verified status. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `handle` | string | Yes | TikTok username or handle | **Returns:** TikTok profile with bio, follower count, following count, total likes, and verification status **Example:** ```json { "tool": "social-profiles", "skill": "get_tiktok_profile", "input": { "handle": "charlidamelio" } } ``` #### Get Instagram Profile (`get_instagram_profile`) Retrieve an Instagram user profile including bio, follower count, following count, post count, and verified status. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `handle` | string | Yes | Instagram username or handle | **Returns:** Instagram profile with bio, follower count, following count, post count, and verification status **Example:** ```json { "tool": "social-profiles", "skill": "get_instagram_profile", "input": { "handle": "natgeo" } } ``` #### Get YouTube Channel (`get_youtube_channel`) Retrieve a YouTube channel profile including description, subscriber count, total views, video count, and creation date. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `handle` | string | Yes | YouTube handle (e.g. @mkbhd) | **Returns:** YouTube channel with description, subscriber count, total views, video count, and join date **Example:** ```json { "tool": "social-profiles", "skill": "get_youtube_channel", "input": { "handle": "@mkbhd" } } ``` #### Get Twitter Profile (`get_twitter_profile`) Retrieve a Twitter/X user profile including bio, follower count, following count, tweet count, and verified status. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `handle` | string | Yes | Twitter/X username or handle | **Returns:** Twitter profile with bio, follower count, following count, tweet count, and verification status **Example:** ```json { "tool": "social-profiles", "skill": "get_twitter_profile", "input": { "handle": "elonmusk" } } ``` #### Get LinkedIn Profile (`get_linkedin_profile`) Retrieve a LinkedIn personal profile including headline, summary, experience, education, and connection count. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full LinkedIn profile URL | **Returns:** LinkedIn profile with headline, summary, experience, education, skills, and connection count **Example:** ```json { "tool": "social-profiles", "skill": "get_linkedin_profile", "input": { "url": "https://www.linkedin.com/in/satyanadella/" } } ``` #### Get LinkedIn Company (`get_linkedin_company`) Retrieve a LinkedIn company page including description, industry, employee count, headquarters, and specialties. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full LinkedIn company profile URL | **Returns:** LinkedIn company with description, industry, employee count, headquarters, and founded year **Example:** ```json { "tool": "social-profiles", "skill": "get_linkedin_company", "input": { "url": "https://www.linkedin.com/company/google/" } } ``` #### Get Facebook Profile (`get_facebook_profile`) Retrieve a Facebook profile or page including name, bio, follower count, likes, and category information. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full Facebook profile URL | **Returns:** Facebook profile with name, bio, follower count, page likes, and category **Example:** ```json { "tool": "social-profiles", "skill": "get_facebook_profile", "input": { "url": "https://www.facebook.com/zuck" } } ``` #### Get Reddit Subreddit (`get_reddit_subreddit`) Retrieve subreddit information including description, member count, active users, creation date, and rules. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `subreddit` | string | Yes | Subreddit name without the r/ prefix (e.g. "programming") | **Returns:** Subreddit info with description, member count, active users, creation date, and community rules **Example:** ```json { "tool": "social-profiles", "skill": "get_reddit_subreddit", "input": { "subreddit": "programming" } } ``` #### Get Threads Profile (`get_threads_profile`) Retrieve a Threads user profile including bio, follower count, following count, and verified status. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `handle` | string | Yes | Threads username or handle | **Returns:** Threads profile with bio, follower count, following count, and verification status **Example:** ```json { "tool": "social-profiles", "skill": "get_threads_profile", "input": { "handle": "zuck" } } ``` #### Get Bluesky Profile (`get_bluesky_profile`) Retrieve a Bluesky user profile including display name, bio, follower count, following count, and post count. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `handle` | string | Yes | Bluesky username or handle | **Returns:** Bluesky profile with display name, bio, follower count, following count, and post count **Example:** ```json { "tool": "social-profiles", "skill": "get_bluesky_profile", "input": { "handle": "jay.bsky.team" } } ``` #### Get Truth Social Profile (`get_truthsocial_profile`) Retrieve a Truth Social user profile including display name, bio, follower count, following count, and post count. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `handle` | string | Yes | Truth Social username or handle | **Returns:** Truth Social profile with display name, bio, follower count, following count, and post count **Example:** ```json { "tool": "social-profiles", "skill": "get_truthsocial_profile", "input": { "handle": "realDonaldTrump" } } ``` #### Get Snapchat Profile (`get_snapchat_profile`) Retrieve a Snapchat user profile including display name, bitmoji, subscriber count, and snap score information. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `handle` | string | Yes | Snapchat username or handle | **Returns:** Snapchat profile with display name, bitmoji, subscriber count, and snap score **Example:** ```json { "tool": "social-profiles", "skill": "get_snapchat_profile", "input": { "handle": "djkhaled305" } } ``` #### Get Twitch Profile (`get_twitch_profile`) Retrieve a Twitch streamer profile including bio, follower count, total views, broadcaster type, and creation date. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `handle` | string | Yes | Twitch username or handle | **Returns:** Twitch profile with bio, follower count, total views, broadcaster type, and account creation date **Example:** ```json { "tool": "social-profiles", "skill": "get_twitch_profile", "input": { "handle": "ninja" } } ``` #### Get TikTok Followers (`get_tiktok_followers`) Retrieve the list of followers for a TikTok user, including their usernames, display names, and profile details. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `handle` | string | Yes | TikTok username or handle | **Returns:** List of TikTok followers with usernames, display names, and profile details **Example:** ```json { "tool": "social-profiles", "skill": "get_tiktok_followers", "input": { "handle": "charlidamelio" } } ``` #### Get TikTok Following (`get_tiktok_following`) Retrieve the list of accounts a TikTok user is following, including their usernames, display names, and profile details. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `handle` | string | Yes | TikTok username or handle | **Returns:** List of TikTok accounts the user follows with usernames, display names, and profile details **Example:** ```json { "tool": "social-profiles", "skill": "get_tiktok_following", "input": { "handle": "charlidamelio" } } ``` #### Get TikTok Audience Demographics (`get_tiktok_audience`) Get audience demographic data for a TikTok user. Currently returns audience breakdown by country. Costs 26 credits. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `handle` | string | Yes | TikTok username or handle | **Returns:** Audience location breakdown with country names, codes, counts, and percentages **Example:** ```json { "tool": "social-profiles", "skill": "get_tiktok_audience", "input": { "handle": "charlidamelio" } } ``` #### Get Reddit Subreddit Details (`get_reddit_subreddit_details`) Get detailed information about a subreddit including description, rules, moderators, and community settings. Pass a subreddit name or URL. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `subreddit` | string | No | Subreddit name without r/ prefix | | `url` | string | No | Full subreddit URL (alternative to name) | **Returns:** Detailed subreddit info with description, rules, moderators, and community settings **Example:** ```json { "tool": "social-profiles", "skill": "get_reddit_subreddit_details", "input": { "subreddit": "programming" } } ``` #### Detect Creator Age and Gender (`detect_age_gender`) Estimate the age and gender of a social media creator using AI analysis of their profile photo. The profile photo must clearly show a face. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | URL of the profile image or social media profile page | **Returns:** Estimated age range and gender of the creator based on their profile photo **Example:** ```json { "tool": "social-profiles", "skill": "detect_age_gender", "input": { "url": "https://www.tiktok.com/@creator" } } ``` ### Social Media Content Pull structured post and video data from TikTok, Instagram, YouTube, Twitter/X, Facebook, LinkedIn, Threads, Bluesky, Twitch, Kick, Pinterest, and Truth Social. Get captions, engagement metrics, media URLs, and timestamps for content research and competitor monitoring. - **Version:** 0.02 - **Categories:** data, media #### Get TikTok Videos (`get_tiktok_videos`) Get videos posted by a TikTok user including captions, view counts, and engagement metrics. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `handle` | string | Yes | Username or handle of the account (without @ prefix) | **Returns:** Array of TikTok videos with captions, view counts, likes, comments, and shares **Example:** ```json { "tool": "social-media-content", "skill": "get_tiktok_videos", "input": { "handle": "charlidamelio" } } ``` #### Get TikTok Video (`get_tiktok_video`) Get details of a specific TikTok video including caption, stats, and audio information. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the post, video, or content | **Returns:** TikTok video details with caption, author, view count, likes, comments, shares, and audio info **Example:** ```json { "tool": "social-media-content", "skill": "get_tiktok_video", "input": { "url": "https://www.tiktok.com/@charlidamelio/video/7234567890123456789" } } ``` #### Get TikTok Live (`get_tiktok_live`) Get live stream information for a TikTok user including stream status and viewer count. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `handle` | string | Yes | Username or handle of the account (without @ prefix) | **Returns:** TikTok live stream info with status, title, viewer count, and stream details **Example:** ```json { "tool": "social-media-content", "skill": "get_tiktok_live", "input": { "handle": "charlidamelio" } } ``` #### Get Instagram Posts (`get_instagram_posts`) Get posts from an Instagram user including images, captions, likes, and comments. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `handle` | string | Yes | Username or handle of the account (without @ prefix) | **Returns:** Array of Instagram posts with images, captions, like counts, and comment counts **Example:** ```json { "tool": "social-media-content", "skill": "get_instagram_posts", "input": { "handle": "natgeo" } } ``` #### Get Instagram Reels (`get_instagram_reels`) Get reels from an Instagram user including video details, views, and engagement metrics. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `handle` | string | Yes | Username or handle of the account (without @ prefix) | **Returns:** Array of Instagram reels with video URLs, view counts, likes, and comments **Example:** ```json { "tool": "social-media-content", "skill": "get_instagram_reels", "input": { "handle": "natgeo" } } ``` #### Get Instagram Highlights (`get_instagram_highlights`) Get story highlights from an Instagram user including highlight covers and titles. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `handle` | string | Yes | Username or handle of the account (without @ prefix) | **Returns:** Array of Instagram story highlights with titles, cover images, and media items **Example:** ```json { "tool": "social-media-content", "skill": "get_instagram_highlights", "input": { "handle": "natgeo" } } ``` #### Get Instagram Post (`get_instagram_post`) Get details of a specific Instagram post or reel including media, caption, and engagement. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the post, video, or content | **Returns:** Instagram post details with media URLs, caption, author, likes, comments, and timestamp **Example:** ```json { "tool": "social-media-content", "skill": "get_instagram_post", "input": { "url": "https://www.instagram.com/p/ABC123def456/" } } ``` #### Get YouTube Videos (`get_youtube_videos`) Get videos from a YouTube channel including titles, view counts, and publish dates. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `handle` | string | Yes | Username or handle of the account (without @ prefix) | **Returns:** Array of YouTube videos with titles, view counts, durations, thumbnails, and publish dates **Example:** ```json { "tool": "social-media-content", "skill": "get_youtube_videos", "input": { "handle": "mkbhd" } } ``` #### Get YouTube Shorts (`get_youtube_shorts`) Get shorts from a YouTube channel including titles, view counts, and thumbnails. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `handle` | string | Yes | Username or handle of the account (without @ prefix) | **Returns:** Array of YouTube shorts with titles, view counts, thumbnails, and publish dates **Example:** ```json { "tool": "social-media-content", "skill": "get_youtube_shorts", "input": { "handle": "mkbhd" } } ``` #### Get YouTube Video (`get_youtube_video`) Get details of a specific YouTube video including title, description, stats, and channel info. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the post, video, or content | **Returns:** YouTube video details with title, description, view count, likes, channel, duration, and publish date **Example:** ```json { "tool": "social-media-content", "skill": "get_youtube_video", "input": { "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" } } ``` #### Get YouTube Playlist (`get_youtube_playlist`) Get videos from a YouTube playlist including titles, channels, and video order. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `playlist_id` | string | Yes | YouTube playlist ID (e.g. PLrAXtmErZgOeiKm4sgNOknGvNjby9efdf) | **Returns:** Array of playlist videos with titles, channels, durations, and positions **Example:** ```json { "tool": "social-media-content", "skill": "get_youtube_playlist", "input": { "playlist_id": "PLrAXtmErZgOeiKm4sgNOknGvNjby9efdf" } } ``` #### Get YouTube Community Post (`get_youtube_community_post`) Get a YouTube community post including text content, images, polls, and engagement. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the post, video, or content | **Returns:** YouTube community post with text, images, poll data, likes, and comments **Example:** ```json { "tool": "social-media-content", "skill": "get_youtube_community_post", "input": { "url": "https://www.youtube.com/post/Ugkx1234567890abcdef" } } ``` #### Get Twitter Tweets (`get_twitter_tweets`) Get tweets from a Twitter/X user including text, media, likes, retweets, and replies. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `handle` | string | Yes | Username or handle of the account (without @ prefix) | **Returns:** Array of tweets with text, media, like count, retweet count, reply count, and timestamp **Example:** ```json { "tool": "social-media-content", "skill": "get_twitter_tweets", "input": { "handle": "elonmusk" } } ``` #### Get Twitter Tweet (`get_twitter_tweet`) Get details of a specific tweet including text, media, engagement metrics, and replies. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the post, video, or content | **Returns:** Tweet details with text, author, media, likes, retweets, replies, quotes, and timestamp **Example:** ```json { "tool": "social-media-content", "skill": "get_twitter_tweet", "input": { "url": "https://x.com/elonmusk/status/1234567890123456789" } } ``` #### Get Facebook Posts (`get_facebook_posts`) Get posts from a Facebook profile including text, media, reactions, and comments. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the post, video, or content | **Returns:** Array of Facebook posts with text, media, reaction counts, comments, and shares **Example:** ```json { "tool": "social-media-content", "skill": "get_facebook_posts", "input": { "url": "https://www.facebook.com/NASA" } } ``` #### Get Facebook Reels (`get_facebook_reels`) Get reels from a Facebook profile including video details, views, and reactions. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the post, video, or content | **Returns:** Array of Facebook reels with video URLs, view counts, reactions, and comments **Example:** ```json { "tool": "social-media-content", "skill": "get_facebook_reels", "input": { "url": "https://www.facebook.com/NASA" } } ``` #### Get Facebook Photos (`get_facebook_photos`) Get photos from a Facebook profile including image URLs, captions, and reactions. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the post, video, or content | **Returns:** Array of Facebook photos with image URLs, captions, reaction counts, and comments **Example:** ```json { "tool": "social-media-content", "skill": "get_facebook_photos", "input": { "url": "https://www.facebook.com/NASA" } } ``` #### Get Facebook Post (`get_facebook_post`) Get details of a specific Facebook post including text, media, reactions, and comments. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the post, video, or content | **Returns:** Facebook post details with text, media, author, reactions, comments, shares, and timestamp **Example:** ```json { "tool": "social-media-content", "skill": "get_facebook_post", "input": { "url": "https://www.facebook.com/NASA/posts/1234567890" } } ``` #### Get Facebook Group Posts (`get_facebook_group_posts`) Get posts from a Facebook group including text, media, reactions, and member activity. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the post, video, or content | **Returns:** Array of Facebook group posts with text, author, media, reactions, comments, and timestamp **Example:** ```json { "tool": "social-media-content", "skill": "get_facebook_group_posts", "input": { "url": "https://www.facebook.com/groups/reactjs" } } ``` #### Get LinkedIn Post (`get_linkedin_post`) Get details of a specific LinkedIn post including text, media, reactions, and comments. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the post, video, or content | **Returns:** LinkedIn post details with text, author, media, reaction counts, comments, and reposts **Example:** ```json { "tool": "social-media-content", "skill": "get_linkedin_post", "input": { "url": "https://www.linkedin.com/posts/satyanadella_activity-1234567890" } } ``` #### Get Threads Post (`get_threads_post`) Get details of a specific Threads post including text, media, likes, and replies. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the post, video, or content | **Returns:** Threads post details with text, author, media, like count, reply count, and timestamp **Example:** ```json { "tool": "social-media-content", "skill": "get_threads_post", "input": { "url": "https://www.threads.net/@zuck/post/ABC123def456" } } ``` #### Get Bluesky Post (`get_bluesky_post`) Get details of a specific Bluesky post including text, media, likes, and reposts. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the post, video, or content | **Returns:** Bluesky post details with text, author, media, like count, repost count, and timestamp **Example:** ```json { "tool": "social-media-content", "skill": "get_bluesky_post", "input": { "url": "https://bsky.app/profile/jay.bsky.team/post/3abc123def456" } } ``` #### Get Twitch Clip (`get_twitch_clip`) Get details of a Twitch clip including title, streamer, game, duration, and view count. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the post, video, or content | **Returns:** Twitch clip details with title, streamer, game, duration, view count, and thumbnail **Example:** ```json { "tool": "social-media-content", "skill": "get_twitch_clip", "input": { "url": "https://clips.twitch.tv/ExampleClipName-AbCdEfGhIj123" } } ``` #### Get Kick Clip (`get_kick_clip`) Get details of a Kick clip including title, streamer, category, duration, and view count. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the post, video, or content | **Returns:** Kick clip details with title, streamer, category, duration, view count, and thumbnail **Example:** ```json { "tool": "social-media-content", "skill": "get_kick_clip", "input": { "url": "https://kick.com/streamer/clips/clip_ABC123" } } ``` #### Get Pinterest Pin (`get_pinterest_pin`) Get details of a Pinterest pin including image, description, saves, and source link. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the post, video, or content | **Returns:** Pinterest pin details with image URL, title, description, save count, and source link **Example:** ```json { "tool": "social-media-content", "skill": "get_pinterest_pin", "input": { "url": "https://www.pinterest.com/pin/1234567890/" } } ``` #### Get Pinterest Board (`get_pinterest_board`) Get all pins from a Pinterest board including images, descriptions, and save counts. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the post, video, or content | **Returns:** Array of pins from the board with image URLs, titles, descriptions, and save counts **Example:** ```json { "tool": "social-media-content", "skill": "get_pinterest_board", "input": { "url": "https://www.pinterest.com/user/board-name/" } } ``` #### Get Pinterest User Boards (`get_pinterest_boards`) Get all boards from a Pinterest user including board names, pin counts, and cover images. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `handle` | string | Yes | Username or handle of the account (without @ prefix) | **Returns:** Array of Pinterest boards with names, descriptions, pin counts, and cover images **Example:** ```json { "tool": "social-media-content", "skill": "get_pinterest_boards", "input": { "handle": "pinterest" } } ``` #### Get Truth Social Post (`get_truthsocial_post`) Get details of a specific Truth Social post including text, media, and engagement metrics. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the post, video, or content | **Returns:** Truth Social post details with text, media, author, likes, reposts, and timestamp **Example:** ```json { "tool": "social-media-content", "skill": "get_truthsocial_post", "input": { "url": "https://truthsocial.com/@realDonaldTrump/posts/123456789" } } ``` #### Get Truth Social User Posts (`get_truthsocial_posts`) Get posts from a Truth Social user. Currently limited to prominent/verified users by the platform. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `handle` | string | Yes | Username or handle of the account (without @ prefix) | **Returns:** Array of Truth Social posts with text, media, likes, reposts, and timestamps **Example:** ```json { "tool": "social-media-content", "skill": "get_truthsocial_posts", "input": { "handle": "realDonaldTrump" } } ``` #### Get Threads User Posts (`get_threads_posts`) Get posts from a Threads user. Returns the most recent 20-30 posts (platform limitation). **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `handle` | string | Yes | Username or handle of the account (without @ prefix) | **Returns:** Array of Threads posts with text, media, likes, replies, and timestamps **Example:** ```json { "tool": "social-media-content", "skill": "get_threads_posts", "input": { "handle": "zuck" } } ``` #### Get Bluesky User Posts (`get_bluesky_posts`) Get posts from a Bluesky user including text, media, likes, and reposts. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `handle` | string | Yes | Username or handle of the account (without @ prefix) | **Returns:** Array of Bluesky posts with text, media, like count, repost count, and timestamps **Example:** ```json { "tool": "social-media-content", "skill": "get_bluesky_posts", "input": { "handle": "jay.bsky.team" } } ``` #### Get LinkedIn Company Posts (`get_linkedin_company_posts`) Get posts from a LinkedIn company page. Limited to 7 pages of results (platform limitation). **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the post, video, or content | **Returns:** Array of LinkedIn company posts with text, media, reactions, comments, and timestamps **Example:** ```json { "tool": "social-media-content", "skill": "get_linkedin_company_posts", "input": { "url": "https://www.linkedin.com/company/google/" } } ``` #### Get Twitter Community (`get_twitter_community`) Get details of a Twitter/X Community including name, description, member count, and rules. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the post, video, or content | **Returns:** Twitter community details with name, description, member count, and rules **Example:** ```json { "tool": "social-media-content", "skill": "get_twitter_community", "input": { "url": "https://x.com/i/communities/1234567890" } } ``` #### Get Twitter Community Tweets (`get_twitter_community_tweets`) Get tweets from a Twitter/X Community including text, media, and engagement metrics. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the post, video, or content | **Returns:** Array of community tweets with text, author, media, likes, retweets, and timestamps **Example:** ```json { "tool": "social-media-content", "skill": "get_twitter_community_tweets", "input": { "url": "https://x.com/i/communities/1234567890" } } ``` #### Get Instagram Highlight Detail (`get_instagram_highlight_detail`) Get the full media items from a specific Instagram story highlight by its ID. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `id` | string | Yes | Instagram highlight ID | **Returns:** Highlight detail with all media items including images, videos, and timestamps **Example:** ```json { "tool": "social-media-content", "skill": "get_instagram_highlight_detail", "input": { "id": "17890534567890123" } } ``` ### Social Media Search Search TikTok, YouTube, Reddit, Pinterest, Threads, Instagram, and Google from one tool. Find creators, trending videos, hashtags, and discussions across the social web for influencer discovery, market research, and trend tracking. - **Version:** 0.02 - **Categories:** search, data #### Search TikTok Users (`search_tiktok_users`) Search for TikTok users matching a query. Returns user profiles with follower counts, bios, and verification status. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search query string | **Returns:** Array of TikTok user profiles with username, display name, follower count, and bio **Example:** ```json { "tool": "social-media-search", "skill": "search_tiktok_users", "input": { "query": "fitness coach" } } ``` #### Search TikTok Keywords (`search_tiktok_keywords`) Search TikTok videos by keyword. Returns videos with engagement metrics, captions, and author information. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search query string | **Returns:** Array of TikTok videos with description, play count, likes, shares, and author details **Example:** ```json { "tool": "social-media-search", "skill": "search_tiktok_keywords", "input": { "query": "morning routine productivity" } } ``` #### Search TikTok Hashtags (`search_tiktok_hashtags`) Search TikTok content by hashtag. Returns videos and hashtag metadata including view counts and trending status. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `hashtag` | string | Yes | Hashtag to search for (without the # symbol) | **Returns:** Hashtag metadata with view count and related TikTok videos **Example:** ```json { "tool": "social-media-search", "skill": "search_tiktok_hashtags", "input": { "hashtag": "smallbusiness" } } ``` #### Search TikTok Top Results (`search_tiktok_top`) Get top TikTok search results for a query. Returns the highest-ranked mix of videos, users, and sounds. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search query string | **Returns:** Top-ranked TikTok results including videos, users, and sounds **Example:** ```json { "tool": "social-media-search", "skill": "search_tiktok_top", "input": { "query": "AI tools for creators" } } ``` #### Search YouTube (`search_youtube`) Search YouTube for videos, channels, and playlists. Returns results with titles, view counts, and channel information. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search query string | **Returns:** Array of YouTube results with title, view count, channel name, duration, and thumbnail **Example:** ```json { "tool": "social-media-search", "skill": "search_youtube", "input": { "query": "React Server Components tutorial" } } ``` #### Search YouTube Hashtag (`search_youtube_hashtag`) Search YouTube content by hashtag. Returns videos tagged with the specified hashtag and their engagement metrics. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `hashtag` | string | Yes | Hashtag to search for (without the # symbol) | **Returns:** Array of YouTube videos tagged with the hashtag, including title, views, and channel **Example:** ```json { "tool": "social-media-search", "skill": "search_youtube_hashtag", "input": { "hashtag": "webdev" } } ``` #### Search Reddit (`search_reddit`) Search Reddit posts and communities. Returns posts with titles, scores, comment counts, and subreddit information. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search query string | **Returns:** Array of Reddit posts with title, score, comment count, subreddit, and permalink **Example:** ```json { "tool": "social-media-search", "skill": "search_reddit", "input": { "query": "best IDE for TypeScript development" } } ``` #### Search Pinterest (`search_pinterest`) Search Pinterest for pins. Returns pins with images, descriptions, save counts, and board information. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search query string | **Returns:** Array of Pinterest pins with image URL, description, save count, and source link **Example:** ```json { "tool": "social-media-search", "skill": "search_pinterest", "input": { "query": "minimalist home office design" } } ``` #### Search Threads Users (`search_threads_users`) Search for users on Threads. Returns user profiles with follower counts, bios, and verification status. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search query string | **Returns:** Array of Threads user profiles with username, display name, follower count, and bio **Example:** ```json { "tool": "social-media-search", "skill": "search_threads_users", "input": { "query": "tech journalist" } } ``` #### Search Google (`search_google`) Search Google and get structured results. Returns organic listings, knowledge panels, and related searches. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search query string | **Returns:** Structured Google search results with organic listings, knowledge graph, and related searches **Example:** ```json { "tool": "social-media-search", "skill": "search_google", "input": { "query": "latest machine learning frameworks 2026" } } ``` #### Search Instagram Reels (`search_instagram_reels`) Search for Instagram reels by keyword. Uses Google Search to find reels since Instagram search requires login. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search query string | **Returns:** Array of Instagram reels matching the keyword with video URLs, captions, and engagement **Example:** ```json { "tool": "social-media-search", "skill": "search_instagram_reels", "input": { "query": "cooking recipes" } } ``` #### Search Reddit Subreddit (`search_reddit_subreddit`) Search within a specific subreddit for posts, comments, or media matching a query. Filter by sort order and timeframe. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `subreddit` | string | Yes | Subreddit name without the r/ prefix | | `query` | string | No | Search query string | | `sort` | string | No | Sort order for results (e.g. relevance, hot, new, top) | | `timeframe` | string | No | Time filter (e.g. hour, day, week, month, year, all) | **Returns:** Array of Reddit posts within the subreddit matching the query **Example:** ```json { "tool": "social-media-search", "skill": "search_reddit_subreddit", "input": { "subreddit": "programming", "query": "TypeScript tips" } } ``` ### Video Transcripts Extract text transcripts from social videos on TikTok, YouTube, Instagram, Twitter/X, and Facebook. Paste a video URL, get clean text back. Useful for content research, repurposing video to text, competitive analysis, and building training datasets. - **Version:** 0.02 - **Categories:** data, media #### Get TikTok Transcript (`get_tiktok_transcript`) Extract the spoken text transcript from a TikTok video. Returns the full transcribed audio content. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the video to extract the transcript from | **Returns:** Full spoken text transcript of the TikTok video **Example:** ```json { "tool": "video-transcripts", "skill": "get_tiktok_transcript", "input": { "url": "https://www.tiktok.com/@charlidamelio/video/7281923046182938922" } } ``` #### Get YouTube Transcript (`get_youtube_transcript`) Extract the spoken text transcript from a YouTube video or short. Returns the full transcribed audio content. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the video to extract the transcript from | **Returns:** Full spoken text transcript of the YouTube video or short **Example:** ```json { "tool": "video-transcripts", "skill": "get_youtube_transcript", "input": { "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" } } ``` #### Get Twitter Video Transcript (`get_twitter_transcript`) Extract the spoken text transcript from a Twitter/X video tweet. Uses AI transcription so may be slightly slow. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the video to extract the transcript from | **Returns:** Full spoken text transcript of the Twitter video tweet **Example:** ```json { "tool": "video-transcripts", "skill": "get_twitter_transcript", "input": { "url": "https://x.com/elonmusk/status/1234567890123456789" } } ``` #### Get Instagram Transcript (`get_instagram_transcript`) Extract the spoken text transcript from an Instagram post or reel video. Uses AI transcription so may be slightly slow. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the video to extract the transcript from | **Returns:** Full spoken text transcript of the Instagram video or reel **Example:** ```json { "tool": "video-transcripts", "skill": "get_instagram_transcript", "input": { "url": "https://www.instagram.com/reel/ABC123def456/" } } ``` #### Get Facebook Transcript (`get_facebook_transcript`) Extract the spoken text transcript from a Facebook post or reel video. Only works for videos with spoken content. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the video to extract the transcript from | **Returns:** Full spoken text transcript of the Facebook video or reel **Example:** ```json { "tool": "video-transcripts", "skill": "get_facebook_transcript", "input": { "url": "https://www.facebook.com/watch/?v=1234567890" } } ``` ### Ad Library Search Browse the public ad libraries of Facebook, Google, LinkedIn, and Reddit. Search by keyword or company name to surface active creatives, impression data, and ad copy. Built for marketers and strategists tracking competitive messaging. - **Version:** 0.02 - **Categories:** marketing, analytics #### Search Facebook Ads (`search_facebook_ads`) Search the Facebook (Meta) Ad Library by keyword. Filter by country, status, media type, date range, and more. Returns up to ~1,500 results with pagination. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Keyword to search for in ads | | `country` | string | No | Two-letter country code to filter by (e.g. "US", "GB"). Defaults to ALL | | `status` | string | No | Ad status filter. Defaults to ACTIVE (ALL, ACTIVE, INACTIVE) | | `media_type` | string | No | Media type filter. Defaults to ALL (ALL, IMAGE, VIDEO, MEME, IMAGE_AND_MEME, NONE) | | `sort_by` | string | No | Sort by impressions or most recent. Defaults to impressions (total_impressions, relevancy_monthly_grouped) | | `search_type` | string | No | Search by keyword or exact phrase (keyword_unordered, keyword_exact_phrase) | | `ad_type` | string | No | Filter for political/issue ads or all ads (all, political_and_issue_ads) | | `start_date` | string | No | Impressions start date in YYYY-MM-DD format | | `end_date` | string | No | Impressions end date in YYYY-MM-DD format | | `cursor` | string | No | Pagination cursor from previous response | | `trim` | boolean | No | Set to true for a trimmed response | **Returns:** List of Facebook ads with ad content, impressions data, media assets, and advertiser information **Example:** ```json { "tool": "ad-library-search", "skill": "search_facebook_ads", "input": { "query": "running shoes" } } ``` #### Search Facebook Ad Companies (`search_facebook_ad_companies`) Search for companies in the Facebook Ad Library by name. Returns company names and their ad library page IDs, which can be used with get_facebook_company_ads. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Company name to search for | **Returns:** List of companies with their names and ad library page IDs **Example:** ```json { "tool": "ad-library-search", "skill": "search_facebook_ad_companies", "input": { "query": "Nike" } } ``` #### Get Facebook Company Ads (`get_facebook_company_ads`) Get all ads a company is running on Facebook/Meta. Search by company name or page ID. Filter by country, status, media type, language, and date range. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `company_name` | string | No | Company name to get ads for | | `page_id` | string | No | Ad library page ID (from search_facebook_ad_companies). Use this or company_name | | `country` | string | No | Two-letter country code (e.g. "US"). Defaults to ALL | | `status` | string | No | Ad status filter. Defaults to ACTIVE (ALL, ACTIVE, INACTIVE) | | `media_type` | string | No | Media type filter. Defaults to ALL (ALL, IMAGE, VIDEO, MEME, IMAGE_AND_MEME, NONE) | | `language` | string | No | Two-letter language code to filter by (e.g. "EN", "ES") | | `sort_by` | string | No | Sort by impressions or most recent (total_impressions, relevancy_monthly_grouped) | | `start_date` | string | No | Start date in YYYY-MM-DD format | | `end_date` | string | No | End date in YYYY-MM-DD format | | `cursor` | string | No | Pagination cursor from previous response | | `trim` | boolean | No | Set to true for a trimmed response | **Returns:** List of ads the company is running with ad content, impressions, media, and targeting data **Example:** ```json { "tool": "ad-library-search", "skill": "get_facebook_company_ads", "input": { "company_name": "Nike" } } ``` #### Get Facebook Ad Details (`get_facebook_ad`) Get full details of a specific Facebook ad by ID or URL. Includes ad copy, media, cards, and optional video transcript (for videos under 2 minutes). **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `id` | string | No | Facebook Ad ID | | `url` | string | No | Facebook Ad URL. Use this or id | | `get_transcript` | boolean | No | Get video transcript (only for videos under 2 minutes) | | `trim` | boolean | No | Set to true for a trimmed response | **Returns:** Full ad details including ad copy, media assets, cards, advertiser info, and optional transcript **Example:** ```json { "tool": "ad-library-search", "skill": "get_facebook_ad", "input": { "id": "123456789" } } ``` #### Search Google Advertisers (`search_google_advertisers`) Search the Google Ad Transparency Library for advertisers by name. Returns advertiser IDs that can be used with get_google_company_ads. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Advertiser name to search for | **Returns:** List of advertisers with their names and advertiser IDs **Example:** ```json { "tool": "ad-library-search", "skill": "search_google_advertisers", "input": { "query": "Shopify" } } ``` #### Get Google Company Ads (`get_google_company_ads`) Get ads a company is running on Google. Search by domain or advertiser ID. Filter by topic, region, and date range. Only public ads are available. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `domain` | string | No | Company domain (e.g. "shopify.com") | | `advertiser_id` | string | No | Google advertiser ID (from search_google_advertisers). Use this or domain | | `topic` | string | No | Filter by topic. Political ads also require a region (all, political) | | `region` | string | No | Two-letter region code (e.g. "US"). Required for political topic | | `start_date` | string | No | Start date in YYYY-MM-DD format | | `end_date` | string | No | End date in YYYY-MM-DD format | | `get_ad_details` | boolean | No | Set to true to get full ad details (costs 25 credits per ad instead of 1) | | `cursor` | string | No | Pagination cursor from previous response | **Returns:** List of Google ads with advertiser and creative IDs, and optionally full ad details with OCR text **Example:** ```json { "tool": "ad-library-search", "skill": "get_google_company_ads", "input": { "domain": "shopify.com" } } ``` #### Get Google Ad Details (`get_google_ad`) Get details of a specific Google ad by its Ad Transparency URL. The URL must include both advertiser and creative IDs. Uses OCR to extract ad text. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Google Ad Transparency URL (must contain advertiser and creative IDs, e.g. https://adstransparency.google.com/advertiser/AR.../creative/CR...) | **Returns:** Ad details including OCR-extracted text, media type, and advertiser information **Example:** ```json { "tool": "ad-library-search", "skill": "get_google_ad", "input": { "url": "https://adstransparency.google.com/advertiser/AR17804957702832168961/creative/CR04185088030974935041" } } ``` #### Search LinkedIn Ads (`search_linkedin_ads`) Search the LinkedIn ad library by company name, keyword, or company ID. At least one parameter is required. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `company` | string | No | Company name to search for ads (e.g. "Salesforce") | | `keyword` | string | No | Keyword to search for in ad content | | `company_id` | string | No | LinkedIn company ID to filter ads by | **Returns:** List of LinkedIn advertisements with ad content, sponsor details, and campaign metadata **Example:** ```json { "tool": "ad-library-search", "skill": "search_linkedin_ads", "input": { "company": "Salesforce" } } ``` #### Get LinkedIn Ad Details (`get_linkedin_ad`) Get full details of a specific LinkedIn advertisement by URL. Returns ad copy, media, sponsor information, and engagement data. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the LinkedIn advertisement | **Returns:** LinkedIn ad details including ad copy, media assets, sponsor info, and engagement metrics **Example:** ```json { "tool": "ad-library-search", "skill": "get_linkedin_ad", "input": { "url": "https://www.linkedin.com/ad/library/123456789" } } ``` #### Search Reddit Ads (`search_reddit_ads`) Search Reddit for promoted and sponsored posts matching a query. Returns ad content, targeting info, and engagement metrics. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search query to find Reddit advertisements | **Returns:** List of Reddit sponsored posts with ad content, subreddit targeting, and engagement data **Example:** ```json { "tool": "ad-library-search", "skill": "search_reddit_ads", "input": { "query": "project management software" } } ``` #### Get Reddit Ad (`get_reddit_ad`) Get full details of a specific Reddit advertisement by URL, including ad copy, media, targeting, and engagement metrics. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the Reddit advertisement post | **Returns:** Reddit ad details including ad copy, media assets, advertiser info, and engagement metrics **Example:** ```json { "tool": "ad-library-search", "skill": "get_reddit_ad", "input": { "url": "https://www.reddit.com/user/ExampleBrand/comments/abc123/try_our_new_product/" } } ``` ### Trending Social Content Surface trending TikTok and YouTube Shorts content: videos, sounds, hashtags, and creators with engagement metrics. Filter by region, country, and time period. Discover viral sounds, trending hashtags, popular creators, and For You feeds. - **Version:** 0.02 - **Categories:** data, analytics #### Get TikTok Song (`get_tiktok_song`) Get details about a TikTok sound or song by its clip ID, including title, author, duration, and usage stats. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `clip_id` | string | Yes | The TikTok clip ID for the sound or song | **Returns:** Song details including title, author, play URL, duration, and video count **Example:** ```json { "tool": "trending-social-content", "skill": "get_tiktok_song", "input": { "clip_id": "7182980753428668419" } } ``` #### Get TikTok Song Videos (`get_tiktok_song_videos`) Get TikTok videos that use a specific sound or song. Returns a list of videos with engagement metrics. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `song_id` | string | Yes | The TikTok song or sound ID to find videos for | **Returns:** Array of TikTok videos using the song, with view counts, likes, shares, and creator info **Example:** ```json { "tool": "trending-social-content", "skill": "get_tiktok_song_videos", "input": { "song_id": "7182980753428668419" } } ``` #### Get Popular TikTok Songs (`get_tiktok_popular_songs`) Get popular and trending songs on TikTok. Filter by time period, country, and whether to show only newly trending songs. Can take up to 30 seconds. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `time_period` | string | No | Time period filter for trending songs | | `country_code` | string | No | Two-letter country code to filter by (e.g. "US") | | `new_on_board` | boolean | No | Only show newly trending songs | | `commercial_music` | boolean | No | Only show commercial/licensed music | **Returns:** Array of popular TikTok songs with title, artist, play count, and video count **Example:** ```json { "tool": "trending-social-content", "skill": "get_tiktok_popular_songs", "input": {} } ``` #### Get Popular TikTok Creators (`get_tiktok_popular_creators`) Get popular creators on TikTok. Filter by follower count, creator country, audience country, and sort order. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `sort_by` | string | No | Sort criteria for ranking creators | | `follower_count` | string | No | Follower count range filter | | `creator_country` | string | No | Two-letter country code for creator location | | `audience_country` | string | No | Two-letter country code for audience location | **Returns:** Array of popular TikTok creators with profiles, follower counts, and engagement metrics **Example:** ```json { "tool": "trending-social-content", "skill": "get_tiktok_popular_creators", "input": {} } ``` #### Get Popular TikTok Videos (`get_tiktok_popular_videos`) Get popular and trending TikTok videos. Filter by time period, country, and sort by likes, views, comments, or shares. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `period` | string | No | Time period filter (e.g. 7, 30) | | `order_by` | string | No | Sort by: likes, views (hot), comments, or shares | | `country_code` | string | No | Two-letter country code to filter by | **Returns:** Array of popular TikTok videos with captions, view counts, likes, and creator info **Example:** ```json { "tool": "trending-social-content", "skill": "get_tiktok_popular_videos", "input": {} } ``` #### Get Popular TikTok Hashtags (`get_tiktok_popular_hashtags`) Get popular and trending hashtags on TikTok. Filter by time period, country, industry, and newly trending. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `period` | string | No | Time period filter | | `country_code` | string | No | Two-letter country code | | `industry` | string | No | Industry category filter | | `new_on_board` | boolean | No | Only show newly trending hashtags | **Returns:** Array of popular TikTok hashtags with view counts, video counts, and trend data **Example:** ```json { "tool": "trending-social-content", "skill": "get_tiktok_popular_hashtags", "input": {} } ``` #### Get TikTok Trending Feed (`get_tiktok_trending_feed`) Get the current trending feed from TikTok for a specific region. Returns the videos currently on the For You trending page. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `region` | string | Yes | Two-letter country code for the trending feed (e.g. "US", "GB") | **Returns:** Array of currently trending TikTok videos with captions, view counts, and creator info **Example:** ```json { "tool": "trending-social-content", "skill": "get_tiktok_trending_feed", "input": { "region": "US" } } ``` #### Get YouTube Trending Shorts (`get_youtube_trending_shorts`) Get approximately 48 trending YouTube Shorts. Call repeatedly to get new batches of trending shorts. **Returns:** Array of trending YouTube Shorts with titles, view counts, thumbnails, and channel info **Example:** ```json { "tool": "trending-social-content", "skill": "get_youtube_trending_shorts", "input": {} } ``` ### Social Media Comments Retrieve full comment threads from any post or video on TikTok, YouTube, Instagram, Facebook, and Reddit — including replies, author details, like counts, and timestamps. For sentiment analysis, community research, and competitive monitoring. - **Version:** 0.02 - **Categories:** data, analytics #### Get TikTok Comments (`get_tiktok_comments`) Retrieve comments and replies on a TikTok video including author details, likes, and timestamps. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the post or video to retrieve comments from | **Returns:** Array of comments with author, text, likes, replies, and timestamps **Example:** ```json { "tool": "social-media-comments", "skill": "get_tiktok_comments", "input": { "url": "https://www.tiktok.com/@charlidamelio/video/7281939328492387630" } } ``` #### Get YouTube Comments (`get_youtube_comments`) Retrieve comments and replies on a YouTube video including author details, likes, and timestamps. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the post or video to retrieve comments from | **Returns:** Array of comments with author, text, likes, replies, and timestamps **Example:** ```json { "tool": "social-media-comments", "skill": "get_youtube_comments", "input": { "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" } } ``` #### Get Instagram Comments (`get_instagram_comments`) Retrieve comments and replies on an Instagram post or reel including author details, likes, and timestamps. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the post or video to retrieve comments from | **Returns:** Array of comments with author, text, likes, replies, and timestamps **Example:** ```json { "tool": "social-media-comments", "skill": "get_instagram_comments", "input": { "url": "https://www.instagram.com/p/CzR1V8xLq7M/" } } ``` #### Get Facebook Comments (`get_facebook_comments`) Retrieve comments and replies on a Facebook post including author details, reactions, and timestamps. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the post or video to retrieve comments from | **Returns:** Array of comments with author, text, reactions, replies, and timestamps **Example:** ```json { "tool": "social-media-comments", "skill": "get_facebook_comments", "input": { "url": "https://www.facebook.com/Meta/posts/pfbid02kXvZR7tPqYGdRNmkA" } } ``` #### Get Reddit Comments (`get_reddit_comments`) Retrieve comments and replies on a Reddit post including author details, upvotes, and timestamps. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the post or video to retrieve comments from | **Returns:** Array of comments with author, text, upvotes, replies, and timestamps **Example:** ```json { "tool": "social-media-comments", "skill": "get_reddit_comments", "input": { "url": "https://www.reddit.com/r/programming/comments/1a2b3c4/example_post_title/" } } ``` ### Social Shop Products Explore creator commerce on TikTok Shop and Amazon storefronts, get product details and reviews, and extract links from Linktree, Komi, Pillar, Linkbio, and Linkme. For product research, affiliate discovery, and e-commerce analysis. - **Version:** 0.02 - **Categories:** data, analytics #### Search TikTok Shop (`search_tiktok_shop`) Search TikTok Shop for products matching a query and return structured product listings with prices, ratings, and seller info. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Product search query for TikTok Shop | **Returns:** Array of TikTok Shop product listings with titles, prices, ratings, and seller details **Example:** ```json { "tool": "social-shop-products", "skill": "search_tiktok_shop", "input": { "query": "viral skincare serum" } } ``` #### Get TikTok Shop Reviews (`get_tiktok_shop_reviews`) Get reviews for a TikTok Shop product. Accepts either a product ID or a full product URL to retrieve customer reviews. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `product_id` | string | No | TikTok Shop product ID | | `url` | string | No | Full URL of the TikTok Shop product page | **Returns:** Array of customer reviews with ratings, text, author info, and dates **Example:** ```json { "tool": "social-shop-products", "skill": "get_tiktok_shop_reviews", "input": { "url": "https://www.tiktok.com/@shop/product/1729382456" } } ``` #### Get Linktree Page (`get_linktree_page`) Get all links, bio info, and social accounts from a Linktree page. URL must include https:// prefix. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full Linktree URL including https:// (e.g. https://linktr.ee/username) | **Returns:** Linktree page data with bio, avatar, and array of links with titles and URLs **Example:** ```json { "tool": "social-shop-products", "skill": "get_linktree_page", "input": { "url": "https://linktr.ee/garyvee" } } ``` #### Get Amazon Shop (`get_amazon_shop`) Get product details, listings, and storefront info from an Amazon shop page URL. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the Amazon shop or storefront page | **Returns:** Amazon shop page data with product listings, prices, ratings, and storefront details **Example:** ```json { "tool": "social-shop-products", "skill": "get_amazon_shop", "input": { "url": "https://www.amazon.com/stores/page/B08N5WRWNW" } } ``` #### Get TikTok Product Details (`get_tiktok_product`) Get detailed information about a TikTok Shop product including exact stock count, related TikTok videos, pricing, and seller info. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the TikTok Shop product page | | `get_related_videos` | boolean | No | Also fetch related TikTok videos for this product | **Returns:** TikTok product details with stock count, pricing, seller info, ratings, and optionally related videos **Example:** ```json { "tool": "social-shop-products", "skill": "get_tiktok_product", "input": { "url": "https://www.tiktok.com/@shop/product/1729382456" } } ``` #### Get TikTok Shop Products (`get_tiktok_shop_products`) Get all products from a TikTok Shop by shop URL. Supports pagination via cursor. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full URL of the TikTok Shop page | | `cursor` | string | No | Pagination cursor from previous response | **Returns:** Array of TikTok Shop products with titles, prices, ratings, and pagination cursor **Example:** ```json { "tool": "social-shop-products", "skill": "get_tiktok_shop_products", "input": { "url": "https://www.tiktok.com/@brand/shop" } } ``` #### Get Komi Page (`get_komi_page`) Get all links, bio info, and social accounts from a Komi creator link page. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full Komi page URL (e.g. https://komi.io/username) | **Returns:** Komi page data with bio, avatar, and array of links with titles and URLs **Example:** ```json { "tool": "social-shop-products", "skill": "get_komi_page", "input": { "url": "https://komi.io/creator" } } ``` #### Get Pillar Page (`get_pillar_page`) Get all links, bio info, and social accounts from a Pillar creator link page. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full Pillar page URL | **Returns:** Pillar page data with bio, avatar, and array of links with titles and URLs **Example:** ```json { "tool": "social-shop-products", "skill": "get_pillar_page", "input": { "url": "https://pillar.io/creator" } } ``` #### Get Linkbio Page (`get_linkbio_page`) Get all links, bio info, and social accounts from a Linkbio (lnk.bio) creator link page. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full Linkbio URL (e.g. https://lnk.bio/username) | **Returns:** Linkbio page data with bio, avatar, and array of links with titles and URLs **Example:** ```json { "tool": "social-shop-products", "skill": "get_linkbio_page", "input": { "url": "https://lnk.bio/creator" } } ``` #### Get Linkme Page (`get_linkme_page`) Get profile info and links from a Linkme creator page. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Full Linkme page URL | **Returns:** Linkme page data with profile info and array of links **Example:** ```json { "tool": "social-shop-products", "skill": "get_linkme_page", "input": { "url": "https://linkme.bio/creator" } } ``` ### Brand Extract Crawl any website and extract a complete brand profile: color palette, typography, spacing, component styles, logos, icons, animations, layout patterns, and personality traits. Understand a brand's visual language, replicate a design style, or research competitors. - **Version:** 0.02 - **Categories:** data, marketing #### Extract Brand (`extract_brand`) Crawl a website and extract its complete brand profile including color scheme, typography, spacing, component styles, logos, icons, animations, layout, and brand personality. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | URL of the website to extract brand information from | **Returns:** Complete brand profile with colors, fonts, typography, spacing, component styles, logos, animations, layout, and personality traits **Example:** ```json { "tool": "brand-extract", "skill": "extract_brand", "input": { "url": "https://stripe.com" } } ``` ### UGC Content Generator Create authentic UGC-style videos and photos from a product description. Researches audience, writes scripts, generates AI scenes and clips across 16 formats — from product showcase and unboxing to lifestyle stills and flat lays. For marketers, DTC brands, and agencies. - **Version:** 0.06 - **Categories:** media, marketing, ai #### Research Audience (`research_audience`) Step 1: Research audience pain points, language, triggers, and objections. Async (1-3 min). Do NOT skip. Pass full output to generate_creative. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `company_name` | string | Yes | Company or brand name | | `product_name` | string | Yes | Product or feature name | | `product_description` | string | Yes | Detailed description of the product and what it does | | `target_audience` | string | No | Optional target audience description (e.g. "busy parents", "fitness beginners") | | `processor` | string | No | Research depth: "core" (default, 1-3 min) or "pro" (deeper, 5-15 min) (lite, base, core, pro) [default: "core"] | | `source_domains` | array | No | Optional domains to focus research on (e.g. ["reddit.com", "trustpilot.com"]) | **Returns:** Structured audience research with pain points, problems, language patterns, emotional triggers, objections, and research summary **Example:** ```json { "tool": "ugc-content", "skill": "research_audience", "input": { "company_name": "NutriPlan", "product_name": "MealAI", "product_description": "AI-powered meal planning app that creates personalized weekly meal plans based on dietary preferences, budget, and schedule" } } ``` #### Write Hooks (`write_hooks`) Generate UGC video hooks using the 3-variable framework (Angle + Aesthetic + Action). Uses RAG from the UGC playbook to apply proven hook patterns targeting 60%+ 3-second view rate. ⏱ Takes ~5 seconds. Step 2 of the UGC workflow — requires research output from step 1. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `company_name` | string | Yes | Company or brand name | | `product_name` | string | Yes | Product or feature name | | `product_description` | string | Yes | Detailed product description | | `research` | object | Yes | Audience research output from research_audience step | | `num_hooks` | number | No | Number of hooks to generate (default 3) [default: 3] | | `content_archetype` | string | No | Content archetype to tailor hooks to (e.g. educational, entertainment) (lifestyle, inspirational, aspirational, educational, documentary, entertainment, fictional) | | `persona` | object | No | Optional creator persona for hook voice/style | | `llm_model` | string | No | OpenRouter model ID (default google/gemini-2.5-flash) | **Returns:** Array of hooks, each with text, angle, aesthetic, action, emotional trigger, and target pain point **Example:** ```json { "tool": "ugc-content", "skill": "write_hooks", "input": { "company_name": "NutriPlan", "product_name": "MealAI", "product_description": "AI-powered meal planning app", "research": { "pain_points": [ "spending too much time deciding what to cook" ], "emotional_triggers": [ "overwhelm", "guilt" ] }, "num_hooks": 3 } } ``` #### Write Scripts (`write_scripts`) Generate authentic UGC scripts using But/Therefore zigzag structure. Creates script variations for each hook with mini-hooks at key drop-off timestamps. Targets ~20 second duration with conversational, non-salesy tone. ⏱ Takes ~5-10 seconds per hook. Step 3 — requires hooks from step 2. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `hooks` | array | Yes | Array of hooks from write_hooks step | | `company_name` | string | Yes | Company or brand name | | `product_name` | string | Yes | Product or feature name | | `product_description` | string | Yes | Detailed product description | | `research` | object | Yes | Audience research output from research_audience step | | `scripts_per_hook` | number | No | Number of script variations per hook (default 2) [default: 2] | | `content_archetype` | string | No | Content archetype to tailor scripts to (lifestyle, inspirational, aspirational, educational, documentary, entertainment, fictional) | | `persona` | object | No | Optional creator persona | | `llm_model` | string | No | OpenRouter model ID (default google/gemini-2.5-flash) | **Returns:** Array of scripts, each with hook_id, variation, hook_text, script_body, CTA, duration estimate, and mini-hooks at drop-off timestamps **Example:** ```json { "tool": "ugc-content", "skill": "write_scripts", "input": { "hooks": [ { "id": "hook_1", "text": "I used to spend 2 hours deciding what to cook", "angle": "time-waste", "aesthetic": "selfie-rant", "action": "frustrated-face" } ], "company_name": "NutriPlan", "product_name": "MealAI", "product_description": "AI-powered meal planning app", "research": { "pain_points": [ "decision fatigue around meals" ] }, "scripts_per_hook": 2 } } ``` #### Generate Scenes (`generate_scenes`) Generate visual scene descriptions for each script, optimized for AI image/video generation. Set "format" for format-specific direction. Takes ~5s per script. Step 4 — requires scripts from step 3. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `scripts` | array | Yes | Array of scripts from write_scripts step | | `format` | string | No | UGC video format for format-specific scene direction. Omit for default talking-head style. (talking_to_camera, product_demo, product_showcase, grwm, unboxing, before_after, problem_solution, storytime, pov, voiceover_broll, reaction) | | `persona` | object | No | Optional creator persona for visual consistency | | `familiar_elements` | object | No | Repetitive brand elements for memorability across videos | | `wardrobe_image_url` | string | No | Optional URL to a wardrobe/outfit reference image for clothing consistency across scenes. | | `platform` | string | No | Target platform for framing guidance. Defaults to tiktok. (tiktok, instagram_reels, youtube_shorts, instagram_stories, twitter) | | `llm_model` | string | No | OpenRouter model ID (default google/gemini-2.5-flash) | **Returns:** Array of scenes, each with scene description, setting, lighting, wardrobe, camera angle, mood, and shot list with visual changes **Example:** ```json { "tool": "ugc-content", "skill": "generate_scenes", "input": { "scripts": [ { "hook_id": "hook_1", "hook_text": "I used to spend 2 hours deciding what to cook", "script_body": "But then I found this app that plans my whole week in 30 seconds.", "cta": "Link in bio" } ] } } ``` #### Generate Creative (Fast) (`generate_creative`) Generate hooks, scripts, and scene descriptions in one call (~8s). Set "format" for format-specific output (e.g. product_demo, grwm, unboxing, lifestyle_still). Photo formats return compositions instead of hooks/scripts. Step 2 — pass FULL research output from step 1. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `company_name` | string | Yes | Company or brand name | | `product_name` | string | Yes | Product or feature name | | `product_description` | string | Yes | Detailed product description | | `research` | object | Yes | Audience research output from research_audience step | | `format` | string | No | UGC format. Most require persona_image_url. Product formats require product_images. See format docs for requirements. (talking_to_camera, product_demo, product_showcase, grwm, unboxing, before_after, problem_solution, storytime, pov, voiceover_broll, reaction, lifestyle_still, product_flat_lay, in_use_shot, aesthetic_moment, mirror_selfie) | | `num_hooks` | number | No | Number of hooks to generate (video formats, default 3) [default: 3] | | `num_compositions` | number | No | Number of photo compositions to generate (photo formats, default 3) [default: 3] | | `scripts_per_hook` | number | No | Script variations per hook (default 1) [default: 1] | | `aspect_ratio` | string | No | Custom aspect ratio (e.g. "9:16", "1:1", "4:5", "16:9"). Overrides platform and format defaults. | | `creative_direction` | string | No | Optional script direction, e.g. "focus on Claude not generating images by default" or "clickbaity discovery angle". | | `content_archetype` | string | No | Content archetype to tailor output to (lifestyle, inspirational, aspirational, educational, documentary, entertainment, fictional) | | `persona` | object | No | Creator persona. With appearance details and a turnaround sheet image URL, generated content depicts this person. | | `persona_image_url` | string | No | Headshot or turnaround URL for face consistency. Required for most formats (all except pov, voiceover_broll, lifestyle_still, aesthetic_moment). | | `wardrobe_image_url` | string | No | URL to a wardrobe/outfit reference image. When provided, scenes emphasize this clothing in generated frames. | | `product_images` | array | No | Product image URLs (screenshots, photos, packaging). Required for: product_demo, product_showcase, unboxing, reaction, product_flat_lay, in_use_shot. | | `platform` | string | No | Target platform — determines aspect ratio, duration limits, hook window, and text placement. Defaults to tiktok. (tiktok, instagram_reels, youtube_shorts, instagram_stories, twitter) | | `familiar_elements` | object | No | Repetitive brand elements for memorability | | `llm_model` | string | No | OpenRouter model ID (default google/gemini-2.5-flash) | **Returns:** Video: hooks, scripts, scenes arrays. Photo: compositions + scenes. Includes output_type, format_name, persona info, aspect_ratio. **Example:** ```json { "tool": "ugc-content", "skill": "generate_creative", "input": { "company_name": "NutriPlan", "product_name": "MealAI", "product_description": "AI-powered meal planning app", "research": { "pain_points": [ "decision fatigue around meals" ], "emotional_triggers": [ "overwhelm", "guilt" ] }, "num_hooks": 3 } } ``` #### Create Voice Profile (`create_voice_profile`) Create a reusable voice profile for consistent voice across clips. Provide a voice_sample_url or auto-match from persona + accent. Returns a voice_id for generate_videos. Call after generate_creative. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `voice_sample_url` | string | No | URL to a voice sample audio file (mp3/wav/mp4, 5-30s). If provided, skips auto-generation. | | `persona` | object | No | Persona for auto voice matching. At least one of voice_sample_url or persona is required. | | `accent` | string | No | Desired accent (e.g. "british", "american", "australian"). Used for auto voice matching. | | `sample_text` | string | No | Text to speak for the auto-generated voice sample. Defaults to the first hook text. | | `scripts` | array | No | Scripts array — scripts[0].hook_text used as default sample text if sample_text not provided. | **Returns:** Object with voice_id (reusable Kling voice profile ID), source ("user_sample" or "auto_generated"), and optionally elevenlabs_voice_id and elevenlabs_voice_name **Example:** ```json { "tool": "ugc-content", "skill": "create_voice_profile", "input": { "persona": { "name": "Chloe", "description": "Mixed race woman in her mid-20s from London", "tone": "casual and friendly" }, "accent": "british", "scripts": [ { "hook_text": "I used to spend 2 hours deciding what to cook" } ] } } ``` #### Generate First Frames (`generate_frames`) Step 3: Generate first-frame images from scenes. Takes ~30s. Async — poll with get_job_result. Pass scenes array directly from generate_creative. Pass persona_image_url for face consistency. Captions added later via assemble_final. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `scenes` | array | Yes | Array of scenes from generate_scenes step | | `persona_description` | string | No | Visual description of the persona/creator for image generation | | `persona_image_url` | string | No | Reference image URL for persona. Always pass it — used for image-to-image conditioning to keep the face consistent. | | `wardrobe_image_url` | string | No | Optional URL to a wardrobe/outfit reference image. When provided, each generated frame will get an edit pass to apply the exact clothing. | | `platform` | string | No | Target platform — determines default aspect ratio. Defaults to tiktok (9:16). (tiktok, instagram_reels, youtube_shorts, instagram_stories, twitter) | | `model` | string | No | fal.ai image model ID [default: "fal-ai/nano-banana-2"] | | `aspect_ratio` | string | No | Image aspect ratio (overrides platform default if set) [default: "9:16"] | **Returns:** Array of frames with image URLs and scene descriptions, plus asset paths for auto-upload **Example:** ```json { "tool": "ugc-content", "skill": "generate_frames", "input": { "scenes": [ { "script_index": 0, "scene_description": "Young woman in kitchen, looking frustrated at open fridge, selfie camera angle" } ] } } ``` #### Generate Videos (`generate_videos`) Step 5: Generate video clips from first-frame images. Takes ~30-60s. Async — poll with get_job_result. Pass frames, scripts, and scenes arrays directly. Long scripts auto-split into segments with continuation keyframes. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `frames` | array | Yes | Array of frames from generate_frames step (objects with image_url, scene_description, script_index) | | `scripts` | array | Yes | Array of scripts from write_scripts step (full script objects with script_body, hook_text, cta) | | `scenes` | array | Yes | Array of scenes from generate_scenes step (scene objects with shot_list, setting, mood) | | `persona_description` | string | No | Visual/behavioral description of the persona for video generation | | `model` | string | No | Video model key (default kling-3.0, resolved via model registry) [default: "kling-3.0"] | | `duration` | number | No | Target video duration in seconds. Defaults to model maximum. Automatically snapped to the nearest valid duration for the model. | | `voice_id` | string | No | Kling voice_id from create_voice_profile. When provided, all clips use this voice with synced lip movement. | **Returns:** Array of video clips with video URLs, script indices, segment indices, and duration. Long scripts are automatically split into multiple clips with consistent continuation keyframes. **Example:** ```json { "tool": "ugc-content", "skill": "generate_videos", "input": { "frames": [ { "image_url": "https://example.com/frame.png", "scene_description": "Kitchen selfie scene", "script_index": 0 } ], "scripts": [ { "hook_text": "I used to spend 2 hours deciding what to cook", "script_body": "But then I found this app that plans my whole week in 30 seconds. I just tell it what I like and it gives me a full plan with grocery list.", "cta": "Link in bio if you want to try it" } ], "scenes": [ { "shot_list": [ { "timestamp_seconds": 0, "description": "Frustrated face at fridge", "visual_change": "Close-up to medium shot" } ], "setting": "Modern kitchen", "mood": "Relatable frustration to excitement" } ] } } ``` #### Check Video Status (`check_video`) Check on a pending video that was still generating when generate_videos returned. Pass the fal_request_id and fal_model_id from the pending_videos array. Returns the video URL if ready, or current status if still generating. You can check back any time — the video stays on fal.ai servers. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `fal_request_id` | string | Yes | The fal.ai request ID from pending_videos output | | `fal_model_id` | string | No | The fal.ai model ID (e.g. fal-ai/kling-video/v3/pro/image-to-video) | **Returns:** Video URL if completed, or current status (queued/running/failed) with instructions to check again **Example:** ```json { "tool": "ugc-content", "skill": "check_video", "input": { "fal_request_id": "abc123-def456", "fal_model_id": "fal-ai/kling-video/v3/pro/image-to-video" } } ``` #### Regenerate Frame (`regenerate_frame`) Re-generate a single frame without re-running the full pipeline. Accepts optional revision notes for targeted edits. Use when a specific frame needs adjustment — much faster than regenerating all frames. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `frame_index` | number | Yes | Index of the frame to regenerate (0-based, must be within scenes array bounds) | | `scenes` | array | Yes | Full scenes array from generate_creative or generate_scenes output | | `persona_description` | string | No | Visual description of the persona for image generation | | `persona_image_url` | string | No | Reference image URL for persona consistency | | `wardrobe_image_url` | string | No | Optional wardrobe reference image URL | | `revision_notes` | string | No | What to change about this frame (e.g. "make her smile more", "change to outdoor setting") | | `model` | string | No | fal.ai image model ID [default: "fal-ai/nano-banana-2"] | | `aspect_ratio` | string | No | Image aspect ratio (overrides platform default) | | `platform` | string | No | Target platform for default aspect ratio (tiktok, instagram_reels, youtube_shorts, instagram_stories, twitter) | **Returns:** Single frame object with image URL and scene description, plus asset path **Example:** ```json { "tool": "ugc-content", "skill": "regenerate_frame", "input": { "frame_index": 2, "scenes": [ { "script_index": 0, "scene_description": "Kitchen selfie scene" }, { "script_index": 1, "scene_description": "Living room couch scene" }, { "script_index": 2, "scene_description": "Outdoor park scene" } ], "revision_notes": "Make her smile more, change to outdoor setting with better lighting" } } ``` #### Composite Product (`composite_product`) REQUIRED for product_showcase format. Composites real product images (screenshots, photos) into generated frames via inpainting. Call after generate_frames, before generate_videos. Pass composited frames to generate_videos. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `frames` | array | Yes | Array of frames from generate_frames (objects with image_url, scene_description, script_index) | | `product_images` | array | Yes | Array of product image URLs — turnaround sheets, hero shots, packaging photos | | `product_name` | string | Yes | Product name for the LLM placement prompt | | `product_description` | string | No | Brief product description to guide natural placement | | `placement_hints` | array | No | Optional per-frame placement hints (e.g. "holding in left hand", "visible on desk"). One per frame. | | `strength` | number | No | How much to change the frame (0.0 = no change, 1.0 = full replacement). Default 0.5. [default: 0.5] | **Returns:** Array of composited frames with product naturally placed in each scene **Example:** ```json { "tool": "ugc-content", "skill": "composite_product", "input": { "frames": [ { "image_url": "https://example.com/frame.png", "scene_description": "Kitchen selfie scene", "script_index": 0 } ], "product_images": [ "https://example.com/bottle-front.png", "https://example.com/bottle-side.png" ], "product_name": "HydroFlask Pro", "product_description": "Insulated stainless steel water bottle, matte black", "placement_hints": [ "holding casually in right hand" ] } } ``` #### Assemble Final Video (`assemble_final`) Stitch video clips into one final video with text overlays and transitions. Last step after generate_videos. Takes ~30-120s. Async — poll with get_job_result. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `videos` | array | Yes | Array of videos from generate_videos (objects with video_url, script_index, duration_seconds) | | `scripts` | array | Yes | Scripts array for text overlays (hook_text on first clip, cta on last clip) | | `platform` | string | No | Target platform — determines video format and text placement. Defaults to tiktok. (tiktok, instagram_reels, youtube_shorts, instagram_stories, twitter) | | `transition` | string | No | Transition effect between clips (fade, slide, flip, clock-wipe, none) [default: "fade"] | | `transition_duration` | number | No | Transition duration in seconds (0-2) [default: 0.3] | | `captions` | boolean | No | Whether to overlay hook text and CTA on the video [default: true] | | `style` | object | No | Optional style overrides for the final video | **Returns:** Final assembled video file (auto-uploaded via asset system) **Example:** ```json { "tool": "ugc-content", "skill": "assemble_final", "input": { "videos": [ { "video_url": "https://example.com/clip1.mp4", "script_index": 0, "duration_seconds": 10 }, { "video_url": "https://example.com/clip2.mp4", "script_index": 1, "duration_seconds": 10 } ], "scripts": [ { "hook_text": "I used to spend 2 hours deciding what to cook", "cta": "Link in bio" }, { "hook_text": "But then I found this app", "cta": "Link in bio" } ], "platform": "tiktok" } } ``` ### Faceless Carousel Generator Generate faceless carousel posts for Instagram and TikTok — from quick single-call creation to a full research-backed pipeline. Handles niche research, hook writing, slide copy, visual design, and final rendered images. No design skills or personal brand required. - **Version:** 0.02 - **Categories:** media, marketing, ai #### Research Niche (`research_niche`) Research target niche, audience pain points, trending carousel topics, and competitor strategies using Parallel AI deep research. ⏱ Takes 5-15 minutes. Returns a job_id — poll with get_job_result until complete. Tell the user this is running and approximately how long it will take. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `niche` | string | Yes | Niche or topic area (e.g. "personal finance for millennials") | | `micro_niche` | string | No | Optional micro-niche focus (e.g. "budgeting for freelancers") | | `target_audience` | string | No | Target audience description (e.g. "25-35 year old freelancers") | | `platform` | string | No | Platform priority (default: instagram) (instagram, tiktok, both) | | `goals` | array | No | Content goals (e.g. ["followers", "saves", "DMs"]) | | `competitors` | array | No | Competitor account handles to research | | `source_domains` | array | No | Domains to focus research on | **Returns:** Structured niche research with trending topics, audience pain points, language patterns, emotional triggers, content types, platform tips, and sources **Example:** ```json { "tool": "faceless-carousels", "skill": "research_niche", "input": { "niche": "personal finance for millennials", "platform": "instagram", "goals": [ "followers", "saves" ] } } ``` #### Write Hooks (`write_hooks`) Generate carousel-specific Slide 1 hooks using 6 proven formulas (question, statistic, promise, list, mistake, curiosity). Text-first hooks optimized for bold display on static images. ⏱ Takes ~5 seconds. Step 2 — requires research from step 1. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `niche` | string | Yes | Niche or topic area | | `research` | object | Yes | Research output from research_niche step | | `topic` | string | Yes | Specific carousel topic | | `creative_direction` | object | No | Optional creative direction for hook style | | `num_hooks` | number | No | Number of hooks to generate (default 5) [default: 5] | | `goal` | string | No | Goal for this carousel (e.g. "saves", "follows", "DMs") | | `llm_model` | string | No | OpenRouter model ID (default google/gemini-2.5-flash) | **Returns:** Array of hooks with text, formula type, target emotion, and target pain point **Example:** ```json { "tool": "faceless-carousels", "skill": "write_hooks", "input": { "niche": "personal finance for millennials", "research": { "audience_pain_points": [ "living paycheck to paycheck" ], "trending_topics": [ "50/30/20 budget rule" ] }, "topic": "5 budgeting mistakes that keep you broke", "num_hooks": 5 } } ``` #### Write Slides (`write_slides`) Generate complete slide-by-slide text content for each hook. Produces 10-slide carousels (configurable) with hook, body, and CTA slides following U-curve engagement principles. ⏱ Takes ~10 seconds per hook. Step 3 — requires hooks from step 2. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `hooks` | array | Yes | Array of hooks from write_hooks step | | `niche` | string | Yes | Niche or topic area | | `research` | object | Yes | Research output from research_niche step | | `topic` | string | Yes | Specific carousel topic | | `creative_direction` | object | No | Optional creative direction for slide copy | | `slide_count` | number | No | Number of slides per carousel (default 10, max 20) [default: 10] | | `source_material` | string | No | Additional context or data to weave into slides | | `llm_model` | string | No | OpenRouter model ID (default google/gemini-2.5-flash) | **Returns:** Array of carousels, each with hook_id, title, slides (headline, body, emphasis, type), CTA text and instruction **Example:** ```json { "tool": "faceless-carousels", "skill": "write_slides", "input": { "hooks": [ { "id": "hook_1", "text": "5 budgeting mistakes keeping you broke", "formula_type": "mistake" } ], "niche": "personal finance for millennials", "research": { "audience_pain_points": [ "living paycheck to paycheck" ] }, "topic": "5 budgeting mistakes that keep you broke" } } ``` #### Design Slides (`design_slides`) Generate visual design specifications for each slide including image prompts, layout, typography, colors, and decorative elements. Bridges copywriting and image generation with platform-specific optimization. ⏱ Takes ~5 seconds per carousel. Step 4 — requires carousels from step 3. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `carousels` | array | Yes | Array of carousels from write_slides step | | `creative_direction` | object | No | Optional creative direction for visual design | | `brand_url` | string | No | Optional website URL to auto-extract brand colors, fonts, logo, and style. Skipped if brand_colors already provided in creative_direction. | | `llm_model` | string | No | OpenRouter model ID (default google/gemini-2.5-flash) | **Returns:** Array of designed carousels with image prompts, layout specs, color schemes, and visual consistency notes per slide **Example:** ```json { "tool": "faceless-carousels", "skill": "design_slides", "input": { "carousels": [ { "hook_id": "hook_1", "carousel_title": "Budgeting Mistakes", "slides": [ { "slide_number": 1, "headline": "5 budgeting mistakes", "slide_type": "hook" } ] } ], "creative_direction": { "brand_colors": { "primary": "#1a1a2e", "accent": "#ffd700" }, "visual_style": "dark mode" } } } ``` #### Write Complete Carousel (Fast) (`write_carousel`) Generate a complete carousel in ONE call — hook, slide copy, emphasis text, and color scheme. Outputs designed_carousels ready for render_slides. This is the FAST path: replaces write_hooks + write_slides + design_slides in a single LLM call (~5s). Use this instead of the 3-step pipeline for speed. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `niche` | string | Yes | Niche or topic area (e.g. "personal finance for millennials") | | `topic` | string | Yes | Specific carousel topic (e.g. "5 money habits that keep you broke") | | `research` | object | No | Optional research output from research_niche step | | `slide_count` | number | No | Number of slides (default 7, max 15) [default: 7] | | `creative_direction` | object | No | Optional creative direction for style, colors, and tone | | `llm_model` | string | No | OpenRouter model ID | **Returns:** Complete designed_carousels array ready for render_slides, plus color_scheme **Example:** ```json { "tool": "faceless-carousels", "skill": "write_carousel", "input": { "niche": "personal finance", "topic": "5 money habits that keep you broke", "creative_direction": { "visual_style": "dark mode bold", "platform": "instagram" } } } ``` #### Create Complete Carousel (End-to-End) (`create_carousel`) Generate a complete ready-to-post carousel in a single call. Writes copy, matches a template, renders all slides, and returns image URLs. Supports template replication, slide background images, and brand extraction. ⏱ Takes ~15-30 seconds. Async — poll with get_job_result. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `niche` | string | Yes | Niche or topic area (e.g. "personal finance for millennials") | | `topic` | string | Yes | Specific carousel topic (e.g. "5 money habits that keep you broke") | | `research` | object | No | Optional research output from research_niche step | | `slide_count` | number | No | Number of slides (default 7, max 15) [default: 7] | | `creative_direction` | object | No | Optional creative direction for style, colors, and tone | | `brand_url` | string | No | Website URL to auto-extract brand colors, fonts, and page images for styling and slide backgrounds. | | `template_images` | array | No | Template carousel image(s) to replicate via vision LLM. Brand colors/fonts override template styling if provided. | | `slide_images` | array | No | Image URLs or file paths for slide backgrounds. Distributed across slides in order (CTA excluded). Alias: images. | | `images` | array | No | Alias for slide_images. Image URLs or file paths for slide backgrounds, distributed across slides in order (CTA excluded). | | `llm_model` | string | No | OpenRouter model ID | **Returns:** Carousel with slide image URLs, color scheme, and metadata — ready to post. Includes saved_template_id if a template was analyzed and persisted. **Example:** ```json { "tool": "faceless-carousels", "skill": "create_carousel", "input": { "niche": "personal finance", "topic": "5 money habits that keep you broke", "creative_direction": { "visual_style": "dark mode bold", "platform": "instagram" } } } ``` #### Generate Slide Images (`generate_images`) Generate carousel slide images using fal.ai. Supports 70+ models; default: nano-banana-2 with accurate text rendering. Requires designed carousels from the design step. ⏱ Takes ~5-10 seconds per slide. Async — poll with get_job_result. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `designed_carousels` | array | Yes | Array of designed carousels from design_slides step | | `creative_direction` | object | No | Optional creative direction | | `model` | string | No | Any fal.ai model key or ID from the image model registry [default: "fal-ai/nano-banana-2"] | **Returns:** Array of carousels with generated slide image URLs, plus asset paths for auto-upload **Example:** ```json { "tool": "faceless-carousels", "skill": "generate_images", "input": { "designed_carousels": [ { "hook_id": "hook_1", "carousel_title": "Budgeting Mistakes", "slides": [ { "slide_number": 1, "image_prompt": "Clean dark carousel slide with bold white text reading \"5 budgeting mistakes keeping you broke\"" } ] } ] } } ``` #### Render Slide Images (Template-Based) (`render_slides`) Render carousel slides using template-based SVG composition with professional typography. Pixel-perfect text, consistent layouts. Supports template replication, slide backgrounds, and brand extraction. ⏱ Takes ~10-30 seconds. Async — poll with get_job_result. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `designed_carousels` | array | Yes | Array of designed carousels from design_slides or write_carousel step | | `creative_direction` | object | No | Optional creative direction | | `brand_url` | string | No | Website URL to auto-extract brand colors, fonts, and page images for styling and slide backgrounds. | | `template_images` | array | No | Template carousel image(s) to replicate via vision LLM. Brand colors/fonts override template styling if provided. | | `slide_images` | array | No | Image URLs or file paths for slide backgrounds. Takes priority over generated and brand page images. Alias: images. | | `images` | array | No | Alias for slide_images. Image URLs or file paths for slide backgrounds, distributed across slides in order (CTA excluded). | | `photo_backgrounds` | boolean | No | Generate photo backgrounds via fal.ai (default: false). User-provided slide_images/images take priority. | **Returns:** Array of carousels with rendered slide image paths for auto-upload. Includes saved_template_id if a template was analyzed and persisted. **Example:** ```json { "tool": "faceless-carousels", "skill": "render_slides", "input": { "designed_carousels": [ { "hook_id": "hook_1", "carousel_title": "Budgeting Mistakes", "slides": [ { "slide_number": 1, "text_overlay": { "headline": { "text": "5 budgeting mistakes" } }, "color_scheme": { "background": "#1a1a2e", "text": "#ffffff", "accent": "#ffd700" } } ] } ] } } ``` #### Export Editable SVGs (`export_editable`) Generate editable SVG files for each carousel slide. SVGs import into Figma, Canva, or Illustrator with fully editable text layers. No external API needed. ⏱ Takes ~1-2 seconds per slide. Step 6 (optional) — requires designed carousels from step 4. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `designed_carousels` | array | Yes | Array of designed carousels from design_slides step | | `creative_direction` | object | No | Optional creative direction | | `format` | string | No | Output format (default: svg) (svg, svg_bundle) | **Returns:** Array of carousels with SVG content per slide, plus asset paths for auto-upload **Example:** ```json { "tool": "faceless-carousels", "skill": "export_editable", "input": { "designed_carousels": [ { "hook_id": "hook_1", "carousel_title": "Budgeting Mistakes", "slides": [ { "slide_number": 1, "text_overlay": { "headline": { "text": "5 budgeting mistakes" } }, "color_scheme": { "background": "#1a1a2e", "text": "#ffffff", "accent": "#ffd700" } } ] } ] } } ``` ### Get Brand Logo Retrieve official brand logos by domain, stock ticker, ISIN, or crypto symbol. Returns the logo image plus all variants — icon, full logo, symbol in light/dark themes and SVG/PNG/WebP/JPEG formats. Useful for dashboards, branded reports, and data displays. - **Version:** 0.02 - **Categories:** media #### Get Logo (`get_logo`) Fetch a brand logo by domain, stock ticker, ISIN code, or crypto symbol. Returns the logo image file plus all available logo URLs in multiple formats, types, and themes. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `identifier` | string | Yes | Brand identifier — domain (nike.com), stock ticker (AAPL), ISIN (US6541061031), or crypto symbol (crypto/BTC) | | `type` | string | No | Preferred logo type to retrieve (icon, logo, symbol) [default: "icon"] | | `theme` | string | No | Preferred color theme variant (light, dark) | | `format` | string | No | Preferred image format for the downloaded file (svg, png, webp, jpeg) | **Returns:** Brand logo image file with metadata, CDN URL, and all available logo variants in multiple formats **Example:** ```json { "tool": "get-brand-logo", "skill": "get_logo", "input": { "identifier": "nike.com" } } ``` ### Stock Market Real-time and historical data for stocks, ETFs, indices, futures, forex, and crypto. Quotes, OHLCV history, side-by-side comparisons, market movers, and analyst insights with technicals, valuations, price targets, and bull/bear theses. - **Version:** 0.02 - **Categories:** finance #### Get Quote (`get_quote`) Get current price, daily change, volume, and 52-week range for one or more ticker symbols. Supports stocks, ETFs, indices (^GSPC, ^DJI), futures (GC=F, CL=F), forex (EURUSD=X), and crypto (BTC-USD). **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `symbols` | string | Yes | Comma-separated ticker symbols, up to 10 (e.g. "AAPL,MSFT", "^GSPC,^VIX", "GC=F,CL=F", "EURUSD=X", "BTC-USD") | **Returns:** Current price, daily change, day range, volume, 52-week range, currency, exchange, and instrument type **Example:** ```json { "tool": "stock-market", "skill": "get_quote", "input": { "symbols": "AAPL,MSFT" } } ``` #### Search Symbol (`search_symbol`) Search for ticker symbols by company name, keyword, or partial match. Returns matching stocks, ETFs, indices, futures, and crypto with exchange, sector, and industry info, plus related news articles. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search term — company name, ticker, or keyword (e.g. "tesla", "gold futures", "S&P 500") | | `limit` | number | No | Max results (1-20, default 10) [default: 10] | **Returns:** Matching instruments with metadata and related news articles **Example:** ```json { "tool": "stock-market", "skill": "search_symbol", "input": { "query": "tesla" } } ``` #### Price History (`price_history`) Historical OHLCV (open, high, low, close, volume) data with adjusted close. Supports intervals from 1 minute to 3 months, ranges from 1 day to max history. Optionally includes pre-market and after-hours data. Works for stocks, ETFs, indices, futures, forex, and crypto. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `symbol` | string | Yes | Ticker symbol (e.g. "AAPL", "^GSPC", "GC=F", "EURUSD=X", "BTC-USD") | | `interval` | string | No | Bar interval: 1m, 2m, 5m, 15m, 30m, 60m, 90m, 1h, 1d, 5d, 1wk, 1mo, 3mo (default "1d") [default: "1d"] | | `range` | string | No | Time range: 1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, 10y, ytd, max (default "1mo") [default: "1mo"] | | `include_prepost` | boolean | No | Include pre-market (4:00 AM) and after-hours (8:00 PM) data (default false) [default: false] | **Returns:** OHLCV bars with metadata, current price, and 52-week range **Example:** ```json { "tool": "stock-market", "skill": "price_history", "input": { "symbol": "AAPL" } } ``` #### Dividends & Splits (`dividends_splits`) Get dividend payment history and stock split records for any equity. Returns individual dividend payments, annual totals, and split ratios. Essential for income investors and total return analysis. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `symbol` | string | Yes | Ticker symbol (e.g. "AAPL", "MSFT", "KO", "JNJ") | | `range` | string | No | Lookback period: 1y, 2y, 5y, 10y, max (default "5y") [default: "5y"] | **Returns:** Dividend records with dates and amounts, annual totals, and stock split history with ratios **Example:** ```json { "tool": "stock-market", "skill": "dividends_splits", "input": { "symbol": "AAPL" } } ``` #### Compare Stocks (`compare_stocks`) Side-by-side comparison of 2-5 instruments over a time period. Shows current price, period return, high/low, average volume — sorted by performance. Works across asset classes. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `symbols` | string | Yes | Comma-separated list of 2-5 symbols (e.g. "AAPL,MSFT,GOOGL", "GC=F,SI=F,CL=F") | | `range` | string | No | Comparison period: 1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, ytd, max (default "1mo") [default: "1mo"] | **Returns:** Instruments ranked by period return with price, change, high/low, average volume, and 52-week range **Example:** ```json { "tool": "stock-market", "skill": "compare_stocks", "input": { "symbols": "AAPL,MSFT,GOOGL,NVDA,META", "range": "ytd" } } ``` #### Analyst Insights (`analyst_insights`) Deep analyst-grade analysis for a stock: multi-timeframe technical signals (short/intermediate/long-term), support/resistance levels, valuation assessment, company scores (innovation, hiring, sustainability, insider sentiment, earnings), analyst price targets, bull/bear thesis, and research reports. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `symbol` | string | Yes | Ticker symbol (e.g. "AAPL", "TSLA", "NVDA") | **Returns:** Technical analysis (multi-timeframe), key levels, valuation, company scores, analyst target, bull/bear thesis, and research reports **Example:** ```json { "tool": "stock-market", "skill": "analyst_insights", "input": { "symbol": "AAPL" } } ``` #### Market Overview (`market_overview`) Full market dashboard in one call — major indices (S&P 500, Dow, Nasdaq, Russell 2000), VIX volatility, Treasury yields (5Y, 10Y, 30Y), commodities (gold, silver, oil, natural gas), forex (DXY, EUR/USD, GBP/USD, USD/JPY), and crypto (BTC, ETH). Choose US or GLOBAL scope for international indices. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `scope` | string | No | US (18 instruments) or GLOBAL (14 instruments including FTSE, DAX, Nikkei, Hang Seng, etc.) (US, GLOBAL) [default: "US"] | **Returns:** Multi-asset market snapshot organized by category: indices, volatility, bonds, commodities, forex, crypto **Example:** ```json { "tool": "stock-market", "skill": "market_overview", "input": {} } ``` #### Market Movers (`market_movers`) Top market movers — day gainers, day losers, most active, trending, undervalued growth stocks, tech growth stocks, undervalued large caps, small cap gainers. Each result includes price, change, volume, market cap, P/E ratios, EPS, dividend yield, analyst rating, and next earnings date. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `category` | string | No | Screener category (default "gainers"). See enum for all options. (gainers, losers, most_active, trending, undervalued_growth, tech_growth, undervalued_large_caps, aggressive_small_caps, small_cap_gainers) [default: "gainers"] | | `count` | number | No | Number of results (1-25, default 10) [default: 10] | **Returns:** Ranked stocks with price, change, volume, market cap, P/E (trailing + forward), EPS, dividend yield, 52-week change, analyst rating, and next earnings date **Example:** ```json { "tool": "stock-market", "skill": "market_movers", "input": {} } ``` #### Trending Tickers (`trending`) Most trending tickers right now, enriched with current price data. Shows what the market is watching — stocks, ETFs, and crypto. Supports regional markets. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `region` | string | No | Market region code (default "US"). Examples: US, GB, DE, JP, AU, CA [default: "US"] | | `limit` | number | No | Number of tickers (1-20, default 10) [default: 10] | **Returns:** Ranked trending tickers with current price, daily change, volume, and 52-week range **Example:** ```json { "tool": "stock-market", "skill": "trending", "input": {} } ``` ### Video Studio Turn raw camera footage into publish-ready videos. Handles silence removal, dynamic zoom cuts, color correction, audio mastering, motion graphics from transcripts, B-roll insertion, and final export. For content creators, podcast editors, and course producers. - **Version:** 0.03 - **Categories:** media #### Edit Footage (`edit_footage`) Edit raw footage into a professional cut. 1-2 cameras with auto audio sync, silence removal, dynamic zoom (normal/punched-in/tight), color correction, and audio mastering (-16 LUFS) with EQ, compression, and de-essing via ffmpeg. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `videos` | array | Yes | Array of video files with "url" (public URL) and optional "label". Supports 1-2 cameras with automatic audio-based sync. | | `camera_sync` | object | No | Camera sync settings (only used with 2+ cameras). Uses audio correlation for automatic alignment. | | `silence_removal` | object | No | Silence detection and removal settings. Cuts dead air while preserving natural speech rhythm. | | `zoom_levels` | object | No | Dynamic zoom settings. Creates 3 frame sizes by cropping, alternates on each cut. Zoom chosen by transcript content analysis. | | `color_correction` | object | No | Color correction applied via ffmpeg: color balance (warmth shift), S-curve contrast, brightness, and saturation adjustments. | | `audio_mastering` | object | No | Audio mastering chain: highpass, lowpass, presence EQ, warmth EQ, de-esser, compressor, loudness normalization. Targets -16 LUFS. | | `output` | object | No | Output format settings. | **Returns:** Downloadable edited MP4 video URL, job ID, camera count, segment count, silences removed, and final duration **Example:** ```json { "tool": "video-editor", "skill": "edit_footage", "input": { "videos": [ { "url": "https://storage.example.com/raw-footage.mp4" } ] } } ``` #### Create Animations (`create_animations`) Analyze edited video and generate branded motion graphics for key moments. Detects verbal cues, data points, comparisons, and processes, then renders overlays (counters, flowcharts, quotes, lists, highlights) via Remotion. Returns timestamped animation files for finalize_video. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `video_url` | string | Yes | URL of the edited video to analyze and create animations for | | `brand_style` | object | No | Brand design system for consistent animation styling. | | `detection` | object | No | Control which types of "show moments" to detect in the transcript. | | `animation_types` | array | No | Animation types to generate: counter, flowchart, comparison, quote, side_by_side, list, highlight. Default: all. | | `render_variants` | array | No | Color variants to render for each animation (default: ["dark"]) | | `output_resolution` | string | No | Output resolution for animations (default: "1080p") (1080p, 4k) | | `fps` | number | No | Frames per second (default: 30) | **Returns:** Array of timestamped animation MP4 files, animation count, job ID, and full transcript **Example:** ```json { "tool": "video-editor", "skill": "create_animations", "input": { "video_url": "https://storage.example.com/edited-video.mp4" } } ``` #### Finalize Video (`finalize_video`) Assemble the final video by combining edited footage with animation overlays and B-roll clips. Outputs high-quality MP4 (libx264, 320k AAC). Use after edit_footage and create_animations. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `video_url` | string | Yes | URL of the edited base video (from edit_footage) | | `animations` | array | No | Animation overlays from create_animations. Each plays at its specified timestamp. | | `b_roll` | array | No | B-roll footage clips to insert. Each replaces the main video at its timestamp. | | `output` | object | No | Final output encoding settings. | **Returns:** Downloadable final MP4 video URL, job ID, animation count, B-roll count, and final duration **Example:** ```json { "tool": "video-editor", "skill": "finalize_video", "input": { "video_url": "https://storage.example.com/edited-video.mp4", "animations": [ { "url": "https://storage.example.com/anim-01.mp4", "timestamp_seconds": 42.5, "duration_seconds": 4.5 }, { "url": "https://storage.example.com/anim-02.mp4", "timestamp_seconds": 93.2, "duration_seconds": 4.6 } ], "b_roll": [ { "url": "https://storage.example.com/broll-typing.mp4", "timestamp_seconds": 65, "duration_seconds": 3 } ] } } ``` #### Transcribe Video (`transcribe_video`) Transcribe a video with word-level timestamps using speech-to-text. Returns the full transcript text, time-coded segments, and per-word timestamps. Useful standalone for subtitles, content analysis, or as a precursor to create_animations. Supports multiple languages. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `video_url` | string | Yes | URL of the video to transcribe | | `language` | string | No | Language code for transcription (default: "en"). Examples: "en", "es", "fr", "de", "ja" | | `word_timestamps` | boolean | No | Include per-word timestamps (default: true) | | `model` | string | No | Transcription model size — larger is more accurate but slower (default: "medium") (base, small, medium, large) | **Returns:** Full transcript text, time-coded segments, per-word timestamps, detected language, and video duration **Example:** ```json { "tool": "video-editor", "skill": "transcribe_video", "input": { "video_url": "https://storage.example.com/my-video.mp4" } } ``` #### Render Video (`render_video`) Render a video from an ordered array of scenes. Each scene has positioned elements (text, images, shapes) with full layout, animation, and styling control. Use template_props for quick presets. Returns a downloadable MP4. Call list_capabilities first. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `scenes` | array | Yes | Ordered array of scenes with "elements" (positioned text/image/shape) and "background", or "template_props" for presets. | | `format` | string | No | Video aspect ratio (default: landscape) (landscape, portrait, square) | | `style` | object | No | Global visual style: font, colors. Applied to all scenes unless overridden per-element. | | `transition` | string | No | Transition between scenes (default: fade) (fade, slide, flip, clock-wipe, none) | | `transition_duration` | number | No | Transition duration in seconds (default: 0.5) | | `fps` | number | No | Frames per second (default: 30) | **Returns:** Downloadable MP4 video URL, render ID, scene count, format, transition type, and FPS **Example:** ```json { "tool": "video-editor", "skill": "render_video", "input": { "scenes": [ { "elements": [ { "type": "text", "content": "Hello World", "x": "50%", "y": "40%", "size": 80, "weight": 800, "color": "#ffffff", "animation": "slide-up" }, { "type": "text", "content": "Built with ToolRouter", "x": "50%", "y": "55%", "size": 32, "color": "#6c63ff", "animation": "fade-in", "delay": 0.5 }, { "type": "shape", "shape": "underline", "x": "50%", "y": "63%", "width": "200px", "color": "#6c63ff", "animation": "draw", "delay": 0.8 } ], "background": { "color": "#0a0a1a", "grain": true, "particles": true }, "duration": 4 }, { "elements": [ { "type": "text", "content": "Full Creative Control", "x": "50%", "y": "35%", "size": 56, "weight": 700, "animation": "word-by-word" }, { "type": "text", "content": "Position anything anywhere. Animate everything.", "x": "50%", "y": "55%", "size": 24, "color": "#aaaaaa", "animation": "fade-in", "delay": 0.8 } ], "background": { "color": "#0f0f0f", "gradient": { "to": "#1a1a3a", "direction": "bottom-right" } }, "duration": 5 } ], "format": "landscape", "style": { "font": "Inter" }, "transition": "fade" } } ``` #### Render Still Image (`render_still`) Render a single scene as a still image (PNG, JPEG, or WebP). Same element-based canvas as render_video. Useful for thumbnails, social graphics, and previews. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `scene` | object | Yes | Scene to render. Use "elements" for full control or "template_props" for quick presets. | | `format` | string | No | Image aspect ratio (default: landscape) (landscape, portrait, square) | | `style` | object | No | Visual style: font and colors. | | `image_format` | string | No | Output image format (default: png) (png, jpeg, webp) | **Returns:** Downloadable image URL, render ID, format, and image format **Example:** ```json { "tool": "video-editor", "skill": "render_still", "input": { "scene": { "elements": [ { "type": "text", "content": "Episode 12", "x": "50%", "y": "40%", "size": 72, "weight": 800, "color": "#ffffff" }, { "type": "text", "content": "The Future of AI", "x": "50%", "y": "58%", "size": 36, "color": "#6c63ff" } ], "background": { "color": "#0a0a1a", "gradient": { "to": "#1a0a3a" } } }, "format": "landscape", "image_format": "png" } } ``` #### List Capabilities (`list_capabilities`) List all available capabilities: footage editing pipeline (edit, animate, finalize), scene-based video creation (elements, animations, templates), transcription, and all configurable options. Call this first to understand the full toolkit. **Returns:** Complete list of editing pipeline options, element types, animations, backgrounds, templates, formats, transitions, and fonts **Example:** ```json { "tool": "video-editor", "skill": "list_capabilities", "input": {} } ``` ### Web Screenshot Capture pixel-perfect screenshots of any URL with full JS rendering. Single or multi-viewport (desktop, tablet, mobile) in one call. Supports full-page captures, retina output, and configurable wait times. For visual QA, design reviews, and competitive research. - **Version:** 0.02 - **Categories:** media, development #### Capture Screenshot (`capture`) Take a screenshot of a single URL at a specified viewport size. Supports desktop, tablet, mobile, and custom viewport dimensions with configurable image format and retina scaling. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | The URL to screenshot. Must be a fully qualified URL (e.g. https://example.com). | | `viewport` | string | No | Viewport preset to use. desktop=1440x900, tablet=768x1024, mobile=390x844. Use "custom" with width/height for arbitrary sizes. (desktop, tablet, mobile, custom) [default: "desktop"] | | `width` | number | No | Custom viewport width in pixels. Only used when viewport is "custom". | | `height` | number | No | Custom viewport height in pixels. Only used when viewport is "custom". | | `full_page` | boolean | No | Capture the full scrolling page instead of just the visible viewport. [default: false] | | `image_format` | string | No | Output image format. (png, jpeg, webp) [default: "png"] | | `wait_for` | number | No | Milliseconds to wait after page load for JS rendering to complete. [default: 2000] | | `device_scale_factor` | number | No | Device pixel ratio for retina/HiDPI screenshots. 2 produces @2x images. [default: 2] | **Returns:** Screenshot image path (auto-uploaded to S3), viewport dimensions, URL, and viewport preset used **Example:** ```json { "tool": "web-screenshot", "skill": "capture", "input": { "url": "https://example.com" } } ``` #### Capture Responsive Screenshots (`capture_responsive`) Screenshot the same URL at multiple viewport sizes in one call. Efficiently reuses a single browser session across all viewports. Returns an array of screenshots for desktop, tablet, and mobile. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | The URL to screenshot. Must be a fully qualified URL (e.g. https://example.com). | | `viewports` | array | No | Array of viewport presets to capture. Defaults to all three: desktop, tablet, mobile. | | `full_page` | boolean | No | Capture the full scrolling page instead of just the visible viewport. [default: false] | | `image_format` | string | No | Output image format for all screenshots. (png, jpeg, webp) [default: "png"] | | `wait_for` | number | No | Milliseconds to wait after page load for JS rendering to complete. [default: 2000] | **Returns:** Array of screenshot image paths (auto-uploaded to S3) with viewport dimensions, URL, and total count **Example:** ```json { "tool": "web-screenshot", "skill": "capture_responsive", "input": { "url": "https://example.com" } } ``` ### Translate Professional translations across 30+ languages with formality control, context hints, and HTML/XML handling. Translate strings or batches, auto-detect source language, and preserve markup. For support tools, content pipelines, and multilingual apps. - **Version:** 0.02 - **Categories:** data, communication, productivity #### Translate Text (`translate_text`) Translate one or more texts into any target language. Supports auto-detection of source language, formality control (formal/informal), contextual hints for better accuracy, and HTML/XML tag handling. Pass an array for batch translation. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `text` | undefined | Yes | Text to translate. A single string or an array of strings for batch translation. | | `target_lang` | string | Yes | Target language code (e.g. "DE", "FR", "ES", "JA", "ZH", "EN-US", "EN-GB", "PT-BR"). Use list_languages to see all supported codes. | | `source_lang` | string | No | Source language code. If omitted, the language is auto-detected. | | `formality` | string | No | Formality: "more" = formal, "less" = informal. "prefer_more"/"prefer_less" = best effort. Not all target languages supported. (default, more, less, prefer_more, prefer_less) | | `context` | string | No | Context that influences translation but is not translated. Disambiguates meaning (e.g. "banking context" when translating "bank"). | | `tag_handling` | string | No | Specifies tag handling: "html" or "xml". Tags are preserved and content within them is translated appropriately. (html, xml) | | `split_sentences` | string | No | Controls sentence splitting. "0" = no splitting, "1" = split on punctuation + newlines (default), "nonewlines" = split on punctuation only. (0, 1, nonewlines) | | `preserve_formatting` | string | No | Whether to preserve formatting. "1" = preserve original formatting (default). (0, 1) | | `model_type` | string | No | Model: "quality_optimized" = best quality, "latency_optimized" = fastest, "prefer_quality_optimized" = default. (quality_optimized, latency_optimized, prefer_quality_optimized) | **Returns:** Translated text(s) with detected source language, target language used, and character count for billing **Example:** ```json { "tool": "translate", "skill": "translate_text", "input": { "text": "Hello, how are you?", "target_lang": "DE" } } ``` #### Detect Language (`detect_language`) Detect the language of a given text. Returns the detected language code and a sample translation to English for verification. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `text` | string | Yes | Text whose language you want to detect | **Returns:** Detected language code with a sample English translation for verification **Example:** ```json { "tool": "translate", "skill": "detect_language", "input": { "text": "Wie geht es Ihnen heute?" } } ``` #### List Languages (`list_languages`) List all supported languages for translation. Can show source languages (translate from) or target languages (translate to) with formality support info. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `type` | string | No | "source" = languages you can translate from, "target" = languages you can translate to (default). Target languages include formality support info. (source, target) [default: "target"] | **Returns:** List of supported languages with codes, names, and formality support indicators **Example:** ```json { "tool": "translate", "skill": "list_languages", "input": { "type": "target" } } ``` ### Persona Generator Create customer personas with demographics, psychographics, goals, pain points, and messaging angles — plus multi-angle portrait turnaround sheets. For marketing strategy, copywriting, ad targeting, and product development. Describe your business and audience to get presentable personas. - **Version:** 0.03 - **Categories:** marketing, ai #### Create Persona (Full) (`create_persona`) Generate persona profiles with demographics, psychographics, goals, pain points, messaging, plus multi-angle portrait sheets (front/left/right/back). All in one call. Takes ~70s per persona. Async — poll with get_job_result. Render sheets inline via sheet_N_url. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `business_description` | string | Yes | What the business does — product/service overview in 1-3 sentences | | `target_description` | string | Yes | Who the target audience is — their role, context, and what they care about | | `count` | number | No | Number of personas to generate (1-5, default: 1) [default: 1] | | `locale` | string | No | Target locale — affects names, locations, currency, cultural references (e.g. "UK", "US", "Japan") [default: "US"] | | `additional_context` | string | No | Extra context — industry specifics, brand positioning, segments to focus on | | `style` | string | No | Optional style direction for portrait images (e.g. "professional headshot", "casual outdoor setting") | **Returns:** Persona profiles with demographics, goals, pain points, messaging, and portrait paths. Render inline with sheet_N_url images — bold labels, short bullets, no separate document. **Example:** ```json { "tool": "persona-generator", "skill": "create_persona", "input": { "business_description": "An online platform for booking qualified electricians in London. Same-day availability, upfront pricing, all electricians are vetted and insured.", "target_description": "Property owners and landlords who need electrical work done in their rental properties — EICR certificates, safety inspections, repairs.", "count": 2, "locale": "UK" } } ``` #### Generate Persona Profiles (`generate_persona`) Generate detailed persona profiles — demographics, psychographics, goals, pain points, objections, behavior patterns, messaging angles, and a photo description for image generation. Use this when you want to review or edit profiles before generating portraits. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `business_description` | string | Yes | What the business does — product/service overview in 1-3 sentences | | `target_description` | string | Yes | Who the target audience is — their role, context, and what they care about | | `count` | number | No | Number of personas to generate (1-5, default: 1) [default: 1] | | `locale` | string | No | Target locale — affects names, locations, currency, cultural references (e.g. "UK", "US", "Japan") [default: "US"] | | `additional_context` | string | No | Extra context — industry specifics, brand positioning, segments to focus on | **Returns:** Array of persona profiles with demographics, psychographics, goals, pain points, behavior, messaging angles, and photoDescription for portrait generation **Example:** ```json { "tool": "persona-generator", "skill": "generate_persona", "input": { "business_description": "Cloud-based property management software for landlords and letting agents. Handles tenant screening, rent collection, maintenance requests, and compliance tracking.", "target_description": "UK landlords and letting agents managing residential rental portfolios of 5-50 properties.", "count": 3, "locale": "UK" } } ``` #### Generate Persona Turnaround Sheets (`generate_images`) Generate multi-angle turnaround sheet portraits (front/left/right/back) from persona photo descriptions. Composites into a 2x2 grid. Takes ~70s per persona. Async — poll with get_job_result. Render sheets inline via sheet_N_url. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `descriptions` | array | Yes | Array of photo description strings — typically the photoDescription field from each persona | | `style` | string | No | Optional style direction applied to all portraits (e.g. "professional headshot", "casual outdoor") | **Returns:** Portrait objects with turnaround sheet (2x2 grid) and individual angle image paths. Display sheets inline via sheet_N_url. **Example:** ```json { "tool": "persona-generator", "skill": "generate_images", "input": { "descriptions": [ "A 42-year-old South Asian man with short greying hair, wearing a navy polo shirt. Standing in front of a terraced house, holding a set of keys. Friendly but tired expression.", "A 35-year-old white woman with shoulder-length brown hair, wearing a blazer over a casual top. Sitting at a desk with a laptop, natural office lighting." ] } } ``` ### Recipe Finder Search thousands of recipes by dish name, ingredients on hand, cuisine, or category. Browse trending recipes from 12+ food blogs updated daily. Each recipe includes step-by-step instructions, ingredient quantities, thumbnails, and optional video links. - **Version:** 0.05 - **Categories:** data, productivity #### Search Recipes (`search_recipes`) Search recipes by name or keyword. Returns matching recipes with full details including name, category, cuisine, instructions, ingredients with measurements, thumbnail image, and optional YouTube link. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Recipe name or keyword to search for (e.g. "chicken", "pasta carbonara", "chocolate cake") | **Returns:** Matching recipes with name, category, cuisine, full instructions, ingredients with measurements, thumbnail, and optional YouTube/source links **Example:** ```json { "tool": "recipe-finder", "skill": "search_recipes", "input": { "query": "chicken" } } ``` #### Random Recipe (`random_recipe`) Get a random recipe for meal inspiration. Returns a single recipe with full details including name, category, cuisine, cooking instructions, ingredients with measurements, thumbnail image, and video link. **Returns:** A single random recipe with full details including name, category, cuisine, instructions, ingredients, thumbnail, and optional YouTube link **Example:** ```json { "tool": "recipe-finder", "skill": "random_recipe", "input": {} } ``` #### Filter by Ingredient (`filter_by_ingredient`) Find recipes that use a specific ingredient. Returns matching recipe names, IDs, and thumbnail images. Use search_recipes with the recipe name to get full details and instructions. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `ingredient` | string | Yes | Ingredient to filter by (e.g. "chicken_breast", "salmon", "garlic"). Use underscores for multi-word ingredients. | **Returns:** List of recipe names, IDs, and thumbnails that use the specified ingredient (simplified data — use search_recipes for full details) **Example:** ```json { "tool": "recipe-finder", "skill": "filter_by_ingredient", "input": { "ingredient": "chicken_breast" } } ``` #### Filter by Cuisine (`filter_by_cuisine`) Find recipes from a specific cuisine or region. Returns matching recipe names, IDs, and thumbnail images. Use search_recipes with the recipe name to get full cooking instructions and ingredients. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `cuisine` | string | Yes | Cuisine or area to filter by (e.g. "Italian", "Japanese", "Mexican", "Indian", "French", "Chinese") | **Returns:** List of recipe names, IDs, and thumbnails from the specified cuisine (simplified data — use search_recipes for full details) **Example:** ```json { "tool": "recipe-finder", "skill": "filter_by_cuisine", "input": { "cuisine": "Italian" } } ``` #### Filter by Category (`filter_by_category`) Find recipes in a specific category like Vegetarian, Dessert, Breakfast, Seafood, or Pasta. Returns matching recipe names, IDs, and thumbnail images. Use list_categories to see all available options. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `category` | string | Yes | Recipe category like 'Vegetarian', 'Dessert', 'Breakfast', 'Seafood', 'Pasta' — use list_categories to see all available options | **Returns:** List of recipe names, IDs, and thumbnails in the specified category (simplified data — use search_recipes for full details) **Example:** ```json { "tool": "recipe-finder", "skill": "filter_by_category", "input": { "category": "Vegetarian" } } ``` #### List Categories (`list_categories`) List all available recipe categories with descriptions and thumbnail images. Useful for browsing what types of recipes are available before filtering. **Returns:** All recipe categories with names, descriptions, and thumbnail images **Example:** ```json { "tool": "recipe-finder", "skill": "list_categories", "input": {} } ``` #### Search by Ingredients (`search_by_ingredients`) Find recipes from raw ingredients you have on hand. Pass up to 5 comma-separated ingredients and get recipes that use them — with full details including instructions, measurements, and images. Smart partial matching returns the best recipes even when no single recipe uses all ingredients together. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `ingredients` | string | Yes | Comma-separated list of ingredients you have (e.g. "chicken, garlic, rice" or "salmon, lemon, dill"). Max 5 ingredients. | **Returns:** Recipes matching the given ingredients with full details (instructions, measurements, images). Shows exact matches when possible, ranked partial matches otherwise. **Example:** ```json { "tool": "recipe-finder", "skill": "search_by_ingredients", "input": { "ingredients": "chicken, garlic, rice" } } ``` #### Trending Recipes (`trending_recipes`) Discover the latest recipes from 12 top food blogs updated daily. Aggregates fresh content from Pinch of Yum, Minimalist Baker, Smitten Kitchen, Budget Bytes, Serious Eats, RecipeTin Eats, and more. Optionally filter by cuisine keyword. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `limit` | number | No | Number of recipes to return (1-50, default 20) | | `cuisine` | string | No | Optional cuisine keyword to filter results (e.g. "thai", "italian", "korean") | **Returns:** Fresh recipes from top food blogs with title, link, description, publication date, and source. Updated daily from 12+ blogs. **Example:** ```json { "tool": "recipe-finder", "skill": "trending_recipes", "input": {} } ``` #### Recipe of the Day (`recipe_of_the_day`) Get a featured recipe of the day, freshly picked from top food blogs. Changes daily — same recipe for everyone on the same day. Includes 3 runner-up suggestions from different blogs. **Returns:** Featured recipe of the day with title, link, description, and source, plus 3 runner-up recipes from different blogs **Example:** ```json { "tool": "recipe-finder", "skill": "recipe_of_the_day", "input": {} } ``` ### Finance Data Live financial market data for portfolio analysis, macro research, and risk monitoring. Covers commodities, yield curves, central bank rates, 30+ FX pairs, economic indicators, energy, labor, housing, sentiment, government bonds, crypto, COT positioning, credit conditions, and the federal budget. - **Version:** 0.06 - **Categories:** finance, data #### Commodity Prices (`commodity_prices`) Get live commodity prices from FRED. Covers oil (WTI, Brent), natural gas (Henry Hub, European TTF), gold, silver, copper, corn, wheat, soybeans, coffee, sugar, and nickel. Request a specific commodity for 30-day history, or omit for a snapshot of all prices. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `commodity` | string | No | Commodity to fetch (e.g. oil_wti, gold, copper, corn). Omit for all. (oil_wti, oil_brent, natural_gas, natural_gas_ttf, gold, silver, copper, corn, wheat, soybeans, coffee, sugar, nickel) | **Returns:** Commodity prices with name, FRED series ID, latest value, unit, and date. Single commodity includes 30-day history. **Example:** ```json { "tool": "finance-data", "skill": "commodity_prices", "input": {} } ``` #### Treasury Yields (`treasury_yields`) Get the full US Treasury yield curve from FRED. Covers 11 tenors from 1-month to 30-year, plus key spread indicators (10Y-2Y, 10Y-3M, High Yield OAS). Detects yield curve inversions automatically. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `period` | string | No | Specific tenor to fetch. One of: 1m, 3m, 6m, 1y, 2y, 3y, 5y, 7y, 10y, 20y, 30y. Omit for full curve. (1m, 3m, 6m, 1y, 2y, 3y, 5y, 7y, 10y, 20y, 30y) | **Returns:** Yield curve data with rates per tenor, key spreads (10Y-2Y, 10Y-3M, HY OAS), and inversion detection. **Example:** ```json { "tool": "finance-data", "skill": "treasury_yields", "input": {} } ``` #### Benchmark Rates (`benchmark_rates`) Get key central bank interest rates from the Federal Reserve, ECB, Bank of England, and Bank of Canada. US: SOFR, EFFR, OBFR. EU: ESTER, Main Refinancing Rate, Deposit Facility Rate. UK: Bank Rate, SONIA. CA: Policy Interest Rate, CORRA. Filter by region or get all. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `region` | string | No | Filter by region: us, eu, uk, ca, or all. Default: all. (us, eu, uk, ca, all) | **Returns:** Benchmark interest rates grouped by region with rate name, value, date, and source. **Example:** ```json { "tool": "finance-data", "skill": "benchmark_rates", "input": {} } ``` #### Exchange Rates (`exchange_rates`) Get foreign exchange rates for 30+ currencies sourced from the ECB via Frankfurter API. Supports custom base currency, symbol filtering, and historical date lookups. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `base` | string | No | Base currency code (e.g. USD, EUR, GBP). Default: USD. | | `symbols` | string | No | Comma-separated target currencies (e.g. "EUR,GBP,JPY"). Omit for all. | | `date` | string | No | Historical date in YYYY-MM-DD format. Omit for latest rates. | **Returns:** Exchange rates with base currency, date, and rates object mapping currency codes to values. **Example:** ```json { "tool": "finance-data", "skill": "exchange_rates", "input": {} } ``` #### Economic Indicators (`economic_indicators`) Get key economic indicators: GDP, GDP growth, inflation, unemployment, and CPI. US data from the Bureau of Labor Statistics. Global data from the World Bank. Supports any country by ISO code. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `indicator` | string | No | Specific indicator: gdp, inflation, unemployment, cpi, or all. Default: all. (gdp, inflation, unemployment, cpi, all) | | `country` | string | No | ISO 2-letter country code (US, GB, DE, JP, CN, IN, BR, etc.) or "global" for major economies. Default: US. | **Returns:** Economic indicators with values, dates, and source attribution (BLS for US, World Bank for global). **Example:** ```json { "tool": "finance-data", "skill": "economic_indicators", "input": {} } ``` #### Energy Markets (`energy_markets`) Get US energy market data from the EIA. Covers crude oil spot prices (WTI, Brent), retail gasoline/diesel prices, Henry Hub natural gas futures, electricity prices by sector, coal prices, and petroleum inventory levels including the Strategic Petroleum Reserve. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `category` | string | No | Data category: oil, gas, natural_gas, electricity, coal, or inventories. Default: oil. (oil, gas, natural_gas, electricity, coal, inventories) | **Returns:** Energy market data points with period, product name, value, and units. Source: US EIA. **Example:** ```json { "tool": "finance-data", "skill": "energy_markets", "input": {} } ``` #### COT Report (`cot_report`) Get CFTC Commitment of Traders positioning data showing how commercial hedgers and speculative traders are positioned in major futures markets. Covers energy, metals, agriculture, financials, and currencies. Updated weekly. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `market` | string | No | Filter by market keyword (e.g. "wheat", "crude", "gold", "natural gas", "euro", "s&p"). Omit for all major markets. | **Returns:** COT report with open interest, commercial and non-commercial long/short positions, net positions, and changes. Source: CFTC. **Example:** ```json { "tool": "finance-data", "skill": "cot_report", "input": {} } ``` #### US National Debt (`us_national_debt`) Get US national debt figures and average interest rates on Treasury securities from the Treasury Fiscal Data API. Includes debt-to-the-penny (total, held by public, intragovernmental) and average coupon rates by security type. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `metric` | string | No | Data to fetch: debt (totals), interest_rates (avg coupon by security), or all. Default: all. (debt, interest_rates, all) | **Returns:** US national debt figures (total, public, intragovernmental) and average interest rates by security type. Source: US Treasury. **Example:** ```json { "tool": "finance-data", "skill": "us_national_debt", "input": {} } ``` #### Fed Balance Sheet (`fed_balance_sheet`) Get the Federal Reserve balance sheet (SOMA holdings) from the New York Fed. Shows total holdings and breakdown by asset class: Treasury securities, mortgage-backed securities, agency debt, and more. **Returns:** Federal Reserve SOMA holdings with total value, asset class breakdown, and as-of date. Source: NY Fed. **Example:** ```json { "tool": "finance-data", "skill": "fed_balance_sheet", "input": {} } ``` #### VIX Index (`vix_index`) Get the CBOE VIX (Volatility Index) from FRED. Returns daily values with summary stats and fear-level classification. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `days` | number | No | Number of days of history to fetch (1-365). Default: 30. | **Returns:** VIX daily values with summary stats (high, low, average, latest, trend direction) and fear-level classification. **Example:** ```json { "tool": "finance-data", "skill": "vix_index", "input": {} } ``` #### Labor Market (`labor_market`) Get comprehensive US labor market data from FRED. Covers nonfarm payrolls, initial jobless claims (weekly), JOLTS job openings, average hourly earnings, labor force participation rate, unemployment rate, and U-6 underemployment rate. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `metric` | string | No | Metric to fetch (e.g. nonfarm_payrolls, initial_claims, jolts, unemployment). Default: all. (nonfarm_payrolls, initial_claims, jolts, avg_hourly_earnings, participation_rate, unemployment, underemployment, all) | **Returns:** US labor market metrics with values, dates, and units. Single metric includes 12-month history. **Example:** ```json { "tool": "finance-data", "skill": "labor_market", "input": {} } ``` #### Housing Market (`housing_market`) Get US housing market data from FRED. Covers 30-year and 15-year fixed mortgage rates, S&P/Case-Shiller home price index, median sale price, housing starts, existing home sales, building permits, vacancy rate, and homeownership rate. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `metric` | string | No | Specific metric: mortgage_rates, home_prices, housing_starts, existing_sales, permits, vacancy, homeownership, or all. Default: all. (mortgage_rates, home_prices, housing_starts, existing_sales, permits, vacancy, homeownership, all) | **Returns:** US housing market metrics with values, dates, and units. Single metric includes 12-month history. **Example:** ```json { "tool": "finance-data", "skill": "housing_market", "input": {} } ``` #### Money Supply (`money_supply`) Get US money supply and monetary aggregates from FRED. Covers M1 and M2 money stock, velocity of money, monetary base, total reserves, excess reserves, Fed reserve balances, and Fed total assets (WALCL). Includes a Fed summary with total assets and reserves. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `metric` | string | No | Specific metric: m1, m2, velocity, monetary_base, reserves, fed_assets, or all. Default: all. (m1, m2, velocity, monetary_base, reserves, fed_assets, all) | **Returns:** US money supply metrics with values, dates, and units. Single metric includes 24-month history. Includes Fed summary. **Example:** ```json { "tool": "finance-data", "skill": "money_supply", "input": {} } ``` #### Consumer Sentiment (`consumer_sentiment`) Get US consumer confidence and sentiment data from FRED. Covers UMich Consumer Sentiment Index, 1-year inflation expectations, OECD Consumer Confidence, personal consumption (durable goods), personal saving rate, total vehicle sales, and advance retail sales. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `index` | string | No | Specific index: umich (sentiment + inflation expectations), spending (consumption, saving, retail), vehicles, or all. Default: all. (umich, spending, vehicles, all) | **Returns:** Consumer sentiment and spending metrics with values, dates, and units. Single index includes 24-month history. **Example:** ```json { "tool": "finance-data", "skill": "consumer_sentiment", "input": {} } ``` #### Government Bonds (`government_bonds`) Get Euro area 10-year government bond yields from the ECB for 11 countries: Germany, France, Italy, Spain, Netherlands, Belgium, Austria, Portugal, Greece, Ireland, and Finland. Computes spread vs Germany (benchmark) in basis points. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `country` | string | No | ISO 2-letter country code: DE, FR, IT, ES, NL, BE, AT, PT, GR, IE, FI. Omit for all countries. (DE, FR, IT, ES, NL, BE, AT, PT, GR, IE, FI) | **Returns:** Euro area 10Y government bond yields by country with spread vs Germany in basis points. Source: ECB. **Example:** ```json { "tool": "finance-data", "skill": "government_bonds", "input": {} } ``` #### Crypto Markets (`crypto_markets`) Get crypto market data from CoinGecko. Global stats, top coins by market cap, trending coins, DeFi stats, Fear & Greed Index, category breakdowns, and single-coin details. Real-time. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `category` | string | No | Data category: overview (global stats + fear/greed + top 5), top_coins, trending, defi, fear_greed, categories. Default: overview. (overview, top_coins, trending, defi, fear_greed, categories) | | `coin` | string | No | Specific coin ID for details (e.g. "bitcoin", "ethereum", "solana"). Used with overview or on its own. | | `limit` | number | No | Number of coins for top_coins (1-100). Default: 20. | **Returns:** Crypto market data with prices, market caps, volumes, dominance, Fear & Greed sentiment, and trends. Source: CoinGecko + Alternative.me. **Example:** ```json { "tool": "finance-data", "skill": "crypto_markets", "input": {} } ``` #### Credit Conditions (`credit_conditions`) Get US credit market conditions from FRED. Covers credit spreads (IG, HY, BBB, TED), bank lending (credit, C&I loans, real estate), consumer credit (outstanding, cards, debt service), delinquency rates, and SLOOS lending standards. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `metric` | string | No | Specific metric: credit_spreads, bank_lending, consumer_credit, delinquencies, lending_standards, or all. Default: all. (credit_spreads, bank_lending, consumer_credit, delinquencies, lending_standards, all) | **Returns:** US credit market metrics with values, dates, and units. Single metric includes 24-month history. **Example:** ```json { "tool": "finance-data", "skill": "credit_conditions", "input": {} } ``` #### Precious Metals (`precious_metals`) Get real-time precious metals spot prices from Gold-API. Covers gold, silver, platinum, and palladium with live bid/ask, daily high/low, change from previous close, and gold price per gram in multiple karats (24k, 22k, 18k, 14k). Updated every few seconds — much more current than daily FRED data. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `metal` | string | No | Specific metal: gold, silver, platinum, palladium, or all. Default: all. (gold, silver, platinum, palladium, all) | **Returns:** Live precious metals spot prices with bid/ask, high/low, change, and per-gram prices for gold. Source: Gold-API.com. **Example:** ```json { "tool": "finance-data", "skill": "precious_metals", "input": {} } ``` #### Leading Indicators (`leading_indicators`) Get OECD Composite Leading Indicators (CLI) for 14 major economies. Predicts turning points 6-9 months ahead — above 100 = expansion, below 100 = contraction. Covers US, UK, DE, JP, FR, IT, CA, CN, BR, IN, MX, KR, AU, ZA. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `country` | string | No | ISO 2-letter country code (US, GB, DE, JP, FR, IT, CA, CN, BR, IN, MX, KR, AU, ZA) or "all" for all 14 economies. Default: all. | **Returns:** OECD CLI values with direction (expanding/contracting/stabilizing), trend position (above/below 100), and 6-month history. Source: OECD. **Example:** ```json { "tool": "finance-data", "skill": "leading_indicators", "input": {} } ``` #### Federal Budget (`federal_budget`) Get US federal budget data from the Treasury Monthly Treasury Statement (MTS) API. Covers monthly receipts, outlays, surplus/deficit, and year-to-date fiscal totals. Includes outlays broken down by government function. Updated monthly. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `category` | string | No | Data category: summary (receipts/outlays/deficit), receipts (same as summary), outlays (by function), or all. Default: summary. (summary, receipts, outlays, all) | **Returns:** Federal budget data with monthly receipts, outlays, surplus/deficit, year-to-date totals, and optionally outlays by function. Source: US Treasury. **Example:** ```json { "tool": "finance-data", "skill": "federal_budget", "input": {} } ``` #### Live Prices (`live_prices`) Real-time market prices with intraday charts. Covers energy, metals, agriculture futures, global stock indices, FX majors, crypto, and bond futures. Supports 5-minute to daily intervals. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `symbol` | string | No | Yahoo Finance ticker symbol (e.g. "BZ=F" for Brent, "GC=F" for gold, "^GSPC" for S&P 500, "BTC-USD" for Bitcoin). | | `category` | string | No | Fetch all instruments in a group: energy, metals, agriculture, indices, fx_majors, crypto, bonds. Returns a price table for the whole category. (energy, metals, agriculture, indices, fx_majors, crypto, bonds) | | `interval` | string | No | Price interval: 5m, 15m, 1h, 1d. Default: 1d. Intraday intervals (5m/15m/1h) only work with short ranges (1d/5d). (5m, 15m, 1h, 1d) | | `range` | string | No | Time range: 1d, 5d, 1mo, 3mo, 6mo, 1y. Default: 5d. (1d, 5d, 1mo, 3mo, 6mo, 1y) | **Returns:** Real-time OHLCV data for single symbols (with price, change, 52-week range, and history), or a price summary table for categories. **Example:** ```json { "tool": "finance-data", "skill": "live_prices", "input": { "symbol": "TTF=F" } } ``` #### Electricity Prices (`electricity_prices`) European wholesale electricity day-ahead prices at 15-minute resolution. Covers 24 bidding zones across Europe including Germany, France, Netherlands, Belgium, Spain, Italy, Nordics, UK, Poland, and more. Shows current spot price, average, min/max, and full time series. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `zone` | string | No | Bidding zone code (e.g. DE-LU, FR, NL, BE, AT, ES, IT-North, GB). Default: DE-LU. | | `hours` | number | No | Hours of data to fetch (1-168). Default: 24 (last day). | **Returns:** Wholesale electricity prices with summary stats (latest, average, min, max) and 15-minute time series data. **Example:** ```json { "tool": "finance-data", "skill": "electricity_prices", "input": {} } ``` #### Futures Curve (`futures_curve`) Full futures term structure (forward curve) for 16 major contracts. Shows every contract month with price, change, volume, and market structure (contango vs backwardation). Covers energy, metals, agriculture, and Treasury futures. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `contract` | string | No | Contract ID (e.g. ttf_gas, wti_crude, gold, corn, treasury_10y). Omit to list all available contracts. (ttf_gas, henry_hub, wti_crude, brent_crude, heating_oil, gasoline, gold, silver, copper, corn, wheat, soybeans, treasury_2y, treasury_5y, treasury_10y, treasury_30y) | | `months` | number | No | Number of contract months to fetch (3-24). Default: 12. | **Returns:** Futures curve with price per contract month, front month, calendar spread, market structure (contango/backwardation), and volume. Proxy for CME/ICE settlement data. **Example:** ```json { "tool": "finance-data", "skill": "futures_curve", "input": { "contract": "ttf_gas" } } ``` ### Drug Information FDA drug labeling data: indications, dosage, warnings, contraindications, and interactions. Check adverse event reports for real-world side effects, query recall history, and search drugs by medical condition. Always surface the FDA disclaimer. - **Version:** 0.04 - **Categories:** data, productivity #### Look Up Drug (`lookup_drug`) Look up detailed drug information by brand or generic name. Returns prescribing details including indications, warnings, dosage, contraindications, adverse reactions, and drug interactions from FDA labeling data. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `name` | string | Yes | Drug name to look up (brand name like "Advil" or generic name like "ibuprofen") | | `type` | string | No | Whether to search by brand name, generic name, or try both (default: "any") (brand, generic, any) [default: "any"] | **Returns:** Drug name, generic name, manufacturer, route, indications, warnings, dosage, contraindications, adverse reactions, drug interactions, and FDA disclaimer **Example:** ```json { "tool": "drug-info", "skill": "lookup_drug", "input": { "name": "aspirin", "type": "generic" } } ``` #### Check Adverse Events (`check_adverse_events`) Search FDA adverse event reports (FAERS) for a drug. Shows reported side effects, hospitalizations, and outcomes. Note: this shows reported events, not confirmed drug interactions. For drug-drug interaction warnings, use lookup_drug and check the drug_interactions field. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `drug_name` | string | Yes | Drug name to check adverse events for (brand or generic name) | | `limit` | number | No | Number of adverse event reports to return (default: 10, max: 50) [default: 10] | **Returns:** Adverse event reports with reactions, patient demographics, seriousness outcomes, concomitant drugs, and a summary of the most common reactions. **Example:** ```json { "tool": "drug-info", "skill": "check_adverse_events", "input": { "drug_name": "ibuprofen" } } ``` #### Check Drug Recalls (`check_recalls`) Check if a drug has been recalled by searching the FDA enforcement database. Returns recall events with reason, severity classification (Class I/II/III), status, distribution pattern, and dates. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `drug_name` | string | Yes | Drug name to check for recalls (brand or generic name) | | `limit` | number | No | Number of recall records to return (default: 10, max: 25) [default: 10] | **Returns:** Recall events with reason for recall, classification (Class I = most serious, Class III = least serious), status, recalling firm, distribution pattern, dates, lot info, and quantity **Example:** ```json { "tool": "drug-info", "skill": "check_recalls", "input": { "drug_name": "metformin" } } ``` #### Search Drugs by Condition (`search_by_condition`) Find drugs commonly used for a medical condition by searching FDA drug labeling indications. Returns matching drugs with their brand and generic names, manufacturer, route, and a snippet of their indicated uses. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `condition` | string | Yes | Medical condition or symptom to search for (e.g. "headache", "high blood pressure", "diabetes") | | `limit` | number | No | Maximum number of drugs to return (default: 10, max: 50) [default: 10] | **Returns:** List of drugs matching the condition with brand name, generic name, manufacturer, route of administration, product type (Prescription/OTC), and a snippet of the indications and usage text **Example:** ```json { "tool": "drug-info", "skill": "search_by_condition", "input": { "condition": "headache" } } ``` ### Stays Search Search stays worldwide: Airbnb listings with photos, ratings, prices, and booking links, plus hotel rate comparison across Booking.com, Agoda, and Trip.com. Use search_stays for Airbnb and compare_hotel_rates for hotels. - **Version:** 0.07 - **Categories:** data, productivity #### Search Destinations (`search_destinations`) Search for a destination by name to find matching cities, regions, and neighborhoods. Returns location names with Place IDs and country codes. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | City, region, or address to search (e.g. "Paris", "Bali", "Manhattan New York") | **Returns:** List of matching destinations with display names, Place IDs, and country codes **Example:** ```json { "tool": "stays-search", "skill": "search_destinations", "input": { "query": "Paris" } } ``` #### Search Stays (`search_stays`) Search for available stays (Airbnb, vacation rentals, apartments, unique homes) in a destination. Returns listings with names, photos, ratings, prices, coordinates, and direct Airbnb booking links. Supports date filtering, guest counts, and pagination. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `location` | string | Yes | Location to search (e.g. "Barcelona, Spain", "Paris", "Gracia, Barcelona") | | `checkin` | string | No | Check-in date in YYYY-MM-DD format | | `checkout` | string | No | Check-out date in YYYY-MM-DD format | | `adults` | number | No | Number of adult guests (default 1) [default: 1] | | `children` | number | No | Number of children | | `infants` | number | No | Number of infants | | `pets` | number | No | Number of pets | | `currency` | string | No | Currency code for prices (e.g. "USD", "EUR", "GBP") | | `page` | number | No | Page number for pagination (default 1) [default: 1] | **Returns:** List of stays with names, photos, ratings, prices, coordinates, beds/bedrooms, and Airbnb booking URLs **Example:** ```json { "tool": "stays-search", "skill": "search_stays", "input": { "location": "Barcelona, Spain", "checkin": "2026-04-15", "checkout": "2026-04-17", "adults": 2 } } ``` #### Compare Hotel Rates (`compare_hotel_rates`) Compare hotel rates across Booking.com, Agoda, Trip.com, and hotel websites. Returns per-night and total costs sorted cheapest first. Requires a TripAdvisor hotel key (format: g{location}-d{property}, e.g. "g60763-d99762"). **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `hotel_key` | string | Yes | TripAdvisor hotel key (format: g{location}-d{property}, e.g. "g60763-d99762", "g187147-d197572"). Find this from TripAdvisor hotel URLs. | | `check_in` | string | Yes | Check-in date in YYYY-MM-DD format | | `check_out` | string | Yes | Check-out date in YYYY-MM-DD format | | `currency` | string | No | Currency code for prices (e.g. "USD", "EUR", "GBP"). Defaults to USD. | | `rooms` | number | No | Number of rooms (default 1) [default: 1] | | `adults` | number | No | Number of adults per room (default 2) [default: 2] | **Returns:** Rates from Booking.com, Agoda, Trip.com, and hotel websites with per-night and total stay costs sorted cheapest first, plus savings summary **Example:** ```json { "tool": "stays-search", "skill": "compare_hotel_rates", "input": { "hotel_key": "g187147-d197572", "check_in": "2026-04-15", "check_out": "2026-04-17" } } ``` ### Movie & TV Search Look up any movie or TV show for ratings from IMDB, Rotten Tomatoes, and Metacritic, plus cast, director, plot, awards, and box office. Browse episode guides with per-episode ratings and full cast lists. Great for recommendations, research, and entertainment queries. - **Version:** 0.02 - **Categories:** data, productivity #### Search (`search`) Search movies and TV shows by name. Returns a list of results with title, year, IMDB ID, type, and poster image. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Movie or TV show name to search for | | `type` | string | No | Filter by type — movie, series, or any (all results) (movie, series, any) [default: "any"] | | `year` | number | No | Filter by release year | **Returns:** List of matching results with title, year, imdb_id, type, and poster_url **Example:** ```json { "tool": "movie-tv-search", "skill": "search", "input": { "query": "Inception" } } ``` #### Get Details (`get_details`) Get full details for a movie or TV show including ratings from IMDB, Rotten Tomatoes, and Metacritic, plus cast, director, plot, awards, and box office data. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `title` | string | No | Movie or TV show title to look up | | `imdb_id` | string | No | IMDB ID like tt1375666 for direct lookup | | `plot` | string | No | Plot summary length — short or full (short, full) [default: "short"] | **Returns:** Title, year, runtime, genre, director, actors, plot, awards, poster, ratings (IMDB/RT/Metacritic), box office, total seasons **Example:** ```json { "tool": "movie-tv-search", "skill": "get_details", "input": { "title": "Inception" } } ``` #### Get Episodes (`get_episodes`) Get the episode list for a specific season of a TV show. Returns episode titles, air dates, and IMDB ratings for each episode. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `title` | string | Yes | TV show title | | `season` | number | Yes | Season number | **Returns:** List of episodes with title, episode number, released date, imdb_rating, and imdb_id **Example:** ```json { "tool": "movie-tv-search", "skill": "get_episodes", "input": { "title": "Breaking Bad", "season": 1 } } ``` #### TV Show Cast (`tv_show_cast`) Get the full cast of a TV show with actor names and character names. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | TV show name to look up cast for | **Returns:** Cast list with actor name, character name, and actor image URL **Example:** ```json { "tool": "movie-tv-search", "skill": "tv_show_cast", "input": { "query": "Breaking Bad" } } ``` #### TV Episodes Detailed (`tv_episodes_detailed`) Get detailed episodes with ratings and summaries for a TV show, grouped by season. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | TV show name to get episodes for | **Returns:** All episodes with season, episode number, name, airdate, rating, and summary **Example:** ```json { "tool": "movie-tv-search", "skill": "tv_episodes_detailed", "input": { "query": "Game of Thrones" } } ``` ### Events Nearby Discover live events near any city worldwide — concerts, sports, comedy, theatre, and more. Search by keyword, category, date, or coordinates, then drill into venue details, price ranges, seat maps, and ticket links. Ideal for trip planning and finding things to do in any city. - **Version:** 0.03 - **Categories:** data, productivity #### Search Events (`search_events`) Search for events by keyword, location, date, or category. Find concerts, sports, theatre, comedy, family events, and more near any city or coordinates. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `keyword` | string | No | Search term like artist name, event name, or genre | | `latitude` | number | No | Latitude for geographic search (use with longitude) | | `longitude` | number | No | Longitude for geographic search (use with latitude) | | `city` | string | No | City name to search in | | `country_code` | string | No | ISO country code (e.g. "US", "GB", "CA", "AU") [default: "US"] | | `category` | string | No | Event category filter (music, sports, arts, theatre, comedy, family, film) | | `start_date` | string | No | Start date in YYYY-MM-DD format | | `end_date` | string | No | End date in YYYY-MM-DD format | | `radius` | number | No | Search radius in miles (used with latitude/longitude) [default: 50] | | `limit` | number | No | Maximum number of results to return (1-50) [default: 20] | **Returns:** Events with name, date/time, venue, city, price range, image, ticket URL, and genre **Example:** ```json { "tool": "events-nearby", "skill": "search_events", "input": { "keyword": "concert", "city": "London", "country_code": "GB" } } ``` #### Event Details (`event_details`) Get full details for a specific event including venue info, price ranges, ticket status, seat map, performers, accessibility, and booking links. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `event_id` | string | Yes | Event ID from search results | **Returns:** Full event info: venue, prices, ticket status, seat map, promoter, genre, accessibility, and ticket URL **Example:** ```json { "tool": "events-nearby", "skill": "event_details", "input": { "event_id": "abc123" } } ``` #### Find Venues (`find_venues`) Search for event venues by name, city, or coordinates. Find arenas, theatres, stadiums, and concert halls with address, upcoming event counts, and box office info. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `keyword` | string | No | Venue name or keyword to search for | | `latitude` | number | No | Latitude for geographic search (use with longitude) | | `longitude` | number | No | Longitude for geographic search (use with latitude) | | `city` | string | No | City name to search in | | `radius` | number | No | Search radius in miles (used with latitude/longitude) [default: 25] | **Returns:** Venues with name, address, city, country, coordinates, upcoming event count, box office hours/phone, parking info, and images **Example:** ```json { "tool": "events-nearby", "skill": "find_venues", "input": { "city": "Chicago" } } ``` #### Search Artists (`search_artists`) Search for artists, bands, sports teams, or performers. Find upcoming event counts, genre info, and links to external profiles like social media and streaming platforms. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Artist, band, or team name to search for | **Returns:** Matching attractions with name, genre, subgenre, upcoming event count, external links (social media, streaming), and images **Example:** ```json { "tool": "events-nearby", "skill": "search_artists", "input": { "query": "Taylor Swift" } } ``` ### Sports Scores Real-time game data across football, basketball, American football, baseball, and hockey. Live scores, results by date, team schedules, league standings, and team search. - **Version:** 0.03 - **Categories:** data, productivity #### Live Scores (`live_scores`) Get live scores across all supported sports. Returns all currently in-progress games with teams, scores, match status, and elapsed time or period. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `sport` | string | Yes | Sport to check live scores for (football, basketball, american-football, baseball, hockey) | **Returns:** All currently live games with team names, current scores, match status, elapsed time/period, league, and venue **Example:** ```json { "tool": "sports-scores", "skill": "live_scores", "input": { "sport": "football" } } ``` #### Scores by Date (`scores_by_date`) Get game scores and schedules for a specific date. Returns all games for that date with teams, scores, status (scheduled, live, or finished), start time, and venue. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `sport` | string | Yes | Sport to check scores for (football, basketball, american-football, baseball, hockey) | | `date` | string | Yes | Date in YYYY-MM-DD format (e.g. "2026-03-20") | **Returns:** All games for the date with team names, scores, game status, start time, league, round, and venue **Example:** ```json { "tool": "sports-scores", "skill": "scores_by_date", "input": { "sport": "football", "date": "2026-03-20" } } ``` #### Team Schedule (`team_schedule`) Get upcoming and recent games for a specific team. Searches for the team by name, then returns their full season fixtures with opponents, scores, dates, and competition details. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `sport` | string | Yes | Sport the team plays (football, basketball, american-football, baseball, hockey) | | `team_name` | string | Yes | Team name to search for (e.g. "Arsenal", "Lakers", "Patriots", "Yankees", "Bruins") | **Returns:** Team info and full list of season fixtures with dates, opponents, scores, match status, league, and venue **Example:** ```json { "tool": "sports-scores", "skill": "team_schedule", "input": { "sport": "football", "team_name": "Arsenal" } } ``` #### Search Team (`search_team`) Search for a team by name across any supported sport. Returns matching teams with their ID, name, logo, and league. Use team IDs with other skills. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `sport` | string | Yes | Sport to search teams in (football, basketball, american-football, baseball, hockey) | | `query` | string | Yes | Team name to search (e.g. "Manchester", "Real Madrid", "Celtics") | **Returns:** Matching teams with ID, name, country, logo, founding year, and venue details **Example:** ```json { "tool": "sports-scores", "skill": "search_team", "input": { "sport": "football", "query": "Manchester" } } ``` #### League Standings (`standings`) Get league standings and table for any supported sport. Returns team rankings with wins, losses, draws, points, goal/point difference, and qualification status. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `sport` | string | Yes | Sport to get standings for (football, basketball, american-football, baseball, hockey) | | `league_name` | string | Yes | League name (e.g. "Premier League", "NBA", "NFL", "MLB", "NHL", "La Liga", "Bundesliga") | **Returns:** League table with team rankings, wins, losses, draws, points, goals scored/conceded, goal difference, and qualification/relegation status **Example:** ```json { "tool": "sports-scores", "skill": "standings", "input": { "sport": "football", "league_name": "Premier League" } } ``` ### Flight Search Search live flight inventory across airlines for any route. Get real-time pricing, baggage, emissions, stops, and booking deadlines for one-way or round-trip flights. Supports economy through first class, up to 9 passengers. Returns IDs needed for booking handoff. - **Version:** 0.03 - **Categories:** data, productivity #### Search Flights (`search_flights`) Search for flight offers between two airports. Returns prices, airlines, departure and arrival times, duration, number of stops, baggage, emissions, and booking deadlines for each offer. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `origin` | string | Yes | Origin airport or city IATA code (e.g. 'LHR', 'NYC', 'SYD') | | `destination` | string | Yes | Destination airport or city IATA code | | `departure_date` | string | Yes | Departure date in YYYY-MM-DD format | | `return_date` | string | No | Return date for round-trip (omit for one-way) | | `adults` | number | No | Number of adult passengers (1-9) [default: 1] | | `children` | number | No | Number of children (2-11 years) | | `cabin_class` | string | No | Cabin class preference (economy, premium_economy, business, first) | | `max_connections` | number | No | Maximum number of stops (0 for direct only, 1-2 for connections) [default: 1] | | `max_results` | number | No | Maximum number of offers to return [default: 10] | **Returns:** List of flight offers with airlines, departure/arrival times, duration, stops, prices, baggage, emissions, and booking deadlines **Example:** ```json { "tool": "flight-search", "skill": "search_flights", "input": { "origin": "LHR", "destination": "JFK", "departure_date": "2026-04-15" } } ``` #### Find Airport (`find_airport`) Search for airport or city IATA codes by name. Useful when you know the city or airport name but need the IATA code for flight searches. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Airport name, city name, or IATA code to search for | **Returns:** Matching airports and cities with IATA code, name, city, country, coordinates, and timezone **Example:** ```json { "tool": "flight-search", "skill": "find_airport", "input": { "query": "London" } } ``` #### Get Offer Details (`get_offer`) Get refreshed details for a specific flight offer by its ID. Returns updated pricing, baggage info, available services, and booking deadline. Use this after search_flights to check if an offer is still available. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `offer_id` | string | Yes | Offer ID from search_flights results (e.g. 'off_0000...') | **Returns:** Refreshed offer details with updated pricing, baggage, emissions, and booking deadline **Example:** ```json { "tool": "flight-search", "skill": "get_offer", "input": { "offer_id": "off_0000AEdHh0OlkSORal" } } ``` ### Travel Booking Convert flight search results into confirmed bookings and manage the full lifecycle: status checks, cancellations with refund quotes, and payment for held orders. Works alongside flight-search: find offers, then book here. - **Version:** 0.04 - **Categories:** productivity, data #### Book Flight (`book_flight`) Book a flight from search results. Creates a booking and returns a payment link for the customer to complete the purchase with their card. The flight is held until payment is received. If the airline requires immediate payment, charges the platform balance instead. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `offer_id` | string | Yes | Flight offer ID from flight-search results (starts with 'off_') | | `passengers` | array | Yes | Passenger details: id (from search), given_name, family_name, title, gender, born_on, email, phone_number. Add identity_documents for international. | | `payment_type` | string | No | Payment method — balance uses the platform's pre-funded account (balance) [default: "balance"] | **Returns:** Booking confirmation with order ID, booking reference, airline, ticket details, total charged, and cancellation deadline **Example:** ```json { "tool": "travel-booking", "skill": "book_flight", "input": { "offer_id": "off_0000AEdHh0OlkSORal", "passengers": [ { "id": "pas_0000AEdHh0OlkSORam", "given_name": "Amelia", "family_name": "Earhart", "title": "ms", "gender": "f", "born_on": "1990-07-24", "email": "amelia@example.com", "phone_number": "+442080160509" } ] } } ``` #### Get Booking Details (`get_booking`) Check the status of an existing flight booking. Returns booking reference, airline, route, dates, passengers, payment status, available actions, and ticket numbers. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `order_id` | string | Yes | Booking order ID (starts with 'ord_') | **Returns:** Full booking details including reference, airline, route, dates, passengers, payment status, tickets, and available actions **Example:** ```json { "tool": "travel-booking", "skill": "get_booking", "input": { "order_id": "ord_0000AEdHh0OlkSORal" } } ``` #### List Bookings (`list_bookings`) List recent flight bookings. Returns a summary of each booking with order ID, booking reference, airline, route, dates, status, and total amount. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `limit` | number | No | Number of bookings to return (1-50) [default: 10] | **Returns:** List of recent bookings with order ID, booking reference, airline, route, dates, status, and total amount **Example:** ```json { "tool": "travel-booking", "skill": "list_bookings", "input": {} } ``` #### Cancel Booking (`cancel_booking`) Cancel a flight booking and get refund information. When confirm is false (default), returns a refund quote without cancelling. When confirm is true, executes the cancellation with the airline and processes the refund. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `order_id` | string | Yes | Booking order ID to cancel (starts with 'ord_') | | `confirm` | boolean | No | Set to true to confirm the cancellation. When false, returns refund quote only without cancelling. [default: false] | **Returns:** Refund quote (when confirm is false) or cancellation confirmation with refund details (when confirm is true) **Example:** ```json { "tool": "travel-booking", "skill": "cancel_booking", "input": { "order_id": "ord_0000AEdHh0OlkSORal" } } ``` #### Pay Held Booking (`pay_held_booking`) Pay for a booking that was held without payment. Fetches the current order total and submits payment. Only works for orders that have not yet been paid. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `order_id` | string | Yes | Order ID of the held booking (starts with 'ord_') | **Returns:** Payment confirmation with payment ID, amount paid, and currency **Example:** ```json { "tool": "travel-booking", "skill": "pay_held_booking", "input": { "order_id": "ord_0000AEdHh0OlkSORal" } } ``` ### Book Search Search a massive catalog of books by title, author, subject, or ISBN. Get cover images, descriptions, and publication details. Browse trending titles, explore author bios, and read full text from 60,000+ free public domain ebooks. - **Version:** 0.04 - **Categories:** data, productivity #### Search Books (`search_books`) Search for books by any query including title, author, or topic. Returns matching books with cover images, authors, publication year, and page counts. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search query — can be a book title, author name, topic, or any combination | | `limit` | number | No | Maximum number of results to return (1-50, default 10) [default: 10] | | `page` | number | No | Page number for paginated results (default 1) [default: 1] | | `sort` | string | No | Sort order for results — "title" (alphabetical), "editions" (most editions), "old" (oldest first), "new" (newest first) (title, editions, old, new) | | `language` | string | No | Filter by language using a 3-letter ISO 639-2 code (e.g. "eng", "fra", "spa", "deu") | **Returns:** List of matching books with title, authors, cover image URLs, publication year, page count, subjects, and work keys for detailed lookup **Example:** ```json { "tool": "book-search", "skill": "search_books", "input": { "query": "machine learning" } } ``` #### Get Book Details (`get_book_details`) Get full details for a specific book by its Open Library work key. Returns the complete description, subjects, cover images, publication date, and related links. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `work_key` | string | Yes | Open Library work key (e.g. "OL45804W") — obtained from search_books results | **Returns:** Complete book details including description, subjects, subject places and times, cover image URLs, first publish date, and related links **Example:** ```json { "tool": "book-search", "skill": "get_book_details", "input": { "work_key": "OL27448W" } } ``` #### Lookup ISBN (`lookup_isbn`) Look up a book by its ISBN (10 or 13 digit). Returns the specific edition details including title, publisher, page count, publish date, and cover image. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `isbn` | string | Yes | ISBN-10 or ISBN-13 of the book (hyphens are stripped automatically) | **Returns:** Edition details including title, publishers, publish date, page count, cover images, physical format, and work key for further lookup **Example:** ```json { "tool": "book-search", "skill": "lookup_isbn", "input": { "isbn": "9780261103573" } } ``` #### Search by Author (`search_by_author`) Search for books by a specific author name. Returns all matching books by that author with cover images, publication years, and subjects. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `author` | string | Yes | Author name to search for (e.g. "J.R.R. Tolkien", "Stephen King") | | `limit` | number | No | Maximum number of results to return (1-50, default 10) [default: 10] | **Returns:** List of books by the specified author with titles, cover image URLs, publication years, page counts, subjects, and work keys **Example:** ```json { "tool": "book-search", "skill": "search_by_author", "input": { "author": "J.R.R. Tolkien" } } ``` #### Search by Subject (`search_by_subject`) Find books in a specific subject or topic area. Uses the Open Library subject catalog to return curated book lists for categories like fiction, science, history, and more. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `subject` | string | Yes | Subject or topic to browse (e.g. "science fiction", "biography", "artificial intelligence") | | `limit` | number | No | Maximum number of results to return (1-50, default 10) [default: 10] | **Returns:** List of books in the specified subject with titles, authors, cover image URLs, publication years, and edition counts **Example:** ```json { "tool": "book-search", "skill": "search_by_subject", "input": { "subject": "science fiction" } } ``` #### Get Author Details (`get_author_details`) Get detailed information about an author by their Open Library author key. Returns biography, birth and death dates, photo, and their top works with publication details. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `author_key` | string | Yes | Open Library author key (e.g. "OL34184A") — found in search results or author URLs | **Returns:** Author details including name, biography, birth/death dates, photo URLs, total works count, and top works with titles and publication dates **Example:** ```json { "tool": "book-search", "skill": "get_author_details", "input": { "author_key": "OL26320A" } } ``` #### Trending Books (`trending_books`) Discover trending and popular books on Open Library. Returns books that are currently being read, wishlisted, or talked about, with daily, weekly, monthly, or yearly trends. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `period` | string | No | Trending period — how far back to look for trending activity (default "daily") (daily, weekly, monthly, yearly) [default: "daily"] | **Returns:** List of trending books with titles, authors, cover image URLs, publication years, edition counts, and reading activity stats (already read, want to read, currently reading) **Example:** ```json { "tool": "book-search", "skill": "trending_books", "input": {} } ``` #### Search Free Ebooks (`search_free_ebooks`) Search over 60,000 public domain books from Project Gutenberg. Find free ebooks by title, author, or topic with download links in multiple formats including plain text, HTML, and EPUB. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search query — can be a book title, author name, or keyword | | `language` | string | No | Filter by language using ISO 639-1 code (e.g. "en", "fr", "de") | | `topic` | string | No | Filter by topic or bookshelf category (e.g. "children", "history") | | `sort` | string | No | Sort order — "popular" (most downloaded), "ascending" (A-Z), "descending" (Z-A) (popular, ascending, descending) [default: "popular"] | | `limit` | number | No | Maximum number of results to return (1-32, default 10) [default: 10] | **Returns:** List of matching free ebooks with titles, authors, subjects, download counts, and download links in HTML, plain text, EPUB, Kindle, and cover image formats **Example:** ```json { "tool": "book-search", "skill": "search_free_ebooks", "input": { "query": "shakespeare" } } ``` #### Read Ebook (`read_ebook`) Fetch the actual text content of a free ebook from Project Gutenberg by its book ID. Use this to read, summarize, analyze, or quote from public domain books. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `book_id` | number | Yes | Project Gutenberg book ID — obtained from search_free_ebooks results | | `format` | string | No | Text format to fetch — "plain_text" for raw text or "html" for formatted HTML (plain_text, html) [default: "plain_text"] | | `max_length` | number | No | Maximum number of characters to return (default 5000, max 50000). Longer books are truncated with a link to the full text. [default: 5000] | **Returns:** The book text content with title, authors, format, character count, truncation status, and a URL to the full text for reading the complete work **Example:** ```json { "tool": "book-search", "skill": "read_ebook", "input": { "book_id": 84 } } ``` ### Art Collection Search Search artworks across museum APIs, cultural aggregators, and open knowledge sources. Browse image-rich records, compare institutions, open full artwork details, and look up artist background for global art discovery. - **Version:** 0.02 - **Categories:** data, search - **Author:** Humanleap - **License:** UNLICENSED #### Search Artworks (`search_artworks`) Search artworks across open museum collections, cultural aggregators, and global art-adjacent sources. Returns normalized results with images, institutions, artists, dates, and record links. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search query such as an artist name, artwork title, movement, keyword, or subject | | `source` | string | No | Provider to search: all, met, artic, cma, digitalnz, jpsearch, wikidata, or openverse (all, met, artic, cma, digitalnz, jpsearch, wikidata, openverse) [default: "all"] | | `limit` | number | No | Maximum number of artworks to return per page (1-20, default 10) [default: 10] | | `page` | number | No | Results page number for pagination (default 1) [default: 1] | | `has_images` | boolean | No | When true, filter toward results that include a usable image URL for gallery output [default: true] | **Returns:** Artwork matches with normalized provider, institution, artist, date, image, and canonical record links **Example:** ```json { "tool": "art-collection-search", "skill": "search_artworks", "input": { "query": "monet", "source": "all", "limit": 6 } } ``` #### Artwork Details (`artwork_details`) Get the normalized public record for one artwork from any supported provider. Returns richer metadata including institution, rights, dimensions, description, and source links. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `source` | string | Yes | Provider source for the artwork record (met, artic, cma, digitalnz, jpsearch, wikidata, openverse) [default: "artic"] | | `artwork_id` | string | Yes | Artwork identifier returned by search_artworks, such as numeric museum IDs, Q-IDs, UUIDs, or a full Japan Search data URI | **Returns:** A normalized single-artwork record with provider metadata, rights, image URLs, and descriptive fields **Example:** ```json { "tool": "art-collection-search", "skill": "artwork_details", "input": { "source": "artic", "artwork_id": "16568" } } ``` #### Search Artists (`search_artists`) Search artist records across the Art Institute of Chicago and Wikidata. Returns artist names, life dates, short bios, and links to canonical source pages. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Artist search query such as a full name, surname, or transliterated variant | | `source` | string | No | Provider to search for artist records: all, artic, or wikidata (all, artic, wikidata) [default: "all"] | | `limit` | number | No | Maximum number of artist records to return (1-20, default 10) [default: 10] | | `page` | number | No | Results page number for pagination (default 1) [default: 1] | **Returns:** Artist matches with identifiers, life dates, short bios, and links to source records **Example:** ```json { "tool": "art-collection-search", "skill": "search_artists", "input": { "query": "monet", "source": "all", "limit": 5 } } ``` ### Space Data Real-time and historical NASA data. Astronomy Picture of the Day, near-Earth asteroid tracking with hazard ratings, ISS position, crew currently in space, and full-disc Earth photos from orbit. For educational apps, dashboards, and content. - **Version:** 0.02 - **Categories:** data, productivity #### Picture of the Day (`picture_of_the_day`) Get NASA's Astronomy Picture of the Day (APOD). Get today's picture, a specific date, a date range, or random pictures. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `date` | string | No | Specific date in YYYY-MM-DD format. Defaults to today if omitted. | | `start_date` | string | No | Start of date range in YYYY-MM-DD format. Returns all APODs in the range. | | `end_date` | string | No | End of date range in YYYY-MM-DD format. Defaults to today if start_date is set. | | `count` | number | No | Get N random pictures (1-10). Cannot be used with date params. | **Returns:** Title, explanation, image URL, HD URL, media type, and copyright for the astronomy picture of the day **Example:** ```json { "tool": "space-data", "skill": "picture_of_the_day", "input": {} } ``` #### Near Earth Objects (`near_earth_objects`) Get asteroids and near-Earth objects passing close to Earth in a date range. Returns name, estimated size, hazard status, velocity, and miss distance for each object. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `start_date` | string | Yes | Start date in YYYY-MM-DD format for the search range | | `end_date` | string | No | End date in YYYY-MM-DD format. Defaults to start_date if omitted (single day). | **Returns:** List of asteroids with name, estimated diameter, hazard status, velocity, and miss distance sorted by closest approach **Example:** ```json { "tool": "space-data", "skill": "near_earth_objects", "input": { "start_date": "2026-03-20" } } ``` #### ISS Position (`iss_position`) Get the current real-time position of the International Space Station. Returns latitude and longitude coordinates with a UTC timestamp. **Returns:** Current latitude, longitude, and timestamp of the International Space Station **Example:** ```json { "tool": "space-data", "skill": "iss_position", "input": {} } ``` #### People in Space (`people_in_space`) Get a list of everyone currently in space right now. Returns the total count, each person's name and which spacecraft they are aboard, grouped by spacecraft. **Returns:** Count of people in space, list of astronauts with names and spacecraft, grouped by spacecraft **Example:** ```json { "tool": "space-data", "skill": "people_in_space", "input": {} } ``` #### Earth Imagery (`earth_imagery`) Get the most recent Earth images from NASA's EPIC (Earth Polychromatic Imaging Camera) on the DSCOVR satellite. Returns full-disc images of Earth with date, caption, and coordinates. **Returns:** Latest Earth images from the EPIC camera with image URLs, captions, dates, and centroid coordinates **Example:** ```json { "tool": "space-data", "skill": "earth_imagery", "input": {} } ``` ### Trivia Quiz Curated trivia questions across 20+ categories: history, science, sports, video games, music, film, and more. Filter by category, difficulty, and type (multiple choice or true/false). Each question includes shuffled answers with the correct one marked. - **Version:** 0.02 - **Categories:** data, productivity #### Get Questions (`get_questions`) Get trivia questions with answers. Supports filtering by category, difficulty, and question type. Returns shuffled answer choices with the correct answer marked. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `amount` | number | No | Number of questions to return (1-50) [default: 10] | | `category` | string | No | Category name (e.g. "Science", "History", "Video Games") or category ID. Use list_categories to see all options. | | `difficulty` | string | No | Question difficulty level (easy, medium, hard) | | `type` | string | No | Question type: multiple_choice (4 options) or true_false (multiple_choice, true_false) | **Returns:** List of trivia questions with shuffled answer choices, correct answer, category, difficulty, and question type **Example:** ```json { "tool": "trivia-quiz", "skill": "get_questions", "input": { "amount": 10 } } ``` #### List Categories (`list_categories`) List all available trivia categories with their IDs. Use these category names or IDs when requesting questions with get_questions. **Returns:** List of all trivia categories with their IDs and names **Example:** ```json { "tool": "trivia-quiz", "skill": "list_categories", "input": {} } ``` #### Category Stats (`category_stats`) Get the total number of available questions for a specific trivia category, broken down by difficulty level (easy, medium, hard). **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `category` | string | Yes | Category name (e.g. "Science & Nature", "History") or category ID number | **Returns:** Category name, ID, total question count, and breakdown by difficulty level **Example:** ```json { "tool": "trivia-quiz", "skill": "category_stats", "input": { "category": "Science & Nature" } } ``` ### Wikipedia Lookup Search Wikipedia by keyword, get article summaries, fetch full text, discover historical events for any date, or grab a random article. Supports 50+ language editions. Ideal for background research, fact grounding, entity disambiguation, and knowledge about any topic, person, place, or concept. - **Version:** 0.02 - **Categories:** data, productivity #### Search Wikipedia (`search`) Search Wikipedia articles by keyword or phrase. Returns matching articles with titles, excerpts, descriptions, and thumbnails. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search query — keywords or phrase to find articles about | | `limit` | number | No | Maximum number of results to return (1-50) [default: 5] | | `language` | string | No | Wikipedia language code (e.g. "en", "es", "fr", "de", "ja") [default: "en"] | **Returns:** List of matching Wikipedia articles with title, excerpt, description, thumbnail URL, and article link **Example:** ```json { "tool": "wikipedia-lookup", "skill": "search", "input": { "query": "quantum computing" } } ``` #### Get Article Summary (`get_summary`) Get a concise summary of any Wikipedia article by title. Returns the article description, summary text, thumbnail, coordinates (for places), and direct URLs. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `title` | string | Yes | Wikipedia article title (e.g. "Albert Einstein", "Tokyo", "Python (programming language)") | | `language` | string | No | Wikipedia language code (e.g. "en", "es", "fr", "de", "ja") [default: "en"] | **Returns:** Article summary with title, description, plain text extract, thumbnail, article URL, and coordinates if applicable **Example:** ```json { "tool": "wikipedia-lookup", "skill": "get_summary", "input": { "title": "Albert Einstein" } } ``` #### Get Full Article (`get_full_article`) Get the full plain text content of a Wikipedia article. Use this when you need detailed information beyond the summary. Content is truncated at max_length to control response size. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `title` | string | Yes | Wikipedia article title (e.g. "World War II", "Machine learning") | | `language` | string | No | Wikipedia language code (e.g. "en", "es", "fr", "de", "ja") [default: "en"] | | `max_length` | number | No | Maximum character length of returned content (100-50000) [default: 5000] | **Returns:** Full plain text article content with metadata, truncated at max_length if the article exceeds it **Example:** ```json { "tool": "wikipedia-lookup", "skill": "get_full_article", "input": { "title": "Machine learning" } } ``` #### On This Day (`on_this_day`) Get historical events, births, deaths, or notable happenings for any date. Returns a list of events with year and linked Wikipedia articles. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `month` | number | Yes | Month of the year (1-12) | | `day` | number | Yes | Day of the month (1-31) | | `type` | string | No | Type of historical entries to retrieve (events, births, deaths, selected, holidays) [default: "selected"] | **Returns:** List of historical events for the given date, each with descriptive text, year, and up to 3 linked Wikipedia articles **Example:** ```json { "tool": "wikipedia-lookup", "skill": "on_this_day", "input": { "month": 7, "day": 4 } } ``` #### Random Article (`random_article`) Get a random Wikipedia article summary. Great for discovery, trivia, or serendipitous learning. Returns the same format as get_summary. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `language` | string | No | Wikipedia language code (e.g. "en", "es", "fr", "de", "ja") [default: "en"] | **Returns:** Random Wikipedia article summary with title, description, extract, thumbnail, and article URL **Example:** ```json { "tool": "wikipedia-lookup", "skill": "random_article", "input": {} } ``` ### Timezone Converter Look up current time in any city, convert between time zones, get DST transition info, or browse timezone identifiers by region. Accepts city names — no IANA codes needed. For scheduling, global teams, and travel apps. - **Version:** 0.02 - **Categories:** data, productivity #### Current Time (`current_time`) Get the current time in any timezone, city, or geographic coordinates. Supports 80+ city names, IANA timezone codes, or latitude/longitude. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `timezone` | string | No | Timezone name (e.g. "America/New_York") or city name (e.g. "Tokyo", "New York"). Use this OR latitude+longitude. | | `latitude` | number | No | Latitude (-90 to 90). Use with longitude instead of timezone. | | `longitude` | number | No | Longitude (-180 to 180). Use with latitude instead of timezone. | **Returns:** Current date, time, day of week, and DST status for the specified timezone **Example:** ```json { "tool": "timezone-converter", "skill": "current_time", "input": { "timezone": "Tokyo" } } ``` #### Convert Time (`convert_time`) Convert a specific time (or the current time) from one timezone to another. Supports IANA timezone names and city names. Omit the datetime parameter to convert the current time. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `from_timezone` | string | Yes | Source timezone or city name (e.g. "America/New_York", "London", "Tokyo") | | `to_timezone` | string | Yes | Target timezone or city name (e.g. "Asia/Tokyo", "Sydney", "Paris") | | `datetime` | string | No | Date and time to convert in "YYYY-MM-DD HH:MM:SS" format. Omit or set to "now" to convert the current time. | **Returns:** Original and converted times with full date, time, day of week, and DST status for both timezones **Example:** ```json { "tool": "timezone-converter", "skill": "convert_time", "input": { "from_timezone": "New York", "to_timezone": "Tokyo" } } ``` #### Timezone Info (`timezone_info`) Get detailed information about a timezone including current UTC offset, standard offset, daylight saving time status, and DST transition dates. Supports IANA timezone names and city names. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `timezone` | string | Yes | Timezone name (e.g. "America/New_York", "Europe/London") or city name (e.g. "Tokyo", "New York", "Sydney") | **Returns:** UTC offset, standard offset, DST status, and DST transition dates for the timezone **Example:** ```json { "tool": "timezone-converter", "skill": "timezone_info", "input": { "timezone": "New York" } } ``` #### List Timezones (`list_timezones`) List all available IANA timezones. Optionally filter by region prefix like "America", "Europe", "Asia", "Africa", "Pacific", "Australia", "Atlantic", or "Indian". **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `region` | string | No | Optional region prefix to filter by (e.g. "America", "Europe", "Asia", "Pacific") | **Returns:** List of IANA timezone identifiers, optionally filtered by region **Example:** ```json { "tool": "timezone-converter", "skill": "list_timezones", "input": { "region": "Europe" } } ``` ### Keyword Research Uncover high-opportunity keywords, analyze terms for intent and difficulty, group lists into page clusters, and rank by opportunity score. Every result includes intent classification, recommended page types, and content briefs. Built for content marketers, SEO managers, and product teams. - **Version:** 0.02 - **Categories:** search, marketing, analytics #### Find Keywords (`find_keywords`) Research related keywords for a topic so you can spot demand patterns, intent, and the best gaps to target. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `topic` | string | Yes | Seed topic or product area to research | | `business_goal` | string | No | Optional business goal to bias recommendations toward revenue, signups, leads, or awareness | | `site_url` | string | No | Optional site URL to compare topic coverage against your current site | | `country` | string | No | ISO 3166-1 alpha-2 country code to localize search results [default: "us"] | | `language` | string | No | Language code for SERP research [default: "en"] | | `limit` | number | No | Maximum number of keyword ideas to return (default: 15, max: 25) [default: 15] | **Returns:** A prioritized set of keyword ideas with intent, modeled demand, difficulty, and next-step guidance **Example:** ```json { "tool": "keyword-research", "skill": "find_keywords", "input": { "topic": "AI CRM software", "business_goal": "generate demo requests", "limit": 12 } } ``` #### Analyze Keyword (`analyze_keyword`) Break down a keyword so you can see intent, SERP features, modeled demand, difficulty, and the best page to create. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `keyword` | string | Yes | Keyword or query to analyze | | `business_goal` | string | No | Optional business goal to factor into the opportunity recommendation | | `site_url` | string | No | Optional site URL to check whether your domain already appears in the SERP | | `country` | string | No | ISO 3166-1 alpha-2 country code to localize search results [default: "us"] | | `language` | string | No | Language code for SERP research [default: "en"] | **Returns:** A keyword breakdown with intent, SERP shape, modeled demand, difficulty, and a content brief **Example:** ```json { "tool": "keyword-research", "skill": "analyze_keyword", "input": { "keyword": "best crm for startups", "business_goal": "drive paid trials" } } ``` #### Cluster Keywords (`cluster_keywords`) Group keyword lists into clear page clusters so teams can turn raw research into a sane content architecture. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `keywords` | array | Yes | Keyword list to cluster into related page groups | | `business_goal` | string | No | Optional business goal to bias cluster priorities | | `site_url` | string | No | Optional site URL to align clusters to an existing site structure | | `max_clusters` | number | No | Maximum number of clusters to return (default: min(8, keyword count), max: 20) | **Returns:** Keyword clusters mapped to likely pages, priorities, and information architecture guidance **Example:** ```json { "tool": "keyword-research", "skill": "cluster_keywords", "input": { "keywords": [ "crm for startups", "best crm for startups", "startup sales pipeline", "hubspot alternatives", "pipedrive alternatives" ] } } ``` #### Score Opportunities (`score_opportunities`) Prioritize a keyword list so you can decide what to publish now, what to save for later, and what to skip. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `keywords` | array | Yes | Keywords to score and rank by opportunity | | `business_goal` | string | No | Optional business goal to bias the prioritization model | | `site_url` | string | No | Optional site URL to factor current domain presence into the score | | `country` | string | No | ISO 3166-1 alpha-2 country code to localize search results [default: "us"] | | `language` | string | No | Language code for SERP research [default: "en"] | **Returns:** A ranked keyword priority list with modeled demand, difficulty, opportunity, and clear next moves **Example:** ```json { "tool": "keyword-research", "skill": "score_opportunities", "input": { "keywords": [ "crm for startups", "best crm for startups", "startup sales software", "hubspot alternatives" ], "business_goal": "generate qualified demos" } } ``` ### Workout Planner Searchable database of 1300+ exercises with muscles worked, equipment needed, and step-by-step instructions. Filter by body part, target muscle, or equipment to build workout routines for any fitness level. For fitness apps, personal training, and rehab planning. - **Version:** 0.02 - **Categories:** data #### Search Exercises (`search_exercises`) Find exercises by name when you already know what you are looking for, like "bench press" or "squat". Good for checking form instructions or finding variations. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `name` | string | Yes | Exercise name to search for (partial match supported) | | `limit` | integer | No | Maximum number of results to return (default 10) [default: 10] | | `offset` | integer | No | Number of results to skip for pagination (default 0) [default: 0] | **Returns:** Matching exercises with muscles worked, equipment needed, and how to do them **Example:** ```json { "tool": "workout-planner", "skill": "search_exercises", "input": { "name": "bench press" } } ``` #### Get Exercise (`get_exercise`) Get the full breakdown for a specific exercise, including which muscles it works and step-by-step instructions on how to perform it. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `id` | string | Yes | Unique exercise ID (e.g. "0001") | **Returns:** Full exercise breakdown with target muscles, equipment, and instructions **Example:** ```json { "tool": "workout-planner", "skill": "get_exercise", "input": { "id": "0001" } } ``` #### Browse Exercises (`browse_exercises`) Browse the full exercise library with pagination. Use this when you want to explore what is available without a specific search in mind. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `limit` | integer | No | Maximum number of results to return (default 10) [default: 10] | | `offset` | integer | No | Number of results to skip for pagination (default 0) [default: 0] | **Returns:** A page of exercises from the full library **Example:** ```json { "tool": "workout-planner", "skill": "browse_exercises", "input": {} } ``` #### Exercises by Body Part (`exercises_by_body_part`) Find exercises for a specific body part like chest, back, or legs. Use list_body_parts first if you are not sure which values are valid. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `body_part` | string | Yes | Body part to filter by (e.g. "chest", "back", "upper legs") | | `limit` | integer | No | Maximum number of results to return (default 10) [default: 10] | | `offset` | integer | No | Number of results to skip for pagination (default 0) [default: 0] | **Returns:** Exercises that work the requested body part with full details **Example:** ```json { "tool": "workout-planner", "skill": "exercises_by_body_part", "input": { "body_part": "chest" } } ``` #### Exercises by Target Muscle (`exercises_by_target_muscle`) Find exercises that isolate a specific muscle like biceps, glutes, or abs. Use list_target_muscles first if you are not sure which values are valid. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `target` | string | Yes | Target muscle to filter by (e.g. "biceps", "glutes", "abs") | | `limit` | integer | No | Maximum number of results to return (default 10) [default: 10] | | `offset` | integer | No | Number of results to skip for pagination (default 0) [default: 0] | **Returns:** Exercises that target the requested muscle with full details **Example:** ```json { "tool": "workout-planner", "skill": "exercises_by_target_muscle", "input": { "target": "biceps" } } ``` #### Exercises by Equipment (`exercises_by_equipment`) Find exercises you can do with specific equipment like dumbbells, a barbell, or just body weight. Use list_equipment first if you are not sure which values are valid. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `equipment` | string | Yes | Equipment type to filter by (e.g. "dumbbell", "barbell", "body weight") | | `limit` | integer | No | Maximum number of results to return (default 10) [default: 10] | | `offset` | integer | No | Number of results to skip for pagination (default 0) [default: 0] | **Returns:** Exercises you can do with the specified equipment **Example:** ```json { "tool": "workout-planner", "skill": "exercises_by_equipment", "input": { "equipment": "dumbbell" } } ``` #### List Body Parts (`list_body_parts`) See all the body part categories you can filter by. Run this first if you are unsure what to pass to exercises_by_body_part. **Returns:** All body part categories you can use to filter exercises **Example:** ```json { "tool": "workout-planner", "skill": "list_body_parts", "input": {} } ``` #### List Target Muscles (`list_target_muscles`) See all the target muscle categories you can filter by. Run this first if you are unsure what to pass to exercises_by_target_muscle. **Returns:** All target muscle categories you can use to filter exercises **Example:** ```json { "tool": "workout-planner", "skill": "list_target_muscles", "input": {} } ``` #### List Equipment (`list_equipment`) See all the equipment types you can filter by. Run this first if you are unsure what to pass to exercises_by_equipment. **Returns:** All equipment types you can use to filter exercises **Example:** ```json { "tool": "workout-planner", "skill": "list_equipment", "input": {} } ``` ### Video Production Produce a complete video from a creative brief: treatment planning, screenplay, AI storyboard with keyframes, video clip generation, and final assembly with music and transitions. Each step is individually accessible. For brands, agencies, and filmmakers. - **Version:** 0.02 - **Categories:** media, ai #### Create Treatment (`create_treatment`) Step 1: Generate a treatment plan from a creative brief. Queries knowledge bases (cinematography, lighting, colour, wardrobe, scriptwriting) and returns visual style, camera, sound, typography, pacing, emotional arc, and persona directions. Takes ~10s. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `brief` | string | Yes | Creative brief describing the video -- concept, goals, tone, audience, duration, style preferences | | `creative_overrides` | object | No | Optional per-role creative overrides that take priority over brief analysis | | `brand` | object | No | Brand information for integration | | `personas` | array | No | Character personas with optional turnaround sheet images | | `reference_images` | array | No | URLs for visual reference/moodboards | | `target_platform` | string | No | Target distribution platform (default youtube) (youtube, instagram, tiktok, cinema, web) | | `llm_model` | string | No | OpenRouter model ID override | **Returns:** Comprehensive treatment plan with visual, camera, sound, typography, pacing, emotional arc, persona directions, and cost estimate **Example:** ```json { "tool": "video-production", "skill": "create_treatment", "input": { "brief": "A 60-second cinematic product reveal for a luxury watch brand. Dark, moody aesthetic with precise movements.", "target_platform": "youtube" } } ``` #### Create Script (`create_script`) Step 2: Generate a full screenplay from the treatment. Uses scriptwriting frameworks for hooks, retention, and emotional architecture. Returns scenes with dialogue, voiceover, pacing markers, and audio cues. Takes ~10s. Requires full treatment from step 1. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `treatment` | object | Yes | Full treatment plan output from create_treatment | | `duration_seconds` | number | No | Target video duration in seconds (overrides treatment estimate) | | `brand` | object | No | Brand info (optional, same as create_treatment) | | `personas` | array | No | Persona list (optional) | | `target_platform` | string | No | Target distribution platform (youtube, instagram, tiktok, cinema, web) | | `llm_model` | string | No | OpenRouter model ID override | **Returns:** Full screenplay with scenes, dialogue, voiceover, pacing markers, emotional beats, and audio cues **Example:** ```json { "tool": "video-production", "skill": "create_script", "input": { "treatment": { "concept": "Luxury watch reveal", "target_duration_seconds": 60, "visual": {}, "camera": {}, "sound": { "music_genre": "ambient electronic" }, "pacing": {}, "emotional_arc": [], "persona_directions": [] }, "duration_seconds": 60 } } ``` #### Create Storyboard (`create_storyboard`) Step 3: Generate a shot list with AI keyframe images from script and treatment. Two-pass generation for consistency: establishing shots first, then remaining shots with persona references. Takes 1-5 min. Async -- poll with get_job_result. Requires steps 1-2. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `script` | object | Yes | Full script output from create_script | | `treatment` | object | Yes | Full treatment output from create_treatment (includes treatment_id and persona_directions) | | `personas` | array | No | Persona list (optional) | | `keyframe_model` | string | No | fal.ai image model for keyframe generation [default: "fal-ai/nano-banana-2"] | | `aspect_ratio` | string | No | Keyframe aspect ratio (16:9, 9:16, 1:1) [default: "16:9"] | | `llm_model` | string | No | OpenRouter model ID override | **Returns:** Storyboard with shots (keyframe images, video prompts, overlays), audio plan, and cost estimate **Example:** ```json { "tool": "video-production", "skill": "create_storyboard", "input": { "script": { "title": "Watch Reveal", "total_duration_seconds": 60, "scenes": [ { "scene_number": 1, "title": "Opening", "duration_seconds": 10, "location": "Dark studio", "action": "Watch on velvet", "dialogue": [], "voiceover": "", "pacing": "slow", "emotional_beat": "anticipation" } ] }, "treatment": { "treatment_id": "abc123", "concept": "Luxury watch reveal", "visual": { "style": "cinematic", "color_palette": [ "#1a1a2e", "#c9a55a" ], "color_grading": "desaturated with gold highlights", "lighting": "dramatic chiaroscuro" }, "camera": { "default_framing": "medium close-up" }, "pacing": { "default_shot_duration": 5, "transition_style": "fade", "transition_duration": 0.5 }, "persona_directions": [] } } } ``` #### Revise Storyboard (`revise_storyboard`) Step 4 (optional, repeatable): Edit individual shots and regenerate keyframes. Supports field-level changes, shot addition/removal, and reordering. Same seeds by default; set new_seed for fresh generation. Takes 30-60s. Async -- poll with get_job_result. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `storyboard` | object | Yes | Full storyboard output from create_storyboard or previous revise_storyboard | | `treatment` | object | Yes | Full treatment output (for persona directions and visual settings) | | `personas` | array | No | Persona list (optional) | | `revisions` | array | No | Array of shot revisions | | `add_shots` | array | No | New shots to insert | | `remove_shots` | array | No | Shot numbers to remove | | `reorder` | array | No | New shot order (by shot_number) | **Returns:** Updated storyboard with revised shots, renumbered, and regenerated keyframes **Example:** ```json { "tool": "video-production", "skill": "revise_storyboard", "input": { "storyboard": { "shots": [ { "shot_number": 1, "scene_number": 1, "description": "Wide establishing shot", "keyframe_url": "https://example.com/kf1.png", "keyframe_seed": 12345 } ], "audio_plan": { "segments": [] }, "cost_estimate": {} }, "treatment": { "treatment_id": "abc123", "visual": { "color_palette": [ "#1a1a2e" ], "style": "cinematic" }, "persona_directions": [] }, "revisions": [ { "shot_number": 1, "changes": { "framing": "extreme close-up" }, "regenerate_keyframe": true } ] } } ``` #### Generate Videos (`generate_videos`) Step 5: Generate video clips from storyboard keyframes via Kling 3.0 or other models. Each clip uses the keyframe + video_prompt to produce video with synced dialogue and audio. Takes 5-30 min. Async -- poll with get_job_result. Pending clips retrievable later. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `storyboard` | object | Yes | Full storyboard output from create_storyboard / revise_storyboard | | `video_model` | string | No | Video model key (kling-3.0, kling-2.6, veo-3.1, etc.) [default: "kling-3.0"] | | `shot_duration` | number | No | Target duration per clip in seconds (snapped to model-valid durations) [default: 5] | | `max_parallel` | number | No | Max parallel video generation requests [default: 3] | **Returns:** Video clips array with URLs and filenames, plus any pending clips still generating **Example:** ```json { "tool": "video-production", "skill": "generate_videos", "input": { "storyboard": { "shots": [ { "shot_number": 1, "scene_number": 1, "keyframe_url": "https://example.com/kf1.png", "video_prompt": "[Visual]: Dark studio, watch on velvet\n[Camera]: Slow dolly-in\n[Lighting]: Dramatic chiaroscuro\n[Mood]: Anticipation", "duration_seconds": 5 } ], "audio_plan": { "segments": [] } } } } ``` #### Assemble Video (`assemble_video`) Step 6 (final): Stitch clips into a complete video with transitions, overlays, titles, end card, and audio mixing. Auto-generates music or uses provided URL, with volume ducking during speech. Takes 2-5 min. Async -- poll with get_job_result. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `video_clips` | object | Yes | Full output from generate_videos (contains clips array) | | `storyboard` | object | Yes | Full storyboard output | | `treatment` | object | Yes | Full treatment output (for sound, typography, pacing) | | `audio` | object | No | Audio configuration | | `brand` | object | No | Brand info for end card (logo_url, name, colors) | | `format` | string | No | Video aspect ratio format (landscape, portrait, square) [default: "landscape"] | | `fps` | number | No | Frames per second (default 30) [default: 30] | **Returns:** Final assembled video file (auto-uploaded via asset system) with duration and cost breakdown **Example:** ```json { "tool": "video-production", "skill": "assemble_video", "input": { "video_clips": { "clips": [ { "shot_number": 1, "video_url": "https://example.com/shot1.mp4", "video_path": "/tmp/shot1.mp4", "duration_seconds": 5, "filename": "shot_001_scene_01.mp4" } ] }, "storyboard": { "shots": [ { "shot_number": 1, "scene_number": 1, "overlays": [], "dialogue": "", "voiceover": "" } ], "audio_plan": { "segments": [] } }, "treatment": { "concept": "Luxury Watch", "logline": "A cinematic reveal", "sound": { "music_genre": "ambient electronic", "music_arc": "building tension to release", "sfx_style": "minimal" }, "typography": { "heading_font": "Inter" }, "visual": { "color_palette": [ "#1a1a2e" ] }, "pacing": { "transition_style": "fade", "transition_duration": 0.5 } } } } ``` ### Diagram Generator Render diagrams from text source code in Mermaid, PlantUML, Graphviz DOT, D2, C4-PlantUML, ERD, DBML, and more. Returns SVG or PNG plus a permanent URL for embedding. Great for architecture, flowcharts, and sequence diagrams. - **Version:** 0.02 - **Categories:** data, media #### Generate Diagram (`generate_diagram`) Render a diagram from text source code. Accepts Mermaid, PlantUML, Graphviz DOT, D2, C4-PlantUML, ERD, DBML, and more. Returns a rendered image file plus a permanent URL for embedding. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `source` | string | Yes | The diagram source text in the specified diagram language | | `type` | string | No | Diagram language (default "mermaid"). Supported: mermaid, plantuml, graphviz (DOT), d2, c4plantuml, erd, dbml, blockdiag, seqdiag, actdiag. (mermaid, plantuml, graphviz, d2, c4plantuml, erd, dbml, blockdiag, seqdiag, actdiag) [default: "mermaid"] | | `format` | string | No | Output image format (default "svg"). SVG is scalable and includes the raw markup; PNG is a raster image. (svg, png) [default: "svg"] | **Returns:** Rendered diagram image as a downloadable file plus a permanent URL for embedding **Example:** ```json { "tool": "diagram-generator", "skill": "generate_diagram", "input": { "source": "graph TD\n A[Push Code] --> B[Run Tests]\n B --> C{Tests Pass?}\n C -->|Yes| D[Deploy to Staging]\n C -->|No| E[Fix & Retry]\n D --> F[Deploy to Production]", "type": "mermaid" } } ``` ### Address Geocoding Convert between addresses and geographic coordinates. Forward geocode any address to get latitude/longitude, or reverse geocode coordinates to get the nearest street address. Useful for mapping, logistics, and location-aware workflows. - **Version:** 0.02 - **Categories:** data #### Geocode Address (`geocode_address`) Convert a full or partial address into geographic coordinates. Returns matching locations with latitude, longitude, full address breakdown, and relevance scores. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `address` | string | Yes | Full or partial address to geocode (e.g. "1600 Pennsylvania Avenue, Washington DC") | | `limit` | number | No | Maximum number of results to return (1-10, default 5) [default: 5] | **Returns:** Matching locations with coordinates, full address breakdown, and relevance scores **Example:** ```json { "tool": "address-geocoding", "skill": "geocode_address", "input": { "address": "1600 Pennsylvania Avenue, Washington DC" } } ``` #### Reverse Geocode (`reverse_geocode`) Convert latitude and longitude coordinates into a human-readable address. Returns the full address breakdown with street, city, state, country, and postal code. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `latitude` | number | Yes | Latitude coordinate (e.g. 51.5074) | | `longitude` | number | Yes | Longitude coordinate (e.g. -0.1278) | **Returns:** Full address breakdown with street, city, state, country, and postal code for the given coordinates **Example:** ```json { "tool": "address-geocoding", "skill": "reverse_geocode", "input": { "latitude": 51.5074, "longitude": -0.1278 } } ``` ### Flight Status Look up live flight status by flight number, or check the full departure/arrival board for any airport worldwide. See real-time delays, gate and terminal assignments, and scheduled vs actual times. Essential for tracking connections, pickups, and travel disruptions. - **Version:** 0.02 - **Categories:** data, productivity #### Check Flight Status (`check_flight`) Look up a specific flight by its number to see if it is on time, delayed, or cancelled. Also shows the gate, terminal, and aircraft details. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `flight_number` | string | Yes | IATA flight number (e.g. 'BA115', 'DL1', 'UA900', 'QF1') | | `date` | string | No | Flight date in YYYY-MM-DD format (defaults to today) | **Returns:** Current flight status with delay info, gate, terminal, and scheduled vs actual times **Example:** ```json { "tool": "flight-status", "skill": "check_flight", "input": { "flight_number": "BA115" } } ``` #### Airport Departures (`airport_departures`) See what flights are leaving an airport in the next few hours. Use this to check the departure board before heading to the airport or to spot delays. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `airport` | string | Yes | Airport IATA code (e.g. 'LHR', 'JFK', 'SYD', 'DXB') | | `hours_ahead` | number | No | Hours ahead to show departures for (1-12, default 6) [default: 6] | **Returns:** Upcoming departures with flight numbers, destinations, times, delays, and gates **Example:** ```json { "tool": "flight-status", "skill": "airport_departures", "input": { "airport": "LHR" } } ``` #### Airport Arrivals (`airport_arrivals`) See what flights are arriving at an airport in the next few hours. Handy for picking someone up or checking if an inbound flight is delayed. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `airport` | string | Yes | Airport IATA code (e.g. 'LHR', 'JFK', 'SYD', 'DXB') | | `hours_ahead` | number | No | Hours ahead to show arrivals for (1-12, default 6) [default: 6] | **Returns:** Upcoming arrivals with flight numbers, origins, times, delays, and gates **Example:** ```json { "tool": "flight-status", "skill": "airport_arrivals", "input": { "airport": "SYD" } } ``` ### Job Search Search millions of live job listings worldwide, filter by location, type, experience, and recency, then pull full descriptions. Get salary ranges for any role and location, or look up what a specific company pays. Built for job seekers, recruiters, and compensation research. - **Version:** 0.02 - **Categories:** data, productivity #### Search Jobs (`search_jobs`) Find job openings by role, keyword, or location in any country. Filter by remote, employment type, experience level, and recency to narrow down the right opportunities. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Job search query — include job title and location (e.g. "software engineer in Berlin", "data analyst remote") | | `page` | integer | No | Page number (1-50, each page has up to 10 results) [default: 1] | | `num_pages` | integer | No | Number of pages to return (1-10). Each page counts as one API credit. [default: 1] | | `country` | string | No | ISO 3166-1 alpha-2 country code (e.g. "us", "gb", "de", "au", "in", "ca", "fr", "jp"). Required for country-specific results. | | `date_posted` | string | No | Filter by when the job was posted (all, today, 3days, week, month) [default: "all"] | | `remote_only` | boolean | No | Only return remote / work-from-home jobs [default: false] | | `employment_types` | string | No | Comma-separated employment types to filter by (e.g. "FULLTIME", "FULLTIME,CONTRACTOR") (FULLTIME, CONTRACTOR, PARTTIME, INTERN, FULLTIME,CONTRACTOR, FULLTIME,PARTTIME, PARTTIME,INTERN) | | `experience_level` | string | No | Filter by experience requirements (under_3_years_experience, more_than_3_years_experience, no_experience, no_degree) | | `location` | string | No | Specific location for the search origin (e.g. "New York, United States", "Mumbai, India") | | `language` | string | No | ISO 639 language code for results (e.g. "en", "de", "fr", "es", "ja"). Defaults to the primary language of the specified country. | | `radius` | number | No | Search radius in kilometers from the location specified in the query | | `exclude_publishers` | string | No | Comma-separated job publishers to exclude from results (e.g. "BeeBe,Dice") | **Returns:** Matching jobs with company info, pay, qualifications, and direct links to apply **Example:** ```json { "tool": "job-search", "skill": "search_jobs", "input": { "query": "developer jobs in chicago", "country": "us" } } ``` #### Get Job Details (`get_job_details`) Pull up the full listing for a job you found in search results. Use this when you need the complete description, requirements, or application details before deciding to apply. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `job_id` | string | Yes | Job ID from search_jobs results (e.g. "adBqCPEBAAAAAAAAAAAA==") | **Returns:** The complete job posting with full description, requirements, benefits, and how to apply **Example:** ```json { "tool": "job-search", "skill": "get_job_details", "input": { "job_id": "adBqCPEBAAAAAAAAAAAA==" } } ``` #### Estimate Salary (`estimate_salary`) Look up what a role typically pays in a given location. Helpful for benchmarking compensation, preparing for negotiations, or comparing pay across cities. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `job_title` | string | Yes | Job title to estimate salary for (e.g. "Software Engineer", "Product Manager", "Nurse") | | `location` | string | Yes | City, state, or country for the salary estimate (e.g. "New York, NY", "London, UK", "Toronto, Canada") | | `radius` | number | No | Search radius in kilometers around the location (default 100) [default: 100] | **Returns:** Salary range with low, median, and high pay for the role in that area **Example:** ```json { "tool": "job-search", "skill": "estimate_salary", "input": { "job_title": "Software Engineer", "location": "San Francisco, CA" } } ``` #### Company Job Salary (`company_salary`) Check what a specific company pays for a given role. Use this when researching an employer before applying or when preparing a compensation negotiation. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `company` | string | Yes | Company name to look up salaries for (e.g. "Google", "Amazon", "Deloitte", "NHS") | | `job_title` | string | No | Optional job title to filter salary data (e.g. "Software Engineer", "Product Manager") | | `location` | string | No | Optional location to scope results (e.g. "San Francisco, CA", "London, UK") | | `radius` | number | No | Search radius in kilometers around the location (default 100) [default: 100] | **Returns:** What the company pays for the role, with low, median, and high salary data **Example:** ```json { "tool": "job-search", "skill": "company_salary", "input": { "company": "Google", "job_title": "Software Engineer" } } ``` ### Link Preview Pull structured metadata from any URL — title, description, Open Graph image, author, publisher, date, language, and logo. Faster than a full scrape when you only need key page details. Perfect for link cards, bookmark enrichment, social preview validation, or quick URL summaries. - **Version:** 0.02 - **Categories:** data, productivity #### Preview URL (`preview_url`) Extract metadata from a single URL. Returns title, description, image, author, publisher, language, and logo. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | The full URL to extract metadata from (e.g. "https://example.com/article") | **Returns:** Page metadata including title, description, author, publisher, language, preview image URL, and site logo URL **Example:** ```json { "tool": "link-preview", "skill": "preview_url", "input": { "url": "https://toolrouter.com" } } ``` ### Email Validator Validate email addresses for format, deliverability, and risk. Detects disposable providers, verifies DNS/MX records, flags role-based addresses, and returns a 0-100 confidence score. Bulk mode handles up to 20 addresses at once. Essential for signup flows, CRM hygiene, and list cleaning. - **Version:** 0.02 - **Categories:** data, productivity #### Validate Email (`validate_email`) Validate a single email address. Returns format validity, disposable/temporary provider detection, DNS and MX record verification, confidence score, role-based address detection, and risk signals. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `email` | string | Yes | Email address to validate (e.g. user@example.com) | **Returns:** Validation result including format check, disposable detection, DNS/MX verification, confidence score, role-based detection, and risk signals **Example:** ```json { "tool": "email-validator", "skill": "validate_email", "input": { "email": "user@example.com" } } ``` #### Bulk Validate Emails (`bulk_validate`) Validate multiple email addresses at once (up to 20). Returns validation results for each address including format validity, disposable detection, DNS verification, confidence scores, and risk signals. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `emails` | array | Yes | List of email addresses to validate (max 20) | **Returns:** Array of validation results for each email with summary counts for disposable and invalid addresses **Example:** ```json { "tool": "email-validator", "skill": "bulk_validate", "input": { "emails": [ "user@example.com", "test@guerrillamail.com" ] } } ``` ### Name Enrichment Estimate demographic signals from a first name — age range, gender with confidence score, and top nationalities by probability. Useful for lead enrichment, audience segmentation, and personalized outreach. Works for single names or batches up to 10. - **Version:** 0.03 - **Categories:** data, analytics #### Enrich Name (`enrich_name`) Pass a single first name and get back estimated age, gender (with probability), and top nationalities (with probabilities). All three lookups run concurrently for speed. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `name` | string | Yes | A first name to enrich (e.g. "sarah", "michael", "tanaka") | **Returns:** Estimated age, gender with confidence, and nationality probabilities for the given name **Example:** ```json { "tool": "name-enrichment", "skill": "enrich_name", "input": { "name": "sarah" } } ``` #### Bulk Enrich Names (`bulk_enrich`) Pass an array of first names (up to 10) and get back demographic estimates for each one. Uses native batch API — only 3 HTTP calls regardless of how many names. Returns results plus summary counts. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `names` | array | Yes | List of first names to enrich (max 10) | **Returns:** Array of enriched name objects with age, gender, and nationality estimates, plus summary counts **Example:** ```json { "tool": "name-enrichment", "skill": "bulk_enrich", "input": { "names": [ "sarah", "michael", "tanaka" ] } } ``` ### Polymarket Read-only access to Polymarket prediction markets. Browse active markets, fetch real-time prices and order books, check spreads, retrieve price history, and calculate market prices for specific order sizes. Track election odds, macro events, sports, and more. - **Version:** 0.02 - **Categories:** finance, data, analytics #### Health Check (`health_check`) Verify that the public Polymarket CLOB API is reachable before you start making market data calls. **Returns:** A simple health status string confirming whether the public CLOB service responded **Example:** ```json { "tool": "polymarket", "skill": "health_check", "input": {} } ``` #### Get Server Time (`get_server_time`) Fetch the current Polymarket CLOB server timestamp so you can align polling or compare event freshness. **Returns:** The current CLOB server time as a Unix timestamp in seconds **Example:** ```json { "tool": "polymarket", "skill": "get_server_time", "input": {} } ``` #### List Markets (`list_markets`) List full CLOB market objects page by page so you can browse condition IDs, questions, tokens, and market metadata. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `next_cursor` | string | No | Pagination cursor from the previous response. Leave empty to start from the first page. [default: "MA=="] | | `max_results` | number | No | Maximum number of items to return from the fetched page before trimming locally [default: 50] | **Returns:** A paginated page of full CLOB market objects plus the cursor for the next page **Example:** ```json { "tool": "polymarket", "skill": "list_markets", "input": {} } ``` #### Get Market (`get_market`) Fetch one CLOB market by condition ID when you need the question, tokens, fees, timing, and reward config. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `condition_id` | string | Yes | Polymarket condition ID for the market you want to inspect | **Returns:** One full market object for the requested condition ID **Example:** ```json { "tool": "polymarket", "skill": "get_market", "input": { "condition_id": "0x5a8c5193008f76941e75598a31ef2915125ef0a8a7cfcb7369e8c451511c4452" } } ``` #### List Simplified Markets (`list_simplified_markets`) List the lighter simplified market feed when you want condition IDs, token IDs, prices, and reward flags quickly. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `next_cursor` | string | No | Pagination cursor from the previous response. Leave empty to start from the first page. [default: "MA=="] | | `max_results` | number | No | Maximum number of items to return from the fetched page before trimming locally [default: 50] | **Returns:** A paginated page of simplified market rows with token IDs and current prices **Example:** ```json { "tool": "polymarket", "skill": "list_simplified_markets", "input": {} } ``` #### List Sampling Markets (`list_sampling_markets`) List full markets that are eligible for sampling or liquidity rewards so you can inspect incentive-backed opportunities. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `next_cursor` | string | No | Pagination cursor from the previous response. Leave empty to start from the first page. [default: "MA=="] | | `max_results` | number | No | Maximum number of items to return from the fetched page before trimming locally [default: 50] | **Returns:** A paginated page of reward-eligible full market objects **Example:** ```json { "tool": "polymarket", "skill": "list_sampling_markets", "input": {} } ``` #### List Sampling Simplified Markets (`list_sampling_simplified_markets`) List the lighter reward-eligible markets feed when you need token IDs and current prices for sampling markets fast. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `next_cursor` | string | No | Pagination cursor from the previous response. Leave empty to start from the first page. [default: "MA=="] | | `max_results` | number | No | Maximum number of items to return from the fetched page before trimming locally [default: 50] | **Returns:** A paginated page of reward-eligible simplified market rows **Example:** ```json { "tool": "polymarket", "skill": "list_sampling_simplified_markets", "input": {} } ``` #### Get Order Book (`get_order_book`) Fetch the full bid and ask ladder for one Polymarket token so you can inspect liquidity and visible depth. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `token_id` | string | Yes | Polymarket token ID for the outcome token you want to inspect | **Returns:** A full order book snapshot with bids, asks, tick size, minimum size, and the book hash **Example:** ```json { "tool": "polymarket", "skill": "get_order_book", "input": { "token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846" } } ``` #### Get Order Books (`get_order_books`) Fetch multiple Polymarket order books in one request so you can compare liquidity across tokens efficiently. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `requests` | array | Yes | Batch of token requests. Each item needs a token_id and can optionally include side. | **Returns:** An array of order book snapshots for the requested token IDs **Example:** ```json { "tool": "polymarket", "skill": "get_order_books", "input": { "requests": [ { "token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846" }, { "token_id": "103839456992405565726868179020008626822011827310693291614954291931191338865400" } ] } } ``` #### Get Market Price (`get_market_price`) Fetch the current best bid or ask for one token when you need the executable top-of-book price right now. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `token_id` | string | Yes | Polymarket token ID for the outcome token you want to inspect | | `side` | string | Yes | Order side to price or evaluate. BUY means taking asks; SELL means hitting bids. (BUY, SELL) | **Returns:** The best currently executable price for the requested token and side **Example:** ```json { "tool": "polymarket", "skill": "get_market_price", "input": { "token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846", "side": "BUY" } } ``` #### Get Market Prices (`get_market_prices`) Fetch best prices for multiple tokens in one call when you need a quick snapshot across a basket of outcomes. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `requests` | array | Yes | Batch of token requests. Each item needs a token_id and can optionally include side. | **Returns:** A token-indexed map of best prices for the requested token IDs **Example:** ```json { "tool": "polymarket", "skill": "get_market_prices", "input": { "requests": [ { "token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846", "side": "BUY" }, { "token_id": "103839456992405565726868179020008626822011827310693291614954291931191338865400", "side": "SELL" } ] } } ``` #### Get Midpoint Price (`get_midpoint_price`) Fetch the midpoint between the best bid and ask for a token so you can inspect the displayed implied probability. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `token_id` | string | Yes | Polymarket token ID for the outcome token you want to inspect | **Returns:** The midpoint price for the requested token **Example:** ```json { "tool": "polymarket", "skill": "get_midpoint_price", "input": { "token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846" } } ``` #### Get Midpoint Prices (`get_midpoint_prices`) Fetch midpoint prices for multiple tokens in one call when you want a compact implied probability snapshot. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `requests` | array | Yes | Batch of token requests. Each item needs a token_id and can optionally include side. | **Returns:** A token-indexed map of midpoint prices for the requested tokens **Example:** ```json { "tool": "polymarket", "skill": "get_midpoint_prices", "input": { "requests": [ { "token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846" }, { "token_id": "103839456992405565726868179020008626822011827310693291614954291931191338865400" } ] } } ``` #### Get Spread (`get_spread`) Fetch the current bid-ask spread for one token so you can judge liquidity and slippage risk quickly. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `token_id` | string | Yes | Polymarket token ID for the outcome token you want to inspect | **Returns:** The current bid-ask spread for the requested token **Example:** ```json { "tool": "polymarket", "skill": "get_spread", "input": { "token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846" } } ``` #### Get Spreads (`get_spreads`) Fetch spreads for multiple tokens in one request when you want a quick liquidity comparison across outcomes. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `requests` | array | Yes | Batch of token requests. Each item needs a token_id and can optionally include side. | **Returns:** A token-indexed map of current spreads for the requested tokens **Example:** ```json { "tool": "polymarket", "skill": "get_spreads", "input": { "requests": [ { "token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846" }, { "token_id": "103839456992405565726868179020008626822011827310693291614954291931191338865400" } ] } } ``` #### Get Last Trade Price (`get_last_trade_price`) Fetch the most recent traded price and side for one token when you need the last executed market print. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `token_id` | string | Yes | Polymarket token ID for the outcome token you want to inspect | **Returns:** The latest traded price and side for the requested token **Example:** ```json { "tool": "polymarket", "skill": "get_last_trade_price", "input": { "token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846" } } ``` #### Get Last Trade Prices (`get_last_trade_prices`) Fetch the latest traded price for multiple tokens in one request so you can compare the last executed prints. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `requests` | array | Yes | Batch of token requests. Each item needs a token_id and can optionally include side. | **Returns:** An array of latest-trade snapshots for the requested token IDs **Example:** ```json { "tool": "polymarket", "skill": "get_last_trade_prices", "input": { "requests": [ { "token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846" }, { "token_id": "103839456992405565726868179020008626822011827310693291614954291931191338865400" } ] } } ``` #### Get Prices History (`get_prices_history`) Fetch historical price points for one token so you can chart implied probability changes over time. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `token_id` | string | Yes | Polymarket token ID for the outcome token you want to inspect | | `start_ts` | number | No | Optional Unix timestamp in seconds for the start of the requested history window | | `end_ts` | number | No | Optional Unix timestamp in seconds for the end of the requested history window | | `fidelity` | number | No | Optional numeric fidelity value for the history response, such as minutes between points | | `interval` | string | No | History interval bucket to request from Polymarket (max, 1w, 1d, 6h, 1h) [default: "1d"] | **Returns:** Historical price points for the requested token and interval **Example:** ```json { "tool": "polymarket", "skill": "get_prices_history", "input": { "token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846", "interval": "1d" } } ``` #### Get Tick Size (`get_tick_size`) Fetch the minimum price increment for a token so you know what price precision the market currently accepts. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `token_id` | string | Yes | Polymarket token ID for the outcome token you want to inspect | **Returns:** The current minimum tick size for the requested token **Example:** ```json { "tool": "polymarket", "skill": "get_tick_size", "input": { "token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846" } } ``` #### Get Fee Rate (`get_fee_rate`) Fetch the base fee rate for a token so you can understand the cost assumptions behind order placement. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `token_id` | string | Yes | Polymarket token ID for the outcome token you want to inspect | **Returns:** The base fee rate in basis points for the requested token **Example:** ```json { "tool": "polymarket", "skill": "get_fee_rate", "input": { "token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846" } } ``` #### Get Negative Risk Flag (`get_neg_risk`) Check whether a token belongs to a negative-risk market so you can reason about complementary outcome mechanics. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `token_id` | string | Yes | Polymarket token ID for the outcome token you want to inspect | **Returns:** A boolean showing whether the requested token is part of a negative-risk market **Example:** ```json { "tool": "polymarket", "skill": "get_neg_risk", "input": { "token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846" } } ``` #### Calculate Market Price (`calculate_market_price`) Estimate fill price for a given order size by walking the visible order book. Read-only — no order is placed. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `token_id` | string | Yes | Polymarket token ID for the outcome token you want to inspect | | `side` | string | Yes | Order side to price or evaluate. BUY means taking asks; SELL means hitting bids. (BUY, SELL) | | `amount` | number | Yes | BUY uses dollar amount to spend; SELL uses number of shares to sell | | `order_type` | string | No | Order execution assumption for market price estimation. FOK requires full liquidity; other values allow the worst visible fallback. (GTC, FOK, GTD, FAK) [default: "FOK"] | **Returns:** An estimated fill price based on visible order book depth for the requested trade size **Example:** ```json { "tool": "polymarket", "skill": "calculate_market_price", "input": { "token_id": "67565972075898091709163371829761231762318232475740950317083391526954889294846", "side": "BUY", "amount": 500, "order_type": "FOK" } } ``` #### Raw Public Request (`raw_public_request`) Call an allowlisted unauthenticated public CLOB endpoint directly when you need a path that is not covered by the typed skills. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `method` | string | No | HTTP method for the allowlisted public CLOB endpoint (GET, POST) [default: "GET"] | | `path` | string | Yes | Allowlisted public CLOB path such as /orderbook-history, /ohlc, /markets, /markets/, or /prices | | `query` | object | No | Optional query-string parameters for GET requests. Scalar arrays are sent as repeated query keys. | | `requests` | array | No | Required for POST batch endpoints. Each item needs a token_id and can optionally include side. | **Returns:** The raw payload from an allowlisted unauthenticated public CLOB endpoint **Example:** ```json { "tool": "polymarket", "skill": "raw_public_request", "input": { "method": "GET", "path": "/markets/0x5a8c5193008f76941e75598a31ef2915125ef0a8a7cfcb7369e8c451511c4452" } } ``` ### PDF Extract text, get AI summaries, and merge PDFs from any public URL. Summarize papers, pull figures from reports, review contracts, or combine documents. Supports page-range filtering for targeting specific sections of large files. - **Version:** 0.02 - **Categories:** productivity, data #### Extract Text (`extract_text`) Pull the text out of a PDF so you can search, quote, or process the content directly. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | URL of the PDF to extract text from. The tool server CAN fetch any public URL — always pass it. | | `pages` | string | No | Page range to extract (e.g. "1-5", "1,3,7-9"). Omit for all pages. | **Returns:** The extracted text along with page count and file size **Example:** ```json { "tool": "pdf", "skill": "extract_text", "input": { "url": "https://example.com/paper.pdf" } } ``` #### Analyze PDF (`analyze`) Ask a question about a PDF and get an AI-written answer — summaries, data extraction, contract review, or any analysis you describe in your prompt. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | URL of the PDF to analyze. The tool server CAN fetch any public URL — always pass it. | | `prompt` | string | No | Analysis instruction — what you want to know about the document. Defaults to a thorough summary. | | `pages` | string | No | Page range to analyze (e.g. "1-5", "3,7-10"). Omit for all pages. | | `model` | string | No | AI model override in provider/model format (e.g. "anthropic/claude-3.5-sonnet"). Uses a fast, capable default. | **Returns:** AI-written analysis in markdown with token usage details **Example:** ```json { "tool": "pdf", "skill": "analyze", "input": { "url": "https://example.com/paper.pdf", "prompt": "Summarize the key findings and methodology" } } ``` #### Get PDF Info (`get_info`) Check a PDF for page count, title, author, file size, and creation date without reading the full content. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | URL of the PDF to inspect. The tool server CAN fetch any public URL — always pass it. | **Returns:** Page count, author, title, file size, and other document properties **Example:** ```json { "tool": "pdf", "skill": "get_info", "input": { "url": "https://example.com/document.pdf" } } ``` #### Merge PDFs (`merge`) Join multiple PDFs into one downloadable file so you can bundle reports, combine chapters, or consolidate documents. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `urls` | array | Yes | List of PDF URLs to merge (2-20). The tool server CAN fetch any public URL — always pass them. | **Returns:** A single merged PDF with total page count and file size **Example:** ```json { "tool": "pdf", "skill": "merge", "input": { "urls": [ "https://example.com/report-q1.pdf", "https://example.com/report-q2.pdf" ] } } ``` ### Vehicle Data Decode VINs (140+ fields), Dutch plate lookup, UK MOT inspection history, safety recalls (US/Canada), complaints, fuel economy, NCAP ratings, manufacturer brands, vehicle specs, fuel prices, and safety investigations. Data from NHTSA, RDW, DVSA, Transport Canada, and FuelEconomy.gov. - **Version:** 0.05 - **Categories:** data #### Decode VIN (`decode_vin`) Decode a 17-character Vehicle Identification Number to get make, model, year, engine type, body class, transmission, safety features, plant info, and 140+ data fields. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `vin` | string | Yes | A 17-character Vehicle Identification Number (VIN). Found on dashboard, door jamb, or registration documents. | | `model_year` | number | No | Optional model year to improve accuracy for pre-1981 VINs or ambiguous decodes | **Returns:** Comprehensive vehicle data including make, model, year, engine, body class, safety features, plant info, and 140+ decoded fields **Example:** ```json { "tool": "vehicle-data", "skill": "decode_vin", "input": { "vin": "1HGCM82633A004352" } } ``` #### Decode WMI (`decode_wmi`) Identify any vehicle manufacturer worldwide from the first 3 characters of a VIN (World Manufacturer Identifier). Works for vehicles from any country — not limited to the US market. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `wmi` | string | Yes | A 3-character World Manufacturer Identifier, or a full 17-character VIN (first 3 chars will be used) | **Returns:** Manufacturer name, make, parent company, and vehicle type for any VIN worldwide **Example:** ```json { "tool": "vehicle-data", "skill": "decode_wmi", "input": { "wmi": "1HG" } } ``` #### Plate Lookup (`plate_lookup`) Look up a vehicle by license plate number. Returns make, model, colour, engine, fuel type, registration details, and more. Currently supports Netherlands (RDW). **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `plate` | string | Yes | Vehicle license plate number (e.g. "AB-895-P" or "AB895P" for Netherlands) | | `country` | string | Yes | Country code: "nl" for Netherlands (nl) | **Returns:** Vehicle registration details including make, model, colour, fuel type, engine specs, and APK inspection status **Example:** ```json { "tool": "vehicle-data", "skill": "plate_lookup", "input": { "plate": "AB895P", "country": "nl" } } ``` #### Inspection History (`inspection_history`) Get full MOT inspection history for a UK vehicle by registration plate. Returns every test date, pass/fail result, mileage, expiry date, advisory notes, failure reasons, and minor defects. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `plate` | string | Yes | UK vehicle registration plate (e.g. "AB12CDE" or "AB12 CDE") | | `country` | string | Yes | Country code: "uk" for United Kingdom (uk) | **Returns:** Full MOT inspection history including test dates, pass/fail results, mileage readings, advisory notes, failure reasons, and minor defects **Example:** ```json { "tool": "vehicle-data", "skill": "inspection_history", "input": { "plate": "AB12CDE", "country": "uk" } } ``` #### Search Models (`search_models`) Find available vehicle models for a given make and optional model year. When make is omitted or list_all_makes is true, returns all known vehicle makes. Also returns vehicle types for the make. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `make` | string | No | Vehicle manufacturer name (e.g. "Honda", "Ford", "Tesla", "BMW"). Omit to list all known makes. | | `year` | number | No | Optional model year to filter results (e.g. 2024) | | `list_all_makes` | boolean | No | Set to true to list all known vehicle makes instead of searching models for a specific make | **Returns:** List of vehicle models for the specified make and optional year, or all known vehicle makes when make is omitted **Example:** ```json { "tool": "vehicle-data", "skill": "search_models", "input": { "make": "Honda" } } ``` #### Check Recalls (`check_recalls`) Search safety recalls for a vehicle by make, model, and year. Supports US (NHTSA) and Canada (Transport Canada). Returns recall campaigns, affected components, and remedy information. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `make` | string | Yes | Vehicle manufacturer (e.g. "Toyota", "Ford") | | `model` | string | Yes | Vehicle model (e.g. "Camry", "F-150") | | `year` | number | Yes | Model year (e.g. 2020) | | `country` | string | No | Country: "us" for United States (default), "ca" for Canada (us, ca) [default: "us"] | **Returns:** Safety recall campaigns including campaign number, affected component, defect description, consequence, and remedy **Example:** ```json { "tool": "vehicle-data", "skill": "check_recalls", "input": { "make": "Honda", "model": "CR-V", "year": 2020 } } ``` #### Check Complaints (`check_complaints`) Search consumer complaints for a specific vehicle by make, model, and year. Returns reported problems, crash and injury counts, and affected components. Supports optional date filtering. US market only. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `make` | string | Yes | Vehicle manufacturer (e.g. "Honda", "Ford") | | `model` | string | Yes | Vehicle model (e.g. "Civic", "Explorer") | | `year` | number | Yes | Model year (e.g. 2021) | | `start_date` | string | No | Filter complaints filed on or after this date (YYYY-MM-DD format) | | `end_date` | string | No | Filter complaints filed on or before this date (YYYY-MM-DD format) | **Returns:** Consumer complaints with component affected, problem description, crash and injury counts, and filing date **Example:** ```json { "tool": "vehicle-data", "skill": "check_complaints", "input": { "make": "Ford", "model": "Explorer", "year": 2021 } } ``` #### Fuel Economy (`fuel_economy`) Look up EPA fuel economy ratings for a vehicle by make, model, and year. Returns city, highway, and combined MPG for each available trim and engine configuration. US market only. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `make` | string | Yes | Vehicle manufacturer (e.g. "Toyota", "Tesla") | | `model` | string | Yes | Vehicle model (e.g. "Corolla", "Model 3") | | `year` | number | Yes | Model year (e.g. 2024) | **Returns:** EPA fuel economy ratings including city, highway, and combined MPG, fuel type, annual fuel cost, and CO2 emissions for each trim **Example:** ```json { "tool": "vehicle-data", "skill": "fuel_economy", "input": { "make": "Toyota", "model": "Corolla", "year": 2024 } } ``` #### Safety Ratings (`safety_ratings`) Get NCAP crash test star ratings for a vehicle by make, model, and year. Returns overall rating (1-5 stars), frontal, side, side pole, and rollover ratings per variant. US market only. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `make` | string | Yes | Vehicle manufacturer (e.g. "Honda", "Toyota") | | `model` | string | Yes | Vehicle model (e.g. "Civic", "Camry") | | `year` | number | Yes | Model year (e.g. 2024) | **Returns:** NCAP crash test ratings including overall stars (1-5), frontal crash, side crash, side pole, rollover ratings, and safety feature availability for each variant **Example:** ```json { "tool": "vehicle-data", "skill": "safety_ratings", "input": { "make": "Toyota", "model": "Camry", "year": 2024 } } ``` #### Manufacturer Brands (`manufacturer_brands`) Find all vehicle brands and makes under a parent manufacturer. For example, Volkswagen Group produces Volkswagen, Audi, Porsche, Lamborghini, Bentley, and more. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `manufacturer` | string | Yes | Parent manufacturer name (e.g. "Volkswagen", "Toyota Motor", "General Motors", "Stellantis") | **Returns:** All vehicle brands and makes produced under the specified parent manufacturer **Example:** ```json { "tool": "vehicle-data", "skill": "manufacturer_brands", "input": { "manufacturer": "Volkswagen" } } ``` #### Vehicle Specs (`vehicle_specs`) Get physical dimensions and weight for a vehicle by make, model, and year. Returns overall length, width, height, wheelbase, curb weight, and track width in metric units. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `year` | number | Yes | Model year (e.g. 2014) | | `make` | string | Yes | Vehicle manufacturer (e.g. "Honda", "Toyota") | | `model` | string | Yes | Vehicle model (e.g. "Civic", "Camry") | **Returns:** Vehicle dimensions and weight including overall length, width, height, wheelbase, curb weight, and track widths in metric units **Example:** ```json { "tool": "vehicle-data", "skill": "vehicle_specs", "input": { "year": 2014, "make": "Toyota", "model": "Corolla" } } ``` #### Fuel Prices (`fuel_prices`) Get current US national average fuel prices for all fuel types including regular, midgrade, premium gasoline, diesel, E85 ethanol, electricity ($/kWh), CNG, and LPG. **Returns:** Current US national average prices for regular, midgrade, premium, diesel, E85, electric ($/kWh), CNG, and LPG **Example:** ```json { "tool": "vehicle-data", "skill": "fuel_prices", "input": {} } ``` #### Check Investigations (`check_investigations`) Search active and closed NHTSA safety investigations for a vehicle by make, model, and year. Returns investigation number, type, subject, status (open/closed), opening date, and description. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `make` | string | Yes | Vehicle manufacturer (e.g. "Tesla", "Toyota") | | `model` | string | Yes | Vehicle model (e.g. "Model 3", "Camry") | | `year` | number | Yes | Model year (e.g. 2022) | **Returns:** NHTSA safety investigations including investigation ID, type, subject, status (open/closed), opening date, summary, and corrective action **Example:** ```json { "tool": "vehicle-data", "skill": "check_investigations", "input": { "make": "Tesla", "model": "Model 3", "year": 2022 } } ``` ### Ocean & Tides Tides, waves, sea temperature, ocean currents, marine alerts, and real station readings for any coastal location worldwide. Covers beaches, harbors, and open ocean with forecasts, historical statistics, and station reference data. - **Version:** 0.03 - **Categories:** data #### Tide Forecast (`tide_forecast`) Get high and low tide times and heights for a NOAA station. Covers US coasts, territories, and Great Lakes. Returns tide predictions for 1-7 days with times and water levels. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `station_id` | string | Yes | NOAA station ID (e.g. "8454000" for Providence, RI). Use find_stations to look up station IDs near a location. | | `days` | number | No | Number of days to forecast (1-7, default 2) [default: 2] | | `datum` | string | No | Tidal datum reference (default MLLW). Options: MLLW, MLW, MSL, MHW, MHHW, NAVD [default: "MLLW"] | | `units` | string | No | Units: "english" (feet) or "metric" (meters). Default english. (english, metric) [default: "english"] | **Returns:** High and low tide times and heights for the requested period **Example:** ```json { "tool": "ocean-data", "skill": "tide_forecast", "input": { "station_id": "8454000" } } ``` #### Wave Forecast (`wave_forecast`) Get wave height, swell, and surf conditions for any ocean location worldwide. Returns hourly forecasts including wave height, wave period, wave direction, swell height, swell period, wind wave details, and daily sea surface temperature for up to 7 days. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `latitude` | number | Yes | Latitude of the ocean location (e.g. 33.77 for Huntington Beach) | | `longitude` | number | Yes | Longitude of the ocean location (e.g. -118.19 for Huntington Beach) | | `days` | number | No | Forecast days (1-7, default 3) [default: 3] | **Returns:** Hourly wave and swell forecast with current conditions snapshot, daily summary, and sea surface temperature **Example:** ```json { "tool": "ocean-data", "skill": "wave_forecast", "input": { "latitude": 33.655, "longitude": -117.999 } } ``` #### Ocean Conditions (`ocean_conditions`) Get sea surface temperature, ocean currents, and water conditions for any ocean location worldwide. Returns current conditions plus hourly forecasts. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `latitude` | number | Yes | Latitude of the ocean location | | `longitude` | number | Yes | Longitude of the ocean location | | `days` | number | No | Forecast days (1-7, default 2) [default: 2] | **Returns:** Sea surface temperature and ocean current data with hourly forecast **Example:** ```json { "tool": "ocean-data", "skill": "ocean_conditions", "input": { "latitude": 25.76, "longitude": -80.19 } } ``` #### Find Stations (`find_stations`) Find NOAA tide prediction, water level, water temperature, or current prediction stations near a given location. Returns the closest stations with their IDs, names, coordinates, and distance. Use the station ID with tide_forecast, station_conditions, current_predictions, or station_info. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `latitude` | number | Yes | Latitude to search near (e.g. 40.7 for New York) | | `longitude` | number | Yes | Longitude to search near (e.g. -74.0 for New York) | | `type` | string | No | Station type: "tides" (tide predictions), "waterlevels" (observed), "watertemp" (temperature), "currents" (current predictions) (tides, waterlevels, watertemp, currents) [default: "tides"] | | `limit` | number | No | Maximum number of stations to return (default 10) [default: 10] | **Returns:** List of nearby NOAA stations with IDs, names, coordinates, and distance in km **Example:** ```json { "tool": "ocean-data", "skill": "find_stations", "input": { "latitude": 40.7, "longitude": -74 } } ``` #### Marine Alerts (`marine_alerts`) Get active marine weather alerts and warnings for a location. Covers small craft advisories, gale warnings, storm warnings, hurricane warnings, rip current statements, and tsunami alerts. US coasts only. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `latitude` | number | Yes | Latitude of the coastal location (US coasts only) | | `longitude` | number | Yes | Longitude of the coastal location (US coasts only) | **Returns:** Active marine weather alerts with event type, severity, headline, and detailed description **Example:** ```json { "tool": "ocean-data", "skill": "marine_alerts", "input": { "latitude": 41.67, "longitude": -70 } } ``` #### Beach Report (`beach_report`) Complete conditions report for a beach or coastal location. Combines waves, SST, currents, and marine alerts in one snapshot. Global for waves and water temp; US-only for tides and alerts. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `latitude` | number | Yes | Latitude of the beach or coastal location | | `longitude` | number | Yes | Longitude of the beach or coastal location | | `days` | number | No | Forecast days (1-3, default 2) [default: 2] | **Returns:** Complete beach conditions: waves, water temp, currents, wind, sea surface temperature range, and marine alerts in one response **Example:** ```json { "tool": "ocean-data", "skill": "beach_report", "input": { "latitude": 34.03, "longitude": -118.68 } } ``` #### Station Conditions (`station_conditions`) Get real observed conditions from a NOAA CO-OPS station — actual sensor readings, not forecasts. Returns water temp, wind, air temp, pressure, water level, salinity, humidity, visibility, and conductivity. Unavailable sensors return null. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `station_id` | string | Yes | NOAA CO-OPS station ID (e.g. "8454000" for Providence, RI). Use find_stations to look up station IDs near a location. | | `units` | string | No | Units: "english" (°F, feet, knots) or "metric" (°C, meters, m/s). Default english. (english, metric) [default: "english"] | **Returns:** Real observed conditions from station sensors: water temp, wind, air temp, pressure, water level, salinity, humidity, visibility, and conductivity **Example:** ```json { "tool": "ocean-data", "skill": "station_conditions", "input": { "station_id": "8454000" } } ``` #### Current Predictions (`current_predictions`) Get ocean current velocity and direction predictions at NOAA current stations. Returns predicted current speed, direction, flood/ebb indicators, and timing. Current stations are different from tide stations — use find_stations with type "currents" to locate them. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `station_id` | string | Yes | NOAA current station ID (e.g. "PUG1515" for Puget Sound). Use find_stations with type "currents" to look up current station IDs. | | `days` | number | No | Number of days to forecast (1-7, default 2) [default: 2] | | `units` | string | No | Units: "english" (knots) or "metric" (m/s). Default english. (english, metric) [default: "english"] | **Returns:** Predicted ocean current velocity, direction, and flood/ebb indicators for the requested period **Example:** ```json { "tool": "ocean-data", "skill": "current_predictions", "input": { "station_id": "PUG1515" } } ``` #### Tidal Statistics (`tidal_statistics`) Get monthly mean tidal levels for a NOAA station over a date range. Returns monthly mean high water, low water, mean sea level, tide range, and highest/lowest values for historical analysis. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `station_id` | string | Yes | NOAA station ID (e.g. "8454000" for Providence, RI). Use find_stations to look up station IDs. | | `start_date` | string | Yes | Start date in YYYY-MM-DD format (e.g. "2024-01-01") | | `end_date` | string | Yes | End date in YYYY-MM-DD format (e.g. "2024-12-31") | | `units` | string | No | Units: "english" (feet) or "metric" (meters). Default english. (english, metric) [default: "english"] | **Returns:** Monthly mean tidal levels with statistical summary for historical analysis **Example:** ```json { "tool": "ocean-data", "skill": "tidal_statistics", "input": { "station_id": "8454000", "start_date": "2024-01-01", "end_date": "2024-12-31" } } ``` #### Station Info (`station_info`) Get complete reference data for a NOAA station including tidal datums (MHHW, MHW, MSL, MLW, MLLW), flood level thresholds (minor, moderate, major), and top harmonic constituents. Not all stations have all three data types — each is fetched independently. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `station_id` | string | Yes | NOAA station ID (e.g. "8454000" for Providence, RI). Use find_stations to look up station IDs. | **Returns:** Station reference data: tidal datums, flood level thresholds, and harmonic constituents **Example:** ```json { "tool": "ocean-data", "skill": "station_info", "input": { "station_id": "8454000" } } ``` ### Product Recalls Search product recalls from the FDA and CPSC. Look up food, drug, and consumer product recalls by name or brand, or check if any product has active safety recalls. Covers FDA enforcement actions and CPSC recalls from official US government databases. - **Version:** 0.02 - **Categories:** data #### Search Food Recalls (`search_food_recalls`) Search FDA food recalls by product name, brand, or ingredient. Returns recall reason, classification (I/II/III), distribution pattern, and status. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Food product name, brand, or ingredient to search for (e.g. "peanut butter", "Salmonella", "Listeria") | | `limit` | number | No | Maximum number of results to return (default 10, max 100) [default: 10] | | `status` | string | No | Filter by recall status (ongoing, completed, terminated) | | `classification` | string | No | Filter by severity — Class I is most serious (health hazard), Class II may cause problems, Class III unlikely to cause problems (I, II, III) | | `start_date` | string | No | Filter recalls from this date (YYYY-MM-DD format) | | `end_date` | string | No | Filter recalls up to this date (YYYY-MM-DD format) | **Returns:** FDA food recall records including recall number, recalling firm, product description, reason, classification (I/II/III), status, and distribution pattern **Example:** ```json { "tool": "product-recalls", "skill": "search_food_recalls", "input": { "query": "peanut butter" } } ``` #### Search Drug Recalls (`search_drug_recalls`) Search FDA drug and medication recalls by drug name, brand, or manufacturer. Returns recall reason, classification (I/II/III), distribution, and status. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Drug name, brand name, or manufacturer to search for (e.g. "ibuprofen", "metformin", "Pfizer") | | `limit` | number | No | Maximum number of results to return (default 10, max 100) [default: 10] | | `status` | string | No | Filter by recall status (ongoing, completed, terminated) | | `classification` | string | No | Filter by severity — Class I is most serious (health hazard), Class II may cause problems, Class III unlikely to cause problems (I, II, III) | | `start_date` | string | No | Filter recalls from this date (YYYY-MM-DD format) | | `end_date` | string | No | Filter recalls up to this date (YYYY-MM-DD format) | **Returns:** FDA drug recall records including recall number, recalling firm, product description, reason, classification (I/II/III), status, and distribution pattern **Example:** ```json { "tool": "product-recalls", "skill": "search_drug_recalls", "input": { "query": "ibuprofen" } } ``` #### Search Product Recalls (`search_product_recalls`) Search CPSC consumer product recalls for toys, electronics, baby gear, furniture, and household items. Returns hazard details, remedies, and manufacturer information. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Product name, type, or brand to search for (e.g. "stroller", "space heater", "IKEA") | | `start_date` | string | No | Only return recalls from this date onward (YYYY-MM-DD format) | | `end_date` | string | No | Only return recalls up to this date (YYYY-MM-DD format) | **Returns:** CPSC product recall records including recall number, title, description, hazards, remedies, manufacturers, and retailers **Example:** ```json { "tool": "product-recalls", "skill": "search_product_recalls", "input": { "query": "stroller" } } ``` #### Recent Recalls (`recent_recalls`) Get the latest recalls across all categories or filter by food, drug, device, or product. No search query needed — returns the most recent recall actions. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `category` | string | No | Recall category to fetch: "food" (FDA), "drug" (FDA), "device" (FDA), "product" (CPSC), or "all" (default) (food, drug, device, product, all) [default: "all"] | | `limit` | number | No | Maximum number of results per category (default 10) [default: 10] | **Returns:** Most recent recalls sorted by date, grouped by category when fetching all categories **Example:** ```json { "tool": "product-recalls", "skill": "recent_recalls", "input": {} } ``` #### Check Product Safety (`check_product_safety`) Check if a specific product or brand has any active or ongoing recalls. Searches across FDA food, drug, and CPSC databases simultaneously and highlights ongoing issues. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `product` | string | Yes | Product name or brand to check for safety recalls (e.g. "Tylenol", "Fisher-Price", "romaine lettuce") | **Returns:** Safety check results across all databases with recall counts, active/ongoing status flag, and full recall details **Example:** ```json { "tool": "product-recalls", "skill": "check_product_safety", "input": { "product": "romaine lettuce" } } ``` ### Night Sky See which planets and stars are visible from any location, get moon phases, sunrise/sunset times, upcoming eclipses, and celestial events like equinoxes, solstices, meteor showers, and asteroid approaches. Data from the US Naval Observatory and NASA JPL. - **Version:** 0.02 - **Categories:** data #### What's Visible (`whats_visible`) Find which planets and bright stars are visible from a location at a given time. Returns all celestial objects above the horizon with altitude, compass direction, and object type. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `latitude` | number | Yes | Latitude of the observation location (e.g. 34.05 for Los Angeles) | | `longitude` | number | Yes | Longitude of the observation location (e.g. -118.24 for Los Angeles) | | `date` | string | No | Date in YYYY-MM-DD format (default: today) | | `time` | string | No | Time in HH:MM format, 24-hour (default: 21:00) | | `timezone_offset` | number | No | Hours offset from UTC (e.g. -7 for PDT, 0 for UTC, 1 for CET). Default 0. | **Returns:** List of visible celestial objects (planets and bright stars) above the horizon, sorted by altitude with compass directions **Example:** ```json { "tool": "night-sky", "skill": "whats_visible", "input": { "latitude": 34.05, "longitude": -118.24, "time": "21:00", "timezone_offset": -7 } } ``` #### Moon Phase (`moon_phase`) Get the current moon phase, illumination percentage, moonrise and moonset times, and the dates of the next four major phases. Provide coordinates for location-specific moonrise/moonset times. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `date` | string | No | Date in YYYY-MM-DD format (default: today) | | `latitude` | number | No | Latitude for moonrise/moonset times (optional) | | `longitude` | number | No | Longitude for moonrise/moonset times (optional) | | `timezone_offset` | number | No | Hours offset from UTC (default 0) | **Returns:** Current moon phase, illumination, moonrise/moonset times, and upcoming phase dates **Example:** ```json { "tool": "night-sky", "skill": "moon_phase", "input": { "date": "2026-03-22" } } ``` #### Sun & Moon Times (`sun_and_moon_times`) Get sunrise, sunset, moonrise, moonset, civil twilight begin and end, moon phase, and total daylight hours for any location and date. Essential for planning outdoor activities, photography, or stargazing. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `latitude` | number | Yes | Latitude of the location (e.g. 40.71 for New York) | | `longitude` | number | Yes | Longitude of the location (e.g. -74.01 for New York) | | `date` | string | No | Date in YYYY-MM-DD format (default: today) | | `timezone_offset` | number | No | Hours offset from UTC (default 0) | **Returns:** Sunrise, sunset, moonrise, moonset, twilight times, moon phase, and daylight hours **Example:** ```json { "tool": "night-sky", "skill": "sun_and_moon_times", "input": { "latitude": 40.71, "longitude": -74.01, "timezone_offset": -4 } } ``` #### Eclipse Forecast (`eclipse_forecast`) Get upcoming solar and lunar eclipses for a given year, including dates, types (total, annular, partial, penumbral), and timing. Solar eclipse data from the US Naval Observatory; lunar eclipses from NASA GSFC catalog (2025-2040). **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `year` | number | No | Year to check for eclipses (default: current year) | **Returns:** List of solar and lunar eclipses for the year with dates, types, and UTC times **Example:** ```json { "tool": "night-sky", "skill": "eclipse_forecast", "input": { "year": 2026 } } ``` #### Celestial Events (`celestial_events`) Get a combined timeline of upcoming astronomical events including equinoxes, solstices, meteor shower peaks, and asteroid close approaches to Earth. Data from the US Naval Observatory and NASA JPL, plus well-known annual meteor shower dates. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `start_date` | string | No | Start date in YYYY-MM-DD format (default: today) | | `days` | number | No | Number of days to look ahead (default: 30, max: 365) | **Returns:** Combined chronological timeline of equinoxes, solstices, meteor shower peaks, and asteroid close approaches **Example:** ```json { "tool": "night-sky", "skill": "celestial_events", "input": { "start_date": "2026-03-22" } } ``` ### Color Tools Look up any color by hex, RGB, or HSL for full format conversions and naming. Generate palettes via color theory or AI. Check WCAG contrast ratios with AA/AAA compliance. Name colors from a database of 31,887 creative names. - **Version:** 0.01 - **Categories:** data #### Color Info (`color_info`) Get comprehensive info about any color — name, hex, RGB, HSL, HSV, CMYK, closest named color, creative name, and contrast recommendation. Accepts hex, RGB, and HSL input formats. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `color` | string | Yes | Color to look up. Accepts hex "#FF5733", plain hex "FF5733", rgb "rgb(255,87,51)", or hsl "hsl(11,100%,60%)" | **Returns:** All color format conversions (hex, RGB, HSL, HSV, CMYK), named color, creative name, and contrast recommendation **Example:** ```json { "tool": "color-tools", "skill": "color_info", "input": { "color": "#FF5733" } } ``` #### Generate Palette (`generate_palette`) Generate a color scheme from a starting color using classic color theory. Supports monochrome, analogic, complement, analogic-complement, triad, and quad modes with 2-10 colors. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `color` | string | Yes | Starting hex color (e.g. "#FF5733" or "FF5733") | | `mode` | string | No | Color scheme mode (default: analogic) (monochrome, analogic, complement, analogic-complement, triad, quad) [default: "analogic"] | | `count` | number | No | Number of colors to generate, 2-10 (default: 5) [default: 5] | **Returns:** Color palette with hex, RGB, HSL values and creative names for each color **Example:** ```json { "tool": "color-tools", "skill": "generate_palette", "input": { "color": "#FF6B6B" } } ``` #### AI Palette (`ai_palette`) Generate an AI-powered 5-color palette using machine learning. Optionally lock specific colors and let the AI generate complementary colors for the remaining positions. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `locked_colors` | array | No | Array of up to 5 hex colors to lock. Use null for positions to auto-generate. Example: ["#FF5733", null, null, null, "#2C3E50"] | | `model` | string | No | AI model style (default: "default") (default, ui, water_color, city_photography, lego_movie, ocean_photography) [default: "default"] | **Returns:** 5-color AI-generated palette with hex, RGB, creative names, and locked status for each color **Example:** ```json { "tool": "color-tools", "skill": "ai_palette", "input": {} } ``` #### Check Contrast (`check_contrast`) Check WCAG 2.1 accessibility contrast ratio between a foreground and background color. Returns AA and AAA compliance for both normal and large text with improvement suggestions. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `foreground` | string | Yes | Foreground (text) hex color (e.g. "#333333" or "333333") | | `background` | string | Yes | Background hex color (e.g. "#FFFFFF" or "FFFFFF") | **Returns:** WCAG contrast ratio, AA and AAA compliance for normal and large text, and improvement suggestions **Example:** ```json { "tool": "color-tools", "skill": "check_contrast", "input": { "foreground": "#000000", "background": "#FFFFFF" } } ``` #### Name Colors (`name_colors`) Get creative names for up to 10 colors from a database of 31,887 named colors. Returns each color with its closest creative name, plus a generated palette title for the group. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `colors` | array | Yes | Array of 1-10 hex color strings (e.g. ["#FF5733", "#3498DB", "#2ECC71"]) | **Returns:** Creative color names from 31,887-name database, plus a generated palette title **Example:** ```json { "tool": "color-tools", "skill": "name_colors", "input": { "colors": [ "#FF5733", "#3498DB", "#2ECC71" ] } } ``` ### Chemistry Lookup Look up chemical compounds, periodic table elements, and GHS safety data. Search by name, CAS number, or formula for molecular properties and SMILES. Get hazard pictograms and H/P-codes. Find similar compounds or compare elements side by side. - **Version:** 0.01 - **Categories:** data #### Compound Lookup (`compound_lookup`) Look up a chemical compound by name, CAS number, or formula. Returns molecular formula, weight, IUPAC name, SMILES notation, InChI key, and common synonyms from PubChem. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Compound name (e.g. "aspirin"), CAS number (e.g. "50-78-2"), or molecular formula (e.g. "C9H8O4") | **Returns:** Compound properties including molecular formula, weight, IUPAC name, SMILES, InChI key, and common synonyms **Example:** ```json { "tool": "chemistry-lookup", "skill": "compound_lookup", "input": { "query": "aspirin" } } ``` #### Safety Data (`safety_data`) Get GHS hazard classification and safety data for a chemical compound. Returns pictogram codes, signal word, hazard statements (H-codes), and precautionary statements (P-codes). **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `compound` | string | Yes | Compound name (e.g. "acetone") or CAS number (e.g. "67-64-1") | **Returns:** GHS classification including pictograms, signal word, hazard statements (H-codes), and precautionary statements (P-codes) **Example:** ```json { "tool": "chemistry-lookup", "skill": "safety_data", "input": { "compound": "acetone" } } ``` #### Element Info (`element_info`) Look up a periodic table element by name, symbol, or atomic number. Returns atomic mass, category, phase, density, melting/boiling point, electron configuration, and discovery info. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Element name (e.g. "Iron"), symbol (e.g. "Fe"), or atomic number (e.g. "26") | **Returns:** Element data including atomic mass, category, phase, density, melting/boiling point, electron configuration, and discovery info **Example:** ```json { "tool": "chemistry-lookup", "skill": "element_info", "input": { "query": "Fe" } } ``` #### Search Compounds (`search_compounds`) Search for chemical compounds matching a partial name. Uses PubChem autocomplete to find compounds when the exact name is unknown. Returns a list of matching compound names. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Partial compound name to search for (e.g. "ibupr", "meth", "chloro") | | `limit` | number | No | Maximum number of results (1-25, default 10) [default: 10] | **Returns:** List of compound names matching the search query **Example:** ```json { "tool": "chemistry-lookup", "skill": "search_compounds", "input": { "query": "ibupr" } } ``` #### Similar Compounds (`similar_compounds`) Find compounds structurally similar to a given compound using 2D fingerprint similarity from PubChem. Accepts a compound name or SMILES string and returns similar compounds with their properties. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `compound` | string | Yes | Compound name (e.g. "aspirin") or SMILES string (e.g. "CC(=O)OC1=CC=CC=C1C(O)=O") | | `threshold` | number | No | Similarity threshold percentage (80-99, default 90). Higher = more similar. [default: 90] | | `limit` | number | No | Maximum number of results (1-25, default 5) [default: 5] | **Returns:** Structurally similar compounds with IUPAC names, formulas, weights, and SMILES notation **Example:** ```json { "tool": "chemistry-lookup", "skill": "similar_compounds", "input": { "compound": "aspirin" } } ``` #### Compare Elements (`compare_elements`) Side-by-side comparison of two periodic table elements. Compare atomic mass, density, melting/boiling points, electronegativity, electron configuration, and more. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `element_a` | string | Yes | First element — name (e.g. "Iron"), symbol (e.g. "Fe"), or atomic number (e.g. "26") | | `element_b` | string | Yes | Second element — name (e.g. "Copper"), symbol (e.g. "Cu"), or atomic number (e.g. "29") | **Returns:** Side-by-side comparison of two elements including atomic mass, density, melting/boiling points, electronegativity, and electron configuration **Example:** ```json { "tool": "chemistry-lookup", "skill": "compare_elements", "input": { "element_a": "Fe", "element_b": "Cu" } } ``` ### Train Tracker Real-time rail data across 15 networks in 30+ countries. Search stations, check live departures with delays, plan journeys, track trains by GPS, and monitor disruptions. Covers Germany, Austria, Switzerland, UK, USA, Belgium, Norway, Denmark, Finland, Italy, pan-European routing, Canada, and Korea. - **Version:** 0.03 - **Categories:** data #### Station Search (`station_search`) Find train stations by name across 12 networks in 10 countries: Germany, Austria, Switzerland, UK (London TfL + National Rail), USA (Amtrak + Boston MBTA), Belgium, Norway, Denmark, Finland, and Italy. Returns station IDs, names, coordinates, and available transport types. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Station name or search term (e.g. "Berlin", "Paddington", "Oslo S", "Bruxelles") | | `network` | string | Yes | Rail network ID: de, at, ch, gb-london, gb, us-amtrak, us-boston, be, no, dk, fi, it, eu, ca, kr-seoul (de, at, ch, gb-london, gb, us-amtrak, us-boston, be, no, dk, fi, it, eu, ca, kr-seoul) | **Returns:** List of matching stations with IDs, names, coordinates, and available skills **Example:** ```json { "tool": "train-tracker", "skill": "station_search", "input": { "query": "Berlin", "network": "de" } } ``` #### Live Departures (`live_departures`) Real-time departure boards for 11 networks (DE, AT, CH, TfL, GB, MBTA, BE, NO, DK, FI, IT). Shows next trains with destination, line, times, delays, platform, and remarks. Accepts station names or IDs. Not available for Amtrak — use track_train. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `station` | string | Yes | Station name or ID (e.g. "Berlin Hbf", "PAD", "Bruxelles-Central", "Oslo S") | | `network` | string | Yes | Rail network ID: de, at, ch, gb-london, gb, us-amtrak, us-boston, be, no, dk, fi, it, eu, ca, kr-seoul (de, at, ch, gb-london, gb, us-amtrak, us-boston, be, no, dk, fi, it, eu, ca, kr-seoul) | | `duration_minutes` | number | No | Time window in minutes (HAFAS networks only) [default: 60] | **Returns:** Departures with direction, line, product, times, delay_minutes, platform, remarks **Example:** ```json { "tool": "train-tracker", "skill": "live_departures", "input": { "station": "Berlin Hauptbahnhof", "network": "de" } } ``` #### Journey Planner (`journey_plan`) Plan train journeys in 7 networks: Germany, Austria, Switzerland, London TfL, Belgium, Norway, and Denmark. Returns multiple journey options with departure/arrival times, duration, changes, and leg-by-leg details. Belgium, Norway, and Denmark accept station names directly. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `origin` | string | Yes | Departure station name or ID | | `destination` | string | Yes | Arrival station name or ID | | `network` | string | Yes | Rail network ID: de, at, ch, gb-london, gb, us-amtrak, us-boston, be, no, dk, fi, it, eu, ca, kr-seoul (de, at, ch, gb-london, gb, us-amtrak, us-boston, be, no, dk, fi, it, eu, ca, kr-seoul) | | `departure_time` | string | No | ISO 8601 departure time (defaults to now) | **Returns:** Journey options with departure/arrival, duration, changes, and legs with line/platform/delay **Example:** ```json { "tool": "train-tracker", "skill": "journey_plan", "input": { "origin": "München", "destination": "Berlin", "network": "de" } } ``` #### Track Train (`track_train`) Track active trains in real-time. USA Amtrak: GPS position, speed, heading, per-station schedule. Canada VIA Rail: GPS position, speed, departed/arrived stations. Finland: scheduled/actual times, delays, cancellation status. Pass network="ca" for Canada, network="fi" for Finland, defaults to Amtrak. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `train_number` | string | Yes | Train number (e.g. "19" for Amtrak, "1" for VIA Rail Canadian, "1" for Finnish IC1) | | `network` | string | No | us-amtrak, ca (VIA Rail), or fi (Finland) (us-amtrak, fi, ca) [default: "us-amtrak"] | **Returns:** Train position, status, route, and per-station schedule with delays **Example:** ```json { "tool": "train-tracker", "skill": "track_train", "input": { "train_number": "19" } } ``` #### Line Status (London) (`line_status`) Service status for London transport lines: Tube, Overground, Elizabeth line, DLR, National Rail, Trams. Shows good service, delays, part closures, and disruption reasons. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `mode` | string | No | Transport mode (default: tube) (tube, overground, elizabeth-line, dlr, national-rail, tram) [default: "tube"] | | `line` | string | No | Specific line ID (e.g. "piccadilly", "northern"). Omit for all lines. | **Returns:** Per-line status with severity, disruption reasons, and summary **Example:** ```json { "tool": "train-tracker", "skill": "line_status", "input": { "mode": "tube" } } ``` ### Regulatory Actions Search enforcement actions and regulatory filings from US financial regulators. Covers SEC litigation releases, CFPB consumer finance enforcement, FDIC bank failures, and Federal Register rules and proposed rules by any agency. - **Version:** 0.01 - **Categories:** finance, security #### SEC Enforcement (`sec_enforcement`) Search SEC enforcement actions including litigation releases and accounting/auditing enforcement releases via EDGAR full-text search. Filter by keyword and date range. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | No | Keyword search (e.g. company name, person, topic). Defaults to broad enforcement search if omitted. | | `days` | number | No | Number of days to look back (default: 90) | **Returns:** SEC litigation releases with release number, date, respondent names, and links to full release details **Example:** ```json { "tool": "regulatory-actions", "skill": "sec_enforcement", "input": {} } ``` #### CFPB Enforcement (`cfpb_enforcement`) Browse enforcement actions from the Consumer Financial Protection Bureau. Search by keyword to find actions against specific companies or involving specific financial products. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | No | Keyword search to filter actions (e.g. company name, product type like "mortgage" or "credit card") | | `limit` | number | No | Maximum number of results to return (default: 20) | **Returns:** CFPB enforcement actions with case name, filing/settlement dates, respondents, financial products involved, and types of relief **Example:** ```json { "tool": "regulatory-actions", "skill": "cfpb_enforcement", "input": {} } ``` #### FDIC Bank Failures (`fdic_failures`) Look up FDIC bank failures including bank name, location, acquiring institution, and closing date. Filter by year and state to analyze banking sector stability. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `year` | number | No | Filter by closing year (e.g. 2023) | | `state` | string | No | Filter by US state abbreviation (e.g. "CA", "NY", "TX") | | `limit` | number | No | Maximum number of results to return (default: 50) | **Returns:** FDIC bank failures with bank name, location, certificate number, acquiring institution, closing date, and insurance fund **Example:** ```json { "tool": "regulatory-actions", "skill": "fdic_failures", "input": {} } ``` #### Federal Register (`federal_register`) Search the Federal Register for rules, proposed rules, and notices from federal agencies. Filter by keyword, document type, and agency to track regulatory activity. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | No | Keyword search (e.g. "cryptocurrency", "emissions", "banking") | | `type` | string | No | Document type filter (default: "all") (rule, proposed_rule, notice, presidential_document, all) | | `agency` | string | No | Filter by agency slug (e.g. "securities-and-exchange-commission", "consumer-financial-protection-bureau") | | `limit` | number | No | Maximum number of results to return (default: 20, max: 20) | **Returns:** Federal Register documents with title, abstract, publication date, agency names, type, CFR references, docket IDs, and links to full text **Example:** ```json { "tool": "regulatory-actions", "skill": "federal_register", "input": {} } ``` ### Economic Calendar Financial calendar covering earnings reports, IPO pipeline, global economic events, exchange holidays (NYSE, CME, LSE, TSE), options expiry, central bank meetings (FOMC, ECB, BOE), and data release schedules (NFP, CPI, PPI, GDP, ISM). - **Version:** 0.03 - **Categories:** finance #### Market Holidays (`market_holidays`) Returns stock exchange holidays for a given year. Covers NYSE, CME, LSE (London), and TSE (Tokyo). US holidays include major federal holidays. LSE follows UK bank holidays. TSE follows Japanese national holidays. Handles weekend observance rules. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `year` | number | No | Year to get holidays for (e.g. 2026). Defaults to current year. | | `exchange` | string | No | Exchange to get holidays for. "nyse" (default), "cme", "lse" (London), "tse" (Tokyo), or "all". (nyse, cme, lse, tse, all) | **Returns:** Array of holidays with date, name, day of week, exchange, and whether the date is an observed holiday (shifted from weekend). **Example:** ```json { "tool": "economic-calendar", "skill": "market_holidays", "input": { "year": 2026 } } ``` #### Options Expiry (`options_expiry`) Calculates options expiration dates for U.S. equity options. Supports monthly (3rd Friday), weekly (every Friday), and quarterly (3rd Friday of Mar/Jun/Sep/Dec) expiration types. Filter by month or get the full year. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `year` | number | No | Year to calculate expirations for. Defaults to current year. | | `month` | number | No | Month (1-12) to filter results. Omit for all months. | | `type` | string | No | Expiration type: "monthly" (default), "weekly", "quarterly", or "all". (monthly, weekly, quarterly, all) | **Returns:** Array of expiration dates with type (monthly/weekly/quarterly), day of week, and notes on settlement rules. **Example:** ```json { "tool": "economic-calendar", "skill": "options_expiry", "input": { "year": 2026 } } ``` #### FOMC Meetings (`fomc_meetings`) Returns the Federal Reserve FOMC meeting schedule for a given year. Includes confirmed dates for 2024-2026 and estimated dates for other years. Shows which meetings include the Summary of Economic Projections (SEP/dot plot) and statement release timing. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `year` | number | No | Year to get FOMC schedule for. Defaults to current year. | **Returns:** Array of FOMC meetings with start/end dates, statement release date, whether SEP/dot plot is included, and whether dates are confirmed or estimated. **Example:** ```json { "tool": "economic-calendar", "skill": "fomc_meetings", "input": { "year": 2026 } } ``` #### Data Releases (`data_releases`) Generates the schedule for major U.S. economic data releases including NFP (employment), CPI/PPI/PCE (inflation), GDP, ISM Manufacturing and Services, Retail Sales, Housing Starts, and Initial Claims. Filter by month and category. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `year` | number | No | Year for the release schedule. Defaults to current year. | | `month` | number | No | Month (1-12) to filter results. Omit for all months. | | `category` | string | No | Filter by category: "employment", "inflation", "gdp", "housing", "manufacturing", "consumer", or "all" (default). (employment, inflation, gdp, housing, manufacturing, consumer, all) | **Returns:** Array of economic data releases with date, indicator name, category, description, and release frequency pattern. **Example:** ```json { "tool": "economic-calendar", "skill": "data_releases", "input": { "year": 2026, "month": 3 } } ``` #### ECB Meetings (`ecb_meetings`) Returns the ECB Governing Council monetary policy meeting schedule for a given year. Includes confirmed dates for 2025-2026 and estimated dates for other years. All meetings include a press conference. Rate decisions announced at 14:15 CET. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `year` | number | No | Year to get ECB schedule for. Defaults to current year. | **Returns:** Array of ECB Governing Council monetary policy meetings with dates, press conference timing, and whether dates are confirmed or estimated. **Example:** ```json { "tool": "economic-calendar", "skill": "ecb_meetings", "input": { "year": 2026 } } ``` #### BOE MPC Meetings (`boe_meetings`) Returns the Bank of England Monetary Policy Committee (MPC) meeting schedule for a given year. Includes confirmed dates for 2025-2026 and estimated dates for other years. Shows which meetings coincide with the Monetary Policy Report (Feb, May, Aug, Nov). Rate decisions announced at 12:00 GMT. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `year` | number | No | Year to get BOE MPC schedule for. Defaults to current year. | **Returns:** Array of Bank of England MPC meetings with dates, Monetary Policy Report flag, and whether dates are confirmed or estimated. **Example:** ```json { "tool": "economic-calendar", "skill": "boe_meetings", "input": { "year": 2026 } } ``` #### Earnings Calendar (`earnings_calendar`) Corporate earnings reporting schedule from Nasdaq. Shows which companies report on a given date with EPS forecasts, market cap, number of analyst estimates, and reporting time (pre-market or after-hours). Supports multi-day views up to 7 days. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `date` | string | No | Date in YYYY-MM-DD format. Defaults to today. | | `days` | number | No | Number of days to fetch (1-7). Defaults to 1. | **Returns:** Array of earnings reports with symbol, company name, market cap, EPS forecast, number of estimates, reporting time, and prior year comparison. **Example:** ```json { "tool": "economic-calendar", "skill": "earnings_calendar", "input": {} } ``` #### IPO Calendar (`ipo_calendar`) IPO pipeline from Nasdaq covering upcoming, priced, filed, and withdrawn initial public offerings. View the full IPO calendar for any month with share prices, exchange listings, and deal values. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `month` | string | No | Month in YYYY-MM format. Defaults to current month. | | `section` | string | No | IPO section to view: "upcoming" (default), "priced", "filed", "withdrawn", or "all". (upcoming, priced, filed, withdrawn, all) | **Returns:** Array of IPOs with ticker, company, exchange, share price range, shares offered, dollar value, date, and deal status. **Example:** ```json { "tool": "economic-calendar", "skill": "ipo_calendar", "input": {} } ``` #### Economic Events (`economic_events`) Global economic event calendar for the current week from ForexFactory. Covers major market-moving events like Non-Farm Payrolls, CPI, rate decisions, GDP, and more across all major economies (US, Euro Area, UK, Japan, Australia, Canada, etc.). Filter by impact level or country. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `impact` | string | No | Filter by impact level: "high" (market-movers only), "medium", "low", or "all" (default). (high, medium, low, all) | | `country` | string | No | Filter by currency code: USD, EUR, GBP, JPY, AUD, NZD, CAD, CHF, CNY. | **Returns:** Array of economic events with title, country, currency, date, time, impact level, forecast, and previous values. Includes impact breakdown summary. **Example:** ```json { "tool": "economic-calendar", "skill": "economic_events", "input": {} } ``` ### Tax Reference US federal tax reference for income brackets, capital gains rates, retirement contribution limits (401k, IRA, HSA), estate and gift tax thresholds, and MACRS depreciation schedules. Covers 2024-2026 with TCJA sunset notes. Includes marginal tax calculators and year-by-year depreciation schedules. - **Version:** 0.01 - **Categories:** finance #### Tax Brackets (`tax_brackets`) Federal income tax brackets and standard deductions for 2024, 2025, and 2026 (TCJA sunset). Supports all filing statuses. Optionally calculates tax owed with a marginal breakdown when income is provided. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `year` | number | No | Tax year: 2024, 2025, or 2026 (default: 2025) | | `filing_status` | string | No | Filing status (default: single) (single, married_filing_jointly, married_filing_separately, head_of_household) | | `income` | number | No | Optional gross income — if provided, calculates estimated federal income tax with marginal breakdown | **Returns:** Tax brackets with rates and thresholds, standard deduction, and optional tax estimate with marginal breakdown **Example:** ```json { "tool": "tax-reference", "skill": "tax_brackets", "input": {} } ``` #### Capital Gains (`capital_gains`) Long-term and short-term capital gains tax rates, Net Investment Income Tax (NIIT) thresholds, collectibles rate (28%), Section 1250 unrecaptured gain rate (25%), and qualified small business stock exclusion. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `year` | number | No | Tax year: 2024 or 2025 (default: 2025) | | `filing_status` | string | No | Filing status (default: single) (single, married_filing_jointly, married_filing_separately, head_of_household) | **Returns:** Capital gains rates, NIIT thresholds, collectibles rate, Section 1250 rate, and qualified dividends treatment **Example:** ```json { "tool": "tax-reference", "skill": "capital_gains", "input": {} } ``` #### Retirement Limits (`retirement_limits`) Contribution limits for 401(k), 403(b), Traditional IRA, Roth IRA, HSA, SEP IRA, SIMPLE IRA, and 457(b) plans. Includes catch-up contributions, SECURE 2.0 enhanced catch-up for ages 60-63, Roth IRA income phase-outs, and Traditional IRA deduction phase-outs. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `year` | number | No | Tax year: 2024 or 2025 (default: 2025) | **Returns:** Retirement account contribution limits, catch-up amounts, income phase-out ranges, and key thresholds **Example:** ```json { "tool": "tax-reference", "skill": "retirement_limits", "input": {} } ``` #### Estate & Gift Tax (`estate_gift_tax`) Federal estate tax exemptions, annual gift tax exclusions, generation-skipping transfer tax, estate tax rate schedule, and TCJA sunset planning notes. Includes portability rules and anti-clawback confirmation for pre-sunset gifts. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `year` | number | No | Tax year: 2024, 2025, or 2026 (default: 2025) | **Returns:** Estate tax exemptions, gift tax exclusions, GSTT, rate schedule, and TCJA sunset planning guidance **Example:** ```json { "tool": "tax-reference", "skill": "estate_gift_tax", "input": {} } ``` #### Depreciation (`depreciation`) Generate MACRS, straight-line, or Section 179 depreciation schedules. Supports 3, 5, 7, 10, 15, 20, 27.5, and 39-year asset classes. Returns year-by-year depreciation, cumulative totals, and remaining book value. Includes bonus depreciation phase-down schedule. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `asset_cost` | number | Yes | Original cost or basis of the asset in dollars | | `asset_class` | string | No | MACRS asset class / recovery period (default: 7_year) (3_year, 5_year, 7_year, 10_year, 15_year, 20_year, 27.5_year, 39_year) | | `method` | string | No | Depreciation method (default: macrs) (macrs, straight_line, section_179) | **Returns:** Year-by-year depreciation schedule with amounts, cumulative totals, book values, plus bonus depreciation and Section 179 details **Example:** ```json { "tool": "tax-reference", "skill": "depreciation", "input": { "asset_cost": 50000 } } ``` ### Financial Calculator Precise financial math: DCF valuation, WACC with CAPM, bond pricing with duration/convexity, Black-Scholes options with Greeks, loan amortization, present/future value solvers, and portfolio risk metrics (Sharpe, Sortino, max drawdown). - **Version:** 0.01 - **Categories:** finance #### DCF Valuation (`dcf_valuation`) Run a discounted cash flow valuation model. Projects future cash flows to present value and calculates terminal value using Gordon Growth (perpetuity) or exit multiple method. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `cash_flows` | array | Yes | Projected future cash flows, one per year (e.g. [100, 110, 121, 133, 146]) | | `discount_rate` | number | Yes | WACC or required rate of return as a decimal (e.g. 0.10 for 10%) | | `terminal_growth_rate` | number | No | Perpetuity growth rate for terminal value (default: 0.025 = 2.5%). Must be less than discount_rate. | | `terminal_method` | string | No | Terminal value method: "perpetuity" (Gordon Growth, default) or "exit_multiple" (10x final cash flow) (perpetuity, exit_multiple) | **Returns:** Enterprise value with per-year present values, terminal value breakdown, and implied value composition **Example:** ```json { "tool": "financial-calculator", "skill": "dcf_valuation", "input": { "cash_flows": [ 100, 110, 121, 133, 146 ], "discount_rate": 0.1 } } ``` #### WACC Calculator (`wacc_calculator`) Calculate the weighted average cost of capital from equity value, debt value, cost of equity, cost of debt, and tax rate. Optionally compute cost of equity via the Capital Asset Pricing Model (CAPM). **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `equity_value` | number | Yes | Market value of equity (market cap) | | `debt_value` | number | Yes | Market value of debt | | `cost_of_equity` | number | No | Required return on equity as a decimal (e.g. 0.10 for 10%). Omit if providing CAPM inputs. | | `cost_of_debt` | number | Yes | Pre-tax cost of debt as a decimal (e.g. 0.05 for 5%) | | `tax_rate` | number | Yes | Corporate tax rate as a decimal (e.g. 0.21 for 21%) | | `beta` | number | No | Equity beta for CAPM calculation (e.g. 1.2) | | `risk_free_rate` | number | No | Risk-free rate for CAPM (e.g. 0.04 for 4%) | | `market_premium` | number | No | Equity risk premium (Rm - Rf) for CAPM (e.g. 0.06 for 6%) | **Returns:** WACC with capital structure weights, cost components, tax shield, and optional CAPM breakdown **Example:** ```json { "tool": "financial-calculator", "skill": "wacc_calculator", "input": { "equity_value": 800, "debt_value": 200, "cost_of_equity": 0.1, "cost_of_debt": 0.05, "tax_rate": 0.21 } } ``` #### Bond Pricing (`bond_pricing`) Value a bond and compute yield analytics. Provide market_rate to calculate the bond price, or market_price to solve for yield to maturity (YTM). Returns price, YTM, current yield, Macaulay duration, modified duration, and convexity. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `face_value` | number | Yes | Par/face value of the bond (e.g. 1000) | | `coupon_rate` | number | Yes | Annual coupon rate as a decimal (e.g. 0.05 for 5%) | | `years_to_maturity` | number | Yes | Years until the bond matures | | `market_rate` | number | No | Required market yield/discount rate as a decimal. Provide this to calculate bond price. | | `market_price` | number | No | Current market price of the bond. Provide this instead of market_rate to solve for YTM. | | `frequency` | number | No | Coupon payments per year: 1 (annual), 2 (semi-annual, default), 4 (quarterly), 12 (monthly) (1, 2, 4, 12) | **Returns:** Bond price, YTM, current yield, Macaulay duration, modified duration, convexity, premium/discount status, and total cash flows **Example:** ```json { "tool": "financial-calculator", "skill": "bond_pricing", "input": { "face_value": 1000, "coupon_rate": 0.05, "years_to_maturity": 10, "market_rate": 0.06 } } ``` #### Option Pricing (`option_pricing`) Value European options using the Black-Scholes model with optional continuous dividend yield (Merton extension). Returns option price, all five Greeks (delta, gamma, theta, vega, rho), put-call parity, and moneyness. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `spot_price` | number | Yes | Current price of the underlying asset | | `strike_price` | number | Yes | Option strike price | | `time_to_expiry` | number | Yes | Time to expiration in years (e.g. 0.5 for 6 months, 0.25 for 3 months) | | `risk_free_rate` | number | Yes | Risk-free interest rate as a decimal (e.g. 0.05 for 5%) | | `volatility` | number | Yes | Annualized volatility as a decimal (e.g. 0.25 for 25%) | | `option_type` | string | No | Option type: "call" (default) or "put" (call, put) | | `dividend_yield` | number | No | Continuous dividend yield as a decimal (e.g. 0.02 for 2%). Default: 0. | **Returns:** Option price, all five Greeks, intrinsic/time value decomposition, put-call parity prices, and Black-Scholes model intermediates **Example:** ```json { "tool": "financial-calculator", "skill": "option_pricing", "input": { "spot_price": 100, "strike_price": 105, "time_to_expiry": 0.5, "risk_free_rate": 0.05, "volatility": 0.25 } } ``` #### Loan Amortization (`loan_amortization`) Generate a loan payment schedule with principal/interest breakdown. Supports monthly, biweekly, and weekly payment frequencies. Optionally model extra payments to see accelerated payoff savings. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `principal` | number | Yes | Loan amount (e.g. 300000) | | `annual_rate` | number | Yes | Annual interest rate as a decimal (e.g. 0.065 for 6.5%) | | `years` | number | Yes | Loan term in years (e.g. 30) | | `frequency` | string | No | Payment frequency: "monthly" (default), "biweekly", or "weekly" (monthly, biweekly, weekly) | | `extra_payment` | number | No | Additional payment per period above the standard payment (e.g. 200) | **Returns:** Payment schedule with per-period principal/interest breakdown, loan summary, and optional accelerated payoff comparison **Example:** ```json { "tool": "financial-calculator", "skill": "loan_amortization", "input": { "principal": 300000, "annual_rate": 0.065, "years": 30 } } ``` #### Time Value of Money (`time_value`) Solve any time value of money problem. Calculate future value, present value, payment, interest rate, or number of periods for lump sums and annuities. Supports ordinary annuities and annuities due. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `calculation` | string | Yes | Which variable to solve for (future_value, present_value, payment, rate, periods) | | `present_value` | number | No | Present value (lump sum or loan amount) | | `future_value` | number | No | Future value (target amount) | | `rate` | number | No | Interest rate per period as a decimal (e.g. 0.005 for 0.5% monthly) | | `periods` | number | No | Number of compounding periods | | `payment` | number | No | Periodic payment amount (for annuities) | | `payment_timing` | string | No | When payments occur: "end" (ordinary annuity, default) or "beginning" (annuity due) (end, beginning) | **Returns:** The solved variable with full calculation breakdown, total payments, and interest earned/paid **Example:** ```json { "tool": "financial-calculator", "skill": "time_value", "input": { "calculation": "future_value", "present_value": 10000, "rate": 0.07, "periods": 20 } } ``` #### Portfolio Metrics (`portfolio_metrics`) Analyze portfolio risk and return from an array of periodic returns. Calculates annualized return, volatility, Sharpe ratio, Sortino ratio, max drawdown, Calmar ratio, skewness, and kurtosis. With benchmark returns, also computes beta, alpha, tracking error, information ratio, and R-squared. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `returns` | array | Yes | Array of periodic returns as decimals (e.g. monthly: [0.02, -0.01, 0.03, ...]) | | `benchmark_returns` | array | No | Benchmark returns for the same periods, same length as returns (for beta, alpha, tracking error) | | `risk_free_rate` | number | No | Annualized risk-free rate as a decimal (default: 0.04 = 4%). Auto-converted to periodic. | **Returns:** Comprehensive risk/return analytics with Sharpe, Sortino, drawdown, skewness, kurtosis, and optional benchmark comparison metrics **Example:** ```json { "tool": "financial-calculator", "skill": "portfolio_metrics", "input": { "returns": [ 0.02, -0.01, 0.03, 0.01, -0.02, 0.04, 0.01, -0.03, 0.02, 0.03, -0.01, 0.02 ] } } ``` ### Excel Tools Create, read, and modify Excel (.xlsx) workbooks. Build complete spreadsheets with formulas, formatting, validations, pivot tables, and conditional formatting. Read any .xlsx into structured JSON. Apply 30+ batch operations to existing files. Returns downloadable .xlsx files. - **Version:** 0.02 - **Categories:** productivity, data #### Create Spreadsheet (`create_spreadsheet`) Build a complete Excel workbook in one call — multiple sheets, headers, formulas, rich formatting, merged cells, data validations, conditional formatting, hyperlinks, comments, named ranges, tables, pivot tables, sheet protection, freeze panes, and print setup. Returns a .xlsx file. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `sheets` | array | Yes | Array of sheet definitions with data and settings. | | `formulas` | array | No | Formulas to apply. Each: {sheet?, cell, formula}. | | `formatting` | array | No | Formatting rules. Each object needs a range and optional style properties (bold, italic, font_size, colors, alignment, etc.). | | `merges` | array | No | Cell ranges to merge. | | `data_validations` | array | No | Data validation rules. Types: list (dropdowns), whole/decimal (number ranges), date, textLength, custom (formula-based). | | `conditional_formats` | array | No | Conditional formatting rules. rule_type: cellIs, containsText, colorScale, dataBar, iconSet, top10, aboveAverage, expression. | | `hyperlinks` | array | No | Hyperlinks to add. | | `comments` | array | No | Cell comments/notes. | | `named_ranges` | array | No | Named ranges (defined names). | | `tables` | array | No | Excel tables to create from existing data ranges. | | `pivot_tables` | array | No | Pivot tables to compute from data. Creates a new sheet with aggregated results. | | `filename` | string | No | Output filename (default: spreadsheet.xlsx) | **Returns:** A downloadable .xlsx file with all sheets, data, formatting, validations, and formulas applied **Example:** ```json { "tool": "excel-tools", "skill": "create_spreadsheet", "input": { "sheets": [ { "name": "Sales", "headers": [ "Product", "Q1", "Q2", "Q3", "Q4" ], "rows": [ [ "Widget A", 1500, 2300, 1800, 2100 ], [ "Widget B", 900, 1100, 1300, 1500 ] ] } ], "formulas": [ { "cell": "F1", "formula": "\"Total\"" }, { "cell": "F2", "formula": "SUM(B2:E2)" }, { "cell": "F3", "formula": "SUM(B3:E3)" } ], "formatting": [ { "range": "B2:F3", "number_format": "$#,##0" } ], "filename": "sales-report.xlsx" } } ``` #### Read Spreadsheet (`read_spreadsheet`) Download an Excel file from a URL and extract all data as structured JSON — sheet names, headers, cell values, merged cells, tables, and print settings. Optionally includes formulas, comments, hyperlinks, data validations, and per-cell formatting. Use this to inspect a file before modifying it. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | URL of the .xlsx file to read. The tool server CAN fetch any public URL — always pass it. | | `sheet_name` | string | No | Read only this sheet (omit to read all) | | `start_cell` | string | No | Start reading from this cell (default: A1) | | `end_cell` | string | No | Stop reading at this cell (omit to read all data) | | `include_formulas` | boolean | No | Return raw formula strings per cell (default: false) | | `include_comments` | boolean | No | Return cell comments/notes (default: false) | | `include_hyperlinks` | boolean | No | Return hyperlink URLs per cell (default: false) | | `include_data_validations` | boolean | No | Return data validation rules per cell (default: false) | | `include_formatting` | boolean | No | Return font, color, border, number format per cell (default: false) | | `include_metadata` | boolean | No | Return merged cells, freeze panes, tables, print setup, defined names (default: false) | **Returns:** Structured JSON with all sheet data, cell values, and optional deep metadata (formulas, comments, hyperlinks, validations, formatting) **Example:** ```json { "tool": "excel-tools", "skill": "read_spreadsheet", "input": { "url": "https://example.com/report.xlsx" } } ``` #### Modify Spreadsheet (`modify_spreadsheet`) Apply 30+ batch operations to an existing Excel file: write data, formulas, formatting, merges, sheets, rows/cols, tables, pivots, validations, conditional formats, hyperlinks, comments, protection, and print setup. Returns the modified .xlsx file. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | URL of the .xlsx file to modify. The tool server CAN fetch any public URL — always pass it. | | `operations` | array | Yes | Operations to apply in order. Each has an "action" field plus action-specific params. Optional "sheet" targets a specific sheet. | | `filename` | string | No | Output filename (default: modified.xlsx) | **Returns:** The modified .xlsx file with a summary of all operations applied **Example:** ```json { "tool": "excel-tools", "skill": "modify_spreadsheet", "input": { "url": "https://example.com/data.xlsx", "operations": [ { "action": "add_formula", "cell": "E2", "formula": "SUM(B2:D2)" }, { "action": "add_conditional_format", "range": "E2:E100", "rule_type": "colorScale", "color_min": "F8696B", "color_max": "63BE7B" }, { "action": "create_pivot_table", "data_range": "A1:E50", "target_sheet": "Summary", "rows": [ "Category" ], "values": [ "Amount" ], "agg_func": "sum" } ] } } ``` ### Word Documents Create, read, and modify Word documents (.docx) without Microsoft Word. Full formatting support: headings, lists, tables, images, tracked changes, comments, styles, hyperlinks, footnotes, and multi-section layouts. All skills return downloadable files. - **Version:** 0.01 - **Categories:** productivity, data #### Create Document (`create_document`) Build a Word document from structured data: paragraphs with formatting, headings, lists, tables with merges, images, headers/footers, TOC, tracked changes, comments, styles, multi-section layouts, hyperlinks, and footnotes. Returns a downloadable .docx file. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `content` | array | No | Array of content blocks for a single-section document. Each block has a "type" field. Use this OR "sections", not both. | | `sections` | array | No | Multi-section document with different page layouts per section. Use this OR "content", not both. | | `page_setup` | object | No | Global page setup (applies when using "content", overridden per-section when using "sections") | | `header` | object | No | Document header (for single-section documents) | | `footer` | object | No | Document footer (for single-section documents) | | `comments` | array | No | Comments to add to the document | | `footnotes` | array | No | Footnote definitions. Reference in paragraphs via footnote_ref: {"id": N} | | `endnotes` | array | No | Endnote definitions. Reference in paragraphs via endnote_ref: {"id": N} | | `styles` | array | No | Custom style definitions | | `filename` | string | No | Output filename (default: document.docx) | **Returns:** A downloadable .docx file with all content, formatting, tables, images, and metadata applied **Example:** ```json { "tool": "docx-tools", "skill": "create_document", "input": { "content": [ { "type": "paragraph", "paragraph": { "text": "Quarterly Report", "heading": "h1", "alignment": "center" } }, { "type": "paragraph", "paragraph": { "text": "Q1 2026 Performance Summary", "heading": "h2" } }, { "type": "paragraph", "paragraph": { "runs": [ { "text": "Revenue grew by ", "size": 12 }, { "text": "15%", "bold": true, "color": "00AA00", "size": 12 }, { "text": " compared to the previous quarter.", "size": 12 } ] } }, { "type": "table", "table": { "rows": [ { "cells": [ { "text": "Metric", "bold": true, "shading": "4472C4", "color": "FFFFFF" }, { "text": "Q4 2025", "bold": true, "shading": "4472C4", "color": "FFFFFF" }, { "text": "Q1 2026", "bold": true, "shading": "4472C4", "color": "FFFFFF" } ], "is_header": true }, { "cells": [ { "text": "Revenue" }, { "text": "$1.2M" }, { "text": "$1.38M" } ] }, { "cells": [ { "text": "Users" }, { "text": "45,000" }, { "text": "52,300" } ] } ] } } ], "header": { "text": "CONFIDENTIAL", "alignment": "right", "size": 8 }, "footer": { "text": "Acme Corp", "include_page_number": true }, "filename": "quarterly-report.docx" } } ``` #### Read Document (`read_document`) Extract all content from a Word document as structured JSON — paragraphs, tables, raw text, word counts. Optionally extracts comments, tracked changes, properties, styles, headers, images, hyperlinks, and footnotes. Use to inspect a file before modifying. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | URL of the .docx file to read. The tool server CAN fetch any public URL — always pass it. | | `include_raw_text` | boolean | No | Include full plain text extraction (default: true) | | `include_comments` | boolean | No | Extract comments with author, date, text (default: false) | | `include_tracked_changes` | boolean | No | Extract tracked insertions and deletions (default: false) | | `include_properties` | boolean | No | Extract document properties: title, author, dates, page count (default: false) | | `include_styles` | boolean | No | List all styles used in the document (default: false) | | `include_headers` | boolean | No | Extract header and footer text (default: false) | | `include_images` | boolean | No | List embedded images with size and base64 (default: false) | | `include_hyperlinks` | boolean | No | Extract hyperlinks and bookmarks (default: false) | | `include_footnotes` | boolean | No | Extract footnotes and endnotes (default: false) | **Returns:** Structured JSON with all document content, paragraphs, tables, and optional deep metadata (comments, tracked changes, properties, styles, images, hyperlinks) **Example:** ```json { "tool": "docx-tools", "skill": "read_document", "input": { "url": "https://example.com/report.docx" } } ``` #### Modify Document (`modify_document`) Apply batch operations to an existing Word document: insert/delete/replace paragraphs, insert tables and images, add comments and tracked changes, accept/reject changes, update properties, add headers/footers, page breaks, and styles. Returns the modified .docx file. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | URL of the .docx file to modify. The tool server CAN fetch any public URL — always pass it. | | `operations` | array | Yes | Operations to apply in order. Each has an "action" field plus action-specific params. | | `filename` | string | No | Output filename (default: modified.docx) | **Returns:** The modified .docx file with a summary of all operations applied **Example:** ```json { "tool": "docx-tools", "skill": "modify_document", "input": { "url": "https://example.com/template.docx", "operations": [ { "action": "insert_paragraph", "text": "Executive Summary", "style": "Heading1", "position": "beginning" }, { "action": "replace_text", "find": "[COMPANY_NAME]", "replace": "Acme Corporation" }, { "action": "insert_table", "rows": [ [ "Name", "Role", "Start Date" ], [ "Jane Smith", "CTO", "2026-01-15" ], [ "John Doe", "VP Engineering", "2026-02-01" ] ], "header_row": true, "position": "end" } ] } } ``` ### PowerPoint Presentations Create, read, and modify PowerPoint (.pptx) files. Build decks with text, shapes, images, charts, tables, backgrounds, and transitions. Read any .pptx into structured JSON. Apply batch edits like text replacement, slide reordering, and image insertion. Returns downloadable files. - **Version:** 0.01 - **Categories:** productivity, data #### Create Presentation (`create_presentation`) Build a PowerPoint deck from structured data — slides with text, shapes, images, charts, tables, backgrounds, slide masters, speaker notes, transitions, and slide numbers. Returns a downloadable .pptx file. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `slides` | array | Yes | Array of slide definitions. Each slide has elements (text, shape, image, chart, table) positioned on the canvas. | | `slide_masters` | array | No | Reusable slide masters. Each: {name, background?, placeholders?: [{name, type, x, y, w, h}], slide_number?, objects?} | | `slide_size` | string | No | Slide size preset: "standard" (10x7.5), "widescreen" (13.33x7.5), "4x3", "16x9", "16x10". Default: widescreen. | | `custom_width` | number | No | Custom slide width in inches (requires custom_height) | | `custom_height` | number | No | Custom slide height in inches (requires custom_width) | | `title` | string | No | Presentation title (document metadata) | | `author` | string | No | Author name (document metadata) | | `subject` | string | No | Subject (document metadata) | | `company` | string | No | Company name (document metadata) | | `filename` | string | No | Output filename (default: presentation.pptx) | **Returns:** A downloadable .pptx file with all slides, elements, formatting, charts, tables, and transitions applied **Example:** ```json { "tool": "pptx-tools", "skill": "create_presentation", "input": { "slides": [ { "elements": [ { "type": "text", "text": "Q4 Sales Report", "x": 0.5, "y": 0.5, "w": 12, "h": 1.2, "font_size": 36, "bold": true, "color": "003366", "align": "center" }, { "type": "chart", "chart_type": "bar", "x": 0.5, "y": 2, "w": 6, "h": 4, "data": [ { "name": "Revenue", "labels": [ "Oct", "Nov", "Dec" ], "values": [ 45000, 52000, 61000 ] } ], "title": "Monthly Revenue", "colors": [ "4472C4" ], "show_data_labels": true }, { "type": "table", "x": 7, "y": 2, "w": 5.5, "first_row_header": true, "header_fill_color": "003366", "header_font_color": "FFFFFF", "rows": [ { "cells": [ { "text": "Region" }, { "text": "Revenue" }, { "text": "Growth" } ] }, { "cells": [ { "text": "North" }, { "text": "$245K" }, { "text": "+12%", "font_color": "00AA00" } ] }, { "cells": [ { "text": "South" }, { "text": "$198K" }, { "text": "+8%", "font_color": "00AA00" } ] } ] } ], "speaker_notes": "Q4 showed strong growth across all regions", "background": { "color": "F5F5F5" } } ], "title": "Q4 Sales Report", "author": "Sales Team", "filename": "q4-sales.pptx" } } ``` #### Read Presentation (`read_presentation`) Read a .pptx from URL and extract all content as structured JSON — slides, text, shapes, images, charts, tables, notes, layouts, masters, and theme colors. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | URL of the .pptx file to read. The tool server CAN fetch any public URL — always pass it. | | `slide_range` | string | No | Read only these slides (e.g. "1-3" or "5"). Omit to read all. | | `include_notes` | boolean | No | Extract speaker notes per slide (default: true) | | `include_layouts` | boolean | No | List slide layout names (default: false) | | `include_masters` | boolean | No | List slide masters and their layouts (default: false) | | `include_properties` | boolean | No | Extract document properties like title, author, dates (default: true) | | `include_theme_colors` | boolean | No | Extract theme color palette (default: false) | | `include_media` | boolean | No | List media file references per slide (default: false) | **Returns:** Structured JSON with all slide content, text, shapes, images, charts, tables, notes, properties, and optional deep metadata **Example:** ```json { "tool": "pptx-tools", "skill": "read_presentation", "input": { "url": "https://example.com/deck.pptx" } } ``` #### Modify Presentation (`modify_presentation`) Apply batch operations to an existing .pptx: replace_text, update_speaker_notes, add/delete/reorder/duplicate slides, insert_image, add_text_box, delete_slide_element, update_slide_background, apply_transition, update_properties. Returns modified file. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | URL of the .pptx file to modify. The tool server CAN fetch any public URL — always pass it. | | `operations` | array | Yes | Operations to apply in order. Each has an "action" field plus action-specific params. | | `filename` | string | No | Output filename (default: modified.pptx) | **Returns:** The modified .pptx file with a summary of all operations applied **Example:** ```json { "tool": "pptx-tools", "skill": "modify_presentation", "input": { "url": "https://example.com/template.pptx", "operations": [ { "action": "replace_text", "find": "{{company}}", "replace": "Acme Corp" }, { "action": "replace_text", "find": "{{date}}", "replace": "2026-03-23" }, { "action": "update_speaker_notes", "slide": 1, "notes": "Welcome the audience and introduce the topic" }, { "action": "apply_transition", "slide": 1, "transition_type": "fade", "speed": "fast" } ] } } ``` ### Stealth Scraper Extract data from bot-protected websites (Cloudflare, Akamai, DataDome, PerimeterX) using residential proxies and geo-targeted IPs. Scrape a single protected page or crawl an entire bot-protected site when standard scraping fails. - **Version:** 0.01 - **Categories:** data, development #### Stealth Scrape Page (`stealth_scrape`) Scrape a single bot-protected web page using enhanced residential proxies, geo-targeted IPs, and extended rendering wait times. Bypasses Cloudflare, Akamai, DataDome, and similar anti-bot systems. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | URL of the page to scrape | | `formats` | array | No | Output formats to return (e.g. "markdown", "html", "rawHtml", "links", "screenshot") | | `onlyMainContent` | boolean | No | Extract only the main content, removing navbars, footers, and sidebars | | `includeTags` | array | No | CSS tags to include in extraction (e.g. ["article", "main"]) | | `excludeTags` | array | No | CSS tags to exclude from extraction (e.g. ["nav", "footer"]) | | `mobile` | boolean | No | Use a mobile user agent and viewport for rendering | | `waitFor` | number | No | Milliseconds to wait after page load before capturing content (default 3000) | | `timeout` | number | No | Maximum time in milliseconds to wait for the page to load (default 60000) | | `country` | string | No | ISO country code for geo-targeted proxy (e.g. "us", "gb", "de", "jp"). Default: "us" | | `languages` | array | No | Browser language headers (e.g. ["en-US", "en"]) | **Returns:** Scraped page content from bot-protected sites in the requested formats with metadata **Example:** ```json { "tool": "stealth-scraper", "skill": "stealth_scrape", "input": { "url": "https://example.com/protected-page" } } ``` #### Stealth Crawl Site (`stealth_crawl`) Recursively crawl a bot-protected website using enhanced proxies on every page. Bypasses anti-bot systems across the entire crawl, with geo-targeted IPs and extended rendering. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `url` | string | Yes | Starting URL for the crawl | | `limit` | number | No | Maximum number of pages to crawl (default 50) | | `maxDepth` | number | No | Maximum link-following depth from the starting URL | | `includePaths` | array | No | URL path patterns to include (e.g. ["/blog/*", "/docs/*"]) | | `excludePaths` | array | No | URL path patterns to exclude (e.g. ["/admin/*", "/api/*"]) | | `allowSubdomains` | boolean | No | Whether to follow links to subdomains of the starting URL | | `allowExternalLinks` | boolean | No | Whether to follow links to external domains | | `country` | string | No | ISO country code for geo-targeted proxy (e.g. "us", "gb", "de", "jp"). Default: "us" | | `languages` | array | No | Browser language headers (e.g. ["en-US", "en"]) | **Returns:** Array of scraped pages from bot-protected sites with content, metadata, and crawl status **Example:** ```json { "tool": "stealth-scraper", "skill": "stealth_crawl", "input": { "url": "https://example.com/blog", "limit": 20 } } ``` ### Fuel Prices Real-time fuel prices at stations across Australia, UK, Germany, France, Spain, Italy, Austria + US/EU averages. Petrol, diesel, E10, E85, LPG, premium. Australian fuel availability tracking included. - **Version:** 0.03 - **Categories:** data, finance #### Find Stations (`find_stations`) Find fuel stations near a location with current prices. Station-level data for all of Australia, UK, Germany, France, Spain, Italy, and Austria. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `latitude` | number | Yes | Latitude of the search center | | `longitude` | number | Yes | Longitude of the search center | | `radius_km` | number | No | Search radius in kilometres (default: 5, max: 25) [default: 5] | | `fuel_type` | string | No | Filter by fuel type: petrol, diesel, premium, e10, e85, lpg (default: all) (petrol, diesel, premium, e10, e85, lpg) | | `country` | string | No | Country hint if coordinates are ambiguous (australia, uk, germany, france, spain, italy, austria) | | `limit` | number | No | Maximum stations to return (default: 20) [default: 20] | **Returns:** List of nearby fuel stations with current prices, address, brand, and distance from search point **Example:** ```json { "tool": "fuel-prices", "skill": "find_stations", "input": { "latitude": 51.5074, "longitude": -0.1278 } } ``` #### Cheapest Fuel (`cheapest_fuel`) Find the cheapest fuel stations nearby, sorted by price. Shows savings compared to the most expensive option. Works in all of Australia, UK, Germany, France, Spain, Italy, Austria. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `latitude` | number | Yes | Latitude of the search center | | `longitude` | number | Yes | Longitude of the search center | | `fuel_type` | string | No | Fuel type to compare: petrol, diesel, premium, e10, e85, lpg (default: petrol) (petrol, diesel, premium, e10, e85, lpg) [default: "petrol"] | | `radius_km` | number | No | Search radius in kilometres (default: 10) [default: 10] | | `count` | number | No | Number of cheapest stations to return (default: 5) [default: 5] | | `country` | string | No | Country hint (australia, uk, germany, france, spain, italy, austria) | **Returns:** Ranked list of cheapest stations with prices, savings summary, and distance **Example:** ```json { "tool": "fuel-prices", "skill": "cheapest_fuel", "input": { "latitude": 53.4808, "longitude": -2.2426, "fuel_type": "petrol" } } ``` #### Station Details (`station_details`) Get full details for a specific fuel station including all fuel prices, opening hours, and amenities. Supports station lookup by ID (Germany) or by coordinates (all countries). **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `station_id` | string | No | Station ID from a previous find_stations or cheapest_fuel result | | `country` | string | No | Country of the station: uk, germany/de, france/fr (uk, de, germany, france, fr) | | `latitude` | number | No | Latitude (used for UK lookups or nearest station search) | | `longitude` | number | No | Longitude (used for UK lookups or nearest station search) | **Returns:** Full station details including all fuel prices, opening hours, brand, and amenities **Example:** ```json { "tool": "fuel-prices", "skill": "station_details", "input": { "station_id": "6b2bd0b8-22db-424e-8547-c2abcfe06a6c", "country": "de" } } ``` #### Regional Prices (`regional_prices`) Get average fuel prices for a country, US state, or EU region. Covers US state-level data and EU country-level averages. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `country` | string | No | Country: us/usa, eu/europe, or a specific EU country name (germany, france, italy, etc.) [default: "us"] | | `region` | string | No | US state name or abbreviation (california, ny, tx, etc.). Only applies to US. | | `fuel_type` | string | No | Fuel type: regular/petrol, premium, midgrade, diesel (default: regular) (regular, petrol, premium, midgrade, diesel) | **Returns:** Regional fuel price averages with cheapest/most expensive regions and historical comparison **Example:** ```json { "tool": "fuel-prices", "skill": "regional_prices", "input": { "country": "us" } } ``` #### Price Trends (`price_trends`) Track fuel price trends over time. Shows weekly price history with trend analysis, highs, lows, and percent change. Currently US only. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `country` | string | No | Country (currently only "us" supported) [default: "us"] | | `region` | string | No | US state or region (e.g. california, new_york). Omit for national average. | | `fuel_type` | string | No | Fuel type: regular/petrol, premium, diesel (default: regular) (regular, petrol, premium, diesel) | | `weeks` | number | No | Number of weeks of history (default: 12, max: 52) [default: 12] | **Returns:** Weekly price history with trend direction, percent change, highs, lows, and average **Example:** ```json { "tool": "fuel-prices", "skill": "price_trends", "input": { "country": "us" } } ``` #### Compare Countries (`compare_countries`) Compare fuel prices across multiple countries. Prices are normalized to USD per litre for fair comparison. Supports US and all EU/EEA countries. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `countries` | array | Yes | List of countries to compare (e.g. ["us", "uk", "germany", "france", "italy", "spain"]) | | `fuel_type` | string | No | Fuel type to compare: petrol, diesel (default: diesel) (petrol, diesel) [default: "diesel"] | **Returns:** Ranked comparison of fuel prices across countries with cheapest/most expensive and price difference **Example:** ```json { "tool": "fuel-prices", "skill": "compare_countries", "input": { "countries": [ "us", "uk", "germany", "france", "italy", "spain" ], "fuel_type": "diesel" } } ``` ### People Search Find anyone online from an email, username, name, or phone number. deep_search cross-references identifiers, generates username variations, and scans 500+ sites. Individual skills offer focused lookups by email, username, name, or phone. Works globally. - **Version:** 0.05 - **Categories:** search, data #### Deep Search (`deep_search`) Multi-phase search taking any combination of identifiers. Cross-references all sources, scans 500+ sites, generates username variations, and enriches with web results. Best for hard-to-find people or building a complete profile from minimal starting info. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `name` | string | No | Full name (e.g. "Jane Smith"). Used to search GitHub, generate username variations, and web search. | | `email` | string | No | Email address. Used for Gravatar, GitHub, DNS MX, breach checks, and cross-referencing. | | `username` | string | No | Username to scan across 500+ sites and enrich with GitHub/Reddit profiles. | | `phone` | string | No | Phone number in any format. Parsed for country detection and E.164 formatting. | **Returns:** Comprehensive profile with social profiles across 500+ sites, platform enrichment, breach exposure, username variations, cross-referenced identifiers, and web mentions **Example:** ```json { "tool": "people-search", "skill": "deep_search", "input": { "name": "John Smith", "email": "john@example.com" } } ``` #### Search by Email (`search_by_email`) Search for a person by email address. Checks profile databases, developer platforms, email validity, and breach databases. Enriches with web search results when available. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `email` | string | Yes | Email address to search for | **Returns:** Unified profile with avatar, social links, developer matches, email validation, breach exposure, and web mentions **Example:** ```json { "tool": "people-search", "skill": "search_by_email", "input": { "email": "user@example.com" } } ``` #### Search by Username (`search_by_username`) Search a username across 500+ websites and social platforms. Returns matching profiles categorized by type (social, coding, gaming, forums). Enriches with full profile data from developer and social platforms. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `username` | string | Yes | Username to search for (letters, numbers, dots, hyphens, underscores) | | `depth` | string | No | Search depth: "quick" checks ~60 top sites, "standard" checks all 500+ sites (quick, standard) [default: "standard"] | **Returns:** List of found profiles grouped by category, with enriched data from developer and social platforms **Example:** ```json { "tool": "people-search", "skill": "search_by_username", "input": { "username": "johndoe" } } ``` #### Search by Name (`search_by_name`) Search for a person by name with optional location and company filters. Searches developer profiles and enriches with web search results including professional network matches. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `name` | string | Yes | Full name or partial name to search for | | `location` | string | No | City, state, or country to narrow results (e.g. "San Francisco", "UK") | | `company` | string | No | Company name to narrow results (e.g. "Google", "Microsoft") | **Returns:** Developer profiles, web search results, and professional network matches for the given name **Example:** ```json { "tool": "people-search", "skill": "search_by_name", "input": { "name": "John Smith" } } ``` #### Search by Phone (`search_by_phone`) Analyze a phone number to detect country, format in E.164, and search for web mentions. Supports international numbers with country code detection for 60+ countries. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `phone` | string | Yes | Phone number in any format (e.g. "+1-555-123-4567", "07700900123", "+44 20 7946 0958") | **Returns:** Parsed phone details (country, E.164 format, digit count) and web mentions **Example:** ```json { "tool": "people-search", "skill": "search_by_phone", "input": { "phone": "+1-555-123-4567" } } ``` #### Check Breaches (`check_breaches`) Check if an email address or username has been exposed in known data breaches. Returns breach sources, dates, and types of exposed data fields. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Email address or username to check for breaches | **Returns:** Breach status with source names, dates, and exposed field types **Example:** ```json { "tool": "people-search", "skill": "check_breaches", "input": { "query": "user@example.com" } } ``` #### OSINT Search (`osint_search`) Investigative search running targeted queries in parallel across professional networks, resumes, social media, business records, news, forums, academic papers, and public documents. Best for people with minimal online presence. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `name` | string | No | Full name of the person to investigate (e.g. "Jane Smith") | | `email` | string | No | Email address to trace across the web | | `username` | string | No | Username to find real identity and other accounts | | `phone` | string | No | Phone number to find where it appears publicly | | `company` | string | No | Company name to narrow results (e.g. "Acme Corp", "Google") | | `location` | string | No | City, state, or country to narrow results (e.g. "London", "New York") | **Returns:** Categorized findings from targeted web searches: LinkedIn profiles, social accounts, resumes/documents with contact details, news mentions, business records, and forum posts **Example:** ```json { "tool": "people-search", "skill": "osint_search", "input": { "name": "Jane Smith", "company": "Acme Corp", "location": "London" } } ``` #### Reverse Image Search (`search_by_photo`) Find where a photo appears online. Searches the image URL across the web and provides direct links to Google Lens, TinEye, Yandex, and Bing. Use for identity verification or finding the source of a photo. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `image_url` | string | Yes | Direct URL to the image to reverse search (must be a publicly accessible http/https URL) | **Returns:** Reverse search engine URLs (Google Lens, TinEye, Yandex, Bing), web pages containing the image, and visual matches **Example:** ```json { "tool": "people-search", "skill": "search_by_photo", "input": { "image_url": "https://example.com/profile.jpg" } } ``` #### Business Records Search (`search_business_records`) Search corporate registrations for directorships, officer appointments, SEC filings, and business associations. Covers UK Companies House, US SEC EDGAR, and OpenCorporates (170+ jurisdictions). **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `name` | string | Yes | Full name of the person to search for in business records | | `country` | string | No | Country to focus search: "uk", "us", or "all" (default: all) (uk, us, all) [default: "all"] | | `company` | string | No | Company name to narrow results (e.g. "Acme Corp") | **Returns:** SEC EDGAR filings, UK Companies House directorships, OpenCorporates records, and business web mentions **Example:** ```json { "tool": "people-search", "skill": "search_business_records", "input": { "name": "Elon Musk" } } ``` #### Court Records Search (`search_court_records`) Search court cases, legal filings, and criminal records. Queries CourtListener RECAP archive (US federal and state courts) plus web search for broader court records and legal proceedings. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `name` | string | Yes | Full name of the person to search in court records | | `jurisdiction` | string | No | State or jurisdiction to narrow results (e.g. "California", "New York", "Federal") | **Returns:** CourtListener case records, court filing web results, and criminal record web results **Example:** ```json { "tool": "people-search", "skill": "search_court_records", "input": { "name": "John Smith" } } ``` #### Social Media Deep Dive (`search_social_media`) Search 10 major platforms by real name to find profiles, posts, and mentions on LinkedIn, Twitter/X, Instagram, Facebook, TikTok, YouTube, Reddit, GitHub, Medium/Substack, and Pinterest/Tumblr. Finds accounts even when usernames differ from the real name. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `name` | string | No | Full name to search across social platforms | | `username` | string | No | Known username to include in searches | | `location` | string | No | City or country to narrow results (e.g. "London", "USA") | **Returns:** Profiles found on each platform with URLs, grouped by platform, plus a unified list of all discovered profile URLs **Example:** ```json { "tool": "people-search", "skill": "search_social_media", "input": { "name": "Jane Smith", "location": "London" } } ``` ### Real Estate Data Property listings, sold prices, valuations, market trends, rental analysis, and area research across the US, UK, Australia, and UAE. Auto-detects the market from any address, postcode, or zip code. - **Version:** 0.01 - **Categories:** data, finance #### Search Listings (`search_listings`) Find properties currently for sale or rent across the US, Australia, and UAE. Filter by price, bedrooms, property type, and radius. The tool server CAN fetch listings from any supported market — always pass the full location with country or state. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `location` | string | Yes | Address, city, postcode, or ZIP code to search. Include country or state for accurate market detection. | | `listing_type` | string | No | Type of listing (sale, rent) [default: "sale"] | | `price_min` | number | No | Minimum price in local currency | | `price_max` | number | No | Maximum price in local currency | | `bedrooms_min` | number | No | Minimum number of bedrooms | | `property_type` | string | No | Property type filter (house, apartment, condo, townhouse, land) | | `radius_miles` | number | No | Search radius in miles (default 5) [default: 5] | | `limit` | number | No | Max results to return (default 10, max 25) [default: 10] | | `context` | string | No | Free-text notes about the client or search context | **Returns:** Array of property listings with address, price, bedrooms, bathrooms, property type, area, listing URL, days on market, and key features. Includes market_note on coverage. **Example:** ```json { "tool": "real-estate", "skill": "search_listings", "input": { "location": "Austin, TX 78701", "bedrooms_min": 3, "price_max": 500000 } } ``` #### Property Valuation (`property_valuation`) Get estimated value of a specific property plus comparable recent sales nearby. Covers the US, UK, and Australia. Returns a price range estimate, comparables with prices and dates, and value per sqft. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `address` | string | Yes | Full street address with postcode or ZIP code | | `context` | string | No | Additional property details — bedrooms, condition, renovations etc. | **Returns:** Estimated value (low/mid/high range), 3-5 comparable sales with prices and dates, value per sqft/sqm, confidence level, and data source. **Example:** ```json { "tool": "real-estate", "skill": "property_valuation", "input": { "address": "42 Oak Street, Austin, TX 78701" } } ``` #### Sold History (`sold_history`) Recent sold prices in an area — what properties actually went for. Covers the US, UK, Australia, and UAE. Returns individual transactions with prices, dates, and property details plus summary statistics. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `location` | string | Yes | Postcode, ZIP code, suburb, or area name | | `months` | number | No | Lookback period in months (default 12, max 60) [default: 12] | | `property_type` | string | No | Filter by property type (house, apartment, condo, townhouse) | | `limit` | number | No | Max results (default 20, max 50) [default: 20] | | `context` | string | No | Context about what the agent is looking for | **Returns:** Array of sold properties with address, price, date, type, bedrooms, area. Plus summary stats: median, average, range, total transactions. **Example:** ```json { "tool": "real-estate", "skill": "sold_history", "input": { "location": "SW1A 1AA", "months": 24 } } ``` #### Market Trends (`market_trends`) Price trends, supply/demand indicators, and market conditions for an area over time. Returns median and average prices, price changes over the selected period, inventory levels, and days on market. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `location` | string | Yes | City, postcode, ZIP code, or area name | | `period` | string | No | Lookback period (3m, 6m, 12m, 3y, 5y) [default: "12m"] | | `property_type` | string | No | Filter by property type (house, apartment, condo, townhouse) | | `context` | string | No | Context about the analysis | **Returns:** Current median/avg price, price change over period, inventory levels, days on market, supply vs demand, price per sqft/sqm trend, and market summary. **Example:** ```json { "tool": "real-estate", "skill": "market_trends", "input": { "location": "Manchester, UK", "period": "3y" } } ``` #### Rental Analysis (`rental_analysis`) Rental estimates, yields, and rental market data for a property or area. Returns estimated monthly rent, gross yield percentage, rental demand indicators, and comparable rental listings nearby. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `location` | string | Yes | Address, postcode, ZIP code, or area name | | `property_type` | string | No | Property type (house, apartment, condo, townhouse) | | `bedrooms` | number | No | Number of bedrooms | | `context` | string | No | Investment context — buy-to-let, short-term rental, etc. | **Returns:** Estimated monthly rent (low/mid/high), gross yield %, rental demand indicator, avg days to let, rental price trend, and comparable rentals. **Example:** ```json { "tool": "real-estate", "skill": "rental_analysis", "input": { "location": "Brooklyn, NY 11201", "property_type": "apartment", "bedrooms": 2 } } ``` #### Area Research (`area_research`) What is it like to live here? Returns crime statistics, nearby schools, transport stations, shops, parks, demographics, household income, and planning applications for any location. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `location` | string | Yes | City, suburb, postcode, or area name | | `context` | string | No | What matters — schools, transport, safety, etc. | **Returns:** Population, demographics, household income, schools with ratings, crime data, transport links, planning applications, and amenities. **Example:** ```json { "tool": "real-estate", "skill": "area_research", "input": { "location": "Shoreditch, London E1 6AN", "context": "Young family, need good primary schools" } } ``` #### Property History (`property_history`) Look up the full sale history for a specific property address. Returns every recorded sale with price, date, property type, and tenure. Shows price changes over time across multiple transactions. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `address` | string | Yes | Full property address — e.g. "12 Brushfield Street, London E1 6AT". Include house number and street for best results. | | `limit` | number | No | Max results (default 10, max 30) [default: 10] | **Returns:** Full sale history: every recorded transaction with price, date, property type, and tenure. Plus summary with price changes over time. **Example:** ```json { "tool": "real-estate", "skill": "property_history", "input": { "address": "12 Brushfield Street, London E1 6AT" } } ``` ### Background Removal Remove the background from any image and get a clean transparent cutout. Ideal for e-commerce product shots, portrait headshots, design compositing, and batch processing catalog images. Handles complex edges like hair, fur, and transparent objects with high accuracy. - **Version:** 0.02 - **Categories:** media #### Remove Background (`remove_background`) Remove the background from a single image and return a clean transparent cutout. Works on product photos, portraits, animals, and complex scenes with fine edges. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `image_url` | string | Yes | URL of the image to remove the background from. The tool server CAN fetch any public URL — always pass it. | | `model` | string | No | Model variant. "light" is fast and good for most images. "heavy" is slower but handles complex edges better. "portrait" is optimized for people. (light, heavy, portrait) [default: "light"] | | `output_format` | string | No | Output image format. PNG supports transparency and is recommended. (png, webp) [default: "png"] | | `resolution` | string | No | Processing resolution. Higher values improve edge accuracy but are slower. (1024x1024, 2048x2048) [default: "1024x1024"] | **Returns:** Transparent cutout image ready for compositing or direct use **Example:** ```json { "tool": "background-removal", "skill": "remove_background", "input": { "image_url": "https://example.com/product.jpg" } } ``` #### Batch Remove Backgrounds (`batch_remove`) Remove backgrounds from multiple images in one call (up to 20). Ideal for processing product catalogs or photo sets. Returns per-image results with transparent cutouts. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `image_urls` | array | Yes | Array of image URLs to process (max 20). The tool server CAN fetch any public URL — always pass them. | | `model` | string | No | Model variant for all images. "light" is fast, "heavy" handles complex edges better, "portrait" is optimized for people. (light, heavy, portrait) [default: "light"] | | `output_format` | string | No | Output image format for all images. (png, webp) [default: "png"] | **Returns:** Transparent cutout images with per-image success or failure status **Example:** ```json { "tool": "background-removal", "skill": "batch_remove", "input": { "image_urls": [ "https://example.com/product1.jpg", "https://example.com/product2.jpg" ] } } ``` ### Image Upscale Upscale images up to 10x resolution with multiple AI models. Choose the best model for the job — fast general-purpose upscaling, seamless tiling for patterns, professional-grade with face enhancement and text refinement, or cleanup and enhance. Process a single image or batch up to 10 in parallel. - **Version:** 0.02 - **Categories:** media #### Upscale Image (`upscale_image`) Upscale a single image up to 10x resolution. Choose a model (SeedVR2 default, Topaz for pro, Seamless for tiles). Set a target resolution (720p-4K) or a scale factor. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `image_url` | string | Yes | URL of the image to upscale. The tool server CAN fetch any public URL — always pass it. | | `model` | string | No | Upscale model to use. Default: seedvr2. (seedvr2, seedvr2-seamless, topaz, chrono-edit) | | `upscale_factor` | number | No | Scale factor (1-10 for SeedVR2, 1-4 for Topaz). Default 2x. Ignored if target_resolution is set. | | `target_resolution` | string | No | Target resolution instead of scale factor. SeedVR2 models only. (720p, 1080p, 1440p, 2160p) | | `output_format` | string | No | Output image format. Defaults to png. (png, jpeg, webp) | | `noise_scale` | number | No | Noise control (0-1). SeedVR2 models only. | | `seed` | number | No | Random seed for reproducible results. | | `topaz_variant` | string | No | Topaz model variant. Only applies when model=topaz. Default: Standard V2. (Standard V2, Low Resolution V2, CGI, High Fidelity V2, Text Refine, Recovery, Recovery V2, Redefine, Standard MAX, Wonder) | | `face_enhancement` | boolean | No | Enable face processing. Topaz only. Default: true. | | `face_enhancement_strength` | number | No | Face enhancement intensity (0-1). Topaz only. Default: 0.8. | | `sharpen` | number | No | Sharpening intensity (0-1). Topaz only. | | `denoise` | number | No | Denoising intensity (0-1). Topaz only. | | `fix_compression` | number | No | JPEG compression artifact removal (0-1). Topaz only. | | `face_enhancement_creativity` | number | No | Face enhancement creativity (0-1). Topaz only. | | `detail` | number | No | Detail recovery (0-1). Topaz Recovery V2 only. | | `strength` | number | No | Enhancement strength (0.01-1). Topaz Text Refine only. | | `creativity` | integer | No | Generative detail level (1-6). Topaz Redefine only. | | `texture` | integer | No | Texture detail level (1-5). Topaz Redefine only. | | `prompt` | string | No | Guidance text (max 1024 chars). Topaz Redefine only. | | `autoprompt` | boolean | No | Auto-generate guidance prompt. Topaz Redefine only. | | `subject_detection` | string | No | Focus area for enhancement. Topaz only. (All, Foreground, Background) | **Returns:** Upscaled image URL, downloadable asset, model used, dimensions, and cost **Example:** ```json { "tool": "image-upscale", "skill": "upscale_image", "input": { "image_url": "https://placehold.co/400x300.png" } } ``` #### Batch Upscale (`batch_upscale`) Upscale multiple images in parallel (up to 10). Apply the same settings to all or override per-image. Each image can use a different model and upscale factor. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `images` | array | Yes | Array of images to upscale (max 10). Each item must have image_url, optionally model, upscale_factor, target_resolution. | | `default_model` | string | No | Default model for all images unless overridden per-image. Default: seedvr2. (seedvr2, seedvr2-seamless, topaz, chrono-edit) | | `default_upscale_factor` | number | No | Default scale factor for all images unless overridden. Default: 2. | | `output_format` | string | No | Output image format. Defaults to png. (png, jpeg, webp) | **Returns:** Array of upscaled image URLs with assets, per-image status, and summary with total cost **Example:** ```json { "tool": "image-upscale", "skill": "batch_upscale", "input": { "images": [ { "image_url": "https://placehold.co/400x300.png" }, { "image_url": "https://placehold.co/800x600.png" }, { "image_url": "https://placehold.co/320x240.png" } ] } } ``` #### List Models (`list_models`) List all available image upscale models with key, pricing, max upscale factor, description, and variants. **Returns:** All available upscale models with key, name, pricing, max factor, description, and variants **Example:** ```json { "tool": "image-upscale", "skill": "list_models", "input": {} } ``` ### Video Upscale Upscale video resolution to 1080p, 2K, or 4K with multiple AI models. Choose general-purpose, premium face/texture recovery, professional noise reduction, or budget upscaling. - **Version:** 0.01 - **Categories:** media #### Upscale Video (`upscale_video`) Upscale a video up to 10x resolution or to a target resolution (1080p, 2K, 4K). Choose a model optimized for the content type — general footage, faces, AI-generated, or old film. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `video_url` | string | Yes | URL of the video to upscale. The tool server CAN fetch any public URL — always pass it. | | `model` | string | No | Upscale model to use. Default: bytedance. (bytedance, seedvr2, flashvsr, topaz, realesrgan) | | `upscale_factor` | number | No | Scale factor (1-10 for SeedVR2/Bytedance, 1-4 for Topaz/FlashVSR, 1-8 for RealESRGAN). Default 2x. Ignored if target_resolution is set. | | `target_resolution` | string | No | Target output resolution. Not all models support all resolutions. (720p, 1080p, 1440p, 2160p, 2k, 4k) | | `enhancement_preset` | string | No | Content-aware enhancement preset. Bytedance only. Default: general. (general, ugc, short_series, aigc, old_film) | | `enhancement_tier` | string | No | Enhancement quality tier. Bytedance only. Pro is 10x cost. Default: standard. (fast, standard, pro) | | `fidelity` | string | No | Fidelity level. Bytedance only. Default: high. (high, medium) | | `noise_scale` | number | No | Noise control (0-1). SeedVR2 only. | | `output_format` | string | No | Output video format. SeedVR2 and FlashVSR only. Default: X264 (.mp4). (X264 (.mp4), VP9, PRORES4444, GIF) | | `output_quality` | string | No | Output encoding quality. SeedVR2 and FlashVSR only. Default: high. (low, medium, high, maximum) | | `acceleration` | string | No | Processing speed vs quality tradeoff. FlashVSR only. Default: regular. (regular, high, full) | | `quality` | number | No | Tile blending quality (0-100). FlashVSR only. Default: 70. | | `color_fix` | boolean | No | Enable color correction. FlashVSR only. Default: true. | | `preserve_audio` | boolean | No | Preserve original audio track. FlashVSR only. Default: false. | | `topaz_variant` | string | No | Topaz AI model variant. Topaz only. Default: Proteus. (Proteus, Artemis HQ, Artemis MQ, Artemis LQ, Nyx, Nyx Fast, Nyx XL, Nyx HF, Gaia HQ, Gaia CG) | | `target_fps` | number | No | Target frame rate (16-60). Enables frame interpolation. Bytedance and Topaz only. | | `compression` | number | No | Compression artifact removal (0-1). Topaz only. | | `noise` | number | No | Noise reduction (0-1). Topaz only. | | `halo` | number | No | Halo reduction (0-1). Topaz only. | | `grain` | number | No | Film grain amount (0-1). Topaz only. | | `recover_detail` | number | No | Detail recovery (0-1). Topaz only. | | `h264_output` | boolean | No | Output H264 codec instead of H265. Topaz only. Default: false. | | `seed` | number | No | Random seed for reproducible results. SeedVR2 and FlashVSR only. | **Returns:** Upscaled video URL, downloadable asset, model used, and cost **Example:** ```json { "tool": "video-upscale", "skill": "upscale_video", "input": { "video_url": "https://example.com/video.mp4" } } ``` #### List Models (`list_models`) List all available video upscale models with key, pricing, max upscale factor, description, and variants. **Returns:** All available video upscale models with key, name, pricing, max factor, description, and variants **Example:** ```json { "tool": "video-upscale", "skill": "list_models", "input": {} } ``` ### EV Chargers Find EV charging stations worldwide — 500K+ locations across 100+ countries. Search by location for availability, connectors, power, pricing, and network. Plan road trips or compare infrastructure across countries. Filter by CCS, CHAdeMO, Tesla/NACS, Type 2, speed, and access type. - **Version:** 0.01 - **Categories:** data #### Find Chargers (`find_chargers`) Find EV charging stations near a location. Returns stations with connector types, power levels, network, address, distance, and availability status. Supports filtering by connector, speed, network, and access type. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `latitude` | number | Yes | Latitude of the search center | | `longitude` | number | Yes | Longitude of the search center | | `radius_km` | number | No | Search radius in kilometres (default: 10, max: 100) [default: 10] | | `connector_type` | string | No | Filter by connector type (ccs, chademo, tesla, type1, type2, j1772, nacs, any) | | `charging_level` | string | No | Filter by charging speed: level1 (slow AC), level2 (standard AC), dc_fast (rapid DC), any (level1, level2, dc_fast, any) | | `network` | string | No | Filter by charging network name (e.g. Tesla, ChargePoint, EVgo, Blink, Pod Point, BP Pulse) | | `access_type` | string | No | Filter by access: public, private, any (default: public) (public, private, any) [default: "public"] | | `min_power_kw` | number | No | Minimum charger power output in kW (e.g. 50 for fast chargers, 150 for ultra-rapid) | | `limit` | number | No | Maximum stations to return (default: 20, max: 100) [default: 20] | **Returns:** List of nearby EV charging stations with connector types, power levels, network, distance, and status **Example:** ```json { "tool": "ev-chargers", "skill": "find_chargers", "input": { "latitude": 51.5074, "longitude": -0.1278 } } ``` #### Charger Details (`charger_details`) Get full details for a specific charging station by ID. Returns all connections with power and connector info, operator details, usage cost, and availability status. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `station_id` | string | Yes | Station ID from a find_chargers or route_chargers result. Prefix with source — e.g. "ocm:12345" or "nrel:67890" | **Returns:** Full station details including all connectors, power levels, operator, address, pricing, and status **Example:** ```json { "tool": "ev-chargers", "skill": "charger_details", "input": { "station_id": "ocm:123456" } } ``` #### Route Chargers (`route_chargers`) Find EV charging stations along a driving route between two points. Ideal for road trip planning. Returns chargers near the route sorted by distance from start. US routes use the NREL route API; international routes sample waypoints along the path. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `start_latitude` | number | Yes | Starting point latitude | | `start_longitude` | number | Yes | Starting point longitude | | `end_latitude` | number | Yes | Destination latitude | | `end_longitude` | number | Yes | Destination longitude | | `route_distance_km` | number | No | Maximum distance from route in km to search for stations (default: 5, max: 25) [default: 5] | | `connector_type` | string | No | Filter by connector type (ccs, chademo, tesla, type1, type2, j1772, nacs, any) | | `charging_level` | string | No | Filter by charging speed: level2, dc_fast, any (level2, dc_fast, any) | | `limit` | number | No | Maximum stations to return (default: 20, max: 50) [default: 20] | **Returns:** EV chargers along the driving route with distance from route, connector types, and power levels **Example:** ```json { "tool": "ev-chargers", "skill": "route_chargers", "input": { "start_latitude": 34.0522, "start_longitude": -118.2437, "end_latitude": 37.7749, "end_longitude": -122.4194 } } ``` #### Network Stats (`network_stats`) Get statistics about EV charging networks in a country or region. Shows station counts per network, connector type breakdown, and fast vs slow charger ratios. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `country_code` | string | Yes | ISO 2-letter country code (e.g. US, GB, DE, FR, NL, NO). Use "US" for NREL data. | | `network` | string | No | Filter to a specific network name for detailed breakdown (e.g. "Tesla", "ChargePoint") | **Returns:** Network breakdown with station counts, connector types, and charging speed distribution for the country **Example:** ```json { "tool": "ev-chargers", "skill": "network_stats", "input": { "country_code": "US" } } ``` #### Country Stats (`country_stats`) Get a high-level summary of EV charging infrastructure in a country. Total stations, connector type distribution, fast vs slow ratio, top networks, and growth indicators. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `country_code` | string | Yes | ISO 2-letter country code (e.g. US, GB, DE, FR, NL, NO, CN, JP, AU) | **Returns:** National EV infrastructure summary with total stations, connectors, top networks, and speed distribution **Example:** ```json { "tool": "ev-chargers", "skill": "country_stats", "input": { "country_code": "US" } } ``` ### Crime Stats Crime data for UK, US, and 35+ European countries. Street-level crime near any UK location, national stats from FBI and Eurostat, cross-border comparisons, and UK stop-and-search records with demographic breakdowns. - **Version:** 0.01 - **Categories:** data #### Search Crimes (`search_crimes`) Search for crimes near a specific location at street level. Returns individual crime reports with category, location, date, and outcome. Currently covers England, Wales & Northern Ireland. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `latitude` | number | Yes | Latitude of the search location | | `longitude` | number | Yes | Longitude of the search location | | `date` | string | No | Month to search in YYYY-MM format (default: latest available) | | `category` | string | No | Filter by crime category (all-crime, anti-social-behaviour, bicycle-theft, burglary, criminal-damage-arson, drugs, other-theft, possession-of-weapons, public-order, robbery, shoplifting, theft-from-the-person, vehicle-crime, violent-crime) | | `limit` | number | No | Maximum crime records to return (default: 50, max: 200) [default: 50] | **Returns:** Street-level crime reports with category, location, date, outcome, and aggregate breakdown by crime type **Example:** ```json { "tool": "crime-stats", "skill": "search_crimes", "input": { "latitude": 51.5074, "longitude": -0.1278 } } ``` #### Crime Stats (`crime_stats`) Get national or regional crime statistics. US data from the FBI covers violent crime, homicide, robbery, assault, property crime, burglary, larceny, and vehicle theft — filterable by state. European data from Eurostat covers 35 countries with ICCS crime categories. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `country_code` | string | Yes | ISO 2-letter country code: US for FBI data, or any European country (DE, FR, IT, ES, GB, NL, SE, NO, etc.) | | `region` | string | No | US state abbreviation (e.g. CA, NY, TX). Only applies to US. | | `year` | string | No | Specific year to query (e.g. "2022"). Default: most recent 5 years. | **Returns:** Crime statistics with counts and rates per 100,000 population, broken down by crime type and year **Example:** ```json { "tool": "crime-stats", "skill": "crime_stats", "input": { "country_code": "US" } } ``` #### Compare Countries (`compare_countries`) Compare crime rates side-by-side across multiple countries. Combines FBI data (US) with Eurostat data (35 European countries) for cross-border comparison. Supports homicide rates, robbery, burglary, and violent crime. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `countries` | array | Yes | List of ISO country codes to compare (e.g. ["US", "DE", "FR", "GB", "SE"]). 2-15 countries. | | `crime_type` | string | No | Type of crime to compare: homicide, robbery, burglary, violent (default: homicide) (homicide, robbery, burglary, violent) [default: "homicide"] | | `year` | string | No | Specific year to compare (default: most recent available) | **Returns:** Ranked comparison of crime rates across countries with highest and lowest indicators **Example:** ```json { "tool": "crime-stats", "skill": "compare_countries", "input": { "countries": [ "US", "DE", "FR", "GB", "SE", "NO" ], "crime_type": "homicide" } } ``` #### Stop and Search (`stop_and_search`) Get police stop and search records near a location in England and Wales. Includes reason for stop, outcome, and demographic breakdowns by ethnicity, gender, and age. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `latitude` | number | Yes | Latitude of the search location | | `longitude` | number | Yes | Longitude of the search location | | `date` | string | No | Month in YYYY-MM format (default: latest available) | | `limit` | number | No | Maximum records to return (default: 50, max: 200) [default: 50] | **Returns:** Stop and search records with demographic breakdowns by outcome, reason, ethnicity, gender, and age **Example:** ```json { "tool": "crime-stats", "skill": "stop_and_search", "input": { "latitude": 51.4613, "longitude": -0.1156 } } ``` ### Company Lookup Look up registered companies across UK, US, and EU. View profiles, directors, ownership, filings, charges, insolvency, corporate structure, financials, and EU VAT validation. Covers 5M+ UK companies, all US public companies, and 2.7M global entities. - **Version:** 0.02 - **Categories:** data, finance #### Search Companies (`search_companies`) Search for companies by name in the UK and US. Returns matching companies with registration numbers, status, type, and address. Use the company number or CIK from results to look up full details. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Company name or search term (e.g. "Apple", "Revolut", "Tesla") | | `country` | string | No | Filter by country: UK, US, or omit to search both (UK, US) | | `limit` | number | No | Maximum results to return (default: 10, max: 20) [default: 10] | **Returns:** Matching companies with registration numbers, status, type, incorporation date, and address **Example:** ```json { "tool": "company-lookup", "skill": "search_companies", "input": { "query": "Apple" } } ``` #### Company Profile (`company_profile`) Get full details for a specific company by its registration number. Returns company status, type, registered address, SIC codes, incorporation date, and for UK companies the current directors and officers. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `company_id` | string | Yes | UK company number (e.g. "09525857") or US SEC CIK number (e.g. "0000320193") from search_companies results | **Returns:** Full company profile with status, address, directors/officers, SIC codes, and incorporation details **Example:** ```json { "tool": "company-lookup", "skill": "company_profile", "input": { "company_id": "08804411" } } ``` #### Filing History (`filing_history`) View recent regulatory filings for a company. UK filings include annual accounts, confirmation statements, and changes of directors. US filings include 10-K annual reports, 10-Q quarterlies, and 8-K current reports. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `company_id` | string | Yes | UK company number or US SEC CIK number from search_companies results | | `form_type` | string | No | US SEC form type filter (e.g. "10-K", "10-Q", "8-K"). Only applies to US companies. | | `source` | string | No | Force data source: uk or us. Auto-detected from company_id format if omitted. (uk, us) | | `limit` | number | No | Maximum filings to return (default: 20, max: 50) [default: 20] | **Returns:** Recent company filings with dates, types, and descriptions **Example:** ```json { "tool": "company-lookup", "skill": "filing_history", "input": { "company_id": "08804411" } } ``` #### Beneficial Owners (`beneficial_owners`) Find who really owns or controls a company. UK returns Persons with Significant Control (PSC) — individuals or entities with 25%+ shares or voting rights. US returns insider and beneficial ownership filings (Forms 3, 4, 5, SC 13D/G) showing institutional and insider holdings. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `company_id` | string | Yes | UK company number or US SEC CIK number from search_companies results | | `source` | string | No | Force data source: uk or us. Auto-detected from company_id format if omitted. (uk, us) | | `limit` | number | No | Maximum results to return for US filings (default: 20, max: 50) [default: 20] | **Returns:** UK: PSC records with ownership type, control nature, and dates. US: Insider/ownership filing history. **Example:** ```json { "tool": "company-lookup", "skill": "beneficial_owners", "input": { "company_id": "08804411" } } ``` #### Corporate Structure (`corporate_structure`) Map a company's corporate hierarchy — parent companies, ultimate parent, and subsidiaries worldwide. Uses the Global Legal Entity Identifier (LEI) system covering 2.7 million entities across all jurisdictions. Returns entity details, ownership chains, and cross-reference identifiers (BIC, ISIN). **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | No | Company name to search for in the global LEI database (e.g. "Apple", "HSBC", "Toyota") | | `lei` | string | No | LEI code if known (20-character alphanumeric, e.g. "HWUPKR0MPOU8FGXBT394") | **Returns:** Corporate hierarchy with parent company, ultimate parent, subsidiaries, LEI codes, and jurisdiction details **Example:** ```json { "tool": "company-lookup", "skill": "corporate_structure", "input": { "query": "Apple Inc" } } ``` #### Financial Data (`financial_data`) Pull key financial metrics for US public companies — revenue, net income, EPS, total assets, liabilities, equity, cash, debt, R&D, and more. Data from structured XBRL filings (10-K annual reports). US SEC filers only. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `company_id` | string | Yes | US SEC CIK number from search_companies results (e.g. "0000320193" for Apple) | **Returns:** Key financial metrics with values, units, and reporting period from the most recent annual filing **Example:** ```json { "tool": "company-lookup", "skill": "financial_data", "input": { "company_id": "0000320193" } } ``` #### Charges & Mortgages (`charges`) View charges, mortgages, and debentures registered against a UK company. Shows outstanding and satisfied charges, who the lender is, and what assets are secured. Useful for assessing financial obligations and credit risk. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `company_id` | string | Yes | UK company number from search_companies results (e.g. "08804411") | **Returns:** List of charges with status (outstanding/satisfied), lender, creation date, and secured assets **Example:** ```json { "tool": "company-lookup", "skill": "charges", "input": { "company_id": "08804411" } } ``` #### Insolvency Status (`insolvency`) Check if a UK company is in insolvency proceedings — administration, liquidation, voluntary arrangement, or receivership. Returns case details, dates, and appointed insolvency practitioners. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `company_id` | string | Yes | UK company number from search_companies results (e.g. "08804411") | **Returns:** Insolvency status, case details with dates, and practitioner information **Example:** ```json { "tool": "company-lookup", "skill": "insolvency", "input": { "company_id": "08804411" } } ``` #### Officer Appointments (`officer_appointments`) See all companies a specific officer is or was a director of. Useful for tracing an individual across multiple UK companies — find all active and resigned appointments. Requires an officer_id from company_profile results. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `officer_id` | string | Yes | Officer ID from Companies House — found in the company_profile response officer links (e.g. the URL path segment after /officers/) | **Returns:** All company appointments for this officer, split into active and resigned **Example:** ```json { "tool": "company-lookup", "skill": "officer_appointments", "input": { "officer_id": "abc123xyz" } } ``` #### Disqualified Officers (`disqualified_officers`) Check if a person has been disqualified from acting as a company director in the UK. Returns disqualification details including reason, duration, and associated companies. Important for due diligence and compliance. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `officer_id` | string | Yes | Officer ID from Companies House — found in the company_profile response | **Returns:** Disqualification status and details, or confirmation that no disqualification exists **Example:** ```json { "tool": "company-lookup", "skill": "disqualified_officers", "input": { "officer_id": "abc123xyz" } } ``` #### Validate EU VAT Number (`validate_vat`) Validate a European VAT number and retrieve the registered company name and address. Covers all 27 EU member states plus Northern Ireland (XI prefix). Useful for KYC, compliance, and verifying EU trading partners. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `vat_number` | string | Yes | EU VAT number with country code prefix (e.g. "IE6388047V", "DE123456789", "FR12345678901") | **Returns:** Validation result with company name, address, and validity status **Example:** ```json { "tool": "company-lookup", "skill": "validate_vat", "input": { "vat_number": "IE6388047V" } } ``` ### Clinical Trials Search ClinicalTrials.gov for active, recruiting, and completed trials by condition, drug, or keyword. Get detailed protocols with eligibility and site locations. Also search the Health Canada Drug Product Database for approved drugs. - **Version:** 0.02 - **Categories:** data #### Search Clinical Trials (`search_trials`) Search ClinicalTrials.gov for clinical trials by condition, drug, intervention, or keyword. Filter by recruitment status and trial phase. Returns trial summaries with NCT IDs for detailed lookup. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | No | General search term — matches against trial title, conditions, interventions, and other fields | | `condition` | string | No | Medical condition or disease to search for (e.g. "breast cancer", "type 2 diabetes", "alzheimer") | | `intervention` | string | No | Drug, device, or intervention name to search for (e.g. "metformin", "pembrolizumab") | | `status` | string | No | Recruitment status filter: RECRUITING, NOT_YET_RECRUITING, ACTIVE_NOT_RECRUITING, COMPLETED, TERMINATED, WITHDRAWN, SUSPENDED | | `phase` | string | No | Filter by trial phase: EARLY_PHASE1, PHASE1, PHASE2, PHASE3, PHASE4, NA | | `page_size` | number | No | Number of results to return (1-50, default: 10) | | `page_token` | string | No | Pagination token from a previous search result to get the next page | **Returns:** Clinical trials with NCT ID, title, status, phase, conditions, interventions, sponsor, enrollment, dates, and URL **Example:** ```json { "tool": "clinical-trials", "skill": "search_trials", "input": { "condition": "breast cancer", "status": "RECRUITING" } } ``` #### Get Trial Details (`trial_details`) Get comprehensive details for a specific clinical trial by its NCT ID from ClinicalTrials.gov. Returns the full protocol including study summary, eligibility criteria, age/sex requirements, and trial site locations. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `nct_id` | string | Yes | ClinicalTrials.gov NCT identifier (e.g. "NCT04564846") | **Returns:** Full protocol: title, status, phase, conditions, interventions, sponsor, enrollment, eligibility criteria, site locations, and URL **Example:** ```json { "tool": "clinical-trials", "skill": "trial_details", "input": { "nct_id": "NCT04564846" } } ``` #### Health Canada Drug Products (`drug_products`) Search the Health Canada Drug Product Database for approved drug products. Returns brand name, manufacturer, active ingredients, approval status, and route of administration. Search by drug name or Drug Identification Number (DIN). **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | No | Drug name or brand name to search for (e.g. "acetaminophen", "Tylenol") | | `din` | string | No | Drug Identification Number (DIN) for exact lookup (e.g. "02242963") | **Returns:** Drug products with brand name, DIN, class, manufacturer, approval status, active ingredients with strengths, and routes of administration **Example:** ```json { "tool": "clinical-trials", "skill": "drug_products", "input": { "query": "acetaminophen" } } ``` ### Air Quality Real-time air quality and allergen data for any location worldwide. Get AQI (US and European), pollutant levels, UV index, and pollen counts. Includes multi-day forecasts and personalized health recommendations for sensitive groups. - **Version:** 0.01 - **Categories:** data #### Current Air Quality (`current_air_quality`) Real-time air quality for any location. Returns US and European AQI, pollutant concentrations (PM2.5, PM10, ozone, NO2, SO2, CO), UV index, pollen counts for 6 species, and health advisories. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `location` | string | No | City name or lat,lon coordinates (e.g. "London" or "51.5,-0.12") | | `latitude` | number | No | Latitude coordinate (use instead of location for precise coordinates) | | `longitude` | number | No | Longitude coordinate (use instead of location for precise coordinates) | **Returns:** Current AQI (US + European), pollutant concentrations, UV index, pollen counts with categories, and health advisories **Example:** ```json { "tool": "air-quality", "skill": "current_air_quality", "input": { "location": "London" } } ``` #### Air Quality Forecast (`air_quality_forecast`) Multi-day air quality forecast with daily min/max/avg for AQI, PM2.5, PM10, ozone, and NO2. Identifies dominant pollutant per day. Up to 7 days ahead for any global location. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `location` | string | No | City name or lat,lon coordinates (e.g. "Tokyo" or "35.68,139.69") | | `latitude` | number | No | Latitude coordinate (use instead of location for precise coordinates) | | `longitude` | number | No | Longitude coordinate (use instead of location for precise coordinates) | | `days` | number | No | Number of forecast days (1-7, default: 3) [default: 3] | **Returns:** Daily air quality forecast with AQI ranges, pollutant summaries, dominant pollutant, and UV peak values **Example:** ```json { "tool": "air-quality", "skill": "air_quality_forecast", "input": { "location": "Delhi" } } ``` #### Pollen Forecast (`pollen_forecast`) Pollen forecast for allergy sufferers covering 6 types: alder, birch, grass, mugwort, olive, ragweed. Daily concentrations with severity, active types, seasonal context, and allergy advice. Up to 7 days ahead. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `location` | string | No | City name or lat,lon coordinates (e.g. "Paris" or "48.85,2.35") | | `latitude` | number | No | Latitude coordinate (use instead of location for precise coordinates) | | `longitude` | number | No | Longitude coordinate (use instead of location for precise coordinates) | | `days` | number | No | Number of forecast days (1-7, default: 5) [default: 5] | **Returns:** Daily pollen forecast per species with severity, active types, seasonal info, and allergy advice **Example:** ```json { "tool": "air-quality", "skill": "pollen_forecast", "input": { "location": "London" } } ``` #### Health Recommendations (`health_recommendations`) Health recommendations combining AQI, UV, and pollen into a risk score (0-10) with guidance for exercise, walking, and ventilation. Optionally specify sensitive groups (asthma, COPD, allergies, children, elderly) for targeted advice. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `location` | string | No | City name or lat,lon coordinates (e.g. "Sydney" or "-33.87,151.21") | | `latitude` | number | No | Latitude coordinate (use instead of location for precise coordinates) | | `longitude` | number | No | Longitude coordinate (use instead of location for precise coordinates) | | `sensitive_groups` | array | No | Health conditions or groups to get targeted advice for (e.g. ["asthma", "allergies"]) | **Returns:** Risk score, warnings, recommendations, activity guidance, and optional group-specific health advice **Example:** ```json { "tool": "air-quality", "skill": "health_recommendations", "input": { "location": "Delhi" } } ``` #### Monitoring Stations (`monitoring_stations`) Find nearby air quality monitoring stations for a location. Returns station name, operator, measured parameters, distance, and measurement dates. Uses the OpenAQ global network with data from government agencies and research institutions worldwide. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `location` | string | No | City name or lat,lon coordinates (e.g. "Berlin" or "52.52,13.41") | | `latitude` | number | No | Latitude coordinate (use instead of location for precise coordinates) | | `longitude` | number | No | Longitude coordinate (use instead of location for precise coordinates) | | `radius_km` | number | No | Search radius in kilometres (default: 25, max: 100) [default: 25] | | `limit` | number | No | Maximum stations to return (default: 10, max: 50) [default: 10] | **Returns:** List of nearby air quality monitoring stations with parameters, distance, operator, and measurement history **Example:** ```json { "tool": "air-quality", "skill": "monitoring_stations", "input": { "location": "London" } } ``` ### Legal Research Legal research across 15+ jurisdictions. Cases: US, UK, India, Germany, Canada, Netherlands. Legislation: UK, US, EU, Germany, Japan, Canada, Poland, Sweden. Regulatory: CFR, Regulations.gov, FDA, EPA, NHTSA. Also: Congressional bills, US Code, 50 state legislatures, dockets, judges, citations. - **Version:** 0.04 - **Categories:** data #### Search Case Law (`search_cases`) Search court opinions across jurisdictions. US, UK, India, Germany, Canada, Netherlands. Set country param to route (default: US). Returns case names, courts, dates, citations, excerpts. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search terms — case name, legal topic, party name, or citation | | `country` | string | No | Jurisdiction: "US" (default), "UK", "IN" (India), "DE" (Germany), "CA" (Canada), "NL" (Netherlands). | | `court` | string | No | Court filter — India: "supreme"/"high"/"tribunal". Canada: CanLII database ID (e.g. "csc-scc"). Germany: court slug. | | `limit` | number | No | Maximum results to return (default: 20, max: 50) | | `date_after` | string | No | Only cases filed after this date (YYYY-MM-DD) | | `date_before` | string | No | Only cases filed before this date (YYYY-MM-DD) | **Returns:** Case names, courts, dates, citations, excerpts, and URLs **Example:** ```json { "tool": "case-law", "skill": "search_cases", "input": { "query": "data privacy" } } ``` #### Case Details (`case_details`) Get full details for a specific court case by its CourtListener cluster ID or citation string. Returns the full case name, court, filing date, all citations, opinion text excerpt, and citation count. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `case_id` | string | No | CourtListener cluster ID from search_cases results (e.g. "2245941") | | `citation` | string | No | Case citation to search for (e.g. "410 U.S. 113", "175 Cal. App. 4th 545") | **Returns:** Full case name, court, date, all citations, opinion excerpt, and citation count **Example:** ```json { "tool": "case-law", "skill": "case_details", "input": { "case_id": "2245941" } } ``` #### Citation Analysis (`citation_analysis`) Analyze citation networks for a court case — find what it cites and what cites it. Supports US (CourtListener) and Canadian (CanLII) cases. For US, provide case_id or citation. For Canada, provide case_id, database_id, and country=CA. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `case_id` | string | No | Case ID — CourtListener cluster ID (US) or CanLII caseId (Canada) | | `citation` | string | No | Case citation to look up (US only, e.g. "410 U.S. 113") | | `country` | string | No | Jurisdiction: "US" (default) or "CA" (Canada) | | `database_id` | string | No | CanLII database ID (required for Canada, e.g. "csc-scc") | **Returns:** Citation counts, list of citing cases, and list of cited cases with metadata **Example:** ```json { "tool": "case-law", "skill": "citation_analysis", "input": { "case_id": "2245941" } } ``` #### Search Legislation (`search_legislation`) Search statutes and legislation across jurisdictions. UK, US, EU (default: all three), Germany, Japan, Canada, Poland, Sweden. Set country param to filter. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search terms — legislation title, legal topic, or keywords | | `country` | string | No | Jurisdiction: "UK", "US", "EU", "DE", "JP", "CA", "PL" (Poland), "SE" (Sweden). Omit for UK+US+EU. | | `year` | string | No | Filter by year (UK only, e.g. "2018") | | `category` | number | No | Japan only: law category 1 (Constitution), 2 (Acts), 3 (Cabinet Orders), 4 (Imperial Orders) | | `limit` | number | No | Maximum results per jurisdiction (default: 20, max: 50) | **Returns:** Legislation titles, types, dates, summaries, and URLs grouped by jurisdiction **Example:** ```json { "tool": "case-law", "skill": "search_legislation", "input": { "query": "data protection" } } ``` #### Legislation Details (`legislation_details`) Get full details for a specific piece of legislation by its identifier. UK: "ukpga/2018/12". US: Federal Register doc number "2025-23783". EU: CELEX number "32016R0679". **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `identifier` | string | Yes | Legislation identifier — UK: "ukpga/2018/12", US: "2025-23783", EU: "32016R0679" (CELEX) | | `source` | string | No | Force source: "uk", "us", or "eu". Auto-detected from identifier format if omitted. (uk, us, eu) | **Returns:** Full legislation title, description, sections/contents, dates, and links to full text **Example:** ```json { "tool": "case-law", "skill": "legislation_details", "input": { "identifier": "ukpga/2018/12" } } ``` #### Search Regulations (CFR) (`search_cfr`) Search the Code of Federal Regulations — all 50 CFR titles covering every US federal regulation. Updated daily. Returns CFR references, section headings, and regulation text excerpts. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search terms — regulation topic, CFR section, or keywords (e.g. "HIPAA privacy", "food labeling") | | `title` | number | No | Filter by CFR title number (1-50). E.g. 21=Food & Drugs, 26=IRS, 40=Environment | | `limit` | number | No | Maximum results (default: 20, max: 50) | **Returns:** CFR references (e.g. "40 CFR § 50.1"), headings, excerpts, and eCFR URLs **Example:** ```json { "tool": "case-law", "skill": "search_cfr", "input": { "query": "air quality standards" } } ``` #### Search Rulemaking (`search_regulations`) Search federal rulemaking documents, proposed rules, and public comments on Regulations.gov. Covers all federal agencies (EPA, FDA, DOL, etc.). Find rules, notices, and comment periods. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search terms — rule topic, agency, or keywords (e.g. "emissions standards", "drug labeling") | | `document_type` | string | No | Filter: "Rule", "Proposed Rule", "Notice", or "Other" | | `agency` | string | No | Agency ID filter (e.g. "EPA", "FDA", "DOL", "SEC") | | `limit` | number | No | Maximum results (default: 20, max: 50) | **Returns:** Document IDs, titles, agencies, types, posted dates, docket IDs, comment status, and Regulations.gov URLs **Example:** ```json { "tool": "case-law", "skill": "search_regulations", "input": { "query": "emission standards", "agency": "EPA" } } ``` #### Search Statutes (US Code) (`search_statutes`) Search the United States Code — all codified federal statutory law. Also searches public laws and Statutes at Large via GovInfo. Returns statute titles, citations, and links to full text. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search terms — statute title, topic, or US Code citation (e.g. "42 USC 1983", "civil rights") | | `collection` | string | No | Collection: "USCODE" (default), "PLAW" (public laws), "STATUTE" (Statutes at Large) (USCODE, PLAW, STATUTE) | | `limit` | number | No | Maximum results (default: 20, max: 50) | **Returns:** Statute titles, package IDs, download links, and GovInfo URLs **Example:** ```json { "tool": "case-law", "skill": "search_statutes", "input": { "query": "civil rights" } } ``` #### Search Congressional Bills (`search_congress`) Search US Congressional bills, resolutions, and enacted laws. Browse current and historical sessions, filter by bill type. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | No | Search terms — bill topic or keywords. Include "law" or "enacted" to search enacted laws. | | `congress` | number | No | Congress session number (e.g. 119 for current). Defaults to current. | | `bill_type` | string | No | Filter: "hr" (House bill), "s" (Senate bill), "hjres", "sjres" | | `limit` | number | No | Maximum results (default: 20, max: 50) | **Returns:** Bill numbers, titles, sponsors, latest actions, and congress.gov URLs **Example:** ```json { "tool": "case-law", "skill": "search_congress", "input": { "query": "artificial intelligence" } } ``` #### Search State Bills (`search_state_bills`) Search legislative bills across all 50 US states, DC, and Puerto Rico. Find state-level bills, resolutions, and legislative activity. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search terms — bill topic or keywords (e.g. "cannabis legalization", "rent control") | | `state` | string | No | Two-letter state code (e.g. "ca", "ny"). Omit to search all states. | | `limit` | number | No | Maximum results (default: 20, max: 50) | **Returns:** Bill identifiers, titles, states, chambers, sessions, and Open States URLs **Example:** ```json { "tool": "case-law", "skill": "search_state_bills", "input": { "query": "cannabis legalization" } } ``` #### Search Dockets (`search_dockets`) Search PACER/RECAP federal court dockets and filings. Access millions of federal district, appellate, and bankruptcy court filings from the RECAP archive. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search terms — case name, party, docket number, or topic | | `limit` | number | No | Maximum results (default: 20, max: 50) | | `date_after` | string | No | Only dockets filed after this date (YYYY-MM-DD) | | `date_before` | string | No | Only dockets filed before this date (YYYY-MM-DD) | **Returns:** Case names, courts, docket numbers, filing dates, and CourtListener URLs **Example:** ```json { "tool": "case-law", "skill": "search_dockets", "input": { "query": "Apple Inc patent infringement" } } ``` #### Search Judges (`search_judges`) Search judicial profiles — US federal and state judges with appointment details, courts, political affiliations, and biographical information. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search terms — judge name, court, or topic (e.g. "Roberts", "Ninth Circuit") | | `limit` | number | No | Maximum results (default: 20, max: 50) | **Returns:** Judge names, courts, appointment details, political affiliations, and profile URLs **Example:** ```json { "tool": "case-law", "skill": "search_judges", "input": { "query": "Sotomayor" } } ``` #### Search FDA Data (`search_fda`) Search FDA drug labels, adverse events, and device recalls via openFDA. Covers prescription drugs, OTC medications, medical device safety data. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search terms — drug name, ingredient, condition, or device type | | `data_type` | string | No | Data type: "labels" (drug labeling, default), "events" (adverse events), "recalls" (device recalls) | | `limit` | number | No | Maximum results (default: 20, max: 100) | **Returns:** Drug label details, adverse event reports, or device recall information from FDA databases **Example:** ```json { "tool": "case-law", "skill": "search_fda", "input": { "query": "aspirin" } } ``` #### Search EPA Enforcement (`search_epa`) Search EPA enforcement and compliance data for regulated facilities. Covers Clean Air Act, Clean Water Act, and RCRA violations, inspections, and penalties. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search terms — facility name, company, or pollutant | | `state` | string | No | Two-letter state code to filter (e.g. "NY", "CA") | | `program` | string | No | Environmental program: "CAA" (Clean Air), "CWA" (Clean Water), "RCRA" (Hazardous Waste) | | `limit` | number | No | Maximum results (default: 20, max: 50) | **Returns:** Facility names, addresses, compliance status, violations, penalties, and inspection history **Example:** ```json { "tool": "case-law", "skill": "search_epa", "input": { "query": "Exxon" } } ``` #### Search Vehicle Safety (`search_vehicle_safety`) Search NHTSA vehicle safety recalls by make, model, year, or keyword. Covers all manufacturer safety recalls with defect descriptions and remedies. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | No | Free-text search for recalls (e.g. "airbag", "brake failure") | | `make` | string | No | Vehicle manufacturer (e.g. "toyota", "ford") | | `model` | string | No | Vehicle model (e.g. "camry", "f150") | | `year` | string | No | Model year (e.g. "2024") | **Returns:** Recall campaign numbers, components, defect summaries, consequences, and remedies **Example:** ```json { "tool": "case-law", "skill": "search_vehicle_safety", "input": { "make": "toyota", "model": "camry", "year": "2024" } } ``` ### Submit Sitemap Submit sitemaps and URLs to Google Search Console, IndexNow (Bing, Yandex, Naver, Seznam), and Brave Search. Parse sitemap.xml and submit in one call, request indexing for specific pages, check indexing status, or push URLs to Brave via browser automation. - **Version:** 0.01 - **Categories:** marketing, search #### Submit Sitemap (`submit_sitemap`) Fetches your /sitemap.xml, parses all URLs (handles sitemap indexes and Next.js dynamic sitemaps), and submits to Google Search Console + IndexNow (Bing, Yandex, Naver, Seznam). For Brave, use submit_brave separately. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `sitemap_url` | string | Yes | Full URL of the sitemap XML (e.g. https://example.com/sitemap.xml). The tool server CAN fetch any public URL — always pass it. | | `google_site_url` | string | No | Google Search Console site URL (e.g. "sc-domain:example.com" or "https://example.com/"). Required for Google submission. | | `indexnow_key` | string | No | IndexNow verification key. Generate one (e.g. openssl rand -hex 16) and host it at https://{domain}/{key}.txt. | | `indexnow_host` | string | No | Domain for IndexNow submission. Auto-derived from sitemap URL if not provided. | | `engines` | array | No | Which engines to submit to. Defaults to all: ["google", "indexnow"]. | **Returns:** Per-engine submission results with success/skip/error status and URL counts **Example:** ```json { "tool": "submit-sitemap", "skill": "submit_sitemap", "input": { "sitemap_url": "https://example.com/sitemap.xml", "google_site_url": "sc-domain:example.com", "indexnow_key": "abc123def456" } } ``` #### Submit URLs (`submit_urls`) Submit individual URLs for indexing via Google Indexing API (URL_UPDATED notification, 200/day quota) and IndexNow (batch up to 10K URLs per request to Bing, Yandex, Naver, Seznam). Use for new or recently updated pages that need immediate indexing. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `urls` | array | Yes | Array of page URLs to submit for indexing | | `google_site_url` | string | No | Google Search Console site URL. Required for Google Indexing API. | | `indexnow_key` | string | No | IndexNow verification key. Must be hosted at https://{domain}/{key}.txt. | | `indexnow_host` | string | No | Domain for IndexNow submission. Auto-derived from first URL if not provided. | | `engines` | array | No | Which engines to submit to. Defaults to ["google", "indexnow"]. | **Returns:** Per-URL submission results for each engine with success/error status **Example:** ```json { "tool": "submit-sitemap", "skill": "submit_urls", "input": { "urls": [ "https://example.com/new-page", "https://example.com/updated-page" ], "google_site_url": "sc-domain:example.com", "indexnow_key": "abc123def456" } } ``` #### Check Indexing Status (`check_indexing`) Check URL indexing status via Google URL Inspection API (2000/day quota). Returns verdict (PASS/FAIL), coverage state, last crawl time, and crawl details for each URL. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `urls` | array | Yes | Array of URLs to check indexing status for | | `google_site_url` | string | Yes | Google Search Console site URL (e.g. "sc-domain:example.com" or "https://example.com/") | **Returns:** Per-URL indexing status with verdict, coverage state, last crawl time, and crawl details **Example:** ```json { "tool": "submit-sitemap", "skill": "check_indexing", "input": { "urls": [ "https://example.com/page1", "https://example.com/page2" ], "google_site_url": "sc-domain:example.com" } } ``` #### Submit to Brave Search (`submit_brave`) Submit URLs to Brave Search via browser automation. Brave has no API — this skill opens a real browser, navigates to the Brave Search submit form, enters each URL, and clicks submit. No credentials needed. Runs on Steel Browser in production. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `urls` | array | Yes | Array of URLs to submit to Brave Search | **Returns:** Per-URL submission results with success/error status **Example:** ```json { "tool": "submit-sitemap", "skill": "submit_brave", "input": { "urls": [ "https://example.com/", "https://example.com/about" ] } } ``` ### News Track breaking stories, search by keyword, monitor locations, and follow specific publishers. Covers trending headlines, location-based news, and publisher feeds. Supports 50+ regional editions in local languages with source attribution and direct links. - **Version:** 0.03 - **Categories:** search, data #### Search News (`search_news`) Find news articles matching a keyword or phrase with optional filters for time range, location, and publisher. The most flexible way to find specific coverage on any topic. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search query — keywords, phrases, or advanced operators. Supports: "exact phrase", OR, AND, -exclude. | | `exact_phrase` | string | No | Find articles containing this exact phrase (wraps in quotes automatically) | | `exclude` | string | No | Comma-separated terms to exclude from results (e.g. "opinion,editorial,sponsored") | | `site` | string | No | Limit results to a specific publisher domain (e.g. "reuters.com", "bbc.co.uk") | | `location` | string | No | Filter by geographic location (e.g. "London", "California", "Japan") | | `when` | string | No | Time filter — 1h (last hour), 1d (last day), 7d (last week), 30d (last month) (1h, 1d, 7d, 30d) | | `region` | string | No | Regional edition code (default: us). 50+ regions: us, uk, au, ca, in, de, fr, es, it, br, jp, kr, mx, and more. [default: "us"] | | `count` | number | No | Number of articles to return (default: 20, max: 100) [default: 20] | **Returns:** Structured array of news articles matching the query — each with title, direct link, source name, publication date (human + ISO 8601), and related articles with links **Example:** ```json { "tool": "news", "skill": "search_news", "input": { "query": "artificial intelligence" } } ``` #### Trending News (`trending_news`) Get top headlines and trending stories right now, optionally filtered by topic and region. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `topic` | string | No | News topic to filter by. Omit for top stories across all topics. (world, nation, business, technology, entertainment, sports, science, health) | | `region` | string | No | Regional edition code (default: us). 50+ regions: us, uk, au, ca, in, de, fr, es, it, br, jp, kr, mx, and more. [default: "us"] | | `count` | number | No | Number of articles to return (default: 20, max: 100) [default: 20] | **Returns:** Trending news articles with title, source, image thumbnail, publication date, link, and related articles — sorted by prominence **Example:** ```json { "tool": "news", "skill": "trending_news", "input": {} } ``` #### Location News (`location_news`) Get news about a specific city, state, or country. Useful for local news monitoring, travel research, and regional event tracking. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `location` | string | Yes | Geographic location — city name, state, region, or country (e.g. "London", "California", "Brazil", "Tokyo") | | `topic` | string | No | Optional topic to narrow results within the location (e.g. "technology", "crime", "weather", "elections") | | `when` | string | No | Time filter — 1h (last hour), 1d (last day), 7d (last week), 30d (last month) (1h, 1d, 7d, 30d) | | `region` | string | No | Regional edition code (default: us). 50+ regions: us, uk, au, ca, in, de, fr, es, it, br, jp, kr, mx, and more. [default: "us"] | | `count` | number | No | Number of articles to return (default: 20, max: 100) [default: 20] | **Returns:** News articles related to the specified location — each with title, source, image thumbnail, publication date, link, and related articles **Example:** ```json { "tool": "news", "skill": "location_news", "input": { "location": "London" } } ``` #### Publisher News (`publisher_news`) Get recent articles from a specific news outlet by name or domain. Supports 40+ major publishers and any custom domain. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `publisher` | string | Yes | Publisher name (reuters, bbc, cnn, nytimes, bloomberg, wsj, etc.) or any domain (e.g. "arstechnica.com") | | `topic` | string | No | Optional topic to filter articles from this publisher (e.g. "AI", "climate", "earnings") | | `when` | string | No | Time filter — 1h (last hour), 1d (last day), 7d (last week), 30d (last month) (1h, 1d, 7d, 30d) | | `region` | string | No | Regional edition code (default: us). 50+ regions: us, uk, au, ca, in, de, fr, es, it, br, jp, kr, mx, and more. [default: "us"] | | `count` | number | No | Number of articles to return (default: 20, max: 100) [default: 20] | **Returns:** Articles from the specified publisher with title, source, image thumbnail, publication date, link, and related articles. Includes list of known publisher shortcuts. **Example:** ```json { "tool": "news", "skill": "publisher_news", "input": { "publisher": "reuters" } } ``` ### Fact Lookup Look up structured facts about any person, place, company, or concept — population, founding date, coordinates, headquarters, CEO, awards, and more. Answer factual questions with authoritative data from 100M+ entities. Run advanced queries to list, compare, and rank. - **Version:** 0.02 - **Categories:** data #### Search Entities (`search`) Search Wikidata entities by keyword. Returns matching entities with IDs, labels, descriptions, and links to Wikipedia and Wikidata. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search term — person, place, organization, concept, etc. | | `language` | string | No | Language code for labels and search (default "en") [default: "en"] | | `limit` | number | No | Max results to return (1-20) [default: 10] | **Returns:** List of matching Wikidata entities with ID, label, description, and URLs **Example:** ```json { "tool": "fact-lookup", "skill": "search", "input": { "query": "Tesla" } } ``` #### Get Entity Facts (`get_entity`) Get comprehensive structured facts about any entity. Accepts a name or Wikidata Q-ID. Returns up to 60 properties with values resolved to human-readable labels — population, founding date, coordinates, CEO, awards, and more. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `entity` | string | Yes | Entity name (e.g. "Tokyo", "Albert Einstein", "Apple Inc") or Wikidata Q-ID (e.g. "Q1490") | | `language` | string | No | Language for labels (default "en") [default: "en"] | **Returns:** Structured entity data with label, description, aliases, Wikipedia URL, and key facts resolved to readable values **Example:** ```json { "tool": "fact-lookup", "skill": "get_entity", "input": { "entity": "Tokyo" } } ``` #### SPARQL Query (`sparql_query`) Run a SPARQL query against Wikidata for complex multi-entity questions. Supports filtering, sorting, aggregation, and relationship traversal across 100M+ entities. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `sparql` | string | Yes | SPARQL query string. Must include SERVICE wikibase:label for readable results. LIMIT is auto-added if missing (max 500). | **Returns:** SPARQL query results as an array of row objects with column names as keys **Example:** ```json { "tool": "fact-lookup", "skill": "sparql_query", "input": { "sparql": "SELECT ?country ?countryLabel ?population WHERE { ?country wdt:P31 wd:Q6256 . ?country wdt:P1082 ?population . SERVICE wikibase:label { bd:serviceParam wikibase:language \"en\". } } ORDER BY DESC(?population) LIMIT 10" } } ``` ### Economic Data Access US government data: Census demographics at zip-code level, 800K+ FRED time series (rates, GDP, inflation), BLS employment data (unemployment, CPI, wages), and 400K+ Data.gov datasets. Answer questions like "median income in 90210" or "current federal funds rate" with authoritative data. - **Version:** 0.01 - **Categories:** finance, data #### Census Lookup (`census_lookup`) Query US Census Bureau ACS 5-Year data. Get demographics, income, housing, education, and employment data for any state, county, zip code, metro area, or census tract. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `variables` | string | Yes | Comma-separated ACS variable codes (e.g. B01001_001E for population, B19013_001E for median income) | | `geo_type` | string | Yes | Geographic level to query (state, county, zip, place, metro, congressional_district, tract) | | `geo_code` | string | No | FIPS code for the geography, or "*" for all entities at that level. States: 2-digit (06=CA). Counties: 3-digit within state. Zip: 5-digit. [default: "*"] | | `state` | string | No | State FIPS code (required for county, place, congressional_district, tract queries) | | `year` | number | No | ACS data year (2009-2022 available) [default: 2022] | **Returns:** Census data rows with geographic names and requested variable values **Example:** ```json { "tool": "economic-data", "skill": "census_lookup", "input": { "variables": "B19013_001E", "geo_type": "zip", "geo_code": "90210" } } ``` #### Search FRED Series (`fred_search`) Search 800,000+ FRED economic data series by keyword. Find series IDs for GDP, interest rates, inflation, housing, employment, and more. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search keywords (e.g. "mortgage rate", "unemployment", "GDP", "housing starts") | | `limit` | number | No | Max results (1-50) [default: 10] | **Returns:** List of matching FRED series with IDs, titles, units, frequency, and date ranges **Example:** ```json { "tool": "economic-data", "skill": "fred_search", "input": { "query": "mortgage rate" } } ``` #### Get FRED Series Data (`fred_series`) Get time series observations for a FRED economic data series. Returns date/value pairs for any of 800,000+ economic indicators. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `series_id` | string | Yes | FRED series ID (case-sensitive). Common: GDP, UNRATE, CPIAUCSL, FEDFUNDS, DGS10, SP500, MORTGAGE30US, MSPUS | | `start_year` | number | No | Start year for observations (default: all available) | | `end_year` | number | No | End year for observations (default: latest) | | `limit` | number | No | Max observations to return, newest first (1-200) [default: 60] | **Returns:** Series metadata (title, units, frequency) and time series observations sorted newest first **Example:** ```json { "tool": "economic-data", "skill": "fred_series", "input": { "series_id": "FEDFUNDS", "limit": 12 } } ``` #### BLS Time Series (`bls_series`) Get Bureau of Labor Statistics time series data — unemployment, CPI, wages, employment, and more. Supports multiple series in one call. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `series_ids` | string | Yes | Comma-separated BLS series IDs. Common: LNS14000000 (unemployment), CUUR0000SA0 (CPI), CES0000000001 (nonfarm employment) | | `start_year` | number | No | Start year (default: 3 years ago; max 20 with API key) | | `end_year` | number | No | End year (default: current year) | **Returns:** BLS time series data with year, period, value, and optional calculations **Example:** ```json { "tool": "economic-data", "skill": "bls_series", "input": { "series_ids": "LNS14000000" } } ``` #### Search Government Datasets (`dataset_search`) Search 400,000+ US government datasets on Data.gov. Returns metadata, descriptions, and download links for federal, state, and local datasets. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search keywords (e.g. "climate change", "crime statistics", "education") | | `limit` | number | No | Max results (1-50) [default: 10] | | `organization` | string | No | Filter by publishing organization slug (e.g. "census-gov", "noaa-gov", "nasa-gov", "epa-gov") | | `format` | string | No | Filter by resource format (e.g. "CSV", "JSON", "API", "XML") | **Returns:** Government dataset metadata with titles, descriptions, tags, organizations, and resource download links **Example:** ```json { "tool": "economic-data", "skill": "dataset_search", "input": { "query": "climate change" } } ``` ### Vessel Tracker Track ships and monitor maritime traffic worldwide using live AIS data. Look up vessel positions, speeds, headings, ship specs, navigation aids, and safety broadcasts for any area or vessel. - **Version:** 0.03 - **Categories:** data #### Search Vessels (`search_vessels`) Find vessels by MMSI or bounding box. Returns latest position, speed, course, heading, and navigation status. Collects live AIS position reports for ~15 seconds, deduplicated by vessel. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `mmsi` | array | No | MMSI numbers to track (9-digit Maritime Mobile Service Identity). Maximum 50 vessels. | | `lat_min` | number | No | Southern boundary latitude (-90 to 90). Required if no MMSI provided. | | `lon_min` | number | No | Western boundary longitude (-180 to 180). Required if no MMSI provided. | | `lat_max` | number | No | Northern boundary latitude (-90 to 90). Required if no MMSI provided. | | `lon_max` | number | No | Eastern boundary longitude (-180 to 180). Required if no MMSI provided. | | `duration` | number | No | Collection duration in seconds (1-30, default 15). Longer durations find more vessels in busy areas. [default: 15] | **Returns:** Real-time vessel positions with speed, course, heading, and navigation status **Example:** ```json { "tool": "vessel-tracker", "skill": "search_vessels", "input": { "mmsi": [ "259000420" ] } } ``` #### Vessel Details (`vessel_details`) Get vessel specs: name, call sign, IMO, ship type, dimensions, destination, ETA, draught. Listens for static broadcasts (~6 min intervals) so takes longer than position lookups. Also captures position data. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `mmsi` | array | Yes | MMSI numbers to look up (9-digit Maritime Mobile Service Identity). Maximum 50 vessels. | | `duration` | number | No | Collection duration in seconds (10-120, default 45). Longer durations increase the chance of receiving static data. [default: 45] | **Returns:** Vessel profiles with name, type, dimensions, destination, ETA, and current position **Example:** ```json { "tool": "vessel-tracker", "skill": "vessel_details", "input": { "mmsi": [ "259000420" ] } } ``` #### Monitor Area (`monitor_area`) Comprehensive traffic report for a geographic area. Collects all AIS message types and aggregates into a summary with vessel counts, moving vs stationary breakdown, vessel types, and safety alerts. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `lat_min` | number | Yes | Southern boundary latitude (-90 to 90) | | `lon_min` | number | Yes | Western boundary longitude (-180 to 180) | | `lat_max` | number | Yes | Northern boundary latitude (-90 to 90) | | `lon_max` | number | Yes | Eastern boundary longitude (-180 to 180) | | `duration` | number | No | Collection duration in seconds (10-180, default 60). Longer durations capture more vessels and patterns. [default: 60] | **Returns:** Area traffic report with vessel positions, movement statistics, and safety alerts **Example:** ```json { "tool": "vessel-tracker", "skill": "monitor_area", "input": { "lat_min": 49.5, "lon_min": -5.5, "lat_max": 51.5, "lon_max": 2 } } ``` #### Safety Alerts (`safety_alerts`) Listen for safety broadcasts in a geographic area: collision warnings, weather advisories, distress signals, and navigational warnings. Captures broadcast and addressed messages. Useful for risk assessment. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `lat_min` | number | Yes | Southern boundary latitude (-90 to 90) | | `lon_min` | number | Yes | Western boundary longitude (-180 to 180) | | `lat_max` | number | Yes | Northern boundary latitude (-90 to 90) | | `lon_max` | number | Yes | Eastern boundary longitude (-180 to 180) | | `duration` | number | No | Collection duration in seconds (10-180, default 60). Safety messages are infrequent — longer durations catch more. [default: 60] | **Returns:** Maritime safety messages with alert text, source vessel, position, and timestamp **Example:** ```json { "tool": "vessel-tracker", "skill": "safety_alerts", "input": { "lat_min": 25.5, "lon_min": 55.5, "lat_max": 27, "lon_max": 57 } } ``` #### Navigation Aids (`navigation_aids`) Find buoys, beacons, lighthouses, and other navigation aids (AtoN) in a geographic area. Returns type, position, dimensions, virtual/physical status. Flags off-position aids for safe navigation. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `lat_min` | number | Yes | Southern boundary latitude (-90 to 90) | | `lon_min` | number | Yes | Western boundary longitude (-180 to 180) | | `lat_max` | number | Yes | Northern boundary latitude (-90 to 90) | | `lon_max` | number | Yes | Eastern boundary longitude (-180 to 180) | | `duration` | number | No | Collection duration in seconds (10-120, default 30). AtoN stations broadcast at regular intervals. [default: 30] | **Returns:** Navigation aids inventory with type, position, virtual/physical status, and off-position alerts **Example:** ```json { "tool": "vessel-tracker", "skill": "navigation_aids", "input": { "lat_min": 51.85, "lon_min": 3.9, "lat_max": 52, "lon_max": 4.2 } } ``` #### Visualize Area (`visualize_area`) Generate a bird's-eye satellite or radar-style image of live vessel positions in a geographic area. Collects AIS data, categorizes by status, then produces an AI visualization with vessel markers. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `lat_min` | number | Yes | Southern boundary latitude (-90 to 90) | | `lon_min` | number | Yes | Western boundary longitude (-180 to 180) | | `lat_max` | number | Yes | Northern boundary latitude (-90 to 90) | | `lon_max` | number | Yes | Eastern boundary longitude (-180 to 180) | | `duration` | number | No | AIS collection duration in seconds (5-30, default 15). Longer durations find more vessels. [default: 15] | | `style` | string | No | Visual style: "satellite" for photorealistic overhead view with city lights, "radar" for military CRT radar display aesthetic. Default satellite. (satellite, radar) [default: "satellite"] | **Returns:** AI-generated bird's-eye map image with vessel positions, plus structured vessel data **Example:** ```json { "tool": "vessel-tracker", "skill": "visualize_area", "input": { "lat_min": 51.85, "lon_min": 3.9, "lat_max": 52, "lon_max": 4.2 } } ``` ### Package Tracker Track packages across 345+ carriers worldwide including UPS, FedEx, DHL, USPS, Royal Mail, and Australia Post. Register tracking numbers, view delivery event histories with timestamps, check estimated delivery dates, and manage tracked shipments. Auto-detects carriers from the tracking number. - **Version:** 0.01 - **Categories:** data, productivity #### Track Package (`track_package`) Register a tracking number and immediately get its current delivery status, event history, and estimated delivery. Automatically detects the carrier from the tracking number format. This is the primary entry point for tracking any package. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `tracking_number` | string | Yes | The package tracking number (e.g. 1Z999AA10123456784 for UPS, 9400111899223456789012 for USPS) | | `carrier` | number | No | Optional numeric carrier code. Usually not needed — auto-detection handles most tracking numbers. | **Returns:** Current delivery status with event history, shipping origin/destination, and estimated delivery date **Example:** ```json { "tool": "package-tracker", "skill": "track_package", "input": { "tracking_number": "1Z999AA10123456784" } } ``` #### Tracking Details (`tracking_details`) Get detailed tracking information for an already-registered tracking number. Returns the full event history with timestamps, locations, and carrier-level breakdowns. Use this for deeper inspection of a tracked package. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `tracking_number` | string | Yes | The package tracking number to look up | | `carrier` | number | No | Optional numeric carrier code | **Returns:** Detailed tracking data with carrier-level event breakdown, shipping info, and time metrics **Example:** ```json { "tool": "package-tracker", "skill": "tracking_details", "input": { "tracking_number": "794644790138" } } ``` #### List Packages (`list_packages`) List all tracked packages with optional filters by status, date range, or tracking number search. Returns paginated results showing the latest event for each package. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `tracking_number` | string | No | Filter by tracking number (comma-separated for multiple) | | `package_status` | string | No | Filter by package status (e.g. NotFound, InTransit, Delivered) | | `tracking_status` | string | No | Filter by tracking status | | `register_date_from` | string | No | Filter by registration date (from), format YYYY-MM-DD | | `register_date_to` | string | No | Filter by registration date (to), format YYYY-MM-DD | | `page` | number | No | Page number for pagination (default 1) [default: 1] | **Returns:** Paginated list of tracked packages with status and latest event for each **Example:** ```json { "tool": "package-tracker", "skill": "list_packages", "input": {} } ``` #### Stop Tracking (`stop_tracking`) Stop tracking a package or permanently delete it from monitoring. Stopped packages can be resumed once. Deleted packages are permanently removed. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `tracking_number` | string | Yes | The tracking number to stop monitoring | | `carrier` | number | No | Optional numeric carrier code | | `permanent` | boolean | No | If true, permanently delete the tracking (cannot be undone). Default false (just stops tracking). [default: false] | **Returns:** Confirmation that tracking was stopped or deleted **Example:** ```json { "tool": "package-tracker", "skill": "stop_tracking", "input": { "tracking_number": "1Z999AA10123456784" } } ``` #### Check Quota (`check_quota`) Check remaining tracking quota including total capacity, usage, and daily limits. Useful for monitoring how many more packages can be registered for tracking. **Returns:** Quota breakdown with total, used, remaining, daily usage, and percentage used **Example:** ```json { "tool": "package-tracker", "skill": "check_quota", "input": {} } ``` #### Real-time Track (`realtime_track`) Force a real-time query directly to the carrier for the absolute latest tracking status. Bypasses cached data for immediate updates. Use when you need the most current delivery status. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `tracking_number` | string | Yes | The package tracking number to query in real-time | | `carrier` | number | No | Optional numeric carrier code | **Returns:** Real-time tracking status directly from the carrier with full event history **Example:** ```json { "tool": "package-tracker", "skill": "realtime_track", "input": { "tracking_number": "1234567890" } } ``` ### F1 Data Formula 1 data across the full public championship surface: seasons, drivers, teams, circuits, race schedules, session results, and standings. Use it for sports agents, dashboards, editorial research, historical lookups, and current-season tracking. - **Version:** 0.01 - **Categories:** data, productivity #### Seasons (`seasons`) List Formula 1 championship seasons so you can browse the available historical range and season metadata. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `limit` | number | No | Maximum records to return when the endpoint supports pagination. [default: 30] | | `offset` | number | No | Pagination offset when the endpoint supports pagination. [default: 0] | **Returns:** Season records with championship IDs, years, names, and reference URLs **Example:** ```json { "tool": "f1", "skill": "seasons", "input": { "limit": 5 } } ``` #### Drivers (`drivers`) List, search, or inspect Formula 1 drivers across all-time, season-specific, or current-grid views. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `action` | string | Yes | Choose to list drivers, search all-time drivers, or fetch one driver profile. (list, search, profile) | | `scope` | string | No | Use all_time, a specific season, or the current season. (all_time, season, current) [default: "all_time"] | | `season` | number | No | Season year when you want a specific championship, for example 2025. | | `driver_id` | string | No | Driver ID like "max_verstappen" when action is profile. | | `query` | string | No | Search term when action is search, matching driver name or surname. | | `limit` | number | No | Maximum records to return when the endpoint supports pagination. [default: 30] | | `offset` | number | No | Pagination offset when the endpoint supports pagination. [default: 0] | **Returns:** Driver lists, search results, or one driver profile with team and season results **Example:** ```json { "tool": "f1", "skill": "drivers", "input": { "action": "list", "scope": "current" } } ``` #### Teams (`teams`) List, search, or inspect Formula 1 teams, including season-specific rosters for current and historical championships. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `action` | string | Yes | Choose to list teams, search teams, inspect one team, or fetch its drivers. (list, search, profile, drivers) | | `scope` | string | No | Use all_time, a specific season, or the current season. (all_time, season, current) [default: "all_time"] | | `season` | number | No | Season year when you want a specific championship, for example 2025. | | `team_id` | string | No | Team ID like "red_bull" or "ferrari" for profile or drivers mode. | | `query` | string | No | Search term when action is search, matching the team name. | | `limit` | number | No | Maximum records to return when the endpoint supports pagination. [default: 30] | | `offset` | number | No | Pagination offset when the endpoint supports pagination. [default: 0] | **Returns:** Team lists, search results, profiles, or team rosters for the selected season **Example:** ```json { "tool": "f1", "skill": "teams", "input": { "action": "list", "scope": "current" } } ``` #### Circuits (`circuits`) List, search, or inspect Formula 1 circuits, including venue details, lap records, and location metadata. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `action` | string | Yes | Choose to list circuits, search circuits, or fetch one circuit profile. (list, search, profile) | | `circuit_id` | string | No | Circuit ID like "monza" or "suzuka" when action is profile. | | `query` | string | No | Search term when action is search, matching circuit, country, or city. | | `limit` | number | No | Maximum records to return when the endpoint supports pagination. [default: 30] | | `offset` | number | No | Pagination offset when the endpoint supports pagination. [default: 0] | **Returns:** Circuit lists, search matches, or one circuit profile with venue details **Example:** ```json { "tool": "f1", "skill": "circuits", "input": { "action": "search", "query": "suzuka" } } ``` #### Races (`races`) Browse a season calendar, inspect a specific round, or fetch the current season’s last and next Formula 1 race. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `action` | string | Yes | Choose a season calendar, one round, the latest race, or the next race. (season, round, last, next) | | `season` | number | No | Season year for season or round lookups. Omit to use the current season. | | `round` | number | No | Race round number when action is round. | | `limit` | number | No | Maximum records to return when the endpoint supports pagination. [default: 30] | | `offset` | number | No | Pagination offset when the endpoint supports pagination. [default: 0] | **Returns:** Season calendars or one race record with schedule, circuit, and winner data **Example:** ```json { "tool": "f1", "skill": "races", "input": { "action": "season" } } ``` #### Results (`results`) Fetch Formula 1 session results for practice, qualifying, race, sprint qualifying, or sprint race sessions. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `lookup` | string | Yes | Use a specific round or the latest completed session in the current season. (round, latest) | | `session` | string | Yes | Session type to fetch results for. (fp1, fp2, fp3, qualy, race, sprint_qualy, sprint_race) | | `season` | number | No | Season year for round lookups. Omit to use the current season. | | `round` | number | No | Race round number when lookup is round. | | `limit` | number | No | Maximum records to return when the endpoint supports pagination. [default: 30] | | `offset` | number | No | Pagination offset when the endpoint supports pagination. [default: 0] | **Returns:** Race metadata plus the requested session’s result entries **Example:** ```json { "tool": "f1", "skill": "results", "input": { "lookup": "latest", "session": "race" } } ``` #### Standings (`standings`) Get drivers or constructors championship standings for the current Formula 1 season or any historical season. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `championship` | string | Yes | Choose the drivers or constructors championship table. (drivers, constructors) | | `season` | number | No | Season year to inspect. Omit to use the current season. | | `limit` | number | No | Maximum records to return when the endpoint supports pagination. [default: 30] | | `offset` | number | No | Pagination offset when the endpoint supports pagination. [default: 0] | **Returns:** Drivers or constructors standings sorted by position and points **Example:** ```json { "tool": "f1", "skill": "standings", "input": { "championship": "drivers" } } ``` ### AI Makeup Apply curated makeup styles to headshot photos using AI. 8 looks including glass skin, K-drama, glazed donut, 90s supermodel, peach blossom, and more. Preserves face and expression. - **Version:** 0.02 - **Categories:** media, ai #### Apply Makeup (`apply_makeup`) Apply a curated makeup style to a headshot photo. Downloads the image from the provided URL, applies the selected makeup look using Gemini 2.5 Pro, and returns the transformed image. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `image_url` | string | No | URL of the headshot photo. Any public or agent-provided URL works. | | `image_data` | string | No | Base64-encoded image data. Use instead of image_url when you have the image inline. | | `style` | string | Yes | Makeup style to apply. Options: gradient_blush, glass_skin, rosewood_burgundy, peach_blossom, 90s_supermodel, 90s_grunge, k_drama, glazed_donut. (gradient_blush, glass_skin, rosewood_burgundy, peach_blossom, 90s_supermodel, 90s_grunge, k_drama, glazed_donut) | | `custom_instructions` | string | No | Optional extra instructions to append (e.g. "darker lip color", "more shimmer"). | **Returns:** Transformed headshot with the selected makeup style applied, delivered via the asset system with permanent URL and shareable download page **Example:** ```json { "tool": "makeup", "skill": "apply_makeup", "input": { "image_url": "https://placehold.co/800x800.png", "style": "glazed_donut" } } ``` ### Photo Restore Bring old photos back to life. Removes scratches, tears, and stains. Enhances faces and sharpens blurry details. Fixes faded colors and improves contrast. Colorizes black-and-white photos with historically accurate tones. Supports single photos or batch processing up to 10 images at once. - **Version:** 0.01 - **Categories:** media #### Restore Photo (`restore_photo`) Restore old, damaged, or degraded photographs. Fixes scratches, tears, stains, fading, blur, and enhances facial details. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `image_url` | string | No | URL of a single photo to restore | | `image_urls` | array | No | Array of photo URLs to restore in batch (up to 10). Use this OR image_url, not both. | | `enhancement_level` | string | No | How aggressively to restore. "light" for minor fixes, "standard" for typical old photos, "heavy" for severely damaged images. Default: standard. (light, standard, heavy) | | `fix_scratches` | boolean | No | Remove scratches, tears, creases, and physical damage. Default: true. | | `enhance_faces` | boolean | No | Enhance and sharpen facial details. Default: true. | | `fix_colors` | boolean | No | Correct faded, yellowed, or discolored areas. Default: true. | | `resolution` | string | No | Output resolution. Higher resolution costs more. Default: 1K. (1K, 2K, 4K) | **Returns:** Restored photo(s) with original and restored URLs, dimensions, and restoration details **Example:** ```json { "tool": "photo-restore", "skill": "restore_photo", "input": { "image_url": "https://example.com/old-family-photo.jpg" } } ``` #### Colorize Photo (`colorize_photo`) Convert black-and-white or sepia photographs to full color. Uses AI to infer historically and contextually accurate colors. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `image_url` | string | No | URL of a single B&W photo to colorize | | `image_urls` | array | No | Array of B&W photo URLs to colorize in batch (up to 10). Use this OR image_url, not both. | | `style` | string | No | Color style. "natural" for realistic muted tones, "vivid" for richer saturated colors. Default: natural. (natural, vivid) | | `era_hint` | string | No | Optional hint about the era (e.g. "1940s", "Victorian", "1960s") to guide period-appropriate colors. | | `resolution` | string | No | Output resolution. Default: 1K. (1K, 2K, 4K) | **Returns:** Colorized photo(s) with full color applied and output details **Example:** ```json { "tool": "photo-restore", "skill": "colorize_photo", "input": { "image_url": "https://example.com/bw-photo.jpg" } } ``` ### Portrait Photo Upload one or more photos of yourself and get back a polished portrait photo. Choose a style — professional headshot, LinkedIn photo, creative editorial, or anything you describe. Multiple reference photos improve likeness accuracy. - **Version:** 0.01 - **Categories:** media, ai #### Generate Portrait (`generate_portrait`) Generate a portrait photo from one or more reference images. Specify a style or let it default to a clean, professional look. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `reference_images` | array | Yes | One or more URLs of photos of the person. More photos improve likeness. | | `style` | string | No | Desired portrait style (e.g. "professional headshot", "LinkedIn photo", "cinematic editorial", "warm casual outdoor"). | | `model` | string | No | Model to use. Defaults to Nano Banana 2. Pass a model key or fal.ai endpoint ID to override. | | `aspect_ratio` | string | No | Aspect ratio for the output. Defaults to 3:4 (portrait orientation). (1:1, 3:4, 4:3, 9:16, 16:9, 3:2, 2:3) | | `output_format` | string | No | Output image format. Defaults to jpeg. (jpeg, png, webp) | | `seed` | number | No | Random seed for reproducible results. | | `extra_params` | object | No | Additional model-specific parameters passed directly to the inference API. | **Returns:** Portrait image URL, downloadable asset, model used, reference count, seed, and request metadata **Example:** ```json { "tool": "portrait-photo", "skill": "generate_portrait", "input": { "reference_images": [ "https://example.com/my-selfie.jpg" ], "style": "professional corporate headshot, clean background, studio lighting" } } ``` ### Virtual Try-On Upload a photo of a person and a photo of clothing to see them wearing it. Works with tops, bottoms, dresses, and full outfits. Multiple AI models for different quality and budget needs. - **Version:** 0.01 - **Categories:** media #### Try On (`try_on`) Upload a person photo and a garment photo to generate the person wearing that clothing. Works with tops, bottoms, dresses, and full outfits. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `person_image` | string | Yes | URL of the person photo. The tool server CAN fetch any public URL — always pass it. Should show upper or full body. | | `garment_image` | string | Yes | URL of the clothing/garment photo. Flat-lay or on-mannequin photos work best. The tool server CAN fetch any public URL. | | `model` | string | No | Try-on model to use. Default: fashn (best quality). (fashn, quick, kolors, leffa, catvton) | | `category` | string | No | Garment category. FASHN only. Default: auto (auto-detect). (tops, bottoms, one-pieces, auto) | | `mode` | string | No | Quality vs speed tradeoff. FASHN only. Default: balanced. (performance, balanced, quality) | | `garment_photo_type` | string | No | Type of garment photo. FASHN only. Default: auto. (auto, model, flat-lay) | | `num_samples` | number | No | Number of result variations (1-4). FASHN only. Default: 1. | | `preserve_pose` | boolean | No | Preserve the person original pose. Quick model only. Default: true. | | `aspect_ratio` | string | No | Output aspect ratio. Quick model only. Default: 3:4. (1:1, 16:9, 9:16, 4:3, 3:4) | | `garment_type` | string | No | Garment type. Leffa only. Required for Leffa. Default: upper_body. (upper_body, lower_body, dresses) | | `cloth_type` | string | No | Clothing type. CAT-VTON only. Default: upper. (upper, lower, overall, inner, outer) | | `num_inference_steps` | number | No | Number of inference steps (1-50). Leffa and CAT-VTON only. Higher = better quality, slower. | | `guidance_scale` | number | No | Guidance scale (0-20). Leffa and CAT-VTON only. Higher = stronger garment adherence. | | `seed` | number | No | Random seed for reproducible results. | | `output_format` | string | No | Output image format. FASHN and Leffa only. Default: png. (png, jpeg) | **Returns:** Image of the person wearing the garment, downloadable asset, and shareable page link **Example:** ```json { "tool": "virtual-tryon", "skill": "try_on", "input": { "person_image": "https://example.com/person.jpg", "garment_image": "https://example.com/shirt.jpg" } } ``` #### List Models (`list_models`) List all available virtual try-on models with pricing, quality details, supported garment categories, and licensing info. **Returns:** All available virtual try-on models with pricing, quality, categories, and licensing **Example:** ```json { "tool": "virtual-tryon", "skill": "list_models", "input": {} } ``` ### Face Swap Swap a face from one photo onto another image or a generated scene. Provide a face source photo and either a target image or a text prompt describing the scene. Great for marketing mockups, content creation, and trying different looks. - **Version:** 0.01 - **Categories:** media, ai #### Swap Face (`swap_face`) Swap a face onto a target image or generate a new scene with the given face. Provide a face source and a target image or prompt. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `face_image` | string | Yes | URL of the photo containing the face to use as the source. | | `target_image` | string | No | URL of the image to swap the face onto. The body, pose, and background are preserved. | | `prompt` | string | No | Scene to generate with the face (e.g. "astronaut on the moon"). Used alone or as guidance with target_image. | | `model` | string | No | Model to use. Defaults to Nano Banana 2 Edit. Pass a model key or fal.ai endpoint ID to override. | | `aspect_ratio` | string | No | Aspect ratio for the output. Only used when generating from prompt (no target_image). (1:1, 3:4, 4:3, 9:16, 16:9, 3:2, 2:3) | | `output_format` | string | No | Output image format. Defaults to jpeg. (jpeg, png, webp) | | `seed` | number | No | Random seed for reproducible results. | | `extra_params` | object | No | Additional model-specific parameters passed directly to the inference API. | **Returns:** Result image URL, downloadable asset, face source, target source, model used, seed, and request metadata **Example:** ```json { "tool": "face-swap", "skill": "swap_face", "input": { "face_image": "https://example.com/my-face.jpg", "target_image": "https://example.com/target-body.jpg" } } ``` ### Hairstyle Changer Upload a photo and describe any hairstyle to see yourself with it. Works with any hair description — bob cut, pixie, long waves, braids, balayage, buzz cut, or anything else you can imagine. Preserves your face and identity. - **Version:** 0.01 - **Categories:** media #### Change Hairstyle (`change_hairstyle`) Upload a person photo and describe the desired hairstyle. The AI edits only the hair while preserving face, identity, and background. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `image_url` | string | Yes | URL of the person photo. The tool server CAN fetch any public URL — always pass it. Clear face and hair visible. | | `prompt` | string | Yes | Description of the desired hairstyle. Be specific — e.g. "short blonde pixie cut", "long dark wavy hair with bangs", "buzz cut with fade". | | `output_format` | string | No | Output image format. Default: png. (png, jpeg, webp) | | `seed` | number | No | Random seed for reproducible results. | **Returns:** Image of the person with the new hairstyle, downloadable asset, and shareable page link **Example:** ```json { "tool": "hairstyle-changer", "skill": "change_hairstyle", "input": { "image_url": "https://example.com/person.jpg", "prompt": "short blonde pixie cut" } } ``` #### Copy Hairstyle (`copy_hairstyle`) Copy a hairstyle from a reference photo onto your face. Provide your face photo and a reference photo showing the desired hair shape (and optionally a separate color reference). **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `face_image_url` | string | Yes | URL of your face photo. The tool server CAN fetch any public URL — always pass it. | | `shape_reference_url` | string | Yes | URL of a photo showing the desired hair shape/style to copy. | | `color_reference_url` | string | No | URL of a photo showing the desired hair color. If omitted, uses the shape reference color. | **Returns:** Image with the copied hairstyle applied, downloadable asset, and shareable page link **Example:** ```json { "tool": "hairstyle-changer", "skill": "copy_hairstyle", "input": { "face_image_url": "https://example.com/my-face.jpg", "shape_reference_url": "https://example.com/celebrity-hair.jpg" } } ``` #### List Models (`list_models`) List available hairstyle editing models with pricing and capabilities. **Returns:** Available hairstyle editing models with pricing and descriptions **Example:** ```json { "tool": "hairstyle-changer", "skill": "list_models", "input": {} } ``` ### Defense Spending Military spending, arms trade, sanctions, bases, and contracts. 12 data sources: World Bank/SIPRI, USAspending, UK Contracts Finder, UN Comtrade, CIA Factbook, EU Sanctions Map, US Treasury, UNHCR, OpenStreetMap. 14 skills covering 200+ countries. - **Version:** 0.03 - **Categories:** data, finance #### Military Spending (`military_spending`) Get annual military spending for any country. Returns expenditure in current USD, as percentage of GDP, and armed forces personnel. Covers 200+ countries from 1960 to present via World Bank/SIPRI data. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `country` | string | Yes | ISO 3166-1 alpha-2 country code (e.g. 'US', 'GB', 'DE', 'CN', 'RU', 'UA', 'FR') | | `years` | number | No | Number of most recent years to return (default: 10) [default: 10] | **Returns:** Annual military spending (USD + % GDP) and armed forces personnel over the requested time period **Example:** ```json { "tool": "defense-spending", "skill": "military_spending", "input": { "country": "US" } } ``` #### Compare Countries (`compare_countries`) Compare military spending across multiple countries side by side. Returns the most recent data for each country ranked by spending. Supports any combination of 200+ countries. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `countries` | array | Yes | Array of ISO 3166-1 alpha-2 codes (e.g. ['US', 'CN', 'RU', 'GB', 'FR']). 2-20 countries. | | `metric` | string | No | Which metric to compare (spending_usd, pct_gdp, armed_forces) [default: "spending_usd"] | **Returns:** Ranked comparison of military spending across selected countries **Example:** ```json { "tool": "defense-spending", "skill": "compare_countries", "input": { "countries": [ "US", "CN", "RU", "IN", "SA" ] } } ``` #### Arms Trade (`arms_trade`) Get international arms trade data — who exports or imports weapons to/from whom. Returns bilateral trade partners and monetary values by weapon subcategory. Covers 50+ countries via UN Comtrade HS code 93 (arms and ammunition). **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `country` | string | Yes | ISO 3166-1 alpha-2 code of the reporting country (e.g. 'US', 'RU', 'FR', 'CN') | | `year` | number | No | Year to query (default: 2023). Data availability varies by country. [default: 2023] | | `flow` | string | No | Trade direction: 'exports' (what they sell) or 'imports' (what they buy) (exports, imports) [default: "exports"] | | `detailed` | boolean | No | If true, breaks down by weapon subcategory (military weapons, ammunition, parts, etc.) [default: false] | **Returns:** Arms trade value with top partners and optional subcategory breakdown **Example:** ```json { "tool": "defense-spending", "skill": "arms_trade", "input": { "country": "US" } } ``` #### Military Profile (`military_profile`) Get a comprehensive military profile for any country — forces structure, personnel strengths, equipment inventories, service age requirements, overseas deployments, and strategic notes. Data from the CIA World Factbook (archived Feb 2026). Covers 80+ countries. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `country` | string | Yes | ISO 3166-1 alpha-2 code (e.g. 'US', 'CN', 'RU', 'GB', 'IN', 'IL', 'UA') | **Returns:** Comprehensive military profile with forces, personnel, equipment, deployments, and strategic notes **Example:** ```json { "tool": "defense-spending", "skill": "military_profile", "input": { "country": "US" } } ``` #### Budget Breakdown (`budget_breakdown`) Get DoD budget broken down by military branch (Army, Navy, Air Force, etc.) and/or by industry sector (Aircraft Manufacturing, Shipbuilding, R&D, etc.). US only, from USAspending.gov. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `country` | string | Yes | Currently US only (US) | | `breakdown` | string | No | What to break down by: 'branch' (Army/Navy/Air Force), 'industry' (NAICS sectors), or 'both' (branch, industry, both) [default: "both"] | | `fiscal_year` | number | No | Fiscal year to query (e.g. 2024). Default: all available. | | `limit` | number | No | Number of items per breakdown category (default: 15, max: 30) [default: 15] | **Returns:** DoD spending breakdown by military branch and/or industry sector with amounts and percentages **Example:** ```json { "tool": "defense-spending", "skill": "budget_breakdown", "input": { "country": "US" } } ``` #### Sanctions (`sanctions`) Search current EU sanctions regimes including arms embargoes, asset freezes, and travel bans. Covers 55+ regimes targeting countries, entities, and individuals. Data from the official EU Sanctions Map. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | No | Search term to filter sanctions (e.g. 'Russia', 'Iran', 'arms', 'Syria', 'terrorism') | | `regime_type` | string | No | Filter by sanctions type. Omit for all types. (arms_embargo, asset_freeze, travel_ban) | **Returns:** EU sanctions regimes with descriptions, legal acts, programme codes, and amendment history **Example:** ```json { "tool": "defense-spending", "skill": "sanctions", "input": {} } ``` #### Defense Contracts (`defense_contracts`) Search defense and military contracts. US: searches USAspending.gov for Department of Defense contracts with full award details. UK: searches Contracts Finder for Ministry of Defence procurement. Returns contract amounts, recipients, dates, and descriptions. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `country` | string | Yes | Country to search contracts in: 'US' or 'GB' (US, GB) | | `keyword` | string | No | Search keyword (e.g. 'F-35', 'cybersecurity', 'ammunition', 'shipbuilding') | | `contractor` | string | No | Filter by contractor/recipient name (e.g. 'Lockheed Martin', 'BAE Systems'). US only. | | `fiscal_year` | number | No | Filter by fiscal year (e.g. 2024, 2025). US only. | | `limit` | number | No | Maximum number of contracts to return (default: 20, max: 50) [default: 20] | **Returns:** Defense contract records with award amounts, contractor names, descriptions, and dates **Example:** ```json { "tool": "defense-spending", "skill": "defense_contracts", "input": { "country": "US", "keyword": "F-35" } } ``` #### Top Contractors (`top_contractors`) Get the top defense contractors by total award amount for a country. US: returns top recipients of Department of Defense spending from USAspending.gov with dollar amounts. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `country` | string | Yes | Country to get top contractors for: 'US' (US) | | `fiscal_year` | number | No | Fiscal year to query (e.g. 2024). Default: most recent. | | `limit` | number | No | Number of top contractors to return (default: 20, max: 50) [default: 20] | **Returns:** Top defense contractors ranked by total award amount with dollar values **Example:** ```json { "tool": "defense-spending", "skill": "top_contractors", "input": { "country": "US" } } ``` #### Spending by Region (`spending_by_region`) Get geographic breakdown of defense spending within a country. US: returns Department of Defense contract spending by state from USAspending.gov. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `country` | string | Yes | Country to get regional breakdown for: 'US' (US) | | `fiscal_year` | number | No | Fiscal year to query (e.g. 2024). Default: most recent. | | `limit` | number | No | Number of top regions to return (default: 20, max: 55) [default: 20] | **Returns:** Regions ranked by defense spending amount with dollar values and percentages **Example:** ```json { "tool": "defense-spending", "skill": "spending_by_region", "input": { "country": "US" } } ``` #### Budget Authority (`budget_authority`) Get US DoD total budgetary resources, obligations, and outlays by fiscal year. This is the top-line budget — different from contract awards. Shows how much Congress authorized vs how much was obligated and spent. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `country` | string | Yes | Currently US only (US) | **Returns:** DoD budgetary resources with total authority, obligations, and outlays by fiscal year **Example:** ```json { "tool": "defense-spending", "skill": "budget_authority", "input": { "country": "US" } } ``` #### Arms Transfers (`arms_transfers`) Get SIPRI Trend Indicator Values for arms exports and imports. Measures the VOLUME of international arms transfers using SIPRI methodology (constant 1990 USD). Different from UN Comtrade customs data. Covers 200+ countries. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `country` | string | Yes | ISO 3166-1 alpha-2 code (e.g. 'US', 'RU', 'CN', 'FR') | | `years` | number | No | Number of most recent years to return (default: 10) [default: 10] | **Returns:** Arms exports and imports in SIPRI TIV with net transfer balance **Example:** ```json { "tool": "defense-spending", "skill": "arms_transfers", "input": { "country": "US" } } ``` #### Conflict Displacement (`displacement`) Get refugee, IDP, and asylum seeker data for countries affected by conflict. Shows the human impact of military operations — how many people are displaced, where they go, and return statistics. From UNHCR. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `country` | string | Yes | ISO 3166-1 alpha-2 code (e.g. 'UA', 'SY', 'AF', 'SD', 'MM') | | `year` | number | No | Year to query (default: 2023) [default: 2023] | | `direction` | string | No | 'origin' = people fleeing FROM this country. 'asylum' = people fleeing TO this country. (origin, asylum) [default: "origin"] | **Returns:** Displacement totals and country breakdown with refugees, IDPs, asylum seekers **Example:** ```json { "tool": "defense-spending", "skill": "displacement", "input": { "country": "UA" } } ``` #### Military Bases (`military_bases`) Find military installations in any country — bases, airfields, naval bases, firing ranges, and barracks. Returns names, coordinates, and metadata from OpenStreetMap. Covers 40+ countries. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `country` | string | Yes | ISO 3166-1 alpha-2 code (e.g. 'US', 'GB', 'DE', 'JP', 'KR') | | `base_type` | string | No | Type of installation to search for (default: all military installations) (all, base, airfield, naval_base, range, barracks) [default: "all"] | | `limit` | number | No | Maximum installations to return (default: 50, max: 100) [default: 50] | **Returns:** Military installations with names, types, coordinates, and operator info **Example:** ```json { "tool": "defense-spending", "skill": "military_bases", "input": { "country": "GB", "base_type": "airfield" } } ``` #### Defense Outlays (`defense_outlays`) Get actual monthly cash outlays for US National Defense from the Treasury Monthly Statement. This is the definitive record of money actually spent — different from USAspending obligations and World Bank annual estimates. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `country` | string | Yes | Currently US only (US) | | `years` | number | No | Number of fiscal years to return (default: 3) [default: 3] | **Returns:** Monthly defense outlays by fiscal year with FYTD totals and year-over-year changes **Example:** ```json { "tool": "defense-spending", "skill": "defense_outlays", "input": { "country": "US" } } ``` ### Geopolitics Monitor global geopolitical events using GDELT — the world's largest open event database. Real-time defense news in 100+ languages, media coverage trends, sentiment analysis, and article context. - **Version:** 0.01 - **Categories:** data, analytics #### Search Events (`search_events`) Search global news for geopolitical events. Monitors media in 100+ languages in real-time. Supports boolean queries, source country filtering, and time ranges. Powered by GDELT. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Search terms (e.g. "Russia Ukraine", "defense spending", "NATO expansion"). Supports boolean: "term1 OR term2", sourcecountry:US, sourcelang:english | | `timespan` | string | No | Time range: "24hours", "7days", "1month", "3months", "6months", "1year" [default: "7days"] | | `source_country` | string | No | Filter by source country FIPS code (e.g. "US", "UK", "CH" for China, "RS" for Russia) | | `max_results` | number | No | Maximum articles to return (default: 20, max: 250) [default: 20] | **Returns:** Articles with titles, URLs, sources, dates, languages, and source countries **Example:** ```json { "tool": "geopolitics", "skill": "search_events", "input": { "query": "Russia Ukraine military" } } ``` #### Trend Analysis (`trend_analysis`) Track media coverage volume of a geopolitical topic over time. See if coverage is increasing, decreasing, or stable. Identifies peak coverage dates. Useful for monitoring escalation and de-escalation. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Topic to track (same query syntax as search_events) | | `timespan` | string | No | Time range for the trend (e.g. "3months", "6months", "1year") [default: "6months"] | **Returns:** Coverage volume timeline with trend direction (increasing/decreasing/stable) and peak date **Example:** ```json { "tool": "geopolitics", "skill": "trend_analysis", "input": { "query": "Ukraine war" } } ``` #### Sentiment Analysis (`sentiment_analysis`) Analyze global media sentiment around a geopolitical topic over time. Returns tone score (-10 very negative to +10 very positive), sentiment label, trend direction, and extremes. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Topic to analyze sentiment for | | `timespan` | string | No | Time range (e.g. "1month", "3months", "6months") [default: "3months"] | **Returns:** Sentiment timeline with average tone, direction (improving/worsening/stable), and extremes **Example:** ```json { "tool": "geopolitics", "skill": "sentiment_analysis", "input": { "query": "China military" } } ``` #### Get Context (`get_context`) Get article snippets and context passages about a geopolitical topic. Returns actual text excerpts from articles — useful for getting detailed context without reading full articles. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Topic to get context for | | `max_results` | number | No | Maximum articles to return (default: 10, max: 75) [default: 10] | **Returns:** Articles with context text snippets, titles, URLs, sources, and dates **Example:** ```json { "tool": "geopolitics", "skill": "get_context", "input": { "query": "Iran nuclear weapons" } } ``` ### Satellite Tracker Track satellites in real-time with orbital data and approximate positions. Military, GPS, Starlink, weather, space stations, and 30+ groups. Search by name, track by NORAD ID, browse groups, and see recent launches. - **Version:** 0.01 - **Categories:** data, infrastructure #### List Groups (`list_groups`) List all available satellite groups — military, GPS, Starlink, weather, space stations, communications, science, and more. Returns group IDs to use with track_group. **Returns:** All available satellite groups with descriptions and group IDs **Example:** ```json { "tool": "satellite-tracker", "skill": "list_groups", "input": {} } ``` #### Track Group (`track_group`) Get all satellites in a group with orbital data and current approximate positions. Groups include military, gps-ops, starlink, weather, stations, geo, and 25+ more. Use list_groups to see all options. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `group` | string | Yes | Satellite group ID (e.g. 'military', 'gps-ops', 'stations', 'starlink', 'weather', 'geo', 'last-30-days') | | `show_position` | boolean | No | Include approximate current lat/lon/altitude for each satellite (default: true) [default: true] | | `limit` | number | No | Maximum satellites to return (default: 50, max: 200) [default: 50] | **Returns:** Satellites in the group with orbital data, orbit type classification, and approximate positions **Example:** ```json { "tool": "satellite-tracker", "skill": "track_group", "input": { "group": "military" } } ``` #### Search Satellites (`search_satellites`) Search for satellites by name. Partial matches supported — searching "STARLINK" returns thousands, "ISS" returns the space station, "GPS" returns navigation satellites. Returns orbital data and NORAD IDs. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | Satellite name or partial name (e.g. 'ISS', 'STARLINK', 'GPS', 'COSMOS', 'SENTINEL', 'ONEWEB') | | `show_position` | boolean | No | Include approximate current position for each result [default: false] | | `limit` | number | No | Maximum results to return (default: 20, max: 100) [default: 20] | **Returns:** Matching satellites with names, NORAD IDs, orbit types, and optional positions **Example:** ```json { "tool": "satellite-tracker", "skill": "search_satellites", "input": { "query": "ISS" } } ``` #### Satellite Info (`satellite_info`) Get detailed information about a specific satellite by NORAD catalog number. Returns full orbital parameters, current approximate position, orbit classification, drag coefficient, and data age. Use search_satellites to find the NORAD ID first. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `norad_id` | number | Yes | NORAD catalog number (e.g. 25544 for ISS, 39088 for SAPPHIRE). Find IDs via search_satellites. | **Returns:** Detailed satellite info with full orbital elements, position, velocity, and orbit classification **Example:** ```json { "tool": "satellite-tracker", "skill": "satellite_info", "input": { "norad_id": 25544 } } ``` #### Recent Launches (`recent_launches`) Get satellites launched in the last 30 days. Shows the newest objects in orbit, sorted by launch date. Useful for tracking new deployments, Starlink batches, and military launches. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `show_position` | boolean | No | Include approximate current position for each satellite [default: false] | | `limit` | number | No | Maximum results to return (default: 30, max: 100) [default: 30] | **Returns:** Recently launched satellites sorted newest first with orbital data **Example:** ```json { "tool": "satellite-tracker", "skill": "recent_launches", "input": {} } ``` ### Product Studio All-in-one AI photo studio for e-commerce and marketing. Studio shots, lifestyle scenes, ghost mannequins, flat lays, object removal, shadows, wrinkle removal, recoloring, background blur, image expansion, and freeform AI edits. Turn any phone photo into professional product photography. - **Version:** 0.01 - **Categories:** media, ai, marketing #### Studio Shot (`studio_shot`) Place a product on a clean background with professional studio lighting and shadows. The core e-commerce product photo. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `image_url` | string | Yes | URL of the product photo. Must be publicly accessible. | | `background` | string | No | Background style (e.g. "white", "light gray gradient", "soft pink"). Defaults to white. | | `lighting` | string | No | Lighting style (e.g. "soft studio", "dramatic", "warm golden"). Defaults to soft studio. | | `instructions` | string | No | Additional instructions to refine the result. | | `model` | string | No | Model override. Defaults to Nano Banana 2 Edit. Pass a model key or fal.ai endpoint ID. | | `aspect_ratio` | string | No | Output aspect ratio. (1:1, 3:4, 4:3, 9:16, 16:9, 3:2, 2:3) | | `output_format` | string | No | Output image format. Defaults to jpeg. (jpeg, png, webp) | | `seed` | number | No | Random seed for reproducible results. | | `extra_params` | object | No | Additional model-specific parameters. | **Returns:** Studio-quality product image URL, downloadable asset, model used, and metadata **Example:** ```json { "tool": "product-studio", "skill": "studio_shot", "input": { "image_url": "https://example.com/raw-product.jpg" } } ``` #### Lifestyle Shot (`lifestyle_shot`) Place a product in a real-world scene — kitchen counter, office desk, outdoor setting. Creates contextual lifestyle photography. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `image_url` | string | Yes | URL of the product photo. Must be publicly accessible. | | `scene` | string | Yes | Scene description (e.g. "marble kitchen counter", "wooden desk in a sunny office", "picnic blanket outdoors"). | | `mood` | string | No | Mood/atmosphere (e.g. "cozy and warm", "bright and airy", "moody and dramatic"). | | `instructions` | string | No | Additional instructions to refine the result. | | `model` | string | No | Model override. Defaults to Nano Banana 2 Edit. Pass a model key or fal.ai endpoint ID. | | `aspect_ratio` | string | No | Output aspect ratio. (1:1, 3:4, 4:3, 9:16, 16:9, 3:2, 2:3) | | `output_format` | string | No | Output image format. Defaults to jpeg. (jpeg, png, webp) | | `seed` | number | No | Random seed for reproducible results. | | `extra_params` | object | No | Additional model-specific parameters. | **Returns:** Lifestyle product image URL, downloadable asset, model used, and metadata **Example:** ```json { "tool": "product-studio", "skill": "lifestyle_shot", "input": { "image_url": "https://example.com/mug.jpg", "scene": "marble kitchen counter next to a coffee machine, morning light" } } ``` #### Ghost Mannequin (`ghost_mannequin`) Remove the mannequin or model from clothing photos to create a hollow-man effect. The garment appears to float with its 3D shape preserved. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `image_url` | string | Yes | URL of the product photo. Must be publicly accessible. | | `instructions` | string | No | Additional instructions to refine the result. | | `model` | string | No | Model override. Defaults to Nano Banana 2 Edit. Pass a model key or fal.ai endpoint ID. | | `aspect_ratio` | string | No | Output aspect ratio. (1:1, 3:4, 4:3, 9:16, 16:9, 3:2, 2:3) | | `output_format` | string | No | Output image format. Defaults to jpeg. (jpeg, png, webp) | | `seed` | number | No | Random seed for reproducible results. | | `extra_params` | object | No | Additional model-specific parameters. | **Returns:** Ghost mannequin image URL, downloadable asset, model used, and metadata **Example:** ```json { "tool": "product-studio", "skill": "ghost_mannequin", "input": { "image_url": "https://example.com/jacket-on-mannequin.jpg" } } ``` #### Flat Lay (`flat_lay`) Create a top-down flat lay arrangement of a product. Styled overhead photography for social media and catalogs. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `image_url` | string | Yes | URL of the product photo. Must be publicly accessible. | | `surface` | string | No | Surface to arrange on (e.g. "white marble", "wooden table", "linen fabric"). Defaults to white. | | `props` | string | No | Complementary props to include (e.g. "dried flowers and a notebook", "coffee beans and a spoon"). | | `instructions` | string | No | Additional instructions to refine the result. | | `model` | string | No | Model override. Defaults to Nano Banana 2 Edit. Pass a model key or fal.ai endpoint ID. | | `aspect_ratio` | string | No | Output aspect ratio. (1:1, 3:4, 4:3, 9:16, 16:9, 3:2, 2:3) | | `output_format` | string | No | Output image format. Defaults to jpeg. (jpeg, png, webp) | | `seed` | number | No | Random seed for reproducible results. | | `extra_params` | object | No | Additional model-specific parameters. | **Returns:** Flat lay image URL, downloadable asset, model used, and metadata **Example:** ```json { "tool": "product-studio", "skill": "flat_lay", "input": { "image_url": "https://example.com/serum.jpg", "surface": "white marble slab", "props": "dried lavender sprigs and a small towel" } } ``` #### Remove Object (`remove_object`) Remove unwanted objects, people, or distractions from product photos. Describe what to remove and the area is filled naturally. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `image_url` | string | Yes | URL of the product photo. Must be publicly accessible. | | `remove` | string | Yes | What to remove (e.g. "the person in the background", "the price sticker", "the shadow on the left"). | | `instructions` | string | No | Additional instructions to refine the result. | | `model` | string | No | Model override. Defaults to Nano Banana 2 Edit. Pass a model key or fal.ai endpoint ID. | | `aspect_ratio` | string | No | Output aspect ratio. (1:1, 3:4, 4:3, 9:16, 16:9, 3:2, 2:3) | | `output_format` | string | No | Output image format. Defaults to jpeg. (jpeg, png, webp) | | `seed` | number | No | Random seed for reproducible results. | | `extra_params` | object | No | Additional model-specific parameters. | **Returns:** Cleaned image URL, downloadable asset, model used, and metadata **Example:** ```json { "tool": "product-studio", "skill": "remove_object", "input": { "image_url": "https://example.com/product-with-people.jpg", "remove": "the people in the background" } } ``` #### Beautify Product (`beautify`) Enhance a product photo to studio-grade quality. Improves lighting, sharpness, colors, and overall appeal without changing the composition. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `image_url` | string | Yes | URL of the product photo. Must be publicly accessible. | | `instructions` | string | No | Additional instructions to refine the result. | | `model` | string | No | Model override. Defaults to Nano Banana 2 Edit. Pass a model key or fal.ai endpoint ID. | | `aspect_ratio` | string | No | Output aspect ratio. (1:1, 3:4, 4:3, 9:16, 16:9, 3:2, 2:3) | | `output_format` | string | No | Output image format. Defaults to jpeg. (jpeg, png, webp) | | `seed` | number | No | Random seed for reproducible results. | | `extra_params` | object | No | Additional model-specific parameters. | **Returns:** Enhanced image URL, downloadable asset, model used, and metadata **Example:** ```json { "tool": "product-studio", "skill": "beautify", "input": { "image_url": "https://example.com/raw-phone-photo.jpg" } } ``` #### Add Shadows (`add_shadows`) Add realistic drop shadows or contact shadows beneath a product. Makes products on flat backgrounds look grounded and natural. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `image_url` | string | Yes | URL of the product photo. Must be publicly accessible. | | `shadow_type` | string | No | Shadow style (e.g. "soft drop shadow", "hard contact shadow", "diffused ambient shadow"). Defaults to natural drop shadow. | | `instructions` | string | No | Additional instructions to refine the result. | | `model` | string | No | Model override. Defaults to Nano Banana 2 Edit. Pass a model key or fal.ai endpoint ID. | | `aspect_ratio` | string | No | Output aspect ratio. (1:1, 3:4, 4:3, 9:16, 16:9, 3:2, 2:3) | | `output_format` | string | No | Output image format. Defaults to jpeg. (jpeg, png, webp) | | `seed` | number | No | Random seed for reproducible results. | | `extra_params` | object | No | Additional model-specific parameters. | **Returns:** Image with shadows URL, downloadable asset, model used, and metadata **Example:** ```json { "tool": "product-studio", "skill": "add_shadows", "input": { "image_url": "https://example.com/product-no-shadow.jpg" } } ``` #### Unwrinkle Clothing (`unwrinkle`) Remove wrinkles and creases from clothing photos. The fabric looks freshly pressed while keeping shape, color, and pattern intact. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `image_url` | string | Yes | URL of the product photo. Must be publicly accessible. | | `instructions` | string | No | Additional instructions to refine the result. | | `model` | string | No | Model override. Defaults to Nano Banana 2 Edit. Pass a model key or fal.ai endpoint ID. | | `aspect_ratio` | string | No | Output aspect ratio. (1:1, 3:4, 4:3, 9:16, 16:9, 3:2, 2:3) | | `output_format` | string | No | Output image format. Defaults to jpeg. (jpeg, png, webp) | | `seed` | number | No | Random seed for reproducible results. | | `extra_params` | object | No | Additional model-specific parameters. | **Returns:** Unwrinkled clothing image URL, downloadable asset, model used, and metadata **Example:** ```json { "tool": "product-studio", "skill": "unwrinkle", "input": { "image_url": "https://example.com/wrinkled-shirt.jpg" } } ``` #### Recolor Product (`recolor`) Change the color of a product or garment. Generate color variants without reshooting. Keeps shape, texture, and details identical. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `image_url` | string | Yes | URL of the product photo. Must be publicly accessible. | | `color` | string | Yes | Target color (e.g. "navy blue", "forest green", "matte black", "coral pink"). | | `target` | string | No | What to recolor if ambiguous (e.g. "the shoes", "the dress", "the bag strap"). Defaults to the product. | | `instructions` | string | No | Additional instructions to refine the result. | | `model` | string | No | Model override. Defaults to Nano Banana 2 Edit. Pass a model key or fal.ai endpoint ID. | | `aspect_ratio` | string | No | Output aspect ratio. (1:1, 3:4, 4:3, 9:16, 16:9, 3:2, 2:3) | | `output_format` | string | No | Output image format. Defaults to jpeg. (jpeg, png, webp) | | `seed` | number | No | Random seed for reproducible results. | | `extra_params` | object | No | Additional model-specific parameters. | **Returns:** Recolored image URL, downloadable asset, model used, and metadata **Example:** ```json { "tool": "product-studio", "skill": "recolor", "input": { "image_url": "https://example.com/red-dress.jpg", "color": "navy blue" } } ``` #### Blur Background (`blur_background`) Apply a depth-of-field blur to the background while keeping the product sharp. Creates a professional bokeh effect. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `image_url` | string | Yes | URL of the product photo. Must be publicly accessible. | | `intensity` | string | No | Blur intensity (e.g. "subtle", "moderate", "heavy"). Defaults to moderate. | | `instructions` | string | No | Additional instructions to refine the result. | | `model` | string | No | Model override. Defaults to Nano Banana 2 Edit. Pass a model key or fal.ai endpoint ID. | | `aspect_ratio` | string | No | Output aspect ratio. (1:1, 3:4, 4:3, 9:16, 16:9, 3:2, 2:3) | | `output_format` | string | No | Output image format. Defaults to jpeg. (jpeg, png, webp) | | `seed` | number | No | Random seed for reproducible results. | | `extra_params` | object | No | Additional model-specific parameters. | **Returns:** Blurred background image URL, downloadable asset, model used, and metadata **Example:** ```json { "tool": "product-studio", "skill": "blur_background", "input": { "image_url": "https://example.com/product-busy-bg.jpg" } } ``` #### Resize and Expand (`resize_expand`) Expand an image to a new aspect ratio by AI-generating the missing background. Outpainting that seamlessly extends the scene. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `image_url` | string | Yes | URL of the product photo. Must be publicly accessible. | | `target_ratio` | string | No | Target aspect ratio (e.g. "16:9", "1:1", "9:16"). | | `direction` | string | No | Expand direction (e.g. "wider", "taller", "all sides"). Alternative to target_ratio. | | `fill` | string | No | What to fill the expanded area with. Defaults to continuing the existing background. | | `instructions` | string | No | Additional instructions to refine the result. | | `model` | string | No | Model override. Defaults to Nano Banana 2 Edit. Pass a model key or fal.ai endpoint ID. | | `output_format` | string | No | Output image format. Defaults to jpeg. (jpeg, png, webp) | | `seed` | number | No | Random seed for reproducible results. | | `extra_params` | object | No | Additional model-specific parameters. | **Returns:** Expanded image URL, downloadable asset, model used, and metadata **Example:** ```json { "tool": "product-studio", "skill": "resize_expand", "input": { "image_url": "https://example.com/product-portrait.jpg", "target_ratio": "16:9" } } ``` #### AI Edit (`ai_edit`) Freeform AI editing — describe any edit in natural language and it gets applied. The catch-all for edits not covered by other skills. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `image_url` | string | Yes | URL of the product photo. Must be publicly accessible. | | `edit` | string | Yes | Natural language edit instruction (e.g. "add a ribbon bow", "make it look vintage", "add steam rising from the cup"). | | `model` | string | No | Model override. Defaults to Nano Banana 2 Edit. Pass a model key or fal.ai endpoint ID. | | `aspect_ratio` | string | No | Output aspect ratio. (1:1, 3:4, 4:3, 9:16, 16:9, 3:2, 2:3) | | `output_format` | string | No | Output image format. Defaults to jpeg. (jpeg, png, webp) | | `seed` | number | No | Random seed for reproducible results. | | `extra_params` | object | No | Additional model-specific parameters. | **Returns:** Edited image URL, downloadable asset, model used, and metadata **Example:** ```json { "tool": "product-studio", "skill": "ai_edit", "input": { "image_url": "https://example.com/candle.jpg", "edit": "Add pine branches and small red berries around the candle for a Christmas theme" } } ``` ### AI Video Edit Transform videos with AI. EDIT: swap characters, change environments. RESTYLE: style transfer (anime, painting). MOTION CONTROL: transfer motion onto a character image (put yourself in a movie). Powered by Kling O1/V3. - **Version:** 0.01 - **Categories:** media, ai #### Edit Video (`edit_video`) Targeted AI edits on an existing video — swap characters, change environments, modify objects — while preserving original motion and camera angles. Reference elements with @Element1 and style images with @Image1 in the prompt. Powered by Kling O1. Input: 3-10s video. ⏱ Takes ~60-120s, runs async. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `prompt` | string | Yes | Natural language edit instruction. Use @Element1, @Element2 to reference elements and @Image1, @Image2 to reference style images. | | `video_url` | string | Yes | Source video URL (.mp4/.mov/.webm/.gif). 3-10s, 720-2160px, max 200 MB. Always pass the URL directly. | | `image_urls` | array | No | Style reference images. Referenced in the prompt as @Image1, @Image2, etc. Max 4 combined with elements. | | `elements` | array | No | Character/object elements to include. Reference in prompt as @Element1, @Element2, etc. Max 4 combined with image_urls. | | `keep_audio` | boolean | No | Preserve original audio from the source video. Default: false (silent output). | | `estimated_duration` | number | No | Estimated duration of the input video in seconds (for cost estimation). Default: 5. | **Returns:** Edited video download URL, file metadata, request ID, and estimated cost **Example:** ```json { "tool": "video-edit", "skill": "edit_video", "input": { "prompt": "Replace the main character with @Element1, keeping the same movements and camera angles", "video_url": "https://example.com/movie-clip.mp4", "elements": [ { "frontal_image_url": "https://example.com/my-photo.jpg" } ] } } ``` #### Restyle Video (`restyle_video`) Broad style transformation of a video — anime, painting, weather changes, time-of-day shifts — using the original as a motion/structure reference. Regenerates the video in a new style while preserving movement and composition. Powered by Kling O1. Input: 3-10s video. ⏱ Takes ~60-120s, runs async. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `prompt` | string | Yes | Style transformation instruction. Use @Image1, @Image2 for style reference images and @Element1, @Element2 for character elements. | | `video_url` | string | Yes | Source video URL (.mp4/.mov/.webm/.gif). 3-10s, 720-2160px, max 200 MB. Always pass the URL directly. | | `image_urls` | array | No | Style reference images. Referenced in the prompt as @Image1, @Image2, etc. Max 4 combined with elements. | | `elements` | array | No | Character/object elements to include. Reference in prompt as @Element1, @Element2, etc. Max 4 combined with image_urls. | | `keep_audio` | boolean | No | Preserve original audio from the source video. Default: false (silent output). | | `aspect_ratio` | string | No | Output aspect ratio. Default: auto (matches input). (auto, 16:9, 9:16, 1:1) | | `duration` | number | No | Output video duration in seconds (3-10). Default: matches input. | | `estimated_duration` | number | No | Estimated duration of the input video in seconds (for cost estimation). Default: 5. | **Returns:** Restyled video download URL, file metadata, request ID, and estimated cost **Example:** ```json { "tool": "video-edit", "skill": "restyle_video", "input": { "prompt": "Transform this video into a Studio Ghibli-style anime animation with soft watercolor textures", "video_url": "https://example.com/real-footage.mp4" } } ``` #### Motion Control (`motion_control`) Transfer motion from a reference video onto a character image — put yourself in a movie scene or make a photo dance. Provide character photo (image_url) + motion video (video_url). Kling V3 Pro. ⏱ ~60-120s, async. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `image_url` | string | Yes | Character/appearance image URL — the person or character to animate. Always pass the URL directly. | | `video_url` | string | Yes | Motion reference video URL — the movements to transfer onto the character (.mp4, .mov). | | `character_orientation` | string | Yes | Output orientation. "image" = matches the reference image orientation (max 10s). "video" = matches the reference video orientation (max 30s). (image, video) | | `prompt` | string | No | Optional text description to guide the generation. | | `keep_original_sound` | boolean | No | Retain audio from the reference video. Default: true. | | `elements` | array | No | Optional element for facial consistency binding (max 1). Requires character_orientation="video". | | `estimated_duration` | number | No | Estimated duration of the input video in seconds (for cost estimation). Default: 5. | **Returns:** Generated video download URL, file metadata, request ID, and estimated cost **Example:** ```json { "tool": "video-edit", "skill": "motion_control", "input": { "image_url": "https://example.com/my-photo.jpg", "video_url": "https://example.com/movie-scene.mp4", "character_orientation": "video", "prompt": "The character walks confidently through the scene" } } ``` #### Check Video (`check_video`) Check the status of a pending video edit/restyle/motion-control job and retrieve the result if complete. Use this when a previous call returned a pending status with a fal_request_id. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `fal_request_id` | string | Yes | The fal.ai request ID returned by a previous edit_video, restyle_video, or motion_control call | | `fal_model_id` | string | No | The fal.ai model ID from the pending response. Defaults to the edit endpoint if omitted. | **Returns:** Job status (completed/running/queued/failed) and video URL if complete **Example:** ```json { "tool": "video-edit", "skill": "check_video", "input": { "fal_request_id": "abc123-def456" } } ``` ### Satellite Imagery Get satellite and aerial photos of any location on Earth. Sub-meter resolution in cities, global coverage. Also NASA dated imagery (MODIS) and full-Earth photos from the DSCOVR satellite. - **Version:** 0.02 - **Categories:** data, media #### Capture Location (`capture_location`) Get a high-resolution satellite photo of any location on Earth. Sub-meter resolution in populated areas — you can see buildings, roads, and vehicles. Powered by Esri World Imagery. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `latitude` | number | Yes | Latitude of the center point (-90 to 90) | | `longitude` | number | Yes | Longitude of the center point (-180 to 180) | | `radius_km` | number | No | Radius in km to capture (default: 1, max: 500) [default: 1] | | `width` | number | No | Image width in pixels (max: 4096) [default: 1024] | | `height` | number | No | Image height in pixels (max: 4096) [default: 1024] | | `format` | string | No | Image format (jpg, png) [default: "jpg"] | **Returns:** Satellite photo with image_url (permanent link) and image_page (shareable download page) **Example:** ```json { "tool": "satellite-imagery", "skill": "capture_location", "input": { "latitude": 38.871, "longitude": -77.056, "radius_km": 0.5 } } ``` #### Capture Dated (`capture_dated`) Get NASA satellite imagery for a specific date. Uses MODIS Terra at 250m resolution — good for large-area views, natural disasters, and before/after comparisons. Specify a date to see what the area looked like. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `latitude` | number | Yes | Latitude of the center point | | `longitude` | number | Yes | Longitude of the center point | | `date` | string | Yes | Date in YYYY-MM-DD format (e.g. 2024-06-15) | | `radius_km` | number | No | Radius in km (default: 50, larger because 250m resolution) [default: 50] | | `width` | number | No | Image width in pixels [default: 1024] | | `height` | number | No | Image height in pixels [default: 1024] | **Returns:** Dated satellite image with image_url and image_page **Example:** ```json { "tool": "satellite-imagery", "skill": "capture_dated", "input": { "latitude": 34.05, "longitude": -118.25, "date": "2025-01-10", "radius_km": 30 } } ``` #### Earth Photo (`earth_photo`) Get a full-Earth photo taken from deep space by NASA DSCOVR satellite (1.5M km from Earth). Shows the entire sunlit side of the planet. Specify a date or get the latest available image. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `date` | string | No | Date in YYYY-MM-DD format (optional — omit for latest available) | **Returns:** Full-Earth photo from space with image_url, image_page, date, and centroid coordinates **Example:** ```json { "tool": "satellite-imagery", "skill": "earth_photo", "input": {} } ``` #### Image Metadata (`image_metadata`) Get metadata about satellite imagery at a location — when it was captured, which satellite/source, and the resolution. Use this to check how recent the imagery is before or after taking a photo. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `latitude` | number | Yes | Latitude (-90 to 90) | | `longitude` | number | Yes | Longitude (-180 to 180) | **Returns:** Imagery metadata with capture dates, sources (satellite names), and resolution in meters **Example:** ```json { "tool": "satellite-imagery", "skill": "image_metadata", "input": { "latitude": 38.871, "longitude": -77.056 } } ``` ### YouTube Thumbnails Generate high-performing YouTube thumbnails optimized for clicks. Choose from proven thumbnail styles used by top creators — reaction faces, before/after, versus, tutorials, and more. Outputs at the exact 1280x720 spec YouTube requires with text rendering, bold compositions, and vibrant colors. - **Version:** 0.01 - **Categories:** media, ai #### Generate Thumbnail (`generate_thumbnail`) Generate YouTube thumbnails from a video topic. Supports 10 proven styles, text overlays, reference images for brand/face consistency, and batch generation for A/B testing. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `topic` | string | Yes | Video topic or thumbnail concept (e.g. "unboxing the new iPhone", "how I lost 50 pounds in 6 months") | | `style` | string | No | Thumbnail style: reaction, before_after, versus, tutorial, listicle, product, storytime, travel, gaming, food (reaction, before_after, versus, tutorial, listicle, product, storytime, travel, gaming, food) | | `text_overlay` | string | No | Bold text to render on the thumbnail (3-5 words max, e.g. "I QUIT MY JOB", "$10K IN 30 DAYS"). Rendered in thick sans-serif with contrasting outline. | | `mood` | string | No | Emotional tone (e.g. "shocking", "inspiring", "mysterious", "exciting", "cozy", "dramatic") | | `color_scheme` | string | No | Color guidance (e.g. "red and yellow", "dark with neon accents", "warm golden tones", "blue gradient") | | `reference_images` | array | No | URLs of reference images — face photos for consistency, brand assets, or style references. First image is primary. | | `additional_details` | string | No | Extra prompt details for fine-tuning the composition, subject, or scene (e.g. "person wearing red hoodie on left side", "luxury car in background") | | `num_images` | number | No | Number of thumbnail variations to generate (1-12). Use 4-6 for A/B testing selection. Defaults to 1. [default: 1] | | `model` | string | No | Image model to use. Defaults to Nano Banana 2 (best text rendering + quality). Use generate-image list_models for alternatives. | | `seed` | number | No | Random seed for reproducible results. | | `output_format` | string | No | Output format. PNG (default) for text-heavy thumbnails, JPEG for photo-heavy. YouTube accepts JPG, PNG, GIF, BMP under 2MB. (png, jpeg, webp) | | `negative_prompt` | string | No | Things to avoid in the thumbnail (appended to built-in exclusions for blurry, watermarks, etc.) | | `guidance_scale` | number | No | How closely to follow the prompt (1-20). Higher = more literal. Model-dependent. | | `enhance_prompt` | boolean | No | Let the model expand and improve the prompt automatically. | **Returns:** Thumbnail image(s) at 1280x720, downloadable via asset system, prompt used, YouTube specs, and best practice tips **Example:** ```json { "tool": "youtube-thumbnails", "skill": "generate_thumbnail", "input": { "topic": "Unboxing the most expensive laptop ever made", "style": "reaction", "text_overlay": "$15,000 LAPTOP", "num_images": 4 } } ``` ### Energy Data Estimate solar energy production and check electricity prices for any location. Live pricing for UK, EU (40+ countries), Australia, and US. Solar estimates work globally. - **Version:** 0.02 - **Categories:** data, analytics #### Electricity Prices (`electricity_prices`) Get current electricity prices for any location. Auto-detects region and queries the best source: UK (half-hourly), EU (day-ahead, 40+ countries), Australia (real-time spot), or US (monthly retail by state). **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `latitude` | number | Yes | Latitude of the location (-90 to 90) | | `longitude` | number | Yes | Longitude of the location (-180 to 180) | **Returns:** Current electricity prices from the best regional source — consumer and/or wholesale rates with time series **Example:** ```json { "tool": "energy-data", "skill": "electricity_prices", "input": { "latitude": 51.5074, "longitude": -0.1278 } } ``` #### Solar Estimate (`solar_estimate`) Estimate solar energy production for any location worldwide. Returns annual and monthly kWh output, solar radiation, capacity factor, and nearest weather station details. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `latitude` | number | Yes | Latitude of the location (-90 to 90) | | `longitude` | number | Yes | Longitude of the location (-180 to 180) | | `system_capacity_kw` | number | No | System size in kilowatts (default: 4) [default: 4] | | `module_type` | string | No | Solar module type (default: standard) (standard, premium, thin_film) [default: "standard"] | | `roof_mount` | boolean | No | Roof-mounted (true) or open rack (false). Default: true [default: true] | | `tilt_degrees` | number | No | Panel tilt angle in degrees (default: 20) [default: 20] | | `azimuth_degrees` | number | No | Panel azimuth (180 = south-facing, default: 180) [default: 180] | **Returns:** Annual and monthly solar energy production (kWh), solar radiation, capacity factor, and weather station info **Example:** ```json { "tool": "energy-data", "skill": "solar_estimate", "input": { "latitude": 39.74, "longitude": -105, "system_capacity_kw": 4 } } ``` ### Government Spending Search US federal spending — contracts, grants, and loans across all agencies. Find who received funding, how much, and where. Track spending trends by state, agency, or time period. - **Version:** 0.01 - **Categories:** data, analytics, finance #### Search Awards (`search_awards`) Search federal contracts, grants, and loans by keyword, agency, recipient, state, or date range. Returns award details including amounts, recipients, agencies, and descriptions. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `keywords` | array | No | Search terms to match against award descriptions (e.g. ["cybersecurity", "AI"]) | | `agency` | string | No | Filter by awarding agency name (e.g. "Department of Defense", "Department of Energy") | | `recipient` | string | No | Filter by recipient/contractor name (e.g. "Lockheed Martin", "Deloitte") | | `award_type` | string | No | Type of federal award to search (contracts, grants, loans, all) [default: "all"] | | `start_date` | string | No | Start date in YYYY-MM-DD format | | `end_date` | string | No | End date in YYYY-MM-DD format | | `state` | string | No | Two-letter US state code to filter by place of performance (e.g. "CA", "TX", "VA") | | `limit` | number | No | Number of results to return (max 50) [default: 10] | | `sort_by` | string | No | Sort results by award amount or start date (amount, date) [default: "amount"] | **Returns:** Federal award records with recipient, amount, agency, dates, and description **Example:** ```json { "tool": "government-spending", "skill": "search_awards", "input": { "keywords": [ "cybersecurity" ], "award_type": "contracts" } } ``` #### List Agencies (`list_agencies`) List all US federal agencies with their budget authority, obligated amounts, and outlays. Useful for identifying the biggest spenders and comparing agency budgets. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `sort_by` | string | No | Sort agencies by name, budget authority, or obligated spending (name, budget, spending) [default: "budget"] | **Returns:** All federal agencies with budget authority, obligations, and outlay amounts **Example:** ```json { "tool": "government-spending", "skill": "list_agencies", "input": {} } ``` #### Spending by Geography (`spending_by_geography`) Break down federal spending by state, county, or congressional district. Shows total amounts, population, and per-capita spending for each region. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `award_type` | string | No | Type of federal award to include (contracts, grants, loans, all) [default: "all"] | | `start_date` | string | No | Start date in YYYY-MM-DD format (default: start of current fiscal year) | | `end_date` | string | No | End date in YYYY-MM-DD format (default: end of current fiscal year) | | `geo_level` | string | No | Geographic granularity: state, county, or congressional district (state, county, district) [default: "state"] | **Returns:** Federal spending by geographic region with amounts, population, and per-capita figures **Example:** ```json { "tool": "government-spending", "skill": "spending_by_geography", "input": { "award_type": "contracts", "geo_level": "state" } } ``` #### Spending Over Time (`spending_over_time`) Track federal spending trends over time by month, quarter, or fiscal year. Shows how spending changes across periods for any award type. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `award_type` | string | No | Type of federal award to track (contracts, grants, loans, all) [default: "contracts"] | | `start_date` | string | No | Start date in YYYY-MM-DD format (default: start of current fiscal year) | | `end_date` | string | No | End date in YYYY-MM-DD format (default: end of current fiscal year) | | `group_by` | string | No | Time granularity for aggregation (month, quarter, fiscal_year) [default: "month"] | **Returns:** Federal spending amounts aggregated by time period with totals **Example:** ```json { "tool": "government-spending", "skill": "spending_over_time", "input": { "award_type": "contracts", "group_by": "month" } } ``` ### Places Search Search for restaurants, cafes, shops, hotels, and any point of interest worldwide. Covers 200+ countries with ratings, hours, contact info, and reviews. Find places by name, category, or location. - **Version:** 0.01 - **Categories:** data, productivity #### Search Places (`search_places`) Search for places by name, type, or category with optional location filtering **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `query` | string | Yes | What to search for — e.g. "sushi restaurants", "coffee shops", "hotels" | | `location` | string | No | City name like "London, UK" or coordinates like "51.5074,-0.1278" | | `radius_meters` | number | No | Search radius in meters (default: 10000) [default: 10000] | | `limit` | number | No | Max results to return (default: 10, max: 20) [default: 10] | | `open_now` | boolean | No | Only return places that are currently open | | `sort` | string | No | Sort order for results (relevance, rating, distance) [default: "relevance"] | | `min_price` | number | No | Minimum price level (1-4) | | `max_price` | number | No | Maximum price level (1-4) | **Returns:** Array of places with name, address, coordinates, categories, rating, price level, and source **Example:** ```json { "tool": "places-search", "skill": "search_places", "input": { "query": "sushi restaurants", "location": "London, UK" } } ``` #### Nearby Places (`nearby_places`) Find places near specific coordinates with optional category filtering **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `latitude` | number | Yes | Latitude of the center point | | `longitude` | number | Yes | Longitude of the center point | | `radius_meters` | number | No | Search radius in meters (default: 1000) [default: 1000] | | `category` | string | No | Category to filter by — e.g. "restaurant", "hotel", "cafe", "pharmacy" | | `limit` | number | No | Max results to return (default: 10, max: 20) [default: 10] | **Returns:** Array of nearby places with name, address, coordinates, categories, rating, and distance **Example:** ```json { "tool": "places-search", "skill": "nearby_places", "input": { "latitude": 40.758, "longitude": -73.9855, "category": "restaurant", "limit": 5 } } ``` #### Place Details (`place_details`) Get full details for a specific place including reviews, hours, and contact info **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `place_id` | string | Yes | Place ID from a previous search result (Foursquare fsq_id or Google place_id) | | `source` | string | No | Which source the ID is from (auto-detected if omitted) (foursquare, google) | **Returns:** Full place details including name, address, hours, phone, website, reviews, and rating **Example:** ```json { "tool": "places-search", "skill": "place_details", "input": { "place_id": "4b7b5ee0f964a52004432fe3" } } ``` ### Compress Shrink video, image, and PDF files while preserving visual quality. Choose from modern codecs and next-gen image formats for the best compression ratios available. Send one file or many — batch compression handles mixed formats in a single call. - **Version:** 0.01 - **Categories:** media, productivity #### Compress Files (`compress`) Compress one or more video, image, or PDF files with configurable quality, codec, format, and resolution settings. **Parameters:** | Name | Type | Required | Description | |------|------|----------|-------------| | `files` | array | Yes | URLs of files to compress | | `quality` | string | No | Compression quality preset (highest = minimal compression, low = maximum compression) (highest, high, good, medium, low) [default: "high"] | | `video_codec` | string | No | Video codec for encoding (h264, h265, vp9, av1) [default: "h264"] | | `video_format` | string | No | Output video container format (same, mp4, webm) [default: "same"] | | `image_format` | string | No | Output image format (same, webp, jpg, png, avif) [default: "same"] | | `pdf_quality` | string | No | PDF compression quality (best = minimal compression, low = maximum) (best, high, balanced, low) [default: "high"] | | `target_fps` | string | No | Target video frame rate (only reduces, never increases) (same, 60, 30, 24, 15) [default: "same"] | | `remove_audio` | boolean | No | Strip audio track from video files [default: false] | | `strip_metadata` | boolean | No | Remove EXIF, IPTC, and ICC metadata from files [default: false] | | `max_width` | integer | No | Maximum output width in pixels (aspect ratio preserved) | | `max_height` | integer | No | Maximum output height in pixels (aspect ratio preserved) | **Returns:** Compressed file URLs with original and compressed sizes, reduction percentage, and applied settings for each file **Example:** ```json { "tool": "compress", "skill": "compress", "input": { "files": [ "https://example.com/demo-video.mp4" ] } } ``` ## Use Cases Real-world use case guides with step-by-step instructions for Claude, ChatGPT, Copilot, and OpenClaw. - [All Use Cases](https://toolrouter.com/use-cases) ## Workflows Multi-tool workflows showing how to combine tools for complex tasks. - [All Workflows](https://toolrouter.com/workflows)