home / skills / composiohq / awesome-claude-skills / tavily-automation

tavily-automation skill

/tavily-automation

This skill automates Tavily tasks via Rube MCP, ensuring tool schemas are fetched first to optimize workflows.

npx playbooks add skill composiohq/awesome-claude-skills --skill tavily-automation

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
2.8 KB
---
name: tavily-automation
description: "Automate Tavily tasks via Rube MCP (Composio). Always search tools first for current schemas."
requires:
  mcp: [rube]
---

# Tavily Automation via Rube MCP

Automate Tavily operations through Composio's Tavily toolkit via Rube MCP.

**Toolkit docs**: [composio.dev/toolkits/tavily](https://composio.dev/toolkits/tavily)

## Prerequisites

- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Tavily connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `tavily`
- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas

## Setup

**Get Rube MCP**: Add `https://rube.app/mcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.

1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds
2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `tavily`
3. If connection is not ACTIVE, follow the returned auth link to complete setup
4. Confirm connection status shows ACTIVE before running any workflows

## Tool Discovery

Always discover available tools before executing workflows:

```
RUBE_SEARCH_TOOLS
queries: [{use_case: "Tavily operations", known_fields: ""}]
session: {generate_id: true}
```

This returns available tool slugs, input schemas, recommended execution plans, and known pitfalls.

## Core Workflow Pattern

### Step 1: Discover Available Tools

```
RUBE_SEARCH_TOOLS
queries: [{use_case: "your specific Tavily task"}]
session: {id: "existing_session_id"}
```

### Step 2: Check Connection

```
RUBE_MANAGE_CONNECTIONS
toolkits: ["tavily"]
session_id: "your_session_id"
```

### Step 3: Execute Tools

```
RUBE_MULTI_EXECUTE_TOOL
tools: [{
  tool_slug: "TOOL_SLUG_FROM_SEARCH",
  arguments: {/* schema-compliant args from search results */}
}]
memory: {}
session_id: "your_session_id"
```

## Known Pitfalls

- **Always search first**: Tool schemas change. Never hardcode tool slugs or arguments without calling `RUBE_SEARCH_TOOLS`
- **Check connection**: Verify `RUBE_MANAGE_CONNECTIONS` shows ACTIVE status before executing tools
- **Schema compliance**: Use exact field names and types from the search results
- **Memory parameter**: Always include `memory` in `RUBE_MULTI_EXECUTE_TOOL` calls, even if empty (`{}`)
- **Session reuse**: Reuse session IDs within a workflow. Generate new ones for new workflows
- **Pagination**: Check responses for pagination tokens and continue fetching until complete

## Quick Reference

| Operation | Approach |
|-----------|----------|
| Find tools | `RUBE_SEARCH_TOOLS` with Tavily-specific use case |
| Connect | `RUBE_MANAGE_CONNECTIONS` with toolkit `tavily` |
| Execute | `RUBE_MULTI_EXECUTE_TOOL` with discovered tool slugs |
| Bulk ops | `RUBE_REMOTE_WORKBENCH` with `run_composio_tool()` |
| Full schema | `RUBE_GET_TOOL_SCHEMAS` for tools with `schemaRef` |

---
*Powered by [Composio](https://composio.dev)*

Overview

This skill automates Tavily tasks through Composio's Tavily toolkit using the Rube MCP orchestration layer. It provides a clear workflow for discovering current tool schemas, managing Tavily connections, and executing multi-tool operations reliably. The skill emphasizes always searching tools first and validating connection status before running workflows.

How this skill works

The skill instructs agents to call RUBE_SEARCH_TOOLS first to retrieve available tool slugs, input schemas, and recommended execution plans. It then verifies the Tavily connection via RUBE_MANAGE_CONNECTIONS and runs operations with RUBE_MULTI_EXECUTE_TOOL (including an explicit memory object and session ID). It includes guidance for pagination, schema compliance, and session reuse across a workflow.

When to use it

  • When you need to run Tavily operations programmatically through Composio and Rube MCP.
  • When tool schemas may have changed and you must discover the latest inputs before calling a tool.
  • When coordinating multi-step Tavily workflows that require connection validation and session state.
  • When executing bulk or parallel Tavily jobs via RUBE_REMOTE_WORKBENCH or multi-execute calls.
  • When building agents that must be robust to schema changes and connection states.

Best practices

  • Always call RUBE_SEARCH_TOOLS at the start of each workflow to fetch current tool slugs and schemas.
  • Verify the Tavily connection is ACTIVE with RUBE_MANAGE_CONNECTIONS before executing any tools.
  • Send a memory object (even if empty) in RUBE_MULTI_EXECUTE_TOOL calls to satisfy the MCP contract.
  • Reuse a session_id for related operations; generate a new session for distinct workflows.
  • Respect exact field names and types from search results—do not hardcode arguments or rely on outdated schemas.
  • Handle pagination tokens in search responses and iterate until all results are retrieved.

Example use cases

  • Discover and run a Tavily data transformation tool: search tools, validate connection, then execute with schema-compliant args.
  • Automate bulk Tavily tasks using RUBE_REMOTE_WORKBENCH and run_composio_tool() for parallel processing.
  • Create an agent that orchestrates a multi-step Tavily workflow, reusing a session_id and preserving memory across steps.
  • Fetch full tool schemas with RUBE_GET_TOOL_SCHEMAS when building integration tests or developer tooling.
  • Recover gracefully from connection issues by guiding users through the auth link returned by RUBE_MANAGE_CONNECTIONS.

FAQ

Do I need API keys to use Rube MCP?

No API keys are required; add https://rube.app/mcp as an MCP server endpoint in your client configuration.

What if a tool schema changes mid-workflow?

Always call RUBE_SEARCH_TOOLS before each new workflow or critical step to get the latest schema; validate inputs against returned schemas.

Can I omit the memory parameter in multi-execute calls?

No. Include a memory object ({} if empty) in RUBE_MULTI_EXECUTE_TOOL calls to comply with MCP expectations.