← Back to Skills
DevOps

danube-tools

preston-thiele By preston-thiele 👁 13 views ▲ 0 votes

Use Danube's 100+ API tools (Gmail, GitHub, Notion, etc.)

GitHub
---
name: tools-marketplace
description: All your tools. None of your passwords. Use Danube's API tools (Gmail, GitHub, Notion, etc.) through MCP. Search for tools, check authentication, execute with parameters, and handle errors gracefully.
license: MIT
compatibility: openclaw
metadata:
  author: danube
  version: "1.0.0"
  tags: [danube, mcp, apis, tools]
---

# Using Danube Tools

All your tools. None of your passwords. Connect to Gmail, GitHub, Notion, Google Calendar, and more through Danube's MCP integration.

**Setup:** If not configured yet, run `bash scripts/setup.sh` to add Danube MCP to OpenClaw.

## When to Use

Use Danube when users want to:
- Send emails, create issues, manage calendars
- Interact with cloud services (GitHub, Notion, Google Drive)
- Execute any external API action

**Don't use for:** Local file operations, calculations, or non-API tasks.

## Core Workflow

Every tool interaction follows this pattern:

### 1. Search for Tools

Use `search_tools()` with natural language:

```python
search_tools("send email")        # β†’ Gmail, Outlook
search_tools("create github issue") # β†’ GitHub - Create Issue
search_tools("calendar events")   # β†’ Google Calendar
```

### 2. Check Authentication

If tool requires credentials, guide user to connect:

```
"To use Gmail, you need to connect your account first.

Visit: https://danubeai.com/dashboard
1. Go to Tools section
2. Find Gmail and click 'Connect'
3. Follow the OAuth flow

Let me know when you're ready!"
```

**Always check auth BEFORE attempting execution.**

### 3. Gather Parameters

Ask for missing required parameters:

```
User: "Send an email"
You: "I can help! I need:
     - Who should I send it to?
     - What's the subject?
     - What should the message say?"
```

### 4. Execute Tool

```python
execute_tool(
  tool_id="gmail-send-email-uuid",
  parameters={
    "to": "[email protected]",
    "subject": "Meeting",
    "body": "Confirming our 2pm meeting."
  }
)
```

### 5. Handle Response

**Success:**
```
"βœ… Email sent successfully to [email protected]!"
```

**Auth Error:**
```
"πŸ” Authentication failed. Reconnect Gmail at:
https://danubeai.com/dashboard β†’ Tools β†’ Gmail"
```

**Other Error:**
```
"⚠️ Failed: [error]. Let me help troubleshoot..."
```

## Common Patterns

### Email Tools
```
User: "Email [email protected] about the project"

1. search_tools("send email") β†’ Find Gmail
2. Check Gmail authentication
3. Extract: to="[email protected]", subject="Project"
4. Ask: "What should the message say?"
5. Confirm: "I'll send email to [email protected]. Proceed?"
6. execute_tool()
7. Report: "βœ… Email sent!"
```

### GitHub Tools
```
User: "Create issue about the login bug"

1. search_tools("github create issue")
2. Check GitHub authentication
3. Ask: "Which repository?"
4. Ask: "Describe the bug?"
5. execute_tool()
6. Report: "βœ… Issue created: [link]"
```

### Calendar Tools
```
User: "What's on my calendar today?"

1. search_tools("calendar events")
2. Check authentication
3. execute_tool(date=today)
4. Format results:
   "Here's your schedule:
   β€’ 9:00 AM - Team standup
   β€’ 2:00 PM - Client meeting"
```

## Best Practices

### βœ… Do:
- **Search first** - Always use `search_tools()`, don't assume tool IDs
- **Check auth** - Verify credentials before execution
- **Confirm actions** - Get user approval for emails, issues, etc.
- **Be specific** - "Email sent to [email protected]" not just "Done"
- **Handle errors** - Provide solutions, not just error messages

### ❌ Don't:
- Assume tool IDs without searching
- Auto-execute without confirmation
- Give vague responses like "Error" or "Done"
- Skip authentication checks

## Available Tools

| Tool | Purpose |
|------|---------|
| `list_services` | Browse available services |
| `search_tools` | Find tools by query |
| `get_service_tools` | List tools for a service |
| `execute_tool` | Run tool with parameters |
| `search_contacts` | Find user's contacts |

## Error Handling

**Authentication (401):**
```
"πŸ” [Service] requires authentication.
Visit https://danubeai.com/dashboard β†’ Tools β†’ [Service] β†’ Connect"
```

**Missing Parameters:**
```
"I need:
β€’ [param1]: [description]
β€’ [param2]: [description]"
```

**Rate Limit:**
```
"⚠️ Hit rate limit for [Service].
β€’ Try again in a few minutes
β€’ Use alternative service
β€’ Break into smaller batches"
```

## Multi-Step Workflows

Some tasks need multiple tools:

```
User: "Email me a summary of today's GitHub commits"

1. search_tools("github commits") β†’ Get tool
2. execute_tool() β†’ Fetch commits
3. Format into summary
4. search_tools("send email") β†’ Get Gmail
5. execute_tool() β†’ Send email
6. Report: "βœ… Sent summary of 5 commits!"
```

## Communication Templates

**Request Auth:**
```
"To use [Service], connect your account:
1. Visit https://danubeai.com/dashboard
2. Tools β†’ [Service] β†’ Connect
3. Come back when ready!"
```

**Confirm Execution:**
```
"I'll [action] using [Tool].
Parameters: [list]
Proceed?"
```

**Report Success:**
```
"βœ… Done!
[Specific result]
[Link if applicable]"
```

## Quick Reference

**Workflow:**
```
1. User requests action
2. search_tools() β†’ Find tool
3. Check authentication β†’ Guide if needed
4. Gather parameters β†’ Ask for missing info
5. Confirm β†’ Get approval
6. execute_tool() β†’ Run it
7. Report β†’ Success or error
```

**Key URLs:**
- **MCP Server:** https://mcp.danubeai.com/mcp
- **Dashboard:** https://danubeai.com/dashboard
- **Connect Services:** https://danubeai.com/dashboard β†’ Tools

**Debug:**
- Check API key: `cat ~/.openclaw/.env | grep DANUBE`
- Restart: `openclaw gateway restart`
- Check errors: `openclaw doctor`
devops

Comments

Sign in to leave a comment

Loading comments...