mcp-memory-libsql
by spences10
Verified
- docs
# Tool Discovery and Aliases
The Google Workspace MCP server provides several features to make tools more discoverable and easier to use:
## Tool Categories
Tools are organized into logical categories with clear dependencies:
### Account Management (Required First)
- Authentication and account management
- list_workspace_accounts (foundation for all operations)
- authenticate_workspace_account
- remove_workspace_account
### Gmail Management
- Messages
- search_workspace_emails
- send_workspace_email
- get_workspace_gmail_settings
- manage_workspace_draft
- Labels
- manage_workspace_label
- manage_workspace_label_assignment
- manage_workspace_label_filter
### Calendar Management
- Events
- list_workspace_calendar_events
- get_workspace_calendar_event
- manage_workspace_calendar_event
- create_workspace_calendar_event
- delete_workspace_calendar_event
### Drive Management
- Files
- list_drive_files
- search_drive_files
- upload_drive_file
- download_drive_file
- Folders
- create_drive_folder
- Permissions
- update_drive_permissions
- Operations
- delete_drive_file
IMPORTANT: The list_workspace_accounts tool MUST be called before any other workspace operations to:
1. Check for existing authenticated accounts
2. Determine which account to use if multiple exist
3. Verify required API scopes are authorized
## Tool Aliases
Most tools support multiple aliases for more intuitive usage. For example:
```javascript
// All of these are equivalent:
create_workspace_label
create_label
new_label
create_gmail_label
```
## Improved Error Messages
When a tool name is not found, the server provides helpful suggestions:
```
Tool 'create_gmail_lable' not found.
Did you mean:
- create_workspace_label (Gmail/Labels)
Aliases: create_label, new_label, create_gmail_label
Available categories:
- Gmail/Labels: create_label, update_label, delete_label
- Gmail/Messages: send_email, search_emails
- Calendar/Events: create_event, update_event, delete_event
```
## Tool Metadata
Each tool includes:
- Category: Logical grouping for organization
- Aliases: Alternative names for the tool
- Description: Detailed usage information
- Input Schema: Required and optional parameters
## Best Practices
1. Use the most specific tool name when possible
2. Check error messages for similar tool suggestions
3. Use the list_workspace_tools command to see all available tools
4. Refer to tool categories for related functionality
## Examples
### Creating a Label
```javascript
// Any of these work:
create_workspace_label({
email: "user@example.com",
name: "Important/Projects",
messageListVisibility: "show",
labelListVisibility: "labelShow",
color: {
textColor: "#000000",
backgroundColor: "#E7E7E7"
}
})
create_label({
email: "user@example.com",
name: "Important/Projects"
})
```
### Creating a Label Filter
```javascript
// Create a filter to automatically label incoming emails
create_workspace_label_filter({
email: "user@example.com",
labelId: "Label_123",
criteria: {
from: ["team@company.com"],
subject: "Project Update",
hasAttachment: true
},
actions: {
addLabel: true,
markImportant: true
}
})
```
### Managing Message Labels
```javascript
// Add/remove labels from a message
modify_workspace_message_labels({
email: "user@example.com",
messageId: "msg_123",
addLabelIds: ["Label_123"],
removeLabelIds: ["UNREAD"]
})
```
### Sending an Email
```javascript
// These are equivalent:
send_workspace_email({
email: "user@example.com",
to: ["recipient@example.com"],
subject: "Hello",
body: "Message content",
cc: ["cc@example.com"]
})
send_email({
email: "user@example.com",
to: ["recipient@example.com"],
subject: "Hello",
body: "Message content"
})
```
## Future Improvements
- Category descriptions and documentation
- Tool relationship mapping
- Common usage patterns and workflows
- Interactive tool discovery
- Workflow templates for common tasks
- Error handling best practices
- Performance optimization guidelines
- Security and permission management