List Available Tools

from observee_agents import list_tools

tools = list_tools(observee_api_key="obs_your_key_here")
print(f"Found {len(tools)} tools")

for tool in tools[:5]:  # Show first 5
    print(f"- {tool['name']}: {tool['description']}")

Filter Tools

Find relevant tools for specific tasks:

from observee_agents import filter_tools

# Find email tools
email_tools = filter_tools(
    query="email management",
    max_tools=5,
    observee_api_key="obs_your_key_here"
)

for tool in email_tools:
    print(f"- {tool['name']} (score: {tool['relevance_score']})")

Get Tool Information

from observee_agents import get_tool_info

tool_info = get_tool_info(
    tool_name="youtube_get_transcript",
    observee_api_key="obs_your_key_here"
)

if tool_info:
    print(f"Tool: {tool_info['name']}")
    print(f"Description: {tool_info['description']}")
    print(f"Parameters: {tool_info['parameters']}")

Execute Tools Directly

Run tools without LLM conversation:

from observee_agents import execute_tool

result = execute_tool(
    tool_name="youtube_get_transcript",
    tool_input={"video_url": "https://youtube.com/watch?v=example"},
    observee_api_key="obs_your_key_here"
)

print(result)

Filter Types

BM25 Filter (Default)

  • Speed: ⚡ 1-5ms
  • Best for: Keyword matching, production use
  • Dependencies: None
tools = filter_tools(
    query="gmail email",
    filter_type="bm25"
)

Local Embedding Filter

  • Speed: ⚡ 10ms
  • Best for: Semantic search, offline use
  • Dependencies: pip install mcp-agents[embedding]
tools = filter_tools(
    query="help me be productive",
    filter_type="local_embedding"
)

Cloud Filter

  • Speed: 🐌 300-400ms
  • Best for: Highest accuracy
  • Dependencies: pip install mcp-agents[cloud]
  • Requirements: PINECONE_API_KEY, OPENAI_API_KEY
tools = filter_tools(
    query="complex analytical task",
    filter_type="cloud"
)

Available Tools

The SDK provides access to tools including:

  • 📧 Gmail: Email management, search, compose
  • 🎥 YouTube: Video transcript retrieval
  • 📋 Linear: Project management, issues
  • 💬 Slack: Messaging, channels, files
  • 📝 Notion: Database queries, page creation
  • 🔍 Brave Search: Web search
  • 📅 Google Calendar: Event management
  • 📄 Google Docs: Document creation and editing
  • 💾 Google Drive: File management
  • 📊 Google Sheets: Spreadsheet operations
  • And many more…

Examples

Find Tools for Email

email_tools = filter_tools(
    query="email management gmail",
    max_tools=3
)

for tool in email_tools:
    print(f"📧 {tool['name']}: {tool['description']}")

Find Tools for Content Creation

content_tools = filter_tools(
    query="youtube video transcript content",
    max_tools=5
)

for tool in content_tools:
    print(f"🎥 {tool['name']}: {tool['description']}")

Execute Multiple Tools

# Get YouTube transcript
transcript = execute_tool(
    tool_name="youtube_get_transcript",
    tool_input={"video_url": "https://youtube.com/watch?v=example"}
)

# Create Linear issue
issue = execute_tool(
    tool_name="linear_create_issue",
    tool_input={
        "title": "Video Summary",
        "description": transcript["result"]
    }
)

Best Practices

  1. Use appropriate filtering: BM25 for keywords, embeddings for semantic search
  2. Limit tool count: Use max_tools to control performance
  3. Check tool availability: Not all tools may be available in your account
  4. Handle errors: Tools may fail due to authentication or API limits

Next Steps