Simplified MCP Server
The Simplified MCP Server enables LLMs to manage social media accounts and create posts across multiple platforms via Simplified's API, and dynamically execute custom workflows.
Retrieve Social Media Accounts: Fetch connected accounts, optionally filtered by platform (Facebook, Instagram, Twitter, LinkedIn, TikTok, YouTube, Pinterest, Threads, Google Business Profile, Bluesky).
Create Social Media Posts: Publish, schedule, queue, or draft posts with:
Text content (up to 5,000 characters)
Media attachments (up to 10 image/video URLs)
Scheduled publishing with a specific date/time
Three action modes:
schedule,add_to_queue, ordraft
Platform-Specific Settings:
Google Business Profile: Topic types, coupon codes, call-to-action URLs
TikTok: Privacy status, brand content flags, duet/stitch/comment permissions
YouTube: Video title, license, privacy status, made-for-kids, post type
Instagram: Post type (post, reel, story), audio name, share-to-feed
Pinterest: Destination links, titles, image alt text
LinkedIn: Audience visibility (PUBLIC, CONNECTIONS, LOGGED_IN_MEMBERS)
Facebook: Post type (story, feed, reel)
Threads: Publishing channel
Additional Metadata: Hashtags (up to 30), mentions (up to 20), location tags, and sharing/comment settings.
Dynamic Workflow Tools (when enabled): Automatically discover and register external business processes (e.g., data pipelines, ML workflows) as MCP tools, execute them with custom inputs, and monitor their status via a dedicated workflow-status-check tool. Supports filtering by name patterns, configurable discovery intervals, execution timeouts, and concurrency limits.
Allows managing Bluesky social media accounts and creating posts with platform-specific settings.
Enables management of Facebook accounts and creation of posts with content type specification through the postType parameter.
Provides integration with Google Business Profile for creating business posts with enhanced features like CTAs, offers, and coupon codes.
Supports Instagram account management and post creation with specialized features for Reels including audio selection and feed sharing options.
Enables Pinterest account management and pin creation with support for destination links, titles, and image accessibility settings.
Allows management of Threads accounts and creation of posts with channel specification options.
Provides TikTok account management and video posting with content settings including privacy controls, brand content flags, and engagement settings.
Supports YouTube account management and video uploading with metadata configuration, content settings, and compliance options.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Simplified MCP Servercreate a post on LinkedIn about our new product launch"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Simplified MCP Server
A Model Context Protocol (MCP) server that provides seamless integration between Claude, Cursor, Kiro ( and other MCP supported platforms) and Simplified's API. This server enables LLMs to interact with Simplified's services through standardized MCP tools, allowing for social media account management and post creation across multiple platforms.
Features
Full MCP Protocol Support: Built using the official @modelcontextprotocol/sdk
Social Media Management: Comprehensive social media account and post management
Multi-Platform Support: Support for Facebook, Instagram, Twitter, LinkedIn, TikTok, YouTube, Pinterest, Threads, Google Business Profile, and Bluesky
Type-Safe Implementation: Written in TypeScript with full type safety
Robust Error Handling: Comprehensive error handling with detailed error messages
Configurable Logging: Adjustable logging levels for debugging and monitoring
Platform-Specific Features: Advanced platform-specific settings for Google Business Profile, TikTok, YouTube, Instagram, and more
Scheduling Support: Create scheduled posts with platform-specific settings
Authentication Management: Secure API token handling with automatic retry logic
Related MCP server: MCP Twitter
Installation
Prerequisites
Node.js 18.0.0 or higher
npm 8.0.0 or higher
Install from NPM
npm install -g simplified-mcp-serverInstall from Source
git clone https://github.com/celeryhq/simplified-mcp-server.git
cd simplified-mcp-server
npm install
npm run buildpack DXT file
npm install -g @anthropic-ai/dxt
npx @anthropic-ai/dxt pack Configuration
The server is configured using environment variables. Create a .env file in your project root or set these variables in your environment:
Required Configuration
Variable | Description | Example |
| Your Simplified API token |
|
Optional Configuration
Variable | Description | Default | Options |
| Simplified API base URL |
| Any valid URL |
| Logging verbosity level |
|
|
| API request timeout (ms) |
| Any positive number |
| Number of retry attempts |
| Any non-negative number |
| Delay between retries (ms) |
| Any positive number |
Workflow Tool Configuration
The server supports dynamic workflow tools that automatically discover and register tools based on available workflows. This feature is disabled by default and can be enabled through environment variables.
Variable | Description | Default | Range/Options |
| Enable dynamic workflow tools |
|
|
| Auto-refresh interval (ms) |
|
|
| Execution timeout (ms) |
|
|
| Max concurrent executions |
|
|
| Comma-separated name patterns | `` (none) | Wildcard patterns |
| Status polling interval (ms) |
|
|
| Retry attempts for failures |
|
|
Example Configuration
# Required
SIMPLIFIED_API_TOKEN=sk_live_your_token_here
# Optional - Basic Configuration
SIMPLIFIED_API_BASE_URL=https://api.simplified.com
LOG_LEVEL=info
REQUEST_TIMEOUT=30000
RETRY_ATTEMPTS=3
RETRY_DELAY=1000
# Optional - Workflow Configuration
WORKFLOWS_ENABLED=true
WORKFLOW_DISCOVERY_INTERVAL=300000
WORKFLOW_EXECUTION_TIMEOUT=600000
WORKFLOW_MAX_CONCURRENT_EXECUTIONS=10
WORKFLOW_FILTER_PATTERNS=data-*,report-*
WORKFLOW_STATUS_CHECK_INTERVAL=5000
WORKFLOW_RETRY_ATTEMPTS=3Environment-Specific Configuration Examples
Development Environment
# Development settings for faster feedback
WORKFLOWS_ENABLED=true
WORKFLOW_DISCOVERY_INTERVAL=60000 # 1 minute refresh
WORKFLOW_EXECUTION_TIMEOUT=120000 # 2 minute timeout
WORKFLOW_MAX_CONCURRENT_EXECUTIONS=5 # Lower concurrency
WORKFLOW_STATUS_CHECK_INTERVAL=2000 # 2 second polling
WORKFLOW_RETRY_ATTEMPTS=1 # Fewer retries
LOG_LEVEL=debugProduction Environment
# Production settings for stability and performance
WORKFLOWS_ENABLED=true
WORKFLOW_DISCOVERY_INTERVAL=600000 # 10 minute refresh
WORKFLOW_EXECUTION_TIMEOUT=600000 # 10 minute timeout
WORKFLOW_MAX_CONCURRENT_EXECUTIONS=20 # Higher concurrency
WORKFLOW_STATUS_CHECK_INTERVAL=10000 # 10 second polling
WORKFLOW_RETRY_ATTEMPTS=5 # More retries
LOG_LEVEL=warnUsage
Programmatic Usage
import { SimplifiedMCPServer } from 'simplified-mcp-server';
import { ConfigurationManager } from 'simplified-mcp-server/config';
async function startServer() {
const config = ConfigurationManager.loadConfig();
const server = new SimplifiedMCPServer(config);
await server.start();
}
startServer().catch(console.error);Integration with Claude
Add the server to your Claude MCP configuration:
{
"mcpServers": {
"simplified": {
"command": "node",
"args": [
"{PATH_TO_CLONED_REPOSITORY}/dist/cli.js",
"start"
],
"env": {
"SIMPLIFIED_API_TOKEN": "your_token_here",
"SIMPLIFIED_API_BASE_URL": "https://api.simplified.com",
"LOG_LEVEL": "info",
"WORKFLOWS_ENABLED": "true",
"WORKFLOW_EXECUTION_TIMEOUT": "600000"
}
}
}
}Install DXT extension:
Extensions -> Advanced settings -> Install Extension...
Choose simplified-mcp.dxt file. Add your token.
Integration with Kiro
Add the server to your Kiro MCP configuration:
{
"mcpServers": {
"simplified": {
"command": "simplified-mcp-server",
"env": {
"SIMPLIFIED_API_TOKEN": "your_token_here",
"WORKFLOWS_ENABLED": "true",
"WORKFLOW_DISCOVERY_INTERVAL": "300000",
"WORKFLOW_EXECUTION_TIMEOUT": "600000"
}
}
}
}Available Tools
The server provides comprehensive social media management tools with platform-specific features, plus dynamic workflow tools for extended functionality:
Generated Tools
The bulk of the server's tools are generated from the simplified-apikit OpenAPI specs. Run npm run generate:tools to regenerate them — it reads the specs from the path set in SIMPLIFIED_APIKIT_SPECS_PATH (defaulting to a local checkout of the simplified-apikit repo) and writes committed TypeScript descriptor files under src/tools/generated/. After upstream specs change, regenerate and commit the updated src/tools/generated/ files.
Tools are organized into groups, one per spec: social_media, smp_pm, celeryhq, image_tools, video_tools, audio_tools, comments, agent_notification. Each group can be toggled independently:
Variable | Description | Default |
| Enable/disable the |
|
| Enable/disable the |
|
| Enable/disable the |
|
| Enable/disable the |
|
| Enable/disable the |
|
| Enable/disable the |
|
| Enable/disable the |
|
| Enable/disable the |
|
Two optional variables provide default workspace-scoping headers used when a tool call omits them:
Variable | Description |
| Default organization ID sent as a request header |
| Default space ID sent as a request header |
Social Media Tools
Tools for managing social media accounts and posts.
get_social_media_accounts
Retrieve all connected social media accounts.
Parameters:
network(optional): Filter by platform (facebook, instagram, linkedin, tiktok, youtube, pinterest, threads, google, bluesky, tiktokBusiness)
Example:
{
"name": "get_social_media_accounts",
"arguments": {
"network": "instagram"
}
}create_social_media_post
Create a new social media post with platform-specific settings for Google, TikTok, Threads, YouTube, Facebook, LinkedIn, Instagram, and Pinterest.
Parameters:
message(required): Post message/content (1-5000 characters)accountId(required): Social media account IDaction(required): Action to perform (schedule, add_to_queue, draft)date(optional): Scheduled date for the post (format: YYYY-MM-DD HH:MM)media(optional): Array of media file URLs to attach (max 10 items)additional(optional): Platform-specific post settings and metadata
Basic Example:
{
"name": "create_social_media_post",
"arguments": {
"message": "Excited to announce our new product launch! 🚀",
"accountId": "acc_fb123",
"action": "schedule",
"date": "2024-01-22 12:00",
"media": [
"https://example.com/product-image.jpg",
"https://example.com/launch-video.mp4"
],
"additional": {}
}
}Media Files
The media parameter accepts an array of URL strings pointing to your media files:
{
"media": [
"https://example.com/image1.jpg",
"https://example.com/video.mp4",
"https://example.com/image2.png"
]
}Media Requirements:
Maximum 10 media files per post
URLs must be publicly accessible
Supported formats vary by platform (images: JPG, PNG, GIF; videos: MP4, MOV, etc.)
Platform-Specific Features
The additional parameter supports platform-specific configurations:
Google Business Profile
{
"additional": {
"google": {
"post": {
"title": "New Product Launch",
"topicType": "OFFER",
"couponCode": "LAUNCH20",
"callToActionUrl": "https://example.com/product",
"callToActionType": "SHOP",
"termsConditions": "Valid until end of month"
}
}
}
}TikTok / TikTok Business
{
"additional": {
"tiktok": {
"post": {
"brandContent": true,
"privacyStatus": "PUBLIC_TO_EVERYONE",
"duetDisabled": false,
"commentDisabled": false
},
"channel": { "value": "direct" },
"postType": { "value": "video" }
}
}
}YouTube
{
"additional": {
"youtube": {
"post": {
"title": "Product Launch Video",
"license": "standard",
"privacyStatus": "public",
"selfDeclaredMadeForKids": "no"
},
"postType": { "value": "short" }
}
}
}{
"additional": {
"instagram": {
"postReel": {
"audioName": "Trending Audio Track",
"shareToFeed": true
},
"postType": { "value": "reel" }
}
}
}{
"additional": {
"pinterest": {
"post": {
"link": "https://example.com/product",
"title": "Amazing Product",
"imageAlt": "Product showcase image"
}
}
}
}{
"additional": {
"linkedin": {
"audience": { "value": "PUBLIC" }
}
}
}{
"additional": {
"facebook": {
"postType": { "value": "feed" }
}
}
}Threads
{
"additional": {
"threads": {
"channel": { "value": "direct" }
}
}
}Dynamic Workflow Tools
The server supports dynamic workflow tools that automatically discover and register tools based on workflows provided by a workflows-list-tool. This feature enables the server to expose workflow-based functionality as standard MCP tools without requiring code changes.
Enabling Workflow Tools
To enable dynamic workflow tools, set the following environment variable:
WORKFLOWS_ENABLED=trueWhen enabled, the server will:
Query the
workflows-list-toolto discover available workflowsAutomatically register MCP tools for each discovered workflow
Handle workflow execution through standard MCP tool calls
Provide status checking capabilities for running workflows
Workflow Tool Discovery
The server discovers workflows by calling a workflows-list-tool that should return an array of workflow definitions. Each workflow must conform to this schema:
{
"id": "workflow-123",
"name": "Data Analysis Workflow",
"description": "Analyzes data and generates reports",
"category": "analytics",
"version": "1.0.0",
"inputSchema": {
"type": "object",
"properties": {
"dataset": {
"type": "string",
"description": "Path to the dataset file"
},
"format": {
"type": "string",
"enum": ["csv", "json", "xlsx"],
"description": "Data format"
}
},
"required": ["dataset"]
},
"executionType": "async",
"metadata": {
"estimatedDuration": "5-10 minutes",
"resourceRequirements": "medium"
}
}Using Workflow Tools
Once discovered, workflow tools appear in the standard MCP tools list and can be called like any other tool:
{
"name": "workflow-data-analysis-workflow",
"arguments": {
"dataset": "/path/to/data.csv",
"format": "csv"
}
}Workflow Execution Flow
Tool Call: MCP client calls a workflow tool with parameters
Execution Start: Server makes POST call to workflow execution endpoint
Status Polling: Server polls workflow status with minimum 1000ms intervals
Result Return: Server returns workflow results in standard MCP format
Example execution response:
{
"success": true,
"data": {
"workflowId": "workflow-123",
"executionId": "exec-456",
"status": "COMPLETED",
"results": {
"summary": "Analysis completed successfully",
"reportUrl": "https://example.com/report.pdf",
"metrics": {
"recordsProcessed": 10000,
"executionTime": "4m 32s"
}
}
}
}Workflow Status Checking
The server provides a built-in workflow-status-check tool for monitoring workflow executions:
{
"name": "workflow-status-check",
"arguments": {
"workflowId": "workflow-123",
"executionId": "exec-456"
}
}Status response includes:
Current execution status (RUNNING, COMPLETED, FAILED, CANCELLED)
Start and end times
Progress information (if available)
Input parameters and output results
Error details (if failed)
Workflow Configuration Options
Discovery and Refresh
# Enable automatic workflow discovery
WORKFLOWS_ENABLED=true
# Refresh workflows every 5 minutes (300000ms)
WORKFLOW_DISCOVERY_INTERVAL=300000Execution Management
# Set workflow execution timeout to 10 minutes
WORKFLOW_EXECUTION_TIMEOUT=600000
# Allow up to 15 concurrent workflow executions
WORKFLOW_MAX_CONCURRENT_EXECUTIONS=15
# Check workflow status every 3 seconds
WORKFLOW_STATUS_CHECK_INTERVAL=3000Workflow Filtering
# Only expose workflows matching these patterns
WORKFLOW_FILTER_PATTERNS=data-*,report-*,analysis-*
# This would expose workflows like:
# - data-processing-workflow
# - report-generation-workflow
# - analysis-customer-workflow
# But not:
# - admin-cleanup-workflow
# - test-workflowError Handling
# Retry failed workflow operations up to 5 times
WORKFLOW_RETRY_ATTEMPTS=5Workflow Tool Examples
Data Processing Workflow
{
"name": "workflow-data-processor",
"arguments": {
"inputFile": "sales-data-2024.csv",
"operations": ["clean", "aggregate", "analyze"],
"outputFormat": "json"
}
}Report Generation Workflow
{
"name": "workflow-monthly-report",
"arguments": {
"month": "2024-01",
"includeCharts": true,
"recipients": ["manager@company.com"],
"format": "pdf"
}
}Machine Learning Workflow
{
"name": "workflow-ml-training",
"arguments": {
"dataset": "customer-behavior.csv",
"algorithm": "random-forest",
"testSplit": 0.2,
"hyperparameters": {
"n_estimators": 100,
"max_depth": 10
}
}
}Platform-Specific Options Reference
Platform | Available Options | Description |
Google Business Profile |
| Business post enhancements with CTAs and offers |
TikTok/TikTok Business |
| Content settings and engagement controls |
YouTube |
| Video metadata and compliance settings |
| Reel-specific settings and feed sharing | |
| Pin destination and accessibility | |
| Professional audience targeting | |
| Content type specification | |
Threads |
| Publishing method |
Workflow Tools
Dynamic tools automatically generated from discovered workflows. These tools are only available when WORKFLOWS_ENABLED=true.
workflow-status-check
Check the status of a running workflow execution.
Parameters:
workflowId(required): The original workflow IDexecutionId(required): The workflow execution ID (UUID)
Example:
{
"name": "workflow-status-check",
"arguments": {
"workflowId": "data-processor-v2",
"executionId": "8f496b6a-c905-41bb-b7b7-200a8982ab30"
}
}Response:
{
"success": true,
"data": {
"status": "RUNNING",
"progress": 65,
"startTime": 1753703781802,
"estimatedCompletion": "2024-01-22T12:45:00Z",
"input": {
"dataset": "sales-data.csv",
"format": "csv"
},
"output": null
}
}Dynamic Workflow Tools
Each discovered workflow becomes an individual MCP tool with the naming pattern workflow-{workflow-name}. The tool parameters are dynamically generated based on the workflow's input schema.
Example Workflow Tools:
workflow-data-analysis- Analyze datasets and generate insightsworkflow-report-generator- Create automated reportsworkflow-image-processor- Process and transform imagesworkflow-email-campaign- Send targeted email campaignsworkflow-backup-system- Perform system backups
Dynamic Tool Example:
{
"name": "workflow-customer-segmentation",
"arguments": {
"customerData": "customers-2024.csv",
"segmentationCriteria": ["age", "purchase_history", "location"],
"outputFormat": "json",
"includeVisualization": true
}
}Dynamic Tool Response:
{
"success": true,
"data": {
"executionId": "exec-789",
"status": "COMPLETED",
"results": {
"segments": [
{
"name": "High Value Customers",
"count": 1250,
"criteria": "age: 25-45, purchases: >$500/month"
},
{
"name": "Occasional Buyers",
"count": 3400,
"criteria": "age: 18-65, purchases: $50-$500/month"
}
],
"visualizationUrl": "https://example.com/segments-chart.png",
"executionTime": "3m 45s"
}
}
}Error Handling
The server provides comprehensive error handling with detailed error messages:
Error Types
Configuration Errors: Missing or invalid configuration
Authentication Errors: Invalid or expired API tokens
API Errors: Errors from Simplified's API
Tool Execution Errors: Errors during tool execution
Validation Errors: Invalid tool parameters
Workflow Discovery Errors: Issues discovering or validating workflows
Workflow Execution Errors: Failures during workflow execution
Workflow Timeout Errors: Workflow execution exceeding timeout limits
Error Response Format
{
"success": false,
"error": "Error message",
"details": {
"type": "AUTHENTICATION_ERROR",
"code": 401,
"timestamp": "2024-01-01T00:00:00.000Z"
}
}Workflow-Specific Error Examples
Workflow Discovery Error
{
"success": false,
"error": "Failed to discover workflows",
"details": {
"type": "WORKFLOW_DISCOVERY_ERROR",
"message": "workflows-list-tool is not available",
"timestamp": "2024-01-01T00:00:00.000Z",
"retryAfter": 300
}
}Workflow Execution Error
{
"success": false,
"error": "Workflow execution failed",
"details": {
"type": "WORKFLOW_EXECUTION_ERROR",
"workflowId": "data-processor",
"executionId": "exec-123",
"status": "FAILED",
"message": "Invalid input format: expected CSV, got JSON",
"timestamp": "2024-01-01T00:00:00.000Z"
}
}Workflow Timeout Error
{
"success": false,
"error": "Workflow execution timed out",
"details": {
"type": "WORKFLOW_TIMEOUT_ERROR",
"workflowId": "long-running-analysis",
"executionId": "exec-456",
"timeout": 300000,
"elapsed": 300001,
"timestamp": "2024-01-01T00:00:00.000Z"
}
}Development
Building from Source
git clone https://github.com/celeryhq/simplified-mcp-server.git
cd simplified-mcp-server
npm install
npm run buildRunning Tests
# Run all tests
npm test
# Run tests with coverage
npm run test:coverage
# Run tests in watch mode
npm run test:watchDevelopment Mode
# Start in development mode with auto-reload
npm run dev
# Start in development mode with watch
npm run dev:watchProject Structure
simplified-mcp-server/
├── src/
│ ├── index.ts # Main entry point
│ ├── server.ts # MCP server implementation
│ ├── cli.ts # Command line interface
│ ├── config/
│ │ └── configuration.ts # Configuration management
│ ├── tools/
│ │ ├── registry.ts # Tool registry
│ │ ├── definitions.ts # Tool definition utilities
│ │ └── implementations/ # Tool implementations
│ │ ├── social-media-tools.ts # Social media management tools
│ │ └── index.ts # Tool exports
│ ├── api/
│ │ └── client.ts # Simplified API client
│ ├── utils/
│ │ ├── errors.ts # Error handling utilities
│ │ └── logger.ts # Logging utilities
│ └── types/
│ └── index.ts # TypeScript type definitions
├── tests/ # Test files
├── dist/ # Compiled JavaScript
└── docs/ # DocumentationWorkflow Configuration Guide
Understanding Workflow Tools
Workflow tools extend the server's capabilities by automatically discovering and registering tools based on external workflow definitions. This allows you to expose complex business processes, data pipelines, and automation workflows as simple MCP tools.
Configuration Parameters Explained
WORKFLOWS_ENABLED
Purpose: Master switch for workflow functionality
Default: false
Recommendation: Set to true only when you have a workflows-list-tool available
# Enable workflow tools
WORKFLOWS_ENABLED=trueWORKFLOW_DISCOVERY_INTERVAL
Purpose: How often to refresh the list of available workflows
Default: 0 (disabled)
Range: 0-86400000 ms (0 = disabled, max = 24 hours)
Recommendation:
Development:
60000(1 minute) for rapid iterationProduction:
600000(10 minutes) for stabilitySet to
0if workflows rarely change
# Refresh every 5 minutes
WORKFLOW_DISCOVERY_INTERVAL=300000
# Disable automatic refresh
WORKFLOW_DISCOVERY_INTERVAL=0WORKFLOW_EXECUTION_TIMEOUT
Purpose: Maximum time to wait for workflow completion
Default: 300000 ms (5 minutes)
Range: 1000-3600000 ms (1 second to 1 hour)
Recommendation: Set based on your longest-running workflow
# For quick workflows (e.g., data validation)
WORKFLOW_EXECUTION_TIMEOUT=30000
# For long workflows (e.g., ML training)
WORKFLOW_EXECUTION_TIMEOUT=1800000WORKFLOW_MAX_CONCURRENT_EXECUTIONS
Purpose: Limit simultaneous workflow executions to prevent resource exhaustion
Default: 10
Range: 1-100
Recommendation:
Development:
3-5for resource-constrained environmentsProduction:
10-20based on server capacity
# Conservative limit for development
WORKFLOW_MAX_CONCURRENT_EXECUTIONS=3
# Higher limit for production
WORKFLOW_MAX_CONCURRENT_EXECUTIONS=20WORKFLOW_FILTER_PATTERNS
Purpose: Control which workflows are exposed as tools
Default: `` (empty - all workflows exposed)
Format: Comma-separated wildcard patterns
Examples:
# Only expose data-related workflows
WORKFLOW_FILTER_PATTERNS=data-*
# Multiple patterns
WORKFLOW_FILTER_PATTERNS=data-*,report-*,analysis-*
# Exclude test workflows
WORKFLOW_FILTER_PATTERNS=*,-test-*,-dev-*
# Expose all workflows (default)
WORKFLOW_FILTER_PATTERNS=WORKFLOW_STATUS_CHECK_INTERVAL
Purpose: How often to poll workflow status during execution
Default: 5000 ms (5 seconds)
Range: 1000-300000 ms (1 second to 5 minutes)
Recommendation: Balance between responsiveness and API load
# Frequent polling for interactive workflows
WORKFLOW_STATUS_CHECK_INTERVAL=2000
# Less frequent polling to reduce API load
WORKFLOW_STATUS_CHECK_INTERVAL=10000WORKFLOW_RETRY_ATTEMPTS
Purpose: Number of retry attempts for failed workflow operations
Default: 3
Range: 0-10
Recommendation:
Development:
1for faster failure feedbackProduction:
3-5for reliability
# No retries for testing
WORKFLOW_RETRY_ATTEMPTS=0
# More retries for production reliability
WORKFLOW_RETRY_ATTEMPTS=5Configuration Best Practices
Development Environment
# Fast feedback, lower resource usage
WORKFLOWS_ENABLED=true
WORKFLOW_DISCOVERY_INTERVAL=60000
WORKFLOW_EXECUTION_TIMEOUT=120000
WORKFLOW_MAX_CONCURRENT_EXECUTIONS=3
WORKFLOW_STATUS_CHECK_INTERVAL=2000
WORKFLOW_RETRY_ATTEMPTS=1
WORKFLOW_FILTER_PATTERNS=dev-*,test-*
LOG_LEVEL=debugProduction Environment
# Stability and performance focused
WORKFLOWS_ENABLED=true
WORKFLOW_DISCOVERY_INTERVAL=600000
WORKFLOW_EXECUTION_TIMEOUT=600000
WORKFLOW_MAX_CONCURRENT_EXECUTIONS=15
WORKFLOW_STATUS_CHECK_INTERVAL=5000
WORKFLOW_RETRY_ATTEMPTS=3
WORKFLOW_FILTER_PATTERNS=prod-*
LOG_LEVEL=warnTesting Environment
# Predictable behavior for tests
WORKFLOWS_ENABLED=false
WORKFLOW_DISCOVERY_INTERVAL=0
WORKFLOW_EXECUTION_TIMEOUT=30000
WORKFLOW_MAX_CONCURRENT_EXECUTIONS=1
WORKFLOW_STATUS_CHECK_INTERVAL=1000
WORKFLOW_RETRY_ATTEMPTS=0
LOG_LEVEL=errorConfiguration Validation
The server validates all workflow configuration on startup and provides detailed error messages for invalid values:
# Example validation error
Configuration validation failed:
Invalid configuration values: workflowExecutionTimeout: Workflow execution timeout must be at least 1000ms (1 second)
Workflow configuration guidelines:
- Set WORKFLOW_DISCOVERY_INTERVAL to 0 to disable automatic refresh
- Use WORKFLOW_FILTER_PATTERNS to limit which workflows are exposed (e.g., "data-*,report-*")
- Minimum WORKFLOW_STATUS_CHECK_INTERVAL is 1000ms to avoid excessive API calls
- WORKFLOW_EXECUTION_TIMEOUT should be set based on your longest-running workflowsPerformance Considerations
API Rate Limiting
Set
WORKFLOW_DISCOVERY_INTERVALto at least 60 seconds to avoid rate limitsUse
WORKFLOW_STATUS_CHECK_INTERVALof at least 2 seconds for status pollingConsider the total API load: discovery + (concurrent executions × status checks)
Resource Management
Monitor memory usage with high
WORKFLOW_MAX_CONCURRENT_EXECUTIONSLong-running workflows may require increased
WORKFLOW_EXECUTION_TIMEOUTUse workflow filtering to reduce the number of registered tools
Monitoring Recommendations
# Enable detailed logging for monitoring
LOG_LEVEL=info
# Set reasonable limits
WORKFLOW_MAX_CONCURRENT_EXECUTIONS=10
WORKFLOW_EXECUTION_TIMEOUT=300000
# Monitor workflow performance
WORKFLOW_STATUS_CHECK_INTERVAL=5000Troubleshooting
Common Issues
Server Won't Start
Problem: Server fails to start with configuration error.
Solution:
Verify your
.envfile containsSIMPLIFIED_API_TOKENCheck that your API token is valid
Ensure Node.js version is 18.0.0 or higher
# Check Node.js version
node --version
# Verify environment variables
echo $SIMPLIFIED_API_TOKENAuthentication Errors
Problem: API calls fail with authentication errors.
Solution:
Verify your API token is correct and not expired
Check that the token has the necessary permissions
Ensure the API base URL is correct
Tool Execution Failures
Problem: Tools return errors or unexpected results.
Solution:
Check the tool parameters match the expected schema
Verify the API endpoint exists and is accessible
Check server logs for detailed error information
# Enable debug logging
LOG_LEVEL=debug simplified-mcp-serverConnection Issues
Problem: Cannot connect to Simplified API.
Solution:
Check your internet connection
Verify the API base URL is accessible
Check if there are any firewall restrictions
Use the health check tool to diagnose connectivity
Workflow Tool Issues
Problem: Workflow tools are not appearing in the tools list.
Solution:
Verify
WORKFLOWS_ENABLED=trueis set in your environmentCheck that the
workflows-list-toolis available and respondingVerify workflow definitions match the expected schema
Check server logs for workflow discovery errors
# Enable debug logging to see workflow discovery details
LOG_LEVEL=debug simplified-mcp-serverProblem: Workflow execution times out or fails.
Solution:
Increase
WORKFLOW_EXECUTION_TIMEOUTfor longer-running workflowsCheck workflow status using the
workflow-status-checktoolVerify workflow parameters match the expected schema
Check if the workflow execution system is available
# Increase timeout to 10 minutes for long workflows
WORKFLOW_EXECUTION_TIMEOUT=600000Problem: Too many concurrent workflow executions causing errors.
Solution:
Reduce
WORKFLOW_MAX_CONCURRENT_EXECUTIONSto limit resource usageImplement workflow queuing in your application
Monitor system resources during peak usage
# Limit to 5 concurrent executions
WORKFLOW_MAX_CONCURRENT_EXECUTIONS=5Problem: Workflow discovery is too frequent and causing API rate limits.
Solution:
Increase
WORKFLOW_DISCOVERY_INTERVALto reduce API callsSet to 0 to disable automatic discovery and use manual refresh
Implement workflow caching in your application
# Refresh workflows every 30 minutes instead of every 5 minutes
WORKFLOW_DISCOVERY_INTERVAL=1800000
# Or disable automatic discovery
WORKFLOW_DISCOVERY_INTERVAL=0Problem: Only some workflows are being discovered.
Solution:
Check
WORKFLOW_FILTER_PATTERNSconfigurationVerify workflow names match your filter patterns
Remove filters to see all available workflows
# Remove all filters to see all workflows
WORKFLOW_FILTER_PATTERNS=
# Or adjust patterns to include more workflows
WORKFLOW_FILTER_PATTERNS=*Debug Mode
Enable debug logging for detailed troubleshooting:
LOG_LEVEL=debug simplified-mcp-serverHealth Check
Use the built-in health check tool to verify server status:
{
"name": "simplified-health-check",
"arguments": {
"includeDetails": true
}
}Workflow Troubleshooting Guide
Workflow Discovery Issues
Symptom: No workflow tools appear in tools list despite WORKFLOWS_ENABLED=true
Diagnostic Steps:
Enable debug logging:
LOG_LEVEL=debugCheck server startup logs for workflow discovery messages
Verify
workflows-list-toolis available and responding
Common Causes & Solutions:
# Cause: workflows-list-tool not found
# Solution: Ensure the tool is properly registered and available
LOG_LEVEL=debug simplified-mcp-server
# Look for: "Workflow discovery failed: workflows-list-tool not found"
# Cause: Invalid workflow definitions
# Solution: Check workflow schema compliance
# Look for: "Skipping invalid workflow: missing required field 'name'"
# Cause: All workflows filtered out
# Solution: Check filter patterns
WORKFLOW_FILTER_PATTERNS= # Remove filters temporarilySymptom: Workflows discovered but tools not registered
Diagnostic Steps:
Check for tool name conflicts in logs
Verify workflow names are valid MCP tool names
Look for schema validation errors
Solutions:
# Enable detailed tool registration logging
LOG_LEVEL=debug
# Check for naming conflicts
# Look for: "Tool name conflict: workflow-data-processor already exists"
# Verify workflow names contain only valid characters
# Valid: data-processor, report_generator, analysis123
# Invalid: data processor, report-generator!, análisisWorkflow Execution Issues
Symptom: Workflow execution times out
Diagnostic Steps:
Check workflow execution logs
Verify workflow is actually running
Monitor workflow status manually
Solutions:
# Increase timeout for long-running workflows
WORKFLOW_EXECUTION_TIMEOUT=1800000 # 30 minutes
# Check workflow status manually
{
"name": "workflow-status-check",
"arguments": {
"workflowId": "your-workflow-id",
"executionId": "execution-uuid"
}
}
# Reduce status check interval for better monitoring
WORKFLOW_STATUS_CHECK_INTERVAL=2000Symptom: Workflow execution fails immediately
Diagnostic Steps:
Validate input parameters against workflow schema
Check workflow system availability
Verify API credentials and permissions
Solutions:
# Enable parameter validation logging
LOG_LEVEL=debug
# Check parameter schema compliance
# Look for: "Parameter validation failed: 'dataset' is required"
# Test workflow system connectivity
# Use workflow-status-check with a known execution IDPerformance Issues
Symptom: Server becomes slow or unresponsive
Diagnostic Steps:
Check concurrent execution count
Monitor memory and CPU usage
Review workflow discovery frequency
Solutions:
# Reduce concurrent executions
WORKFLOW_MAX_CONCURRENT_EXECUTIONS=5
# Increase discovery interval to reduce API load
WORKFLOW_DISCOVERY_INTERVAL=1800000 # 30 minutes
# Disable automatic discovery if not needed
WORKFLOW_DISCOVERY_INTERVAL=0
# Use workflow filtering to reduce tool count
WORKFLOW_FILTER_PATTERNS=essential-*,critical-*Symptom: Excessive API calls causing rate limiting
Solutions:
# Increase status check interval
WORKFLOW_STATUS_CHECK_INTERVAL=10000 # 10 seconds
# Reduce discovery frequency
WORKFLOW_DISCOVERY_INTERVAL=3600000 # 1 hour
# Limit concurrent executions
WORKFLOW_MAX_CONCURRENT_EXECUTIONS=3Configuration Issues
Symptom: Server fails to start with workflow configuration errors
Common Errors & Solutions:
# Error: "Workflow execution timeout must be at least 1000ms"
WORKFLOW_EXECUTION_TIMEOUT=30000 # Set to at least 1 second
# Error: "Status check interval must be at least 1000ms"
WORKFLOW_STATUS_CHECK_INTERVAL=2000 # Set to at least 1 second
# Error: "Maximum concurrent executions must be positive"
WORKFLOW_MAX_CONCURRENT_EXECUTIONS=5 # Set to positive number
# Error: "Discovery interval cannot exceed 24 hours"
WORKFLOW_DISCOVERY_INTERVAL=3600000 # Set to max 1 hourIntegration Issues
Symptom: Workflows work in testing but fail in production
Diagnostic Checklist:
Environment variable differences
Network connectivity and firewall rules
API endpoint availability
Resource limits and timeouts
Production Configuration Review:
# Ensure production-appropriate timeouts
WORKFLOW_EXECUTION_TIMEOUT=600000 # 10 minutes
WORKFLOW_STATUS_CHECK_INTERVAL=5000 # 5 seconds
WORKFLOW_DISCOVERY_INTERVAL=600000 # 10 minutes
# Set appropriate concurrency limits
WORKFLOW_MAX_CONCURRENT_EXECUTIONS=15
# Use production workflow filters
WORKFLOW_FILTER_PATTERNS=prod-*,live-*
# Enable appropriate logging
LOG_LEVEL=warn # Reduce log noise in productionDebug Commands
Enable Maximum Debugging:
LOG_LEVEL=debug
WORKFLOWS_ENABLED=true
WORKFLOW_DISCOVERY_INTERVAL=60000
WORKFLOW_STATUS_CHECK_INTERVAL=2000
WORKFLOW_RETRY_ATTEMPTS=1Test Workflow Discovery:
# Start server and look for these log messages:
# "Starting workflow discovery..."
# "Discovered X workflows"
# "Registered workflow tool: workflow-name"
# "Workflow discovery completed"Test Workflow Execution:
# Use a simple workflow first
{
"name": "workflow-simple-test",
"arguments": {
"input": "test-value"
}
}
# Monitor logs for:
# "Starting workflow execution: workflow-id"
# "Workflow status: RUNNING"
# "Workflow completed: execution-id"Getting Help
Check the logs: Enable debug logging to see detailed error information
Verify configuration: Ensure all required environment variables are set
Test connectivity: Use the health check and API status tools
Check API documentation: Verify endpoint paths and parameters
Test workflow tools: Start with simple workflows before complex ones
Monitor resources: Check memory and CPU usage during workflow execution
Report issues: Create an issue on the GitHub repository with logs and configuration details
API Reference
Server Configuration
The server accepts the following configuration options:
interface ServerConfig {
// Basic Configuration
apiToken: string; // Required: Simplified API token
apiBaseUrl: string; // Optional: API base URL
logLevel: 'debug' | 'info' | 'warn' | 'error'; // Optional: Log level
timeout: number; // Optional: Request timeout in ms
retryAttempts: number; // Optional: Number of retry attempts
retryDelay: number; // Optional: Delay between retries in ms
// Workflow Configuration
workflowsEnabled: boolean; // Optional: Enable workflow tools
workflowDiscoveryInterval: number; // Optional: Auto-refresh interval (ms)
workflowExecutionTimeout: number; // Optional: Execution timeout (ms)
workflowMaxConcurrentExecutions: number; // Optional: Max concurrent executions
workflowFilterPatterns: string[]; // Optional: Workflow name patterns
workflowStatusCheckInterval: number; // Optional: Status polling interval (ms)
workflowRetryAttempts: number; // Optional: Retry attempts for failures
}Tool Response Format
All tools return responses in the following format:
interface ToolResponse {
content: Array<{
type: 'text';
text: string; // JSON string containing the actual response data
}>;
}Success Response
{
"success": true,
"data": { /* response data */ },
"message": "Operation completed successfully"
}Error Response
{
"success": false,
"error": "Error description",
"details": { /* additional error information */ }
}Contributing
We welcome contributions! Please see our Contributing Guide for details.
Development Setup
Fork the repository
Clone your fork:
git clone https://github.com/your-username/simplified-mcp-server.gitInstall dependencies:
npm installCreate a feature branch:
git checkout -b feature/your-featureMake your changes and add tests
Run tests:
npm testBuild the project:
npm run buildCommit your changes:
git commit -m "Add your feature"Push to your fork:
git push origin feature/your-featureCreate a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
API Documentation: API Docs
Documentation: GitHub Wiki
Issues: GitHub Issues
Discussions: GitHub Discussions
Available Tools
104 toolsadd_b_rolls_videoC
Auto-add B-roll footage to a video
| Name | Required | Description | Default |
|---|---|---|---|
| asset | No | Asset ID of the source video (alternative to media_url). | |
| title | Yes | Title or topic of the video (used to source relevant B-roll). | |
| media_url | No | URL of the source video to add B-roll to. | |
| language_code | No | Language of the video content (e.g. "en", "es"). Default "en". | |
| should_export | No | Whether to export the final video. Default true. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the full burden of behavioral disclosure. It merely states 'auto-add' but does not explain whether the original video is modified, what happens to existing audio or visuals, or any side effects. Critical behaviors like idempotency, error handling, or resource requirements are omitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at 5 words, which is clear but too minimal. It sacrifices completeness for brevity. While it is well-structured (single sentence), it fails to provide enough context to be fully useful. A score of 3 reflects adequate conciseness with insufficient substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters and no output schema, the description should explain what the tool returns or confirms after adding B-roll. It does not specify the outcome (e.g., a new video ID, status, or modified asset). The description is incomplete for an agent to understand what happens after invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (all 5 parameters have descriptions). The tool description adds no additional meaning beyond the schema, e.g., it does not explain how 'title' is used to source B-roll. With high coverage, a baseline of 3 is appropriate; the description does not enhance understanding of parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Auto-add B-roll footage to a video' clearly identifies the verb (add), resource (B-roll footage), and target (a video). It distinguishes from sibling tools like merge_videos or convert_video_format by specifying 'B-roll', implying supplementary footage. However, it lacks explicit mention of automation or that the video already exists, which could be clearer.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as merge_videos or generate_video. There is no mention of prerequisites (e.g., existing video) or conditions that make this tool appropriate. The description provides only the core action without usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_commentC
Add a comment
| Name | Required | Description | Default |
|---|---|---|---|
| Space | No | Optional sub-space ID for further scoping inside the workspace. | |
| parent | No | Parent comment ID for threaded replies. Omit for a top-level comment. | |
| comment | Yes | Comment text. | |
| object_pk | Yes | UUID of the resource being commented on (the task ID for content_type=task, etc.). | |
| Organization | No | Workspace (organization) ID the request is scoped to. | |
| content_type | Yes | Commentable resource type. Currently supports `task`; other types (e.g. `document`, `project`) will be added as the commentable surface grows. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must stand alone. It only states 'Add a comment' without disclosing side effects, return values, permissions, or error scenarios. The agent cannot anticipate the behavior beyond the fact that a comment is created.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise (4 words) but at the cost of necessary context. While brevity is valued, the description omits critical information about the tool's scope and usage, making it under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 6 parameters, no output schema, and no annotations, the description is insufficient for an agent to use it correctly. It lacks any mention of the comment context, return value, or behavior. The high schema coverage partially compensates but the description should provide a summary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each parameter is well-documented with descriptions. The tool description adds nothing beyond the schema, so it meets the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Add a comment' essentially restates the tool name without specifying the target resource. It does not distinguish from other add-type tools. The schema shows it comments on resources like tasks, but the description alone lacks this context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives like list_comments or other comment tools. The description does not mention prerequisites, recommended contexts, or when to avoid.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_drafts_to_social_media_review_bundleA
Add drafts to an existing review bundle
| Name | Required | Description | Default |
|---|---|---|---|
| bundle_id | Yes | The ID of the existing review bundle to add drafts to. | |
| draft_ids | Yes | A non-empty list of draft IDs to add to the bundle. Get IDs via `getSocialMediaDrafts`. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It simply states the action without disclosing side effects, such as how duplicates are handled, whether the bundle is modified, any limits on number of drafts, or if the operation is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words, directly communicating the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The input schema thoroughly describes both parameters. The description is adequate for a simple add operation, but behavioral context is missing. For a tool with 2 required params and no output schema, it is mostly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by instructing to get draft IDs via getSocialMediaDrafts, which goes beyond the schema description. No additional info for bundle_id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Add drafts to an existing review bundle', specifying verb (add), resource (drafts), and target (existing review bundle). It distinguishes from siblings like create_social_media_review_bundle and get_social_media_drafts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool vs alternatives. The input schema hints at using getSocialMediaDrafts to obtain draft IDs, but there is no guidance on prerequisites or when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_task_dependencyC
Add a dependency to a task
| Name | Required | Description | Default |
|---|---|---|---|
| Space | No | Optional sub-space ID for further scoping inside the workspace. | |
| task_id | Yes | ||
| Organization | No | Workspace (organization) ID the request is scoped to. | |
| relation_type | No | BLOCKS | |
| target_task_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description only says 'Add a dependency to a task'. It fails to disclose prerequisites, side effects, or errors, leaving behavioral traits opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and to the point, but could be enhanced with additional context without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description is too sparse. It does not cover the essential context needed for an AI agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 5 parameters with 40% description coverage. The tool description adds no extra meaning to parameters like relation_type, relying solely on the schema which is insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool adds a dependency to a task, but does not differentiate from sibling tools like remove_task_dependency or get_task_dependencies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description lacks any contextual advice for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assign_agent_to_itemC
Assign agent to item
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Item ID (UUID) | |
| agent_id | Yes | UUID of the agent (Chatbot) to assign to this item | |
| resourcetype | Yes | Project type selector | |
| parent_lookup_project_id | Yes | Parent project ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. 'Assign' implies a mutation, but the description fails to disclose side effects, permissions, or reversibility beyond the verb.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with one sentence, but it lacks structure and is overly minimal. While not verbose, it sacrifices clarity for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 4 required parameters, no output schema, and no behavioral context, the description is incomplete. It does not explain the tool's effect, return value, or how it relates to sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with clear parameter descriptions (e.g., 'Item ID (UUID)'). The tool's description adds no additional meaning beyond the schema, so baseline score applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Assign agent to item' is a tautology, restating the tool name without adding specifics about what kind of item or agent. Sibling tools like 'update_task_assignees' suggest possible overlap, but no differentiation is provided.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as 'update_task_assignees' or other assignment tools. No context about prerequisites or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
blur_backgroundC
Blur image background
| Name | Required | Description | Default |
|---|---|---|---|
| image_url | Yes | URL of the source image. | |
| blur_value | Yes | Blur intensity (1–100). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided and no behavioral traits disclosed beyond the name; no mention of limitations, side effects, or how background detection works.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (3 words) but under-informative; while front-loaded, it lacks structure and fails to earn its place by omitting critical details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has two required parameters and no output schema, the description should provide more context (e.g., how background is detected, supported formats), but it does not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for both parameters; the description adds no additional meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Blur image background' clearly states the verb and resource, distinguishing it from siblings like 'remove_background' and 'replace_image_background'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as remove_background or replace_image_background; lacks any context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_brand_kitC
Populate a brand kit (canonical schema)
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Brand kit UUID (GET only). | |
| brand | No | Core brand identity. | |
| style | No | Visual identity sub-document. Versioned independently via `schema_version`. Sub-fields permit unknown keys for forward-compat (motion tokens, dark-mode palette, etc.) | |
| version | No | Envelope schema version. `1` = legacy kit, `2` = canonical V2. Server-stamped. Client values in POST are ignored. | |
| brand_id | Yes | Brand kit UUID | |
| extract_ref | No | Handle returned by `web_brand_extract` (as the `_extract_ref` field). When set, the agent runtime fetches the cached extraction and fills missing `brand` (name, description, website) and `social_links` fields before forwarding to the API. Explicit fields on the request override the inflated values. `style` is NOT auto-filled — the agent constructs that payload from the slim extract data. This field is consumed by the apikit pre-hook and is never forwarded to the API itself. | |
| social_links | No | Social media and web presence links. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description does not mention side effects (mutation, creation, idempotency), required permissions, or response behavior. Schema has readOnly hints but tool description adds no behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise but omits essential details. Not front-loaded; lacks distinction or context, making it insufficient for correct invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has 7 parameters, nested objects, and no output schema. Description is too minimal to provide complete understanding of how to use it, e.g., role of extract_ref, whether it creates or updates, or expected return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter is documented in the schema. Tool description adds no extra meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description says 'Populate a brand kit (canonical schema)'. The verb 'populate' is somewhat specific, but unclear whether it creates or updates. Parenthetical hints at schema but doesn't distinguish from siblings like create_brand_kit or get_brand_kit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. Siblings include create_brand_kit, get_brand_kit, list_brand_kits, import_brand_kit_modules, but description provides no context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clone_boardC
Clone a board
| Name | Required | Description | Default |
|---|---|---|---|
| Space | No | Optional sub-space ID for further scoping inside the workspace. | |
| target | No | Target workspace or space ID. If omitted, clones into the current space (or workspace if no space header). | |
| board_id | Yes | ||
| Organization | No | Workspace (organization) ID the request is scoped to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations and the description does not describe behavioral traits such as side effects, permissions, or return behavior. 'Clone a board' is a vague action without explanation of what happens.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, but it is too minimal. While concise, it fails to provide necessary details, making it only acceptable in structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations, and 4 parameters, the description is highly incomplete. It does not explain the cloning process, result, or any constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75% (3 of 4 parameters have descriptions), so baseline is 3. The tool description adds no additional meaning beyond the schema, thus no improvement.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states 'Clone a board' which identifies the verb and resource, distinguishing it from create/delete/update. However, it lacks detail on scope or outcome, making it only modestly clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to clone vs create, prerequisites, or limitations. The description provides no context for selecting this tool over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clone_taskC
Clone a task
| Name | Required | Description | Default |
|---|---|---|---|
| Space | No | Optional sub-space ID for further scoping inside the workspace. | |
| title | No | ||
| fields | Yes | Subset of fields to copy. Common values: `title`, `description`, `rich_description`, `assignees`, `attachments`, `subtasks`, `tags`, `priority`, `start_date`, `due_date`, `checklist`. | |
| status | No | Target status UUID. Defaults to the source status. | |
| task_id | Yes | ||
| Organization | No | Workspace (organization) ID the request is scoped to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavioral traits, but it only says 'Clone a task'. It does not explain if the source task remains unchanged, what permissions are needed, or what the output looks like. The input schema provides some parameter details, but the description adds no behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (3 words) but is under-specification rather than efficient. It lacks structure or front-loading of key information, and does not earn its place given the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 6 parameters, no output schema, and a nontrivial operation like cloning, the description is inadequate. It does not explain the cloning process, default behaviors, or relationship to other task operations. The context is incomplete for an AI agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has descriptions for 4 out of 6 parameters (67% coverage), including 'fields' and 'status'. The description 'Clone a task' does not add further semantic value beyond the schema. However, the schema itself already clarifies parameter usage, so a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Clone a task', which is a clear verb+noun combination indicating duplication of a task. However, it lacks specificity on what aspects are cloned (e.g., fields, structure) and does not distinguish it from similar tools like 'create_task' or 'clone_board'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. There is no indication of when to use this tool over alternatives such as 'create_task' or 'clone_board'. The description does not specify prerequisites or context for appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_image_formatC
Convert image format
| Name | Required | Description | Default |
|---|---|---|---|
| image_url | No | URL of the image to convert | |
| output_format | Yes | Target format for the converted image |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description does not disclose any behavioral traits like side effects, permissions needed, or whether the original image is modified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Too concise to be informative; two-word phrase does not earn its place as a proper description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple conversion tool, description should explain the conversion process, input source (URL), and output format. Completely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so description adds no value beyond schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description is essentially a tautology of the tool name. It does not specify that it converts from a URL to a format, nor distinguishes it from convert_video_format.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use or when not to use. Sibling tool convert_video_format exists but no differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_video_formatC
Convert video to a different format
| Name | Required | Description | Default |
|---|---|---|---|
| video_url | Yes | URL of the source video. | |
| output_format | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must bear the full burden. It merely says 'convert' without revealing whether the original video is modified, if a new file is created, quality implications, or authentication requirements. This lack of detail hinders correct invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (5 words) and to the point. It front-loads the core purpose. While it could include more detail, it avoids unnecessary words, earning a high score for conciseness given the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and only 2 parameters, the description is insufficient. It does not explain the return value (e.g., URL of converted video), processing time, or any side effects. A conversion tool typically requires more context to set expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (video_url has a description, output_format does not). The description adds no meaning beyond the schema; it doesn't explain the output_format parameter or any constraints. For a tool with low coverage, the description should compensate but fails to do so.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Convert video to a different format' clearly states the action (convert) and resource (video), distinguishing it from siblings like 'convert_image_format' and other video manipulation tools. However, it lacks specificity on what 'different format' means, though the schema's output_format enum provides that.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool vs alternatives like merge_videos or speedup_video. There is no mention of prerequisites, limitations, or scenarios where this tool is inappropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_assetC
Create an asset from URL
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Remote file URL to download and persist as a workspace asset. The file is downloaded asynchronously (S3 upload + thumbnail generation). The returned asset UUID is usable immediately — e.g. in ProjectItem data.assets[]. | |
| name | No | Display name for the asset. If omitted, auto-extracted from the URL filename. | |
| asset_type | No | Asset type integer. Use 0 for images (default for AI-generated creatives). Values: 0=image, 2=video, 4=giphy, 6=font, 8=audio, 17=pdf. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says nothing about behavior (e.g., asynchronous download, side effects, return values). The schema provides some details, but the description itself lacks disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one sentence) but lacks necessary detail. It is not wasteful but is undersized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 3 parameters, no output schema, and no annotations, the description should provide more behavioral and usage context. It fails to do so.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed parameter descriptions. The description adds no additional meaning about parameters, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (create) and resource (asset) and the method (from URL). It distinguishes from sibling tools like generate_image or create_board.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. There is no mention of prerequisites, context, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_boardD
Create a board
| Name | Required | Description | Default |
|---|---|---|---|
| Space | No | Optional sub-space ID for further scoping inside the workspace. | |
| extra | No | Free-form board configuration (`_config` on the model). | |
| title | No | Board title. Defaults to "{workspace} Project" if omitted. | |
| access | No | Board access: 0=PRIVATE (default), 1=PROTECTED (workspace-shared), 2=PUBLIC. | |
| statuses | No | Optional inline status definitions to seed the board with. If omitted, the board gets the 4 default statuses (Draft / To Do / In Progress / Completed). | |
| description | No | Board description. | |
| Organization | No | Workspace (organization) ID the request is scoped to. | |
| primary_type | No | Board type discriminator. Defaults to `PM`. Other values reserved for non-project-manager boards. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description entirely fails to disclose behavioral traits. It does not mention that the tool creates a new board resource, any permission requirements, side effects, or whether it is idempotent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only three words, which is under-specified rather than concise. It does not earn its place by providing any useful information beyond the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 8 parameters (including nested objects) and no output schema, the description is completely inadequate. It offers no explanation of what a 'board' is in this system, how it relates to workspaces, or what the response will contain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3 even without additional param info in the description. The description adds no param guidance, but the schema already documents each parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Create a board' is a tautology of the tool name 'create_board'. It restates the name without adding any distinguishing context, such as what type of board or how it differs from siblings like 'create_project'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. The description does not specify when to use this tool versus alternatives (e.g., 'create_project', 'create_task'), nor does it indicate any prerequisites or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_brand_kitC
Create a brand kit
| Name | Required | Description | Default |
|---|---|---|---|
| extra | No | Optional extra brand metadata | |
| title | Yes | Brand name (the only required field) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fails to disclose behavioral traits such as whether the tool is destructive, requires authentication, or has side effects. The single sentence 'Create a brand kit' provides no behavioral context beyond the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at one sentence, but it lacks sufficient detail for a tool with nested optional parameters. It is not overly verbose, but the brevity compromises usefulness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description does not explain what a brand kit is, what the creation entails, return values (no output schema), or any prerequisites. For a creation tool with nested object parameters, this is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents parameters. The description adds no extra meaning or usage hints beyond the parameter names and types listed in the input schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb-resource pair 'Create a brand kit' but does not differentiate from the sibling tool 'build_brand_kit', which creates ambiguity. It is clear but not specific enough to distinguish between similar operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'build_brand_kit' or 'import_brand_kit_modules'. The description does not mention prerequisites, typical use cases, or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_context_documentC
Create a context document
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | Structured JSON data (optional, defaults to empty object) | |
| name | No | Document name for inline creation | |
| content | No | Markdown content (optional, defaults to empty) | |
| brand_id | Yes | Brand kit UUID | |
| doc_type | No | Document type key for inline creation (e.g. brand_voice, style_guide) | |
| description | No | Document description (optional, defaults to empty) | |
| document_id | No | Link an existing KnowledgeDoc by ID (mutually exclusive with inline fields) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description is minimal. It does not disclose whether creation is destructive, whether it requires specific permissions, or what the response contains. For a creation tool, more behavioral context is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no fluff. It is concise, but could be structured to include key usage information without sacrificing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Description does not explain the relationship between parameters (e.g., inline creation vs linking a document_id) or the purpose of the tool within a broader workflow. Given 7 parameters and nested objects, more context is needed for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are well-documented in the schema. The description itself adds no additional meaning beyond the schema, warranting a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Create' and resource 'context document', distinguishing it from siblings like 'get_context_document_by_type' and 'delete_context_document'. However, it lacks specificity about what a context document is, which could be beneficial for users unfamiliar with the domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool over alternatives like 'create_document'. No context on prerequisites, typical use cases, or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_documentC
Create a long-form document
| Name | Required | Description | Default |
|---|---|---|---|
| form | Yes | Document form type enum. Use 1 for LONG_FORM (Quill-editor-backed documents — the standard for essays, articles, and any rich-text content). 0 = SHORT_FORM (AI templates, not used by these skills). | |
| title | Yes | Document title shown in the editor and the document list. For AI-writer skills, use the essay/article title from the originating show_article tool call. | |
| parent | No | Optional parent document id for creating a sub-document. Not used by AI-writer skills in v1. | |
| content | Yes | Quill Delta JSON representing the document body. Contains an `ops` array of operations. Each op is a dict with `insert` (string or embed object) and optional `attributes` (formatting like bold, italic, header, list, link, code-block, blockquote). For markdown-sourced content, call `markdown_to_quill_delta` to produce a compliant Delta before passing to this field. | |
| payload | No | Optional document metadata. Can be left empty ({}). Supported fields: description, tone, keywords, voice_id, output. Used for AI template context — not required for skill-generated content. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full disclosure burden. It only says 'Create,' implying mutation, but omits details on permissions, side effects, return values, or behavior regarding existing documents. Very sparse.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise but lacks key information. It does not front-load important context or structure for quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters with nested objects and no output schema, the description should explain return values and typical usage. It does not address these, leaving the agent without sufficient operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each parameter already has a detailed description. The tool description adds no extra meaning beyond 'Create a long-form document.' Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Create a long-form document,' which clearly identifies the verb and the resource. It distinguishes from sibling tools like create_context_document or create_social_media_post by specifying 'long-form,' but does not explicitly differentiate between document subtypes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like create_context_document or create_social_media_post. The description lacks any context about prerequisites, typical scenarios, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_projectD
Create a project
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | Flexible JSON data for this project. Has a base schema with flags (Dict[str,bool]) but accepts any additional fields. Used to store project-specific config like campaign settings, prompts, image params, etc. | |
| title | No | Project title (defaults to "Untitled Project" if omitted) | |
| description | No | Optional project description | |
| primary_type | No | Free-form project category string. Known values include: ad, SMQuotes, AIAvatarVideo, AiProductVideos, UGCVideo, ImageYTThumb, campaign, blog, or any custom type. | |
| resourcetype | Yes | Project type selector. Determines the model and serializer used. The API is polymorphic — the same URL structure serves different project types depending on this value. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided. The description does not disclose any behavioral traits: no mention that the tool is polymorphic via the required 'resourcetype' parameter, nor any side effects, permissions, or idempotency. The description is dangerously incomplete for a creation operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
At three words, the description is technically concise but severely under-specified. It fails to earn its place by providing any useful information beyond the tool name. Conciseness should not come at the expense of completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (5 parameters, nested 'data' object, polymorphic behavior via resourcetype, no output schema), the description is woefully incomplete. The agent lacks crucial context about what a project is, how the polymorphic type selection works, and what the output looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% - each parameter has a description explaining its role. The tool description adds no additional parameter information, but baseline 3 is appropriate since the schema already serves this purpose adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Create a project' is a near-tautology of the tool name. It states the verb and resource but provides no specificity or differentiation from sibling tools like create_board or create_document. A tool named create_project should at least indicate what constitutes a 'project' in this system.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus other creation tools (e.g., create_board, create_document). No context on prerequisites, typical use cases, or exclusions. The agent is left to guess from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_project_itemC
Create a project item
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | Flexible JSON data for this item. Base schema has assets (list of asset IDs) and flags (Dict[str,bool]) but accepts any additional fields. | |
| title | No | Item title (defaults to "Untitled Task" if omitted) | |
| status | No | Optional status string (max 16 chars) | |
| due_date | No | Optional due date | |
| priority | No | Priority level (default 0) | |
| start_date | No | Optional start date | |
| description | No | Optional item description | |
| primary_type | No | Free-form item category string | |
| resourcetype | Yes | Project type selector | |
| parent_lookup_project_id | Yes | Parent project ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It only says 'Create a project item', without disclosing any behavioral traits such as whether it requires specific permissions, or side effects. This is insufficient for an AI agent to understand the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise but overly terse. It lacks structure and does not earn its place by adding value beyond the name. It could be expanded to include useful context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (10 parameters, nested objects, no output schema), the description is severely incomplete. It does not explain return values, error conditions, or what constitutes a successful creation. This leaves the agent with insufficient context to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents each parameter's meaning. The tool description adds no additional context or guidance on how to use parameters together or typical values, but baseline 3 is appropriate since the schema handles semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Create a project item', which clearly indicates the action and resource. However, it does not differentiate from sibling tools like create_task or create_project_item (though create_project_item is itself). Given the generic nature, it's clear but not specific enough to distinguish it from potentially similar tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like create_task or create_project. The description lacks any context about prerequisites, typical use cases, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_social_media_postD
Create a social media post
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Scheduled datetime in format: YYYY-MM-DD HH:MM | |
| tags | No | Tag (label) IDs to attach to the created post(s). Get IDs via `listSocialMediaTags`; create new ones via `createSocialMediaTag`. Tags are used by the user to filter posts in the Drafts/Publishing views and to deep-link the confirmation widget. | |
| media | No | Media items attached to the post. Each entry is either a Simplified asset UUID or a fully qualified URL. Asset UUIDs are resolved server-side to a fresh permanent URL before publishing; pass them whenever the media was produced via `generateImage` with `storage: "asset"`. URLs are passed through as-is and should only be used for media that already lives at a permanent public location. | |
| action | Yes | ||
| message | Yes | ||
| additional | No | ||
| account_ids | No | Target social media account IDs. Required for action 'schedule' and 'add_to_queue'. For action 'draft' this may be empty or omitted to create an accountless draft (saved without a connected account). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as side effects (e.g., immediate posting vs scheduling), required authentication, or rate limits. The word 'create' is ambiguous given the action parameter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely terse (5 words), under-informative for a tool with 7 parameters and nested objects. While concise, it does not earn its place since it adds almost no useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (no output schema, no annotations, rich input schema), the description is completely inadequate. An AI agent cannot determine return values, prerequisites, or the tool's role in a workflow from this description alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 57% schema description coverage, the description adds no value beyond the schema. It does not clarify key parameters like action, message, or account_ids, nor explain the difference between accountless drafts and scheduled posts.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Create a social media post' provides a verb and resource, but it is vague and does not distinguish this tool from siblings like update_social_media_post or create_social_media_tag. It lacks specificity about multi-platform support, actions, or scheduling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus alternatives. It does not mention the three possible actions (schedule, add_to_queue, draft) or when each is appropriate, nor does it provide any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_social_media_review_bundleC
Create a review bundle for social media drafts
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | The title of the review bundle. | |
| draft_ids | No | An optional list of draft IDs to seed the bundle with on creation. Get IDs via `getSocialMediaDrafts`. | |
| description | No | An optional description for the review bundle. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must fully disclose behavior. It only states 'Create' which implies mutation, but gives no details on side effects, permissions, or lifecycle of the bundle.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words. Efficient but minimal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description is too terse. It does not explain what a review bundle is, what the result is, or how it relates to drafts. Incomplete for a non-trivial creation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds no additional meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it creates a review bundle for social media drafts (verb+resource). It is clear but does not explicitly differentiate from sibling tool 'add_drafts_to_social_media_review_bundle', which adds to an existing bundle.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives, such as adding to an existing bundle. No prerequisites or when-not-to-use information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_social_media_tagB
Create a new social-media tag (label)
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Display name for the new tag. Should be human-readable. | |
| color | No | Optional hex color for the UI badge (e.g. "#3F51B5"). Backend assigns a default if omitted. | |
| product | Yes | Always `social_media` for this MCP. | social_media |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure, but it only states 'Create a new social-media tag (label)'. It does not indicate whether tag names must be unique, whether creation requires an existing workspace or post, any rate limits, or what happens on conflict (e.g., duplicate name). Minimal behavioral context beyond the verb 'Create'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no extraneous words. It is appropriately concise, though it sacrifices important context (e.g., usage guidelines). Structure is simple and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, so the description should explain what is returned (e.g., the created tag object) or confirm creation. It does not. It also fails to reference sibling tools like list_social_media_tags or explain how this tag relates to other social media tools. For a simple create tool, missing return value and integration context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% – all three parameters (name, color, product) have descriptions. The tool description adds no extra meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Create') and clearly identifies the resource ('social-media tag') with disambiguating parentheses ('(label)'). It distinctly separates this tool from sibling tools like list_social_media_tags (listing) and create_social_media_post (creating a post).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, no mention of prerequisites (e.g., whether tags must be created before assigning to posts), and no exclusions. A sibling tool list_social_media_tags exists but is not referenced.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_statusC
Create a status on a board
| Name | Required | Description | Default |
|---|---|---|---|
| Space | No | Optional sub-space ID for further scoping inside the workspace. | |
| color | No | Hex color string. | |
| order | No | Optional explicit order index. | |
| title | Yes | ||
| board_id | Yes | ||
| description | No | ||
| Organization | No | Workspace (organization) ID the request is scoped to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for behavioral disclosure, yet it only states the basic action. It omits critical details like permissions required, side effects (e.g., does it create a new status column?), or limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short (one sentence), which is efficient but sacrifices necessary detail for a creation tool. While it's front-loaded, it lacks structure expected for a tool with multiple parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided, so the description should explain what the tool returns (e.g., the created status object). It does not, leaving the agent without crucial context on how to use the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 7 parameters with 57% description coverage, but the tool description adds no information about any parameter. The description does not clarify what parameters like 'Space', 'color', or 'order' mean for the status creation context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the action ('Create') and the resource ('a status on a board'), making the tool's function understandable. However, it does not distinguish this from other 'create' sibling tools like create_board or create_task, which could cause confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as update_status or clone_board. The description lacks any context about prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_taskC
Create a task
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Tag names to apply to the task on creation (native — set in one call). | |
| Space | No | Optional sub-space ID for further scoping inside the workspace. | |
| extra | No | Free-form payload (`_extra` on the model). | |
| order | No | ||
| title | No | ||
| parent | No | Parent task UUID (for subtasks). | |
| status | Yes | Target status UUID. | |
| complete | No | ||
| due_date | No | ||
| priority | No | Priority enum value. | |
| assignees | No | Integer user IDs to assign (get from listWorkspaceMembers). Composite field — toolkit calls POST /tasks/{id}/assignees/ automatically after creation. Note: assignees are NOT in the createTask response; use getTask?expand=assignees to verify. | |
| task_type | No | Task discriminator. Defaults to `TASK`. | |
| start_date | No | ||
| description | No | Plain text task description. This is the field agents and CLI users should set. The toolkit converts it to a Quill Delta and writes `rich_description` automatically. | |
| Organization | No | Workspace (organization) ID the request is scoped to. | |
| custom_fields | No | Map of custom field UUID → value. Validated against board's custom-field configuration. | |
| estimated_hours | No | Estimated completion time in hours. | |
| rich_description | No | INTERNAL — Quill Delta representation. Set automatically by the toolkit when you pass `description`. Do not pass directly unless you have a pre-built Delta and know what you're doing. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries full burden. It only says 'Create a task', omitting behavioral traits such as the required status field, auto-assignment of assignees, or the conversion of plain text description to rich_description. The schema parameter descriptions provide some context, but the description itself is silent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, but it is under-specified rather than concise. Every sentence should earn its place; this one fails to provide adequate context for a tool with 18 parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 18 parameters, no annotations, and no output schema, the description is severely incomplete. It does not explain return values, side effects, required prerequisites (e.g., Organization ID), or complex behaviors like custom_fields and assignees.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 72% schema description coverage, the baseline is 3. The tool description adds no additional information beyond the schema, so it neither improves nor degrades the parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Create' and resource 'task', conveying the core action. However, it does not distinguish this tool from siblings such as 'clone_task' or 'create_project_item', which have overlapping concepts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'clone_task' or 'create_project_item'. There are no examples, prerequisites, or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_boardC
Delete a board
| Name | Required | Description | Default |
|---|---|---|---|
| Space | No | Optional sub-space ID for further scoping inside the workspace. | |
| board_id | Yes | Board UUID or slug. | |
| Organization | No | Workspace (organization) ID the request is scoped to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lacks any behavioral details such as whether deletion is permanent, permission requirements, or side effects. Since no annotations exist, the description carries full burden but fails to disclose these traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at three words, but it is too brief to be maximally helpful. It lacks any structure or additional context that could clarify usage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is entirely inadequate for a destructive operation with no annotations and no output schema. It fails to explain critical aspects like permanence, permissions, or post-deletion state.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all three parameters. The tool description adds no additional meaning beyond what the schema already provides, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'delete' and resource 'board', clearly indicating the action and object. However, it does not differentiate from sibling tools like 'clone_board' or 'update_board' which also operate on boards.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'update_board' or 'archive_board' (if existed). There are no conditions, prerequisites, or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_context_documentB
Delete a context document
| Name | Required | Description | Default |
|---|---|---|---|
| brand_id | Yes | Brand kit UUID | |
| document_link_id | Yes | Context document link UUID (BrandKitContextDocument ID) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description only states 'Delete' without detailing side effects, permissions required, or irreversibility. The agent is left uninformed about the destructive nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise (one sentence) but lacks essential behavioral context. Efficiency is good but at the cost of completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a delete operation with no output schema and no annotations, the description should clarify the scope of deletion (e.g., removes the link vs. the document itself) and any irreversible consequences. It falls short.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description adds no extra meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Delete a context document' clearly states the verb and resource, distinguishing it from sibling tools like create_context_document and update_context_document.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like updating or retrieving. No prerequisites or conditions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_projectC
Delete a project
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Project ID (UUID or integer depending on type) | |
| resourcetype | Yes | Project type selector |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It fails to disclose any behavioral traits: permanence, side effects (e.g., cascading deletion of associated items), authorization needs, or error conditions. For a destructive operation, this is a critical omission.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise but not well-structured. It is not front-loaded with critical information like behavioral traits or prerequisites. While it wastes no words, it also fails to earn its place by providing essential context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite low complexity (2 params, no output schema, no annotations), the description lacks completeness. It omits key contextual information such as irreversibility, cascading effects, or required permissions, which are essential for safe usage of a destructive tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (both parameters have descriptions in the input schema). The tool description adds no parameter-level meaning beyond the schema; baseline 3 is appropriate as the schema already does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Delete') and the resource ('a project'), making the purpose unambiguous. However, it does not distinguish from other delete tools (e.g., delete_board, delete_task) beyond the resource name, which is slightly weaker than a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, no prerequisites, and no mention of deletion scope (e.g., permanent, cascading). The agent has no basis to decide if this is appropriate over other delete operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_project_itemC
Delete a project item
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Item ID (UUID) | |
| resourcetype | Yes | Project type selector | |
| parent_lookup_project_id | Yes | Parent project ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description fails to disclose any behavioral traits such as irreversibility, cascading effects, authorization requirements, or side effects. For a delete operation, this is a critical gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise but under-specifies the tool's behavior. It does not earn its place as it adds minimal value over the tool name and input schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, no annotations, and three parameters, the description is woefully incomplete. It omits return value, error handling, success criteria, and any context about the item being deleted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter already has a clear description. The tool description adds no additional meaning beyond what the schema provides, meeting the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Delete a project item' clearly states it deletes an item, but it does not differentiate from sibling delete tools like delete_task or delete_board. The resource type 'project item' is ambiguous given the presence of create_project_item and other item-related tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., delete_task). There is no mention of prerequisites, error conditions, or when deletion is not appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_social_media_draftC
Delete a draft social media post
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | No | Group ID of the draft to delete | |
| draft_ids | No | Array of draft IDs to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description must convey behavioral traits. The word 'delete' implies destructive action, but there is no context about reversibility, permission requirements, or what happens if a draft ID is invalid. The tool's effect on other resources is not disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise but under-specifies. It could front-load key behavioral information without increasing length significantly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is too minimal. It does not address what happens after deletion, error cases, or batch behavior, leaving the agent uncertain about the tool's effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%—both parameters have descriptions in the input schema. The description adds no extra meaning beyond what the schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('delete') and resource ('draft social media post'). It distinguishes from sibling 'delete_social_media_post' which targets published posts. However, 'a draft' is slightly misleading since the schema allows deleting multiple drafts via the 'draft_ids' array.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., 'update_social_media_draft' or 'delete_social_media_post'). There is no mention of prerequisites, required permissions, or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_social_media_postB
Delete a published social media post
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | No | Group ID of the post to delete | |
| post_schedule_id | No | Post schedule ID of the post to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosure. It states the tool deletes a post, which is clear, but does not specify whether deletion is permanent, reversible, or if it requires specific permissions. The description is minimally transparent for a destructive action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. It is appropriately sized for the tool's simplicity, though it could benefit from a brief additional context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 parameters, no output schema, no nested objects), the description is minimally adequate. However, it lacks details about the relationship between the two parameters, whether both are required, or what happens if the post does not exist. For a delete operation, more completeness would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with both 'group_id' and 'post_schedule_id' already described. The description adds no additional meaning or context for the parameters beyond what the schema provides. According to the rules, baseline 3 is appropriate when schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (delete) and the resource (published social media post). It is specific and uses a verb+resource structure. However, it does not differentiate from sibling tools like 'delete_social_media_draft' which also deletes content, so it misses the opportunity to clarify the distinction between deleting drafts versus published posts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. For example, it doesn't explain when to delete a published post versus updating it or deleting a draft. There is no mention of prerequisites or contexts where deletion is appropriate, leaving the agent without decision-making cues.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_statusC
Delete a status
| Name | Required | Description | Default |
|---|---|---|---|
| Space | No | Optional sub-space ID for further scoping inside the workspace. | |
| board_id | Yes | ||
| status_id | Yes | ||
| Organization | No | Workspace (organization) ID the request is scoped to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It only says 'Delete a status,' implying a destructive operation, but does not disclose whether deletion is irreversible, permissions needed, or cascading effects (e.g., deleting tasks with that status).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (3 words), but is under-specified. It could be restructured to include key behavioral details without adding much length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete operation with no output schema and minimal description, the tool definition lacks completeness. It does not mention return values, error conditions, or what happens if the status is in use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%—only 'Space' and 'Organization' have descriptions. The description adds no parameter information, and the required parameters 'board_id' and 'status_id' lack schema descriptions. The description does not compensate for this gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Delete a status' clearly states the verb (delete) and resource (status), but does not differentiate this from sibling tools like 'move_status' or 'update_status', which also operate on statuses.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., 'move_status' or 'create_status'). The description simply states the action without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_taskC
Delete a task
| Name | Required | Description | Default |
|---|---|---|---|
| Space | No | Optional sub-space ID for further scoping inside the workspace. | |
| task_id | Yes | Task UUID or slug. | |
| Organization | No | Workspace (organization) ID the request is scoped to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states 'Delete a task' without disclosing whether deletion is permanent, cascades to dependencies, or has any side effects. This is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at three words, but it lacks substance. While brevity is good, it could include a sentence about prerequisites or effects without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete operation, the description plus schema cover the basics. However, missing behavioral context (e.g., reversibility, impact on related data) makes it only adequately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with adequate descriptions for all three parameters. The description adds no extra meaning, but the schema already provides needed details. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Delete a task' uses a specific verb and resource, clearly indicating the action. However, it does not differentiate from sibling tools like 'clone_task' or 'create_task', but the verb 'delete' is distinct enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'clone_task' or 'update_task'. There is no mention of prerequisites, permissions, or scenarios where deletion is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_transcription_fileA
Download transcription as WebVTT or SRT (step 3 of 3)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Transcription UUID. | |
| requested_format | No | Subtitle format. Defaults to "srt". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses the download action and format options but omits behavioral traits such as prerequisites (e.g., transcription must be ready), return format (binary or text), authentication needs, or error handling for incomplete transcriptions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that efficiently conveys the purpose and context without redundant information. It is well-structured and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 parameters, no output schema) and the helpful 'step 3 of 3' context, the description is mostly complete. However, it lacks any mention of the response format (e.g., file content vs. URL) or error conditions, which would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters are fully described in the schema (100% coverage), so the description does not add significant meaning beyond what the schema provides. It is adequate but not enhanced.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Download transcription'), the resource ('transcription'), and available formats ('WebVTT or SRT'). It also indicates the tool is the final step in a process ('step 3 of 3'), which distinguishes it from sibling tools like 'transcribe_video' and 'get_transcription'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly identifies the tool as part of a multi-step process ('step 3 of 3'), providing context for when to use it. However, it does not specify prerequisites or when not to use it, nor does it mention alternative tools in case of different needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_project_itemsC
Export project items
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Project ID | |
| item_ids | Yes | List of ProjectItem UUIDs to export | |
| partner_id | Yes | Partner integration ID to export items to | |
| resourcetype | Yes | Project type selector |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description does not disclose whether the tool is destructive, readonly, or has side effects (e.g., creating external records). It provides no behavioral context beyond the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (two words), which is good for brevity, but it omits important context. It is not misleading, but could be more informative without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 required parameters, no output schema, and no annotations, the description is too sparse. It fails to explain the export target, format, or success criteria, leaving the agent with insufficient context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all 4 parameters, so the description does not need to add more. Baseline score of 3 is appropriate as the description offers no additional meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'Export' and resource 'project items', but does not clarify the destination or format. It is functional but lacks specificity to distinguish from other export-like operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, prerequisites, or context. The description is a bare statement without any usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_audioB
Generate TTS audio from text using the selected voice
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Text to synthesize. HTML entities will be unescaped server-side. | |
| storage | No | `default` returns the audio URL only; `asset` also saves a persistent TldrAsset (library entry) for reuse. | default |
| use_ssml | No | Set true ONLY when `text` contains SSML markup like `<speak>`, `<break>`, `<emphasis>`. | |
| voice_id | Yes | Voice UUID from listVoices `voices[].id` |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden, but it lacks disclosure of behavioral traits such as rate limits, authentication requirements, or whether the operation is safe. Only the schema hints at storage behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no unnecessary words, efficiently conveying the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 100% schema coverage and no output schema, the description is adequate but fails to mention what the tool returns (e.g., audio URL) or any broader context about the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the description adds no additional meaning beyond what the schema already provides. The description is brief and does not elaborate on parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it generates TTS audio from text using a selected voice, distinguishing it from sibling tools like generate_video or script_to_video.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor any prerequisites or exclusions. It merely states what it does.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_imageC
Generate AI image
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | AI model/engine ID. Accepts both engine IDs and labels. Common models: flux.flux-realism, flux.flux-schnell, flux.flux-kontext-pro, google.gemini-2.5-flash-image, openai.imgen, recraft.recraft, stability.diffusion, bytedance.seedream-4 | |
| storage | No | "asset" saves as a persistent TldrAsset (recommended — no expiry, visible in asset library). "transient" generates without saving to database (temporary URL, expires). "default" persists to AiImageArt gallery. | asset |
| capability | Yes | Generation mode — NOT where the prompt text goes. The prompt text goes in parameters.prompt. Image capabilities: - "prompt" → text-to-image (most common; put your prompt in parameters.prompt) - "reference_image" → image-to-image (also requires parameters.reference_images) - "multiple_images" → batch generation - "first_last_frame" / "video_to_video" → video modes | |
| parameters | Yes | The generation payload — what the AI model needs to produce the image. For capability=prompt: must contain prompt, aspect_ratio, and count. For capability=reference_image: also include reference_images array. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits, but it only says 'Generate AI image'. It does not mention that the tool creates images via AI models, that results are temporary or stored, or any potential impacts like cost or usage limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise but lacks structure. It is a single phrase with no additional sentences. While conciseness is good, the description could be expanded to include key context without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (nested parameters, enums, no output schema, no annotations), the description is critically incomplete. It fails to summarize what the tool does, how it differs from related tools, or what the generation entails.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema's parameter descriptions. It does not help clarify parameter usage beyond what is already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Generate AI image' is a clear verb+noun indicating image generation, but it is too brief and does not differentiate from sibling tools like text_to_video or generative_fill. The schema and name help, but the description alone lacks specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. The description does not indicate when to use this tool versus alternatives such as generative_fill, remove_background, or other image generation tools. There is no context on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_videoC
Generate AI video (step 2 of 3)
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | Engine id (e.g. `KLING_VIDEO_PRO`, `VEO_3_1`, `WAN_V25_PREVIEW`, `SORA_2`, etc.). Discover available ids by calling `getVideoModelFields` with `type=video` and no `model_id` — the response lists every registered video engine. | KLING_VIDEO_PRO |
| storage | No | Storage mode for the rendered video — see operation description. | default |
| capability | Yes | Which input modality to use. Each model supports a different subset — `getVideoModelFields` returns the supported capabilities per model. | |
| parameters | Yes | Per-(model, capability) field schema is **dynamic** — always call `getVideoModelFields` first. Common keys across engines: `prompt`, `negative_prompt`, `aspect_ratio`, `duration`, `image_url`, `image_urls`, `first_frame_url`, `last_frame_url`, `video_url`, `resolution`, `generate_audio`. File-typed fields take an asset UUID (not a raw URL). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden but only hints at a multi-step process ('step 2 of 3'). It does not disclose side effects, idempotency, rate limits, or what happens to intermediate state, making behavioral expectations unclear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (6 words) but omits essential information. While brevity is valued, it sacrifices completeness, resulting in an unbalanced conciseness score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite 4 parameters and nested objects, the description provides almost no context about the multi-step workflow, dynamic parameter dependencies, or return format. Significant gaps remain for effective tool invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (all parameters described in schema). The description adds no additional semantic meaning beyond the schema, so it meets the baseline but does not enhance understanding of parameter usage in context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Generate AI video (step 2 of 3)', which identifies a verb and resource but is vague about the specific scope. It does not differentiate from sibling tools like text_to_video or merge_videos beyond implying a multi-step workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites, context, or exclusions, leaving the agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generative_fillC
Generative fill / inpaint with prompt
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Number of variations to generate. | |
| prompt | Yes | Text description of what to generate in the masked area. | |
| mask_url | No | URL of the mask image (white = fill area). | |
| image_url | Yes | URL of the source image. | |
| mask_base64 | No | Base64-encoded mask image (alternative to mask_url). | |
| negative_prompt | No | What to avoid in the generated content. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does not mention that the tool modifies images, requires a mask, or any side effects. Schema provides parameter details but not behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, consisting of a single phrase that front-loads the purpose. While it is not structured, it is efficient and contains no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a generative tool with 6 parameters and no output schema, the description is too minimal. It does not explain what the output is, how the mask works, or provide any example usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so each parameter already has a description. The tool description adds no extra meaning beyond the schema, meeting the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs generative fill/inpainting with a prompt. However, it does not distinguish from sibling tools like 'magic_inpaint' or 'image_outpainting', which have similar functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor does it mention prerequisites or appropriate contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_boardC
Get a board
| Name | Required | Description | Default |
|---|---|---|---|
| Space | No | Optional sub-space ID for further scoping inside the workspace. | |
| expand | No | Comma-separated list of fields to expand inline on the response (FlexFields style, e.g. `assignees,tags,time_tracking`). | |
| board_id | Yes | Board UUID or slug. | |
| Organization | No | Workspace (organization) ID the request is scoped to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description does not disclose any behavioral traits (e.g., read-only, idempotent, required permissions). The verb 'get' implies a read but the description fails to confirm safety or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at 3 words, but it is under-specified. It lacks any structure or elaboration, making it minimally adequate for a tool with 4 parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is present, and the description does not explain what information is returned. For a tool that retrieves a board, the absence of return value context is a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains all 4 parameters. The description adds no additional meaning or context beyond the schema definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get a board' clearly indicates the action and resource. It distinguishes from siblings like list_boards (which returns multiple) and search_boards (which searches), but lacks specificity on what board details are returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus siblings like list_boards or search_boards. The description does not mention context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_brand_bookC
Get brand book data
| Name | Required | Description | Default |
|---|---|---|---|
| brand_id | Yes | Brand kit UUID | |
| elements | No | Comma-separated list of elements to include in the response. If omitted, returns only base data (id, title). Available elements (17 total): **Brand Identity:** - `voices` - Brand voice configurations (tone, language, audience) - `colors` - Color palettes (flattened RGB array) - `fonts` - Font definitions (family, source, payload) - `logos` - Logo/banner image (object with `asset_id` and `url`) - `cover` - Cover image with URL - `description` - Brand description text - `social_links` - Social media links array **Assets:** - `assets` - Image/shape assets (minimal: id, name, url, dimensions) - `videos` - Video assets (minimal: id, name, url, dimensions) **Content & Style:** - `knowledge` - Knowledge base entries (id, title, payload) - `captions` - Caption styles (id, title, animation info) - `brief` - AI-generated brand summary - `comprehensive` - AI-generated detailed guidelines **Marketing Brain (Strategy Components):** - `brand_icps` - Ideal Customer Profiles with nested jobs-to-be-done - `usps` - Unique Selling Propositions with target ICPs - `products` - Product definitions with messaging - `competitors` - Competitor analysis - `content_pillars` - Content strategy pillars |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure, but it only states 'Get brand book data'. It does not mention that the tool is read-only, what authentication is needed, or what the default response contains (relayed only in the 'elements' parameter description). The lack of any behavioral context is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence and is concise in length, but it is under-specified. It fails to convey essential information that would help an agent use the tool correctly. Conciseness should not come at the expense of completeness; here it is too brief.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (2 parameters, one with many options) and the lack of output schema, the description is incomplete. It does not explain what a brand book is, what the response structure looks like, or how the 'elements' parameter affects the result. Combined with the absence of behavioral notes, the tool is not adequately described for reliable agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add any additional meaning to the parameters beyond what the input schema already provides (e.g., the 'elements' parameter has an exhaustive list of options in the schema). The description is neutral and does not improve parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get brand book data' is a verb and resource, but it is essentially a tautology of the tool name. It does not distinguish between 'get_brand_book' and the sibling 'get_brand_kit', nor does it explain what a 'brand book' specifically entails. The purpose is clear only at a surface level.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. The description does not indicate when to use this tool versus alternatives like 'get_brand_kit', 'build_brand_kit', or 'import_brand_kit_modules'. There is no context about prerequisites or scenarios where this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_brand_kitC
Get brand kit
| Name | Required | Description | Default |
|---|---|---|---|
| omit | No | Comma-separated top-level keys to exclude. | |
| expand | No | Comma-separated expansions (e.g. `extra`, `website`, `extra,website`). | |
| fields | No | Comma-separated top-level keys to include (sparse fieldset). | |
| brand_id | Yes | Brand kit UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only says 'Get brand kit', implying a read operation, but does not confirm whether it is read-only, what the response looks like, or any side effects. The description is insufficient for behavioral understanding.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise at three words, but it is under-specified. It does not contain enough information to be considered well-structured or fully informative, though it avoids unnecessary length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool has 4 parameters, no output schema, and no annotations, the description should provide more context. It fails to describe return values, behavior, or usage context, making it incomplete for an agent to use confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the schema documents all parameters well. The description adds no additional meaning beyond what the schema provides, resulting in a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get brand kit' uses a specific verb and resource, so it is clear that the tool retrieves a brand kit. However, it does not distinguish between this and sibling tools like 'build_brand_kit', 'import_brand_kit_modules', or 'list_brand_kits'. The scope (single vs. list) is implied but not explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. There is no mention of prerequisites, context, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_context_document_by_typeC
Get context document by type
| Name | Required | Description | Default |
|---|---|---|---|
| brand_id | Yes | Brand kit UUID | |
| context_type | Yes | Canonical type key to retrieve |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavior but fails to mention idempotency, error handling for missing documents, or permissions required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise but not front-loaded with critical information; it could include more context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided, and the description does not explain the return value or error conditions, leaving the agent uninformed about the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are already documented. The description adds no additional meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'Get' and resource 'context document' with filtering 'by type', but lacks specificity about what a context document is and how it differs from related tools like list_context_documents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as list_context_documents or get_brand_kit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_projectC
Get a project
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Project ID (UUID or integer depending on type) | |
| resourcetype | Yes | Project type selector |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It merely implies a read operation via the word 'Get' but does not disclose potential errors, permissions required, or return format. This omission reduces transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (3 words) and front-loaded, but it is under-specified. While brevity is positive, it lacks structure and context, making it less useful than it could be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations and output schema, the description is incomplete. It does not explain the purpose of the two parameters, how the resource type selector works, or what the return value looks like. For a simple get, more context would aid the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters (id and resourcetype). The description adds no additional meaning beyond the schema, but the schema itself is clear. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get a project' clearly states the verb and resource, distinguishing it from sibling tools like create_project, delete_project, and list_projects. However, it does not specify that the project is retrieved by ID and resource type, which would add precision.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites, exclusions, or when not to use it. With many sibling getters (e.g., get_board, get_task), the agent lacks direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_project_itemC
Get a project item
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Item ID (UUID) | |
| resourcetype | Yes | Project type selector | |
| parent_lookup_project_id | Yes | Parent project ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavior like read-only nature, authorization needs, or response structure, but it only states the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise at three words, but this under-specifies the tool's purpose and lacks important context, making it insufficient for effective use.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given three required parameters, no output schema, and many sibling tools, the description is incomplete and fails to explain relationships or return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds no extra value beyond the existing parameter descriptions. Baseline 3 applies as the schema carries the load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get a project item' clearly indicates a retrieval operation but does not specify what a 'project item' is or differentiate it from siblings like list_project_items or get_task.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidelines on when to use this tool versus alternatives such as list_project_items or get_project. The description provides no context for when to prefer this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_social_media_accountsA
List ALL connected social media accounts in one call (omit network)
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | DEPRECATED — do not pass this parameter. The unfiltered call already returns every connected account across every platform; filter the result client-side if you need accounts for one platform. Passing `network` with any value (including empty string) signals filtering and is the wrong default for "list", "show all", "what do I have connected" requests. Backend still accepts the historical values (`facebook`, `instagram`, `linkedin`, `tiktok`, `youtube`, `pinterest`, `threads`, `google`, `bluesky`, `tiktokBusiness`) but new callers should omit the field entirely. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It implies a read-only list operation with no side effects. However, it does not mention potential pagination, rate limits, or authentication requirements. The detail about the deprecated parameter is a positive behavioral hint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the action and key instruction. It is concise and contains no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one deprecated parameter and no output schema, the description is adequate but not fully complete. It does not describe the return format or address potential pagination. Given the context signals, it meets basic requirements but could provide more detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description has little to add. The instruction to 'omit network' is redundant with the schema's detailed deprecation note. The description adds no new meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List ALL connected social media accounts') and the resource. It differentiates by emphasizing 'ALL' and instructing to omit the network parameter, distinguishing it from any tool that might filter by network.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides one explicit guideline: omit the network parameter. However, it does not mention when not to use this tool (e.g., when needing accounts for a single platform) or alternatives. The schema's parameter description compensates somewhat, but the description itself is minimal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_social_media_analytics_aggregatedB
Get aggregated analytics for a social media account
| Name | Required | Description | Default |
|---|---|---|---|
| date_to | Yes | End date in format YYYY-MM-DD | |
| date_from | Yes | Start date in format YYYY-MM-DD | |
| account_id | No | Social media account ID. Takes priority over account_ids if both provided. | |
| account_ids | No | Comma-separated list of social media account IDs (e.g. "123,456,789"). Used when account_id is not provided. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. However, it only states the basic function without revealing traits like data recency, caching, authentication needs, or rate limits. The description is insufficient for an agent to understand behavioral implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that directly states the purpose with no extraneous words. It is front-loaded and efficient, though extremely brief. It earns its place but could be slightly more structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema and no annotations, the description is too minimal to fully inform an agent. It does not explain the structure or nature of the returned aggregated analytics, nor does it cover edge cases or limitations. More context is needed for this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all parameters (date_from, date_to, account_id, account_ids). The description adds no additional meaning beyond what the schema already provides. Baseline 3 is appropriate since the schema is self-sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'get' and the resource 'aggregated analytics' for a social media account. It distinguishes from sibling tools like get_social_media_analytics_audience and get_social_media_analytics_posts by specifying 'aggregated' rather than audience or posts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as get_social_media_analytics_audience or get_social_media_analytics_posts. It does not mention prerequisites, exclusions, or context where this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_social_media_analytics_audienceC
Get audience analytics for a social media account
| Name | Required | Description | Default |
|---|---|---|---|
| tz | No | Timezone (e.g. UTC, Europe/Warsaw) | |
| date_to | Yes | End date in format YYYY-MM-DD | |
| date_from | Yes | Start date in format YYYY-MM-DD | |
| account_id | Yes | Social media account ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits (e.g., read-only, date range constraints). It only restates the tool's purpose without mentioning any side effects, limitations, or data interpretation details. This is a significant shortfall.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the tool's core purpose. It is front-loaded and concise, though it could benefit from slightly more substance without adding verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given its complexity (3 required parameters, no output schema), the description is incomplete. It does not specify return format, date range inclusiveness, or timezone impact, leaving the agent without crucial operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage, so the schema already documents each parameter. The description adds no extra meaning beyond the schema, which meets the baseline but does not improve understanding of parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get audience analytics for a social media account' clearly states the action (get) and resource (audience analytics) and distinguishes it from sibling analytics tools like aggregated, posts, and range. However, it lacks detail on what audience analytics specifically includes (e.g., demographics, engagement).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. The description does not indicate when to use this tool versus alternatives, such as get_social_media_analytics_aggregated or get_social_media_analytics_posts. The agent receives no context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_social_media_analytics_postsC
Get analytics for social media posts
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination | |
| date_to | Yes | End date in format YYYY-MM-DD | |
| per_page | No | Number of posts per page (max 100). Use with all_posts_count and pages_count from the response to paginate through all results. | |
| date_from | Yes | Start date in format YYYY-MM-DD | |
| account_id | Yes | Social media account ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must fully convey behavioral traits. It fails to mention that this is a read operation, what data is returned, or any pagination behavior beyond the schema. Critical gaps exist for proper understanding.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one sentence) but at the cost of substance. While there is no fluff, the lack of structure and detail makes it under-specified for a tool with multiple parameters and sibling tools.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of sibling analytics tools and the absence of an output schema, the description is far from complete. It does not explain the response format, pagination details, or how it differs from get_social_media_analytics_range or get_social_media_analytics_audience.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds no additional meaning beyond the schema; it merely restates the tool's purpose without elaborating on parameter usage or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Get analytics for social media posts', which is a clear verb-resource combination. However, it does not differentiate from sibling tools like get_social_media_analytics_aggregated or get_social_media_posts, leaving ambiguity about which specific analytics are returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description is a single generic statement with no context about prerequisites, exclusions, or comparison to similar tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_social_media_analytics_rangeB
Get time-series analytics for specific metrics
| Name | Required | Description | Default |
|---|---|---|---|
| tz | No | Timezone (e.g. UTC, Europe/Warsaw) | UTC |
| date_to | Yes | End date in format YYYY-MM-DD | |
| metrics | Yes | List of metrics to retrieve. Available values depend on the social network — see endpoint description. | |
| date_from | Yes | Start date in format YYYY-MM-DD | |
| account_id | Yes | Social media account ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only repeats the tool's name-like purpose without revealing traits such as authentication needs, rate limits, data aggregation level, or output format. The description adds minimal value beyond the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that conveys the core purpose without filler. It is front-loaded and easy to parse, though it sacrifices behavioral transparency for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, large metric enum, no output schema, no annotations), the description is incomplete. It fails to explain return format, pagination, date range limits, or the dependency of metric availability on social network. An agent would lack essential context for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters adequately. The tool description adds no extra meaning about parameters (e.g., clarifying metric availability per network). The baseline of 3 is appropriate as the description neither helps nor harms beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get time-series analytics for specific metrics' clearly states the verb (Get) and resource (time-series analytics) and distinguishes this tool from siblings like get_social_media_analytics_aggregated or get_social_media_analytics_audience by specifying the time-series nature and ability to select specific metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for time-series data over a date range but provides no explicit guidance on when to choose this tool over siblings, no exclusions, and no context about prerequisites or limitations. The agent is left to infer from the sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_social_media_draftsC
Get draft social media posts
| Name | Required | Description | Default |
|---|---|---|---|
| tz | No | Timezone (e.g. UTC, Europe/Warsaw) | |
| page | No | Page number for pagination | |
| order | No | Sort direction | |
| search | No | Search term to filter drafts by content | |
| order_by | No | Field to sort by | |
| per_page | No | Number of drafts per page | |
| account_ids | Yes | Comma-separated social media account IDs |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description provides no behavioral details beyond the name. It does not disclose that the tool is read-only, supports pagination, filtering, or sorting, nor any authentication requirements or rate limits. The schema provides parameter descriptions but the description adds no additional transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (5 words) but lacks substance. While brevity is good, it sacrifices necessary detail. The front-loaded phrase 'Get draft social media posts' is clear but does not earn its place as the sole description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 7 parameters, pagination, filtering, and no output schema, the description is insufficient. It does not explain the return format, meaning of account_ids, pagination behavior, or any prerequisites. The description is incomplete for an agent to use effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add any meaning beyond what the schema already provides for parameters like account_ids, tz, page, etc. It fails to explain how parameters interact or the expected format of inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states 'Get draft social media posts', which clearly indicates the action and resource. However, it does not differentiate from siblings like get_social_media_posts (presumably published posts) or other draft-related tools, leaving ambiguity about what 'drafts' specifically means in this context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. With many sibling tools for social media (get_social_media_posts, delete_social_media_draft, etc.), the description offers no context for appropriate usage or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_social_media_postsB
Get published social media posts
| Name | Required | Description | Default |
|---|---|---|---|
| tz | No | Timezone (e.g. UTC, Europe/Warsaw) | |
| page | No | Page number for pagination | |
| query | No | Additional query filter | |
| search | No | Search term to filter posts by content | |
| category | No | Filter posts by category | |
| per_page | No | Number of posts per page | |
| account_ids | Yes | Comma-separated social media account IDs |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must fully convey behavior. It only says 'Get', implying a read operation, but lacks details on authentication, rate limits, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words. It is appropriately brief.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters and no output schema, the description does not cover pagination behavior, default filters, or return format. Incomplete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds no extra meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get published social media posts', a specific verb and resource. It distinguishes from siblings like create, delete, or draft retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like get_social_media_drafts or search_tasks. No exclusions or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_statusC
Get a status
| Name | Required | Description | Default |
|---|---|---|---|
| Space | No | Optional sub-space ID for further scoping inside the workspace. | |
| expand | No | Comma-separated list of fields to expand inline on the response (FlexFields style, e.g. `assignees,tags,time_tracking`). | |
| board_id | Yes | ||
| status_id | Yes | ||
| Organization | No | Workspace (organization) ID the request is scoped to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits such as read-only nature, side effects, authorization requirements, or rate limits. The burden falls entirely on the description, which fails to address these aspects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise but lacks structure and substantive content. It achieves minimal viability but does not earn its place by providing valuable information beyond the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description does not explain what data is returned. It also omits context about the relationship between statuses and boards, or how this tool fits within the broader set of status-related operations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 60% coverage with descriptions for some parameters, but the description adds no additional meaning. It does not explain the role of required parameters like board_id and status_id, nor does it clarify optional parameters like expand beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get a status' clearly states the verb and resource, but is essentially a tautology of the tool name. It does not differentiate from sibling tools like 'get_board' or 'get_task', and lacks context about what type of status (e.g., board status) is being retrieved.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'list_statuses' or other get tools. There is no mention of prerequisites, context, or scenarios where this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_taskC
Get a task
| Name | Required | Description | Default |
|---|---|---|---|
| Space | No | Optional sub-space ID for further scoping inside the workspace. | |
| expand | No | Comma-separated list of fields to expand inline on the response (FlexFields style, e.g. `assignees,tags,time_tracking`). | |
| task_id | Yes | Task UUID or slug. | |
| Organization | No | Workspace (organization) ID the request is scoped to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It only states action without disclosing read-only nature, permissions, or other behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise (3 words) but under-specified for a tool with 4 parameters. Fails to earn its place with helpful detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and 4 parameters, a mere 'Get a task' is inadequate. Missing details on response format, behavior, or parameter usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with descriptions. The tool description adds no extra meaning beyond the schema, baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description says 'Get a task', which is clear as verb+resource but fails to distinguish from sibling tools like get_board, get_project_item, etc. No unique context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like search_tasks or list_tasks. No exclusions or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_task_activityC
Get task activity stream
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 1-based page number for paginated list endpoints. | |
| Space | No | Optional sub-space ID for further scoping inside the workspace. | |
| task_id | Yes | ||
| page_size | No | Page size for paginated list endpoints. | |
| Organization | No | Workspace (organization) ID the request is scoped to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It does not disclose whether the tool is read-only, any required permissions, rate limits, or pagination behavior beyond parameter names. This is insufficient for a data-retrieval tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no unnecessary words. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 5 parameters and no output schema, the description is minimal. It does not explain what the activity stream contains, how pagination works, or the structure of the response. The description is incomplete for a get/list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 80% of parameters with descriptions (page, page_size, Space, Organization). The tool description adds no additional parameter meaning. Baseline is 3 due to high schema coverage, and the description does not improve it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get task activity stream' clearly states the action (get) and the resource (task activity stream). It is specific and distinguishes from sibling tools like get_task or list_tasks, though it does not elaborate on what the activity stream contains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor are any prerequisites or context given. The description lacks explicit when-to-use or when-not-to-use information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_task_dependenciesB
Get the dependency graph for a task
| Name | Required | Description | Default |
|---|---|---|---|
| Space | No | Optional sub-space ID for further scoping inside the workspace. | |
| task_id | Yes | ||
| Organization | No | Workspace (organization) ID the request is scoped to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as whether the tool is read-only, any limits, or how the dependency graph is returned. The name implies a read operation but does not explicitly state it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, very concise and front-loaded. However, it is so brief that it sacrifices necessary context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema, the description should explain what the dependency graph is or what the return format looks like. It fails to do so, leaving the agent with incomplete context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67% (two of three parameters have descriptions). The tool description adds no additional parameter information beyond what the schema provides, but the schema already does most of the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'dependency graph for a task', distinguishing it from sibling tools like 'add_task_dependency' and 'remove_task_dependency'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, or any prerequisites. Siblings include add/remove/dependency tools but no context is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_task_resultB
Get async task result
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | Celery task ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lacks behavioral details: it doesn't state if the tool is read-only (likely), whether it blocks, returns immediately, or checks status. Since no annotations are provided, the description carries the full burden, and it fails to disclose these traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence with no wasted words. It is front-loaded and appropriately sized for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity (one parameter, no output schema, no annotations), the description is minimally sufficient. However, it lacks context on the result format or whether the tool is designed for one-time fetch or repeated polling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter 'task_id' described as 'Celery task ID'. The description adds no additional meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get async task result' clearly states the action (get) and resource (async task result). It is direct, but could better differentiate from sibling tools like 'get_task' which might retrieve a task object rather than an asynchronous result.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as 'get_task'. The description does not specify whether this is for polling results of long-running operations or immediate retrieval.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_transcriptionA
Poll a transcription job for status and transcript (step 2 of 3)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Transcription UUID returned from transcribeVideo. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It indicates the tool is for polling, which implies repeated calls and read-only behavior, but does not explicitly state idempotency or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently communicates purpose and context. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a polling tool with one parameter and no output schema, the description is fairly complete. It explains the step context and purpose. However, it could mention that the response contains status and transcript or that polling should continue until complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with the parameter 'id' described as 'Transcription UUID returned from transcribeVideo'. The tool description adds no extra meaning beyond what the schema already provides, so baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it polls a transcription job for status and transcript, and provides step context 'step 2 of 3'. This differentiates it from siblings like transcribe_video (step 1) and download_transcription_file (likely step 3).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'step 2 of 3' context implies it should be used after creating a transcription job and before downloading results. While not explicit, it provides sufficient guidance for correct usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_video_model_fieldsC
Discover model field schema (step 1 of 3)
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | Engine type to introspect. | |
| model_id | No | Engine id (e.g. `KLING_VIDEO_PRO`). Omit to list all engines of `type`. | |
| capability | No | Capability — required to receive the per-(model, capability) field schema; otherwise you get the model's capability map. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavioral traits. It only indicates a read-like operation ('Discover...'), but omits any details about permissions, side effects, rate limits, or behavior when parameters like model_id or capability are omitted. This is insufficient for an AI agent to understand the tool's side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the core purpose. It is front-loaded and avoids redundancy, though it could benefit from structured detail about the workflow it references ('step 1 of 3').
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has three parameters (one required, two enums) and no output schema, the description is too sparse. It does not explain the return format, the meaning of 'step 1 of 3', or how the parameters relate to the discovery process, leaving significant gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents all three parameters. The description adds no additional meaning beyond what the schema provides, hitting the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'discover' and the resource 'model field schema', clearly indicating the tool retrieves schema information. However, the phrase 'step 1 of 3' adds workflow context but does not clarify the subsequent steps, and there is no explicit differentiation from sibling tools, though no direct sibling exists.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not specify when to use this tool versus alternatives, nor does it provide context about prerequisites or exclusion criteria. The phrase 'step 1 of 3' vaguely implies a sequence but lacks actionable guidance for an AI agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_video_variationC
Poll a video generation job (step 3 of 3)
| Name | Required | Description | Default |
|---|---|---|---|
| art_id | Yes | AiImageArt UUID returned as `id` from `generateVideo`. | |
| variation_id | Yes | AIArtVariation UUID returned as `art_variation_id` from `generateVideo`. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only says 'poll', which implies repeated calls, but does not disclose polling behavior (e.g., whether it's blocking, expected call frequency, error handling, or when to stop polling). No annotations are provided to fill the gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, making it concise, but it is too brief to be fully informative. It could be restructured to include key behavioral details without adding many words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and the simple polling nature, the description should explain what the tool returns (e.g., status, result URL) and how to interpret the response. The current description is insufficient for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides full descriptions for both parameters (100% coverage), linking them to generateVideo outputs. The description adds no further parameter information, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool polls a video generation job and indicates it's step 3 of 3, which gives some context. However, it does not explicitly state that it retrieves the result or status, leaving ambiguity about what 'poll' means exactly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The phrase 'step 3 of 3' implies it follows another step, but no explicit reference to generate_video or other tools. No mention of when not to use it or what prerequisites are required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_workspaceD
Get a workspace
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Workspace/Organization ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, and the description does not disclose behavioral traits such as read-only nature, authentication requirements, or side effects. The simple verb 'Get' implies a safe read operation, but this is not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely brief (two words), but it is under-specified rather than efficiently concise. It does not earn its place as it adds no value beyond the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and minimal description, the tool is incomplete for an agent to understand return values, prerequisites, or scope. The single sentence provides virtually no contextual completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema describes the 'id' parameter as 'Workspace/Organization ID', providing adequate semantics. The tool description adds no additional meaning beyond what the schema already provides, meeting the baseline for 100% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get a workspace' is a tautology of the tool name 'get_workspace', adding no new information about what the tool does. It does not specify the scope or differentiate from other 'get_*' tools like 'get_board' or 'get_project'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. With many sibling tools for getting different entities, the lack of context leaves the agent without decision criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
image_outpaintingC
Outpaint / extend image beyond borders
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Number of variations to generate. | |
| prompt | Yes | Text description of what to generate in the extended area. | |
| mask_url | Yes | URL of the mask defining the region to extend into. | |
| image_url | Yes | URL of the source image. | |
| guidance_scale | No | How closely to follow the prompt (higher = more literal). | |
| negative_prompt | No | What to avoid in the generated content. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description should disclose behavioral traits. It mentions 'extend image beyond borders', implying a mutation, but does not state whether this is destructive, requires authentication, or rate limits. Lacks transparency for a generative tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (5 words). While concise, it lacks structure—no sentences or additional context. It is minimally adequate but could be more informative without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 parameters, no output schema, and siblings that perform related tasks, the description is incomplete. It does not explain key details like the need for a mask and prompt, or how output differs from alternatives. Schema descriptions help, but tool-level context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all 6 parameters have descriptions. The tool description adds no extra meaning beyond the schema. Baseline 3 is appropriate; no improvement from description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Outpaint / extend image beyond borders' clearly indicates the tool's function: extending an image outward. It distinguishes from inpainting (filling inside), but among siblings like 'generative_fill', the distinction is implicit. Still, it's specific and understandable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., 'magic_inpaint', 'generative_fill'). No when-not-to-use or prerequisites mentioned. The description is purely declarative with no usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
import_brand_kit_modulesC
Import brand kit modules
| Name | Required | Description | Default |
|---|---|---|---|
| icps | No | Ideal Customer Profiles with demographics, goals, pain points, and jobs-to-be-done. | |
| usps | No | Unique Selling Propositions with proof points and ICP mapping. References ICPs by profile_name for M2M linking. | |
| brand_id | Yes | Brand kit UUID | |
| brand_voice | No | Voice characteristics, tone spectrum, vocabulary guidelines, and example copy pieces. | |
| brand_profile | No | Brand identity including mission, vision, personality archetype, core values, and positioning statement. | |
| content_pillars | No | Content pillars with allocation percentages, sample topics, ICP matrix, and journey stage mapping. | |
| brand_guidelines | No | Consolidated brand guidelines document covering all brand elements, stored as a KnowledgeBase entry. | |
| company_research | No | Company research data including products, brand assets, digital presence, and market context. | |
| customer_journey | No | Multi-stage customer journeys with touchpoints, content needs, and conversion factors. | |
| market_positioning | No | Market category, positioning map, white space opportunities, and market trends. | |
| competitor_analysis | No | Competitor profiles with threat levels, strengths, weaknesses, and competitive positioning. | |
| messaging_framework | No | Elevator pitches, ICP-specific messages, objection handlers, taglines, and social bios. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description does not disclose whether the import is additive or overwrites existing modules, what side effects occur, or any authorization needs. Minimal behavioral insight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely brief (3 words), which is concise but at the cost of clarity. It underspecifies the tool's function and lacks any structured detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 12 parameters, no output schema, and no annotations, the description provides almost no context. It fails to explain what 'importing' means, what the return value is, or error handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description doesn't need to add parameter details. However, it adds no extra meaning about parameter relationships or usage patterns. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Import brand kit modules' gives a verb and resource, but doesn't clearly distinguish from sibling tools like 'build_brand_kit' or 'create_brand_kit'. It implies adding modules to an existing brand kit (via brand_id required), but this is not explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description lacks any context about prerequisites, typical scenarios, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_boardsC
List boards
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 1-based page number for paginated list endpoints. | |
| Space | No | Optional sub-space ID for further scoping inside the workspace. | |
| expand | No | Comma-separated list of fields to expand inline on the response (FlexFields style, e.g. `assignees,tags,time_tracking`). | |
| is_public | No | ||
| page_size | No | Page size for paginated list endpoints. | |
| Organization | No | Workspace (organization) ID the request is scoped to. | |
| primary_type | No | Filter by board primary type (defaults to `PM`). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, and the description provides no behavioral details. It doesn't mention pagination, filtering capabilities, read-only nature, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no fluff, but it is too minimal to be informative. Conciseness is acceptable but not paired with sufficient content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters, no output schema, and no annotations, the description should cover pagination, default behavior, and scope. It does not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 86% with each parameter described (e.g., page, page_size, expand). The description adds no additional meaning beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description is 'List boards' which is a verb+resource, but it does not differentiate from sibling tools like get_board (single) or search_boards (filtered). The purpose is clear at a basic level but lacks specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like search_boards. No context on prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_brand_kitsC
List brand kits
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Search term to filter brand kits by title |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description does not disclose behavior like pagination, ordering, or side effects. Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise (3 words) but lacks substance. While front-loaded, it sacrifices informational density.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one optional parameter, the description is minimally adequate but would benefit from explaining output format or when to use search.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers one optional parameter with a description (search). Tool description adds no additional meaning beyond what schema provides. Baseline 3 for 100% coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb + resource; distinguishes from get_brand_kit (single item) and create_brand_kit (creation). However, could be more specific about what a 'brand kit' is.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use vs. alternatives (e.g., get_brand_kit or search_boards). No mention of filtering or pagination behavior.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_commentsC
List comments
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 1-based page number for paginated list endpoints. | |
| Space | No | Optional sub-space ID for further scoping inside the workspace. | |
| object_pk | Yes | UUID of the resource whose comments you want. | |
| page_size | No | Page size for paginated list endpoints. | |
| Organization | No | Workspace (organization) ID the request is scoped to. | |
| content_type | Yes | Resource type. Currently `task`. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must disclose behavioral traits. It only says 'List comments' with no info about ordering, pagination, permissions, side effects, or response format. Completely inadequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise but under-specified. Two words provide no value beyond restating the name. It sacrifices informativeness for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 6 parameters (including pagination and scoping), the description is incomplete. It does not explain the return format, pagination behavior, or the fact that comments are only for tasks. Given no output schema, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, meaning all parameters are documented in the schema. The description adds no additional meaning beyond what the schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List comments' clearly states the action and resource. While it doesn't specify that comments are on tasks (evident from schema), it distinguishes this tool from siblings like list_tasks, list_projects, etc. The purpose is clear but lacks detail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like add_comment or get_task. There is no mention of prerequisites, context, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_context_documentsD
List context documents
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Search by document name or doc_type | |
| brand_id | Yes | Brand kit UUID | |
| ordering | No | Sort order | -modified |
| canonical_key | No | Filter by canonical type key (e.g. brand_voice, icps) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, and the description provides zero behavioral details (e.g., pagination, sorting, permissions, side effects). It merely states the function name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely brief but under-specified; it is a restatement of the name without adding informational value. This is not concise but rather lacking.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no behavioral context, the description fails to inform the agent about return structure, pagination, or how to interpret results. Incomplete for practical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage for all 4 parameters. The description adds no extra meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List context documents' is a tautology of the tool name, adding no additional meaning. It does not differentiate from sibling tools like 'get_context_document_by_type' or clarify the scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance provided on when to use this tool versus alternatives, such as searching or filtering by brand_id. No context on prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_project_itemsD
List project items
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Search term to filter items | |
| ordering | No | Field to order results by | |
| primary_type | No | Filter by primary type | |
| resourcetype | Yes | Project type selector | |
| parent_lookup_project_id | Yes | Parent project ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description gives no behavioral details (e.g., read-only, pagination, side effects). Without this, an AI agent cannot infer the tool's operational characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short (3 words) but insufficiently informative. Under-specification does not constitute good conciseness; the description lacks structure and substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters, no output schema, and no annotations, the description is entirely inadequate. It fails to explain parameter relationships, what a 'project item' is, or how this differs from sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%; all parameters have descriptions. The description adds no extra meaning beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description is a tautology: 'List project items' merely restates the tool name. It does not specify what kind of project items, nor does it distinguish from siblings like get_project_item or list_projects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as get_project_item or list_projects. The description lacks any context about typical usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_projectsD
List projects
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Search term to filter projects | |
| ordering | No | Field to order results by | |
| primary_type | No | Filter by primary type (e.g. pm, blogger) | |
| resourcetype | Yes | Project type selector. Determines the model and serializer used. The API is polymorphic — the same URL structure serves different project types depending on this value. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully carries the burden of behavioral disclosure, but it fails to mention any behavioral traits such as read-only nature, pagination, or authentication requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at two words, but it under-specifies the tool's functionality. It lacks structure and important details, making it insufficient for an agent to use correctly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is completely inadequate for a tool with 4 parameters, a polymorphic API (implied by resourcetype), and no output schema. It omits crucial context like the polymorphic behavior and the importance of the required resourcetype parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so each parameter (search, ordering, primary_type, resourcetype) already has a description. The tool description adds no further semantic value beyond what is in the schema, warranting a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List projects' is a tautology that merely restates the tool name. It does not specify the scope (e.g., all projects in workspace) or differentiate from sibling tools like list_project_items.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as search_tasks or list_boards. There are no usage contexts, prerequisites, or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_social_media_tagsB
List social-media tags (labels)
| Name | Required | Description | Default |
|---|---|---|---|
| product | Yes | Always `social_media` for this MCP — filters out PM tags. | social_media |
| pagination | No | Always `"false"` — returns the full list without paging. | false |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It only states 'list' operation without disclosing read-only nature, permissions needed, or behavior when no tags exist. Does not mention side effects or constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise single sentence, no wasted words. However, it omits important details, but conciseness is still good for the purpose clarity it provides.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should hint at return format (e.g., list of tag names or objects). It only says 'tags (labels)' without elaboration. For a simple tool, this is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter described fully (fixed values). The description adds no additional meaning beyond the schema, resulting in baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List social-media tags (labels)' clearly states the action (list) and resource (social-media tags). It distinguishes from sibling tools like create_social_media_tag and list_tasks, etc. The parenthetical '(labels)' adds specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs. alternatives like create_social_media_tag or other list tools. No context provided for prerequisites or suitable scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_statusesB
List statuses on a board
| Name | Required | Description | Default |
|---|---|---|---|
| Space | No | Optional sub-space ID for further scoping inside the workspace. | |
| expand | No | Comma-separated list of fields to expand inline on the response (FlexFields style, e.g. `assignees,tags,time_tracking`). | |
| board_id | Yes | ||
| Organization | No | Workspace (organization) ID the request is scoped to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states the action without disclosing behavior such as pagination, sorting, authorization requirements, or response scope. This is insufficient for an agent to understand the tool's operational characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that is efficient. However, it could include more useful information without significant bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided, and the description does not hint at the return value format (e.g., list of status objects, any fields). Given the lack of annotations and the existence of sibling tools, this is inadequate for an agent to fully understand the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75%, with most parameters already described. The description adds no extra meaning beyond the schema; it merely states the tool's purpose without clarifying parameter usage or format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List statuses on a board' uses a specific verb 'list' and a clear resource 'statuses' with context 'on a board'. It distinctly differentiates from siblings like get_status (single status) and create_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like get_status or search_statuses. The context implies listing all statuses on a given board, but lacks usage instructions or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_subtasksB
List subtasks for a task
| Name | Required | Description | Default |
|---|---|---|---|
| Space | No | Optional sub-space ID for further scoping inside the workspace. | |
| task_id | Yes | ||
| Organization | No | Workspace (organization) ID the request is scoped to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure, but it only states the function. It does not mention read-only nature, side effects, authentication requirements, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no unnecessary words. It is front-loaded and achieves its purpose without verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters, no output schema, and no annotations, the description is insufficiently complete. It does not describe the response format, any pagination, or constraints, leaving an agent with inadequate context for selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67% (2 of 3 parameters have descriptions in the schema), but the tool description adds no parameter information beyond what is already in the schema. The required task_id parameter lacks a description in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List subtasks for a task' clearly states the action (list) and the resource (subtasks) with a scope (for a task). It distinguishes from sibling tools like 'list_tasks' which lists tasks, not subtasks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description does not mention when not to use it or provide any context about preferred use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tasksD
List tasks
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 1-based page number for paginated list endpoints. | |
| tags | No | Comma-separated tag IDs. | |
| Space | No | Optional sub-space ID for further scoping inside the workspace. | |
| board | No | Filter by board UUID. | |
| expand | No | Comma-separated list of fields to expand inline on the response (FlexFields style, e.g. `assignees,tags,time_tracking`). | |
| search | No | Search over `title` and `description`. | |
| status | No | ||
| assignees | No | Comma-separated user IDs. | |
| page_size | No | Page size for paginated list endpoints. | |
| task_type | No | ||
| Organization | No | Workspace (organization) ID the request is scoped to. | |
| due_date_after | No | ||
| due_date_before | No | ||
| start_date_after | No | ||
| start_date_before | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description discloses no behavioral traits. The tool has 15 parameters implying pagination, filtering, and expansion, but the description is silent on return format, pagination defaults, rate limits, or side effects. This is a serious gap for safe and effective use.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overly terse, consisting of only two words. While concise, it fails to earn its place because it adds no useful information. A properly scoped description could be short but should still clarify scope or behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 15 parameters, no output schema, and no annotations, the description is completely inadequate. The agent cannot determine what the tool returns, how pagination works, or which parameters are required/optional in practice. This tool definition is far from minimal viable completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 60%, meaning many parameters have descriptions in the schema, but the tool description adds zero value beyond the schema. It does not explain how parameters interact (e.g., relationship between 'Organization', 'Space', 'board'), nor does it clarify the meaning of 'expand' or 'status' further. For a tool with many parameters, this is insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List tasks' is a tautology of the tool name and does not clarify scope (e.g., which tasks, in what context). It fails to distinguish from siblings like 'search_tasks' or 'list_subtasks', which also list tasks but with different filters and behaviors.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives (e.g., search_tasks, get_task). No mention of prerequisites, context, or preferred scenarios. The agent is left to infer from the parameter names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_voicesB
List available TTS voices
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Substring match across `language_code` and `language_name`. Use for genuinely vague locale requests. | |
| language_code | No | BCP-47 locale, exact match (e.g. `en-US`, `fr-FR`). Default filter — use this first. | |
| language_name | No | Display name, exact match (e.g. `English (US)`). Use when you only have the display name. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description does not disclose behavioral traits such as read-only nature, authentication requirements, or pagination. It only states the basic function, lacking essential context for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no extraneous information. It is maximally concise while conveying the essential purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema and 3 optional parameters, the description does not explain behavior when no filters are applied, the shape of the returned data, or any constraints. This is insufficient for a list tool with no annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage for all 3 parameters, each with a clear description. The tool description does not need to repeat parameter semantics, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List available TTS voices' is a specific verb+resource pair, clearly indicating the action (list) and the resource (TTS voices). It effectively distinguishes this tool from its siblings, such as generate_audio, which uses voices differently.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There is no mention of context, prerequisites, or exclusions, leaving the agent to infer usage without any clues.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_workspace_membersC
List workspace members as assignee choices
| Name | Required | Description | Default |
|---|---|---|---|
| Space | No | Optional sub-space ID for further scoping inside the workspace. | |
| search | No | Filter by name or email. | |
| Organization | No | Workspace (organization) ID the request is scoped to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It does not disclose read-only nature, required permissions, pagination, or effects. The phrase 'assignee choices' hints at the output format but lacks explicit behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (one sentence), which is front-loaded. However, it lacks necessary detail, making it borderline under-specified. It is not verbose, but could be more informative without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should explain return value structure (e.g., list of user objects with id/name). It only says 'assignee choices', which is vague. Also, it doesn't clarify that Organization is effectively required despite being optional in schema. Incomplete for a 3-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, baseline 3. The description adds 'as assignee choices' giving context to the output, but does not enhance parameter meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List workspace members as assignee choices' clearly states the verb 'list', the resource 'workspace members', and the context 'as assignee choices', which distinguishes it from potential sibling tools like 'get_workspace'. However, it could be more specific about the scope and filtering.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives; no mention of prerequisites, required parameters (like Organization), or exclusions. The user is left to infer usage from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
magic_inpaintC
Magic inpaint — AI object removal / replacement
| Name | Required | Description | Default |
|---|---|---|---|
| scale | No | Guidance scale for generation strength. | |
| prompt | Yes | Text description of the desired result. | |
| image_url | Yes | URL of the source image. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It only says 'object removal/replacement' with no details on destructive nature, auth requirements, or output format. Very minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short, one-line description. While concise, it lacks essential details that would justify its brevity. Could be improved without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations. The description fails to explain what the tool returns, expected input constraints, or behavioral nuances.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already describes all parameters. The description adds no additional meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool does AI object removal/replacement. It distinguishes from siblings like background removal or restoration, but falls short of specifying it's for image objects specifically.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this vs. similar tools like generative_fill or remove_background. No exclusions or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
merge_videosC
Merge multiple videos into one
| Name | Required | Description | Default |
|---|---|---|---|
| video_urls | Yes | Ordered list of video URLs to merge (minimum 2). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must fully disclose behavior. It only says 'merge' without explaining ordering, audio handling, format compatibility, or limits. This is inadequate for predicting tool effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one sentence) and front-loaded. However, it sacrifices necessary detail for brevity, so it is not optimally informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description should explain output format, constraints (e.g., number of videos, file size), and processing behavior. The current description is too minimal for an agent to use correctly without external knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides a clear description for the only parameter (video_urls) with 100% coverage. The tool description adds no additional meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The verb 'Merge' and resource 'videos' clearly indicate the operation. The description distinguishes it from siblings like 'convert_video_format' or 'reverse_video', but it could be more specific (e.g., concatenate vs overlay).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., add_b_rolls_video, speedup_video). There is no context about prerequisites or appropriate scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move_statusB
Reassign all tasks under this status to another status
| Name | Required | Description | Default |
|---|---|---|---|
| Space | No | Optional sub-space ID for further scoping inside the workspace. | |
| status_id | Yes | ||
| Organization | No | Workspace (organization) ID the request is scoped to. | |
| body_status_id | Yes | Target status to receive the tasks. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description bears full burden. It reveals it modifies multiple tasks but lacks details on side effects (e.g., what happens to the original status, whether tasks maintain order, if it's reversible). Minimal behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words, efficiently conveys the core action. Well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple move operation, description is adequate but lacks details on behavior of original status, error conditions, and ordering. Without annotations or output schema, could be more complete. Adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 75% of parameters with descriptions for Space and Organization but not for status_id or body_status_id. The description adds context that tasks are reassigned from one status to another, but doesn't detail parameter specifics beyond what schema provides. Baseline 3 due to high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool reassigns all tasks under one status to another status, using specific verb 'reassign' and resource 'tasks under this status'. Distinguishes from sibling tools like delete_status or update_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, no prerequisites mentioned, and no exclusions or context for when not to use it. Implied usage is minimal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pix_to_pixD
Pix-to-pix image transformation
| Name | Required | Description | Default |
|---|---|---|---|
| counts | No | Number of variations to generate. | |
| prompt | Yes | Instruction describing the transformation (e.g. "make it winter"). | |
| image_url | Yes | URL of the source image. | |
| image_guidance_scale | No | How much to preserve the original image (higher = closer to original). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description fails to disclose any behavioral traits (e.g., destructive nature, authentication needs, rate limits). The description is tautological and offers no behavioral insight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise, but not front-loaded with key information. Could be restructured to include essential details without significant length increase.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (4 parameters, no output schema) and numerous siblings, the description is severely incomplete. It does not explain the transformation type, output, or any other context needed for proper invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are documented. However, the top-level description adds no extra meaning beyond the schema fields. Baseline 3 applies as schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description 'Pix-to-pix image transformation' is vague; it restates the name with minimal added context. Among siblings like blur_background, convert_image_format, and generative_fill, it doesn't specify what type of transformation, making it hard to distinguish.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. With many sibling tools, the lack of context leaves the agent without direction for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_audioB
Remove audio track from video
| Name | Required | Description | Default |
|---|---|---|---|
| video_url | Yes | URL of the source video. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits (e.g., whether it modifies the original, returns a new URL, error if no audio). It only states the action, lacking critical context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with no redundant information, achieving maximum conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description is adequate but could include return value or side effects for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter, so the description adds no extra meaning beyond the schema description 'URL of the source video.' Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Remove' on the specific resource 'audio track from video', which is distinct from sibling tools like 'remove_background' and 'transcribe_video'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., transcribe_video to extract audio), prerequisites (e.g., video must have audio), or scenarios where removal is not possible.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_backgroundC
Remove image background
| Name | Required | Description | Default |
|---|---|---|---|
| image_url | Yes | URL of the source image. | |
| magic_crop | No | Auto-crop to subject bounding box after removal. | |
| output_format | No | Output format. Default png (supports transparency). | |
| background_color | No | Fill color after removal (hex, e.g. "#ffffff"). Omit for transparent. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior but only states 'Remove image background'. It doesn't specify whether the operation is destructive, if it creates a new image, what happens to the original, or any limitations (e.g., image size, processing time).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise at one sentence, but lacks structure and additional information. Could be improved by front-loading key behavioral details, but it's not verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description does not explain the return value (e.g., URL of processed image). Missing details about error handling, supported image formats, or result format, leaving the agent underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema descriptions are adequate (e.g., 'URL of the source image', 'Auto-crop to subject bounding box'). The description adds no additional meaning beyond the schema, meeting the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Remove image background', matching the name and indicating the primary action. It distinguishes from sibling tools like 'blur_background' or 'replace_image_background' by specifying removal, though it doesn't elaborate on what removal entails.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., replace_image_background, blur_background). No mention of prerequisites like image format or size, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_task_dependencyC
Remove a task dependency
| Name | Required | Description | Default |
|---|---|---|---|
| Space | No | Optional sub-space ID for further scoping inside the workspace. | |
| task_id | Yes | ||
| Organization | No | Workspace (organization) ID the request is scoped to. | |
| relationship_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits like permissions, reversibility, or side effects. It only states the action without any additional context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence. Every word is necessary, but the brevity may be insufficient for a tool with 4 parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema, annotations, and incomplete parameter descriptions, the description does not provide enough context for an agent to understand the tool's full behavior, such as return values or error handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%, with task_id and relationship_id lacking descriptions. The description does not add any meaning beyond the schema for any parameter, leaving those two parameters unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Remove a task dependency' clearly states the verb (remove) and the resource (task dependency), and it effectively distinguishes from the sibling tool 'add_task_dependency'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, such as when to remove a dependency vs. add one. No context or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reorder_project_itemC
Reorder a project item
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Item ID (UUID) | |
| position | No | New position index for the item | |
| resourcetype | Yes | Project type selector | |
| parent_lookup_project_id | Yes | Parent project ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description does not disclose any behavioral traits beyond the action. It fails to mention whether the operation is reversible, what side effects occur, or any permission requirements. The parameter 'position' hints at the mechanism but the description itself adds no transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise, but it is under-specified. It could be more informative without being verbose. The structure is acceptable but not exemplary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With four parameters and no output schema or annotations, the description is insufficient for a mutation operation. It does not explain what 'reorder' entails (e.g., updating position, inserting, or swapping), leaving critical gaps for correct tool invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the schema already documents each parameter. The description adds no additional meaning beyond 'Reorder a project item', which provides no parameter context. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Reorder a project item' clearly states the verb (reorder) and the resource (a project item), distinguishing it from sibling tools like create or delete. However, it does not specify the scope (e.g., within a project or list), which could add nuance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, context, or exclusions, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
replace_image_backgroundD
Replace image background
| Name | Required | Description | Default |
|---|---|---|---|
| image_url | Yes | URL of the source image. | |
| replace_type | Yes | What to replace the background with. | |
| replace_color | No | Hex color for replacement (required when replace_type=color). | |
| replace_image | No | URL of background image (required when replace_type=image). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description lacks any behavioral details. Does not mention if replacement is destructive, processing time, or supported image types.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise at 3 words, but under-informative. Lacks front-loading of key details like result type or key constraints.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, no discussion of return values, no distinction from similar tools. Incomplete given the tool's complexity and sibling variety.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are adequately documented in the schema. Description adds no extra meaning, baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Replace image background' states a verb and resource, but is too vague and does not differentiate from siblings like 'remove_background' or 'blur_background'. No specifics on what replacement entails.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. Does not mention prerequisites, file formats, or scenarios where this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
restore_imageC
Restore / enhance image quality
| Name | Required | Description | Default |
|---|---|---|---|
| scale | No | Enhancement strength scale. | |
| image_url | Yes | URL of the source image. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only states the basic purpose without mentioning effects (e.g., destructive nature, auth requirements, rate limits) or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely brief (4 words), which sacrifices informativeness for brevity. It does not provide enough detail to fully understand the tool's operation, making it under-specified rather than effectively concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (image restoration with a scale parameter) and lack of output schema, the description is woefully incomplete. It fails to explain what 'restore' means, how the scale parameter works, or what the output looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for its 2 parameters. The tool description adds no additional meaning to the parameters; the schema already provides adequate descriptions. Baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Restore / enhance image quality' clearly states the tool's purpose and resource (image quality). It uses a specific verb and resource, but lacks differentiation from siblings like upscale_image, as it doesn't specify what restoration entails.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like upscale_image or convert_image_format. There is no mention of prerequisites, exclusions, or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reverse_videoC
Reverse a video
| Name | Required | Description | Default |
|---|---|---|---|
| video_url | Yes | URL of the source video. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It fails to mention side effects, return values, or whether the operation is destructive. Minimal information is provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, but at the expense of completeness. It is not front-loaded with important details and does not earn its place with substantive information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and single parameter, the description should explain what 'reverse' entails (e.g., time reversal, mirroring). It fails to provide a complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (one parameter fully documented in schema). The description adds no additional meaning beyond the parameter name and type, so it meets the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Reverse a video' clearly states the action and resource, but does not distinguish from siblings like 'merge_videos' or 'speedup_video'. It is specific enough to infer the core function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description lacks any context about typical use cases or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
script_to_videoC
Generate a video from a script
| Name | Required | Description | Default |
|---|---|---|---|
| payload | Yes | ||
| should_export | No | Whether to export the final video file. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavioral traits. It only says 'Generate a video from a script', omitting important details such as what the tool creates (e.g., a new asset), whether it modifies existing resources, any destructive capabilities, or return behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one sentence), but such brevity comes at the cost of clarity and completeness. It could benefit from a brief overview of key parameters or workflow.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (12 nested parameters, no output schema, no annotations), the description is insufficient. It does not explain the output, variations, or dependencies, leaving the agent underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no meaning beyond the input schema. Schema coverage is 50%, yet the description does not explain the nested 'payload' structure or key parameters like 'tone', 'format', or 'voice_id'. The schema descriptions partially cover some parameters, but the tool description fails to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Generate' and the resource 'video from a script', indicating the tool's core purpose. However, it does not distinguish this tool from similar sibling tools like text_to_video or generate_video, which also generate videos.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., text_to_video, create_asset). It does not mention prerequisites, context, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sd_scribbleC
Scribble to image (ControlNet)
| Name | Required | Description | Default |
|---|---|---|---|
| image | No | Base64-encoded scribble image (alternative to image_url). | |
| steps | No | Diffusion steps (higher = better quality, slower). | |
| counts | No | Number of variations to generate. | |
| prompt | Yes | Text description of the desired output image. | |
| image_url | No | URL of the scribble/sketch input image. | |
| guidance_scale | No | How closely to follow the prompt. | |
| negative_prompt | Yes | What to avoid in the generated image. | |
| image_resolution | No | Output resolution in pixels. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must disclose behavioral traits. It only mentions 'ControlNet' but does not explain the transformation process, required permissions, or side effects such as whether the input scribble is modified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (one sentence) but at the expense of necessary information. It does not earn its place as it provides minimal value beyond the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 parameters, no output schema, and no annotations, the description fails to provide sufficient context about input requirements, output format, or behavior. It is inadequate for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all 8 parameters with descriptions, achieving 100% coverage. The description adds no additional parameter context, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Scribble to image (ControlNet)' indicates the tool transforms a scribble into an image using ControlNet. However, it lacks a clear verb and does not differentiate from similar image generation tools like 'pix_to_pix' or 'generate_image'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, context, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_boardsB
Search boards (Elasticsearch-backed) — prefer listBoards
| Name | Required | Description | Default |
|---|---|---|---|
| ids | No | Comma-separated board IDs. | |
| page | No | 1-based page number for paginated list endpoints. | |
| Space | No | Optional sub-space ID for further scoping inside the workspace. | |
| search | No | Full-text search over board titles. | |
| ordering | No | Sort order (e.g. `-modified`). | |
| page_size | No | Page size for paginated list endpoints. | |
| Organization | No | Workspace (organization) ID the request is scoped to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only mentions that the search is Elasticsearch-backed, hinting at full-text capabilities but not disclosing any behavioral traits like scope, performance, or side effects. This is minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence containing essential information (search, Elasticsearch-backed) but could be expanded slightly to improve clarity and structure. It is efficient but not overly detailed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters, no output schema, and no annotations, the description is too brief. It does not explain return values, pagination, or when to use this over listBoards beyond a preference hint, leaving the agent underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter described. The description adds no extra semantic information beyond what the schema already provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Search boards (Elasticsearch-backed)' which clearly indicates the tool performs full-text search over board data, distinguishing it from listBoards for general listing. However, it lacks a specific verb+resource structure beyond 'search boards'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description advises 'prefer listBoards' implying that listBoards is the primary tool for listing boards, but it does not explicitly state when to use this search tool instead of alternatives or provide any when-not-to guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_recent_tasksC
Recently modified tasks (Elasticsearch-backed)
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 1-based page number for paginated list endpoints. | |
| Space | No | Optional sub-space ID for further scoping inside the workspace. | |
| board | No | ||
| expand | No | Comma-separated list of fields to expand inline on the response (FlexFields style, e.g. `assignees,tags,time_tracking`). | |
| search | No | ||
| page_size | No | Page size for paginated list endpoints. | |
| Organization | No | Workspace (organization) ID the request is scoped to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Only mentions 'Elasticsearch-backed,' hinting at performance but not disclosing important traits like ordering, pagination limits, or read-only nature. With no annotations, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short (5 words) but lacks structure and completeness. It's concise but under-specified, earning a middle score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters, no output schema, and no annotations, the description is too brief to be complete. Lacks details on output format, pagination, and error handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 71%, so most parameters have descriptions. The tool description adds no additional meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly indicates the tool returns recently modified tasks and specifies it's Elasticsearch-backed, distinguishing it from list_tasks and search_tasks. However, 'recently modified' is vague without a defined time range.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs siblings like search_tasks or list_tasks. The description implies it's for recent tasks but doesn't exclude other contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_tasksC
Search tasks (Elasticsearch-backed)
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 1-based page number for paginated list endpoints. | |
| tags | No | Nested filter on tags (e.g. `tags:42`). | |
| Space | No | Optional sub-space ID for further scoping inside the workspace. | |
| board | No | ||
| expand | No | Comma-separated list of fields to expand inline on the response (FlexFields style, e.g. `assignees,tags,time_tracking`). | |
| search | No | ||
| status | No | ||
| complete | No | ||
| due_date | No | ||
| ordering | No | ||
| priority | No | ||
| assignees | No | Nested filter on assignees (e.g. `assignees:123`). | |
| page_size | No | Page size for paginated list endpoints. | |
| task_type | No | ||
| start_date | No | ||
| Organization | No | Workspace (organization) ID the request is scoped to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only mentions 'Elasticsearch-backed'. This gives minimal behavioral context; it does not disclose read-only nature, rate limits, or response format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short but lacks necessary details. It is not concise in a helpful way; it is under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 16 parameters, no output schema, and no annotations, the description is severely incomplete. It fails to provide enough context for correct tool usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is low (44%), and the description adds no parameter information beyond the schema. The description fails to compensate for the gap, leaving many parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it searches tasks and mentions Elasticsearch-backed, implying full-text search. It distinguishes from 'list_tasks' and 'search_recent_tasks' but does not explicitly differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus siblings like 'list_tasks' or 'search_recent_tasks'. No context on prerequisites or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_agent_notificationB
Send a notification from an AI agent to a user
| Name | Required | Description | Default |
|---|---|---|---|
| link | No | Deep link to the relevant page in Simplified | |
| title | Yes | Notification title (sentence case) | |
| _extra | No | Arbitrary metadata stored in the notification's JSON field. Frontend uses `event_type` to render each card differently. | |
| userId | Yes | ID of the user to notify | |
| message | Yes | Notification body text | |
| category | Yes | Determines delivery channels: - `agentTaskCompleted` — in-app + websocket + email - `agentNeedsInput` — in-app + websocket + email - `agentError` — in-app + websocket + Slack (#agent-alerts) - `agentProgress` — websocket only - `agentNudge` — in-app + websocket | |
| workspaceId | Yes | ID of the workspace |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It only states the action without describing side effects, delivery mechanism, permissions, rate limits, or return behavior. Key details like channel-specific delivery (from the category parameter) are omitted from the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no extraneous words. It is appropriately front-loaded with the core action. However, it may be too brief given the tool's complexity, but it does not waste space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 7 parameters (5 required, nested object), the description is insufficient. It lacks explanation of the parameters, constraints, or behavior. A single sentence does not provide enough context for an AI agent to use the tool correctly without relying entirely on the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage, so the baseline is 3. The description does not add any additional meaning or context to the parameters; it only repeats the overall purpose. No parameter-specific guidance is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Send a notification from an AI agent to a user' clearly states the action (send), the resource (notification), the agent (AI agent), and the recipient (user). It effectively distinguishes from sibling tools, which are largely unrelated (e.g., video, board, task tools).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, when not to use it, or any prerequisites. Sibling tools are unrelated, so usage context is implicit at best. No explicit recommendations or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
speedup_videoC
Change video playback speed
| Name | Required | Description | Default |
|---|---|---|---|
| video_url | Yes | URL of the source video. | |
| playbackrate | Yes | Playback speed multiplier (e.g. 2.0 = double speed, 0.5 = half speed). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, and the description offers no behavioral details beyond the obvious. It does not disclose whether the tool creates a new video, modifies in place, or any constraints on input formats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (4 words), which is efficient for a simple tool. However, it might be slightly under-specified, lacking context that could fit without bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 required params, no output schema), the description is minimally adequate. However, it omits any mention of the output or side effects, leaving minor completeness gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with both 'video_url' and 'playbackrate' having descriptions in the schema. The tool description adds no additional meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Change video playback speed'. It uses a specific verb and resource, and while it doesn't differentiate from siblings like 'reverse_video', the purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor any prerequisites or context. The description is a bare function without usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
text_to_videoC
Generate a video from a text prompt
| Name | Required | Description | Default |
|---|---|---|---|
| payload | Yes | ||
| should_export | No | Whether to export the final video file. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full behavioral disclosure burden. It fails to mention whether the generation is synchronous or asynchronous, typical duration, resource consumption, or output details like file format or supported video length.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise (one sentence), but at the cost of completeness. For a tool with 2 high-level parameters and a nested object, more structure (e.g., listing key options) would be beneficial.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (nested payload, many optional fields), lack of output schema, and no annotations, the description is severely incomplete. It fails to provide essential context for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (many params lack descriptions). The description adds no parameter details beyond the generic statement. It does not help the agent understand how to use the nested 'payload' object or the significance of optional parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'generate' and resource 'video' with the method 'from text prompt'. It conveys the core purpose, though it does not differentiate from sibling tools like 'generate_video' or 'script_to_video' which may have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives (e.g., when to prefer script_to_video). No prerequisites or context for appropriate usage are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transcribe_videoB
Start a video/audio transcription job (step 1 of 3)
| Name | Required | Description | Default |
|---|---|---|---|
| video_url | Yes | URL of the source video or audio file. | |
| language_code | No | BCP-47 language code of the source audio. Defaults to "en-US". | en-US |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, and the description omits behavioral details such as asynchronicity, expected output (e.g., job ID), error handling, or duration, leaving agents uninformed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One concise sentence front-loads the core purpose without any filler, efficiently conveying the tool's role as a first step.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a multi-step job with no output schema, the description is too sparse; it lacks details on return values, workflow continuation, or integration with sibling tools like get_transcription.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with good parameter descriptions; the description adds no extra value beyond the schema, meeting the baseline but not exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool starts a video/audio transcription job and marks it as step 1 of 3, distinguishing it from other video tools like get_transcription.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'step 1 of 3' hint suggests a multi-step workflow but does not explicitly guide when to use this tool vs alternatives or mention post-steps like checking status or downloading.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_boardC
Update a board
| Name | Required | Description | Default |
|---|---|---|---|
| Space | No | Optional sub-space ID for further scoping inside the workspace. | |
| extra | No | Free-form board configuration (merged into `_config`). | |
| title | No | ||
| access | No | 0=PRIVATE, 1=PROTECTED, 2=PUBLIC. | |
| board_id | Yes | Board UUID or slug. | |
| description | No | ||
| Organization | No | Workspace (organization) ID the request is scoped to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. 'Update' implies mutation, but there is no mention of permissions, reversibility, side effects on fields not specified, or whether partial updates are supported. This is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
At only three words, the description is overly terse and under-specified. While brevity is valued, it fails to convey essential information about the tool's capabilities or usage, resulting in a lack of structure and context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's seven parameters, many sibling tools, and lack of output schema or annotations, the description is critically incomplete. It does not explain return values, error conditions, or specific behaviors, leaving the agent with minimal actionable information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 71% of parameters with descriptions, so the structured data already provides substantial meaning. The description adds no additional clarification beyond the schema, meeting the baseline expectation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Update a board' clearly states the verb (Update) and resource (board), distinguishing it from siblings like create_board, delete_board, and get_board. However, it lacks specificity about which attributes of the board can be updated, making it only moderately clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. With multiple siblings related to boards (e.g., clone_board, list_boards, search_boards), the absence of usage context leaves the agent without direction for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_context_documentC
Update a context document
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | Structured JSON data | |
| name | No | ||
| content | No | Markdown content | |
| brand_id | Yes | Brand kit UUID | |
| description | No | ||
| document_link_id | Yes | Context document link UUID (BrandKitContextDocument ID) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. 'Update' implies mutation, but it does not describe side effects, permissions required, whether updates are partial or full, idempotency, or what happens to existing data. The description fails to provide essential behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely brief (one sentence), but brevity comes at the cost of underspecification. It lacks necessary details and does not earn its place by providing valuable information beyond the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 6 parameters, no output schema, and no annotations, the description is insufficient. It does not explain what happens when the tool is invoked, what the return value is, or any important context about the update operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67% (4 of 6 parameters have descriptions). The tool description adds no additional meaning beyond what the schema already provides. Baseline is 3 due to high coverage, so no penalty or bonus.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states 'Update a context document' which clearly identifies the verb and resource, but it is essentially a restatement of the tool name with no additional context about what a context document is or what updating entails. It does not distinguish from sibling tools like create_context_document or delete_context_document beyond the verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. There is no mention of prerequisites, when not to use it, or which sibling tools to consider for similar operations. The description provides no usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_social_media_draftC
Update a draft social media post
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | New scheduled date (e.g. 2026-04-15) | |
| tags | No | Replace the draft's tag (label) IDs with this list. Use `listSocialMediaTags` to fetch existing IDs and `createSocialMediaTag` to add new ones. | |
| time | No | New scheduled time (e.g. 14:30) | |
| media | No | Updated media for the draft. Each entry is either a Simplified asset UUID or a fully qualified URL — see `CreatePostRequest.media` for resolution rules. | |
| message | No | New draft message content | |
| draft_id | Yes | ID of the draft to update | |
| timezone | No | Timezone for the scheduled date/time (e.g. Europe/Warsaw) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits. It does not mention side effects, permission requirements, or behavior on partial updates (e.g., whether omitted fields are left unchanged or reset). This lack of detail is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that focuses on the core function. No unnecessary words or repetition. However, it sacrifices completeness for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is too minimal. It does not explain return values, error conditions, or how the update behaves (e.g., idempotency, partial vs. full replacement). The 7-parameter complexity is not addressed beyond the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter already has a clear description in the schema. The tool description adds no additional meaning beyond what the schema provides. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Update' and the resource 'a draft social media post', making the tool's purpose immediately understandable. It distinguishes from sibling tools like 'create_social_media_post' and 'delete_social_media_draft' by focusing on modification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage context is provided: no indication of when to use this tool versus alternatives (e.g., 'update_social_media_post' for published posts), no prerequisites (e.g., draft must already exist), and no scenarios where it should be avoided. The description is purely declarative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_social_media_postB
Update a published social media post
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | New scheduled date (e.g. 2026-04-15) | |
| tags | No | Replace the post's tag (label) IDs with this list. Use `listSocialMediaTags` to fetch existing IDs and `createSocialMediaTag` to add new ones. | |
| time | No | New scheduled time (e.g. 14:30) | |
| media | No | Updated media for the post. Each entry is either a Simplified asset UUID or a fully qualified URL — see `CreatePostRequest.media` for resolution rules. | |
| message | No | New post message content | |
| post_id | Yes | ID of the published post to update | |
| timezone | No | Timezone for the scheduled date/time (e.g. Europe/Warsaw) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavioral traits. It only states the mutation action (update) but does not describe the update semantics (partial vs full replace), authorization needs, or side effects. This is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 5 words, which is concise and front-loaded with the verb. However, it could include a bit more context without being verbose, but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite full schema coverage, the description lacks overall behavior context for a tool with 7 optional parameters. Without output schema or annotations, the agent is left unclear about update behavior (e.g., whether clearing fields, error conditions). The description is too sparse for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds no parameter meaning beyond what the schema already provides. The schema itself has good descriptions for each parameter, so the description does not need to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Update a published social media post' clearly states the verb (update) and resource (published social media post), distinguishing it from siblings like 'create_social_media_post' and 'update_social_media_draft'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor any prerequisites like post existence or permissions. The description does not mention exclusion criteria or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_statusC
Update a status
| Name | Required | Description | Default |
|---|---|---|---|
| Space | No | Optional sub-space ID for further scoping inside the workspace. | |
| color | No | ||
| order | No | Pass to reposition this status column. | |
| title | No | ||
| board_id | Yes | ||
| status_id | Yes | ||
| description | No | ||
| Organization | No | Workspace (organization) ID the request is scoped to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description must disclose behavioral traits. It merely states 'Update' which implies mutation but offers no details on permissions, side effects, or response behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, making it concise. However, it sacrifices substance for brevity, resulting in under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 8 parameters, no output schema, and numerous sibling tools, the description is completely inadequate. It fails to explain the scope, constraints (e.g., maxLength on title), or any operational details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 38%, meaning many parameters lack inline descriptions. The tool description adds no additional meaning or context for parameters like 'color', 'order', or 'title', leaving the agent with insufficient information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Update a status' is vague and does not specify what aspects of a status can be updated. It fails to distinguish from sibling tools like 'move_status' which also modifies a status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'create_status', 'delete_status', or 'move_status'. The agent has no context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_taskD
Update a task
| Name | Required | Description | Default |
|---|---|---|---|
| Space | No | Optional sub-space ID for further scoping inside the workspace. | |
| extra | No | ||
| order | No | Pass to reposition the task inside its status. | |
| title | No | ||
| status | No | Move task to a new status (on the same or different board). | |
| task_id | Yes | Task UUID or slug. | |
| complete | No | Marking a task complete is rejected if the task has incomplete blockers or a running timer. | |
| due_date | No | ||
| priority | No | ||
| tags_add | No | Composite field — tag names to add. Toolkit calls POST /tasks/{id}/tags/ with {"add": [...]} after the PATCH. | |
| start_date | No | ||
| description | No | Plain text task description. This is the field agents and CLI users should set. The toolkit converts it to a Quill Delta and writes `rich_description` automatically. | |
| tags_remove | No | Composite field — tag names to remove. Toolkit calls POST /tasks/{id}/tags/ with {"remove": [...]} after the PATCH. | |
| Organization | No | Workspace (organization) ID the request is scoped to. | |
| assignees_add | No | Integer user IDs to add as assignees (get from listWorkspaceMembers). Toolkit calls POST /tasks/{id}/assignees/ with {"add": [...]} after the PATCH. | |
| custom_fields | No | ||
| estimated_hours | No | ||
| assignees_remove | No | Integer user IDs to remove from assignees (get from listWorkspaceMembers). Toolkit calls POST /tasks/{id}/assignees/ with {"remove": [...]} after the PATCH. | |
| rich_description | No | INTERNAL — Quill Delta representation. Set automatically by the toolkit when you pass `description`. Do not pass directly unless you have a pre-built Delta and know what you're doing. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It says nothing about mutation safety, side effects, or conditions (e.g., marking complete may fail if blockers exist). The parameter descriptions cover some behavior, but the main description is empty.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
While brief, the description is under-specified. It consists of one short sentence that adds no meaningful information, making it inadequate rather than concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 19 parameters, no output schema, and no annotations, the description is severely incomplete. Users (or agents) have no context about what fields can be updated, side effects, or how to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 63% coverage with descriptions for many parameters. However, the tool description adds no value beyond what the schema already provides. For example, it doesn't explain that 'description' is converted to rich_description or that tags_add/remove are composite operations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Update a task' is essentially a tautology of the tool name. It fails to specify which task fields can be updated or how this tool differs from sibling tools like update_task_assignees or update_task_tags.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus the many specialized task update tools (e.g., update_task_assignees, update_task_custom_fields). The description provides no usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_task_assigneesC
Add or remove task assignees
| Name | Required | Description | Default |
|---|---|---|---|
| add | No | IDs to add. | |
| Space | No | Optional sub-space ID for further scoping inside the workspace. | |
| remove | No | IDs to remove. | |
| task_id | Yes | ||
| Organization | No | Workspace (organization) ID the request is scoped to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description does not disclose whether assignees are added/removed incrementally or replaced entirely, nor does it mention permission or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely brief (4 words). While concise, it lacks needed detail and does not earn its space by providing essential context beyond the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Incomplete for a tool with 5 parameters and no annotations or output schema. Does not explain effect on existing assignees, interaction between add/remove, or required context like workspace.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover 80% of parameters. The tool description adds no new meaning beyond what the schema provides, but baseline is appropriate due to high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (add or remove) and the resource (task assignees). It distinguishes from sibling tools like 'update_task' which might modify other task fields, but does not elaborate on scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'assign_agent_to_item' or 'update_task'. No exclusions or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_task_attachmentsC
Add or remove task attachments
| Name | Required | Description | Default |
|---|---|---|---|
| add | No | ||
| Space | No | Optional sub-space ID for further scoping inside the workspace. | |
| remove | No | ||
| task_id | Yes | ||
| Organization | No | Workspace (organization) ID the request is scoped to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It only states the basic action (add/remove) but does not disclose behavior like whether both add and remove can be done in one call, order of operations, required permissions, or side effects. Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise, but it is underspecified for a tool with 5 parameters and no annotations. Every sentence should add value; this one only states the obvious purpose without supporting details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, no annotations, low schema coverage, and a complex mutation operation, the description is completely inadequate. An agent cannot determine parameter formats, required fields, or expected behavior from this description alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 40%, but the description adds no parameter information. It does not explain what the 'add' array of objects contains, what the 'remove' array expects, or how 'Space' and 'Organization' scope the action. The description fails to compensate for missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool adds or removes task attachments, which is a specific verb-resource combination. It distinguishes from sibling tools like update_task or add_task_dependency, as none of those mention attachments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. For example, it does not mention that this tool is for modifying attachments specifically, while update_task might handle other fields. No when/not-when scenarios are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_task_custom_fieldsB
Set custom field values on a task
| Name | Required | Description | Default |
|---|---|---|---|
| Space | No | Optional sub-space ID for further scoping inside the workspace. | |
| task_id | Yes | Task UUID or slug. | |
| Organization | No | Workspace (organization) ID the request is scoped to. | |
| custom_fields | Yes | Map of custom field UUID → value. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Lacks disclosure of side effects (e.g., whether it merges or replaces custom fields), permissions, or error conditions. With no annotations, the description carries the full burden and is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise, single sentence with no wasted words. However, slight lack of structure could be improved.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, and the description does not explain the behavior of custom_fields (merge vs replace) or any constraints. Incomplete for a tool with nested objects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all parameters. The description adds no extra meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Set custom field values on a task' uses a specific verb and resource, clearly distinguishing it from siblings like 'update_task' and 'update_task_assignees'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., update_task), no prerequisites or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_task_tagsB
Add or remove task tags (by name)
| Name | Required | Description | Default |
|---|---|---|---|
| add | No | String values to add. | |
| Space | No | Optional sub-space ID for further scoping inside the workspace. | |
| remove | No | String values to remove. | |
| task_id | Yes | ||
| Organization | No | Workspace (organization) ID the request is scoped to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states the basic action but does not disclose whether tags are replaced or appended, what happens if a tag doesn't exist, or any permission requirements. The behavior is minimally described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that is front-loaded and contains no unnecessary words. It efficiently communicates the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (5 simple parameters, no output schema), the description covers the basic action. However, it lacks details on return values, side effects, or whether tags are created if missing, which would help the agent anticipate outcomes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 80%, so baseline is 3. The description does not add any meaningful information beyond what the schema already provides (e.g., 'String values to add'). No additional context on parameter usage or format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb and resource: 'Add or remove task tags (by name)'. It specifies the action (add/remove) and the object (task tags), and distinguishes itself from sibling tools like 'update_task' or 'add_comment'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives like 'update_task' or 'add_comment'. It does not mention prerequisites, exclusions, or scenarios where this tool is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upscale_imageB
Upscale image resolution
| Name | Required | Description | Default |
|---|---|---|---|
| scale | No | Upscale factor. Default 2×. | |
| image_url | Yes | URL of the source image. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries full burden for behavioral disclosure. It only states the basic function without revealing traits like limitations, side effects, or output details. For a tool that likely modifies images, more transparency is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is extremely concise at one sentence. It is front-loaded with the core action, but could benefit from slightly more structure without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and annotations, the description should provide more context about what the tool returns, any constraints (e.g., max image size), or how it integrates with other tools. The current description is incomplete for a task this complex.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with clear parameter descriptions. The tool description adds no additional meaning beyond what the schema already provides. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool's function: 'Upscale image resolution'. This is a specific verb (upscale) and resource (image resolution), which distinguishes it from sibling tools like blur_background or convert_image_format.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as other image editing tools. The description does not mention appropriate contexts, prerequisites, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools have distinct purposes and descriptions that clarify intent, but with 104 tools there is minor overlap (e.g., 'generative_fill' vs 'magic_inpaint' both involve AI editing; 'script_to_video' vs 'text_to_video' could confuse). Overall, an agent can typically differentiate them.
Many tools follow a verb_noun pattern (create_board, delete_board), but there are frequent deviations like 'image_outpainting', 'pix_to_pix', 'sd_scribble', and 'script_to_video'. The mix of verb forms and noun phrases reduces consistency.
104 tools is very high for a single MCP server. While it covers multiple domains (task management, social media, media generation), the count likely overwhelms agents and suggests poor scoping. Ideally, such functionality would be split into multiple servers.
The tool set covers most CRUD operations for tasks, boards, projects, social media, media editing, and brand kits. However, asset management is incomplete (no delete/list assets) and some retrieval tools are missing (get_asset, list_assets), leaving minor gaps.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for QPost — lets AI agents publish video and image posts to YouTube, TikTok, Instagram.
Connect any AI agent to 11+ social platforms: schedule, publish & track posts via hosted MCP.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
AI-native social media publishing to LinkedIn, Instagram, Threads, TikTok, and X.
Related MCP Servers
- AlicenseCqualityDmaintenanceA Model Context Protocol (MCP) server for managing social media posts, currently supporting X (formerly Twitter).37MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables AI models and applications to interact directly with Twitter/X, providing capabilities to create posts, reply to tweets, retrieve user data, and manage account actions.1711MIT
- FlicenseNot gradedqualityDmaintenanceA comprehensive Model Context Protocol (MCP) server that provides tools for interacting with the SocialData API. This server allows you to fetch Twitter/X data, monitor user activity, and analyze social media engagement programmatically.7
- AlicenseNot gradedqualityCmaintenanceSocial media API and MCP server for AI agents that enables publishing to X, Instagram, LinkedIn, Reddit, Bluesky, and Threads from a single endpoint.1MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/celeryhq/simplified-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server