MotteTF automatically generates tool schemas from OpenAPI specifications and handles authentication, rate limiting, and error handling for seamless external service integration.
Automatically parse OpenAPI/Swagger specifications to generate tool schemas for AI agents.
Support for multiple authentication methods with secure credential management.
Intelligent rate limiting with backoff strategies to respect API quotas and prevent service disruption.
Robust error handling with retry logic, circuit breakers, and graceful degradation strategies.
Service Type | Examples | Auth Method | Rate Limits |
---|---|---|---|
CRM Systems | Salesforce, HubSpot | OAuth 2.0 | 100/min |
Communication | Slack, Discord, Teams | Bearer Token | 1000/hour |
Cloud Storage | AWS S3, Google Drive | API Key | 5000/day |
Payment | Stripe, PayPal | API Key | 100/sec |
Analytics | Google Analytics, Mixpanel | OAuth 2.0 | 10000/day |
{ "name": "create_ticket", "description": "Create a new support ticket in the system", "parameters": { "type": "object", "properties": { "title": { "type": "string", "description": "Ticket title or summary" }, "description": { "type": "string", "description": "Detailed description of the issue" }, "priority": { "type": "string", "enum": ["low", "medium", "high", "urgent"], "description": "Ticket priority level" }, "assignee": { "type": "string", "description": "User ID to assign the ticket to" } }, "required": ["title", "description"] }, "auth": { "type": "api_key", "header": "X-API-Key" }, "rate_limit": { "requests": 100, "window": "1m" } }
{ "auth": { "type": "api_key", "location": "header", // or "query" "name": "X-API-Key", // header name or query parameter "value": "{{API_KEY}}" // environment variable reference } }
Simple API key authentication via headers or query parameters.
{ "auth": { "type": "oauth2", "flow": "authorization_code", "auth_url": "https://api.example.com/oauth/authorize", "token_url": "https://api.example.com/oauth/token", "scopes": ["read", "write"], "client_id": "{{CLIENT_ID}}", "client_secret": "{{CLIENT_SECRET}}" } }
Full OAuth 2.0 support with automatic token refresh and scope management.
{ "auth": { "type": "bearer", "token": "{{ACCESS_TOKEN}}" } }
Bearer token authentication for services that provide long-lived tokens.
Allows bursts of requests up to bucket capacity, refilling at a steady rate. Best for APIs with burst tolerance.
Fixed number of requests per time window. Simple and predictable, ideal for strict rate limits.
Smooths out request distribution over time. More complex but provides better rate limit utilization.
Automatically increases delay between retries on rate limit hits. Prevents thundering herd problems.
POST /api/tools/generate-schema Content-Type: application/json { "openapi_url": "https://api.example.com/openapi.json", "auth_config": { "type": "api_key", "header": "X-API-Key" }, "rate_limit": { "requests": 100, "window": "1m" } }
Generate tool schemas from OpenAPI specifications with custom authentication and rate limiting.
POST /api/tools/test-connection Content-Type: application/json { "tool_id": "tool_abc123", "test_endpoint": "/api/health", "expected_status": 200 }
Test connectivity and authentication for configured tools before deployment.
POST /api/tools/execute Content-Type: application/json { "tool_id": "tool_abc123", "function": "create_ticket", "parameters": { "title": "Login issue", "description": "User cannot access account", "priority": "high" } }
Execute tool functions with automatic parameter validation and error handling.
Prevents cascading failures by temporarily blocking requests to failing services.
{ "retry": { "max_attempts": 3, "backoff": "exponential", "base_delay": 1000, // ms "max_delay": 30000, // ms "retry_on": [500, 502, 503, 504, 429] } }
Configurable retry logic with exponential backoff for transient failures.