veryfront 0.1.587 → 0.1.589

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/esm/deno.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  "name": "veryfront",
3
- "version": "0.1.587",
3
+ "version": "0.1.589",
4
4
  "license": "Apache-2.0",
5
5
  "nodeModulesDir": "auto",
6
6
  "workspace": [
@@ -15,7 +15,7 @@ export const connectors = [
15
15
  { "name": "gitlab", "displayName": "GitLab", "icon": "gitlab.svg", "description": "Search and manage GitLab issues, merge requests, and projects", "auth": { "type": "oauth2", "provider": "gitlab", "authorizationUrl": "https://gitlab.com/oauth/authorize", "tokenUrl": "https://gitlab.com/oauth/token", "scopes": ["api", "read_user", "read_repository"], "tokenAuthMethod": "body", "requiredApis": [{ "name": "GitLab Application", "enableUrl": "https://gitlab.com/-/profile/applications" }] }, "envVars": [{ "name": "GITLAB_CLIENT_ID", "description": "GitLab OAuth Application ID", "required": true, "sensitive": false, "docsUrl": "https://docs.gitlab.com/ee/api/oauth2.html" }, { "name": "GITLAB_CLIENT_SECRET", "description": "GitLab OAuth Application Secret", "required": true, "sensitive": true, "docsUrl": "https://docs.gitlab.com/ee/api/oauth2.html" }], "tools": [{ "id": "list_projects", "name": "List Projects", "description": "List accessible GitLab projects", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://gitlab.com/api/v4/projects", "params": { "membership": { "type": "boolean", "in": "query", "description": "Only return projects the user is a member of", "default": true }, "search": { "type": "string", "in": "query", "description": "Search text for projects" }, "simple": { "type": "boolean", "in": "query", "description": "Return simplified project objects", "default": true }, "page": { "type": "number", "in": "query", "description": "Result page", "default": 1 }, "per_page": { "type": "number", "in": "query", "description": "Results per page", "default": 20 } } } }, { "id": "get_project", "name": "Get Project", "description": "Get detailed information about a GitLab project", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://gitlab.com/api/v4/projects/{projectId}", "params": { "projectId": { "type": "string", "in": "path", "description": "GitLab numeric project ID or raw namespace/project path", "required": true } } } }, { "id": "search_issues", "name": "Search Issues", "description": "Search for issues across projects", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://gitlab.com/api/v4/issues", "params": { "search": { "type": "string", "in": "query", "description": "Search text for issue title or description" }, "state": { "type": "string", "in": "query", "description": "Issue state", "default": "opened" }, "scope": { "type": "string", "in": "query", "description": "Issue scope such as created_by_me, assigned_to_me, or all", "default": "assigned_to_me" }, "labels": { "type": "string", "in": "query", "description": "Comma-separated label names" }, "page": { "type": "number", "in": "query", "description": "Result page", "default": 1 }, "per_page": { "type": "number", "in": "query", "description": "Results per page", "default": 20 } } } }, { "id": "get_issue", "name": "Get Issue", "description": "Get detailed information about a specific issue", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://gitlab.com/api/v4/projects/{projectId}/issues/{issueIid}", "params": { "projectId": { "type": "string", "in": "path", "description": "GitLab numeric project ID or raw namespace/project path", "required": true }, "issueIid": { "type": "number", "in": "path", "description": "Project-local issue IID", "required": true } } } }, { "id": "create_issue", "name": "Create Issue", "description": "Create a new issue in a project", "requiresWrite": true, "endpoint": { "method": "POST", "url": "https://gitlab.com/api/v4/projects/{projectId}/issues", "params": { "projectId": { "type": "string", "in": "path", "description": "GitLab numeric project ID or raw namespace/project path", "required": true } }, "body": { "title": { "type": "string", "description": "Issue title", "required": true }, "description": { "type": "string", "description": "Issue description" }, "labels": { "type": "string", "description": "Comma-separated labels" }, "assignee_ids": { "type": "array", "description": "GitLab user IDs to assign" } } } }, { "id": "update_issue", "name": "Update Issue", "description": "Update, close, or reopen a GitLab issue", "requiresWrite": true, "endpoint": { "method": "PUT", "url": "https://gitlab.com/api/v4/projects/{projectId}/issues/{issueIid}", "params": { "projectId": { "type": "string", "in": "path", "description": "GitLab numeric project ID or raw namespace/project path", "required": true }, "issueIid": { "type": "number", "in": "path", "description": "Project-local issue IID", "required": true } }, "body": { "title": { "type": "string", "description": "Updated issue title" }, "description": { "type": "string", "description": "Updated issue description" }, "state_event": { "type": "string", "description": "close or reopen" }, "labels": { "type": "string", "description": "Comma-separated replacement labels" }, "assignee_ids": { "type": "array", "description": "GitLab user IDs to assign" } } } }, { "id": "add_issue_comment", "name": "Add Issue Comment", "description": "Add a comment/note to a GitLab issue", "requiresWrite": true, "endpoint": { "method": "POST", "url": "https://gitlab.com/api/v4/projects/{projectId}/issues/{issueIid}/notes", "params": { "projectId": { "type": "string", "in": "path", "description": "GitLab numeric project ID or raw namespace/project path", "required": true }, "issueIid": { "type": "number", "in": "path", "description": "Project-local issue IID", "required": true } }, "body": { "body": { "type": "string", "description": "Comment body in Markdown", "required": true }, "confidential": { "type": "boolean", "description": "Make the note visible only to project members" } } } }, { "id": "list_merge_requests", "name": "List Merge Requests", "description": "List merge requests for a project or across projects", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://gitlab.com/api/v4/merge_requests", "params": { "state": { "type": "string", "in": "query", "description": "Merge request state", "default": "opened" }, "scope": { "type": "string", "in": "query", "description": "Merge request scope such as created_by_me, assigned_to_me, or all", "default": "assigned_to_me" }, "search": { "type": "string", "in": "query", "description": "Search text for merge requests" }, "page": { "type": "number", "in": "query", "description": "Result page", "default": 1 }, "per_page": { "type": "number", "in": "query", "description": "Results per page", "default": 20 } } } }, { "id": "get_merge_request", "name": "Get Merge Request", "description": "Get detailed information about a specific GitLab merge request", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://gitlab.com/api/v4/projects/{projectId}/merge_requests/{mergeRequestIid}", "params": { "projectId": { "type": "string", "in": "path", "description": "GitLab numeric project ID or raw namespace/project path", "required": true }, "mergeRequestIid": { "type": "number", "in": "path", "description": "Project-local merge request IID", "required": true } } } }, { "id": "add_merge_request_comment", "name": "Add Merge Request Comment", "description": "Add a comment/note to a GitLab merge request", "requiresWrite": true, "endpoint": { "method": "POST", "url": "https://gitlab.com/api/v4/projects/{projectId}/merge_requests/{mergeRequestIid}/notes", "params": { "projectId": { "type": "string", "in": "path", "description": "GitLab numeric project ID or raw namespace/project path", "required": true }, "mergeRequestIid": { "type": "number", "in": "path", "description": "Project-local merge request IID", "required": true } }, "body": { "body": { "type": "string", "description": "Comment body in Markdown", "required": true }, "internal": { "type": "boolean", "description": "Make the note internal when supported" } } } }], "prompts": [{ "id": "find_issues", "title": "Find my issues", "prompt": "Search for issues assigned to me that are open. Show me the most important ones.", "category": "development", "icon": "bug" }, { "id": "review_mrs", "title": "Review merge requests", "prompt": "Show me all open merge requests that need my review. Summarize what each one does.", "category": "development", "icon": "git-merge" }, { "id": "create_bug_report", "title": "Create bug report", "prompt": "Help me create a detailed bug report issue with steps to reproduce, expected vs actual behavior.", "category": "development", "icon": "plus" }, { "id": "project_status", "title": "Project status", "prompt": "Give me a summary of my projects: open issues, merge requests, and recent activity.", "category": "development", "icon": "list" }], "suggestedWith": ["github", "jira", "slack"] },
16
16
  { "name": "gmail", "displayName": "Gmail", "icon": "gmail.svg", "description": "Read and send emails via Gmail API", "auth": { "type": "oauth2", "provider": "google", "authorizationUrl": "https://accounts.google.com/o/oauth2/v2/auth", "tokenUrl": "https://oauth2.googleapis.com/token", "scopes": ["https://www.googleapis.com/auth/gmail.readonly", "https://www.googleapis.com/auth/gmail.send", "https://www.googleapis.com/auth/gmail.modify", "https://www.googleapis.com/auth/gmail.labels", "https://www.googleapis.com/auth/gmail.compose", "https://mail.google.com/"], "requiredApis": [{ "name": "Gmail API", "enableUrl": "https://console.cloud.google.com/apis/library/gmail.googleapis.com" }] }, "envVars": [{ "name": "GOOGLE_CLIENT_ID", "description": "Google OAuth Client ID", "required": true, "sensitive": false, "docsUrl": "https://console.cloud.google.com/apis/credentials" }, { "name": "GOOGLE_CLIENT_SECRET", "description": "Google OAuth Client Secret", "required": true, "sensitive": true, "docsUrl": "https://console.cloud.google.com/apis/credentials" }], "tools": [{ "id": "list_emails", "name": "List Emails", "description": "List email message IDs from inbox. Use get-email to fetch full content for each message.", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://gmail.googleapis.com/gmail/v1/users/me/messages", "params": { "maxResults": { "type": "number", "in": "query", "description": "Maximum number of messages to return (1-500)", "default": 20 }, "q": { "type": "string", "in": "query", "description": "Gmail search query (e.g. is:unread, from:user@example.com)" }, "labelIds": { "type": "string[]", "in": "query", "description": "Only return messages with these label IDs (e.g. INBOX, UNREAD)" }, "pageToken": { "type": "string", "in": "query", "description": "Page token for pagination" } }, "response": { "transform": "messages" } } }, { "id": "send_email", "name": "Send Email", "description": "Send an email to recipients", "requiresWrite": true, "endpoint": { "method": "POST", "url": "https://gmail.googleapis.com/gmail/v1/users/me/messages/send", "body": { "raw": { "type": "string", "description": "Base64url-encoded RFC 2822 email message", "required": true }, "threadId": { "type": "string", "description": "Thread ID for a reply" } } } }, { "id": "get_email", "name": "Get Email", "description": "Get a specific email by ID with full content", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://gmail.googleapis.com/gmail/v1/users/me/messages/{messageId}", "params": { "messageId": { "type": "string", "in": "path", "description": "Email message ID", "required": true }, "format": { "type": "string", "in": "query", "description": "Format: full, metadata, minimal, raw", "default": "full" } } } }, { "id": "search_emails", "name": "Search Emails", "description": "Search emails by query", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://gmail.googleapis.com/gmail/v1/users/me/messages", "params": { "q": { "type": "string", "in": "query", "description": "Gmail search query", "required": true }, "maxResults": { "type": "number", "in": "query", "description": "Maximum results", "default": 10 }, "pageToken": { "type": "string", "in": "query", "description": "Page token for pagination" } }, "response": { "transform": "messages" } } }, { "id": "mark_email_read", "name": "Mark Email Read", "description": "Mark an email as read", "requiresWrite": true, "endpoint": { "method": "POST", "url": "https://gmail.googleapis.com/gmail/v1/users/me/messages/{messageId}/modify", "params": { "messageId": { "type": "string", "in": "path", "description": "Email message ID", "required": true } }, "body": { "removeLabelIds": { "type": "array", "description": "Label IDs to remove, use UNREAD", "default": ["UNREAD"] } } } }, { "id": "archive_email", "name": "Archive Email", "description": "Archive an email", "requiresWrite": true, "endpoint": { "method": "POST", "url": "https://gmail.googleapis.com/gmail/v1/users/me/messages/{messageId}/modify", "params": { "messageId": { "type": "string", "in": "path", "description": "Email message ID", "required": true } }, "body": { "removeLabelIds": { "type": "array", "description": "Label IDs to remove, use INBOX", "default": ["INBOX"] } } } }, { "id": "list_labels", "name": "List Labels", "description": "List Gmail labels", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://gmail.googleapis.com/gmail/v1/users/me/labels", "response": { "transform": "labels" } } }, { "id": "get_label", "name": "Get Label", "description": "Get a Gmail label", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://gmail.googleapis.com/gmail/v1/users/me/labels/{labelId}", "params": { "labelId": { "type": "string", "in": "path", "description": "Label ID", "required": true } } } }, { "id": "create_label", "name": "Create Label", "description": "Create a Gmail user label", "requiresWrite": true, "endpoint": { "method": "POST", "url": "https://gmail.googleapis.com/gmail/v1/users/me/labels", "body": { "name": { "type": "string", "description": "Label display name", "required": true }, "messageListVisibility": { "type": "string", "description": "Message list visibility: show or hide" }, "labelListVisibility": { "type": "string", "description": "Label list visibility" }, "color": { "type": "object", "description": "Label color object" } } } }, { "id": "update_label", "name": "Update Label", "description": "Update a Gmail user label", "requiresWrite": true, "endpoint": { "method": "PUT", "url": "https://gmail.googleapis.com/gmail/v1/users/me/labels/{labelId}", "params": { "labelId": { "type": "string", "in": "path", "description": "Label ID", "required": true } }, "body": { "name": { "type": "string", "description": "Label display name", "required": true }, "messageListVisibility": { "type": "string", "description": "Message list visibility: show or hide" }, "labelListVisibility": { "type": "string", "description": "Label list visibility" }, "color": { "type": "object", "description": "Label color object" } } } }, { "id": "delete_label", "name": "Delete Label", "description": "Delete a Gmail user label", "requiresWrite": true, "endpoint": { "method": "DELETE", "url": "https://gmail.googleapis.com/gmail/v1/users/me/labels/{labelId}", "params": { "labelId": { "type": "string", "in": "path", "description": "Label ID", "required": true } } } }, { "id": "apply_labels", "name": "Apply Labels", "description": "Apply or remove labels on an email", "requiresWrite": true, "endpoint": { "method": "POST", "url": "https://gmail.googleapis.com/gmail/v1/users/me/messages/{messageId}/modify", "params": { "messageId": { "type": "string", "in": "path", "description": "Email message ID", "required": true } }, "body": { "addLabelIds": { "type": "array", "description": "Label IDs to add" }, "removeLabelIds": { "type": "array", "description": "Label IDs to remove" } } } }, { "id": "modify_email_labels", "name": "Modify Email Labels", "description": "Modify labels on an email", "requiresWrite": true, "endpoint": { "method": "POST", "url": "https://gmail.googleapis.com/gmail/v1/users/me/messages/{messageId}/modify", "params": { "messageId": { "type": "string", "in": "path", "description": "Email message ID", "required": true } }, "body": { "addLabelIds": { "type": "array", "description": "Label IDs to add" }, "removeLabelIds": { "type": "array", "description": "Label IDs to remove" } } } }, { "id": "trash_email", "name": "Trash Email", "description": "Move an email to trash", "requiresWrite": true, "endpoint": { "method": "POST", "url": "https://gmail.googleapis.com/gmail/v1/users/me/messages/{messageId}/trash", "params": { "messageId": { "type": "string", "in": "path", "description": "Email message ID", "required": true } } } }, { "id": "untrash_email", "name": "Untrash Email", "description": "Remove an email from trash", "requiresWrite": true, "endpoint": { "method": "POST", "url": "https://gmail.googleapis.com/gmail/v1/users/me/messages/{messageId}/untrash", "params": { "messageId": { "type": "string", "in": "path", "description": "Email message ID", "required": true } } } }, { "id": "delete_email", "name": "Delete Email", "description": "Permanently delete an email", "requiresWrite": true, "endpoint": { "method": "DELETE", "url": "https://gmail.googleapis.com/gmail/v1/users/me/messages/{messageId}", "params": { "messageId": { "type": "string", "in": "path", "description": "Email message ID", "required": true } } } }, { "id": "batch_modify_emails", "name": "Batch Modify Emails", "description": "Modify labels on multiple emails", "requiresWrite": true, "endpoint": { "method": "POST", "url": "https://gmail.googleapis.com/gmail/v1/users/me/messages/batchModify", "body": { "ids": { "type": "array", "description": "Email message IDs", "required": true }, "addLabelIds": { "type": "array", "description": "Label IDs to add" }, "removeLabelIds": { "type": "array", "description": "Label IDs to remove" } } } }, { "id": "batch_delete_emails", "name": "Batch Delete Emails", "description": "Permanently delete multiple emails", "requiresWrite": true, "endpoint": { "method": "POST", "url": "https://gmail.googleapis.com/gmail/v1/users/me/messages/batchDelete", "body": { "ids": { "type": "array", "description": "Email message IDs", "required": true } } } }, { "id": "list_threads", "name": "List Threads", "description": "List Gmail threads", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://gmail.googleapis.com/gmail/v1/users/me/threads", "params": { "maxResults": { "type": "number", "in": "query", "description": "Maximum number of threads to return (1-500)", "default": 20 }, "q": { "type": "string", "in": "query", "description": "Gmail search query" }, "labelIds": { "type": "string[]", "in": "query", "description": "Only return threads with these label IDs" }, "pageToken": { "type": "string", "in": "query", "description": "Page token for pagination" } }, "response": { "transform": "threads" } } }, { "id": "get_thread", "name": "Get Thread", "description": "Get a Gmail thread", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://gmail.googleapis.com/gmail/v1/users/me/threads/{threadId}", "params": { "threadId": { "type": "string", "in": "path", "description": "Thread ID", "required": true }, "format": { "type": "string", "in": "query", "description": "Format: full, metadata, minimal", "default": "full" } } } }, { "id": "modify_thread_labels", "name": "Modify Thread Labels", "description": "Modify labels on a Gmail thread", "requiresWrite": true, "endpoint": { "method": "POST", "url": "https://gmail.googleapis.com/gmail/v1/users/me/threads/{threadId}/modify", "params": { "threadId": { "type": "string", "in": "path", "description": "Thread ID", "required": true } }, "body": { "addLabelIds": { "type": "array", "description": "Label IDs to add" }, "removeLabelIds": { "type": "array", "description": "Label IDs to remove" } } } }, { "id": "trash_thread", "name": "Trash Thread", "description": "Move a Gmail thread to trash", "requiresWrite": true, "endpoint": { "method": "POST", "url": "https://gmail.googleapis.com/gmail/v1/users/me/threads/{threadId}/trash", "params": { "threadId": { "type": "string", "in": "path", "description": "Thread ID", "required": true } } } }, { "id": "untrash_thread", "name": "Untrash Thread", "description": "Remove a Gmail thread from trash", "requiresWrite": true, "endpoint": { "method": "POST", "url": "https://gmail.googleapis.com/gmail/v1/users/me/threads/{threadId}/untrash", "params": { "threadId": { "type": "string", "in": "path", "description": "Thread ID", "required": true } } } }, { "id": "delete_thread", "name": "Delete Thread", "description": "Permanently delete a Gmail thread", "requiresWrite": true, "endpoint": { "method": "DELETE", "url": "https://gmail.googleapis.com/gmail/v1/users/me/threads/{threadId}", "params": { "threadId": { "type": "string", "in": "path", "description": "Thread ID", "required": true } } } }, { "id": "create_draft", "name": "Create Draft", "description": "Create a Gmail draft", "requiresWrite": true, "endpoint": { "method": "POST", "url": "https://gmail.googleapis.com/gmail/v1/users/me/drafts", "body": { "message": { "type": "object", "description": "Draft message containing raw RFC 2822 content", "required": true } } } }, { "id": "list_drafts", "name": "List Drafts", "description": "List Gmail drafts", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://gmail.googleapis.com/gmail/v1/users/me/drafts", "params": { "maxResults": { "type": "number", "in": "query", "description": "Maximum number of drafts to return (1-500)", "default": 20 }, "q": { "type": "string", "in": "query", "description": "Gmail search query" }, "pageToken": { "type": "string", "in": "query", "description": "Page token for pagination" } }, "response": { "transform": "drafts" } } }, { "id": "get_draft", "name": "Get Draft", "description": "Get a Gmail draft", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://gmail.googleapis.com/gmail/v1/users/me/drafts/{draftId}", "params": { "draftId": { "type": "string", "in": "path", "description": "Draft ID", "required": true }, "format": { "type": "string", "in": "query", "description": "Format: full, metadata, minimal, raw", "default": "full" } } } }, { "id": "update_draft", "name": "Update Draft", "description": "Replace a Gmail draft", "requiresWrite": true, "endpoint": { "method": "PUT", "url": "https://gmail.googleapis.com/gmail/v1/users/me/drafts/{draftId}", "params": { "draftId": { "type": "string", "in": "path", "description": "Draft ID", "required": true } }, "body": { "message": { "type": "object", "description": "Draft message containing raw RFC 2822 content", "required": true } } } }, { "id": "send_draft", "name": "Send Draft", "description": "Send an existing Gmail draft", "requiresWrite": true, "endpoint": { "method": "POST", "url": "https://gmail.googleapis.com/gmail/v1/users/me/drafts/send", "body": { "id": { "type": "string", "description": "Draft ID", "required": true } } } }, { "id": "delete_draft", "name": "Delete Draft", "description": "Permanently delete a Gmail draft", "requiresWrite": true, "endpoint": { "method": "DELETE", "url": "https://gmail.googleapis.com/gmail/v1/users/me/drafts/{draftId}", "params": { "draftId": { "type": "string", "in": "path", "description": "Draft ID", "required": true } } } }, { "id": "get_attachment", "name": "Get Attachment", "description": "Get a Gmail message attachment", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://gmail.googleapis.com/gmail/v1/users/me/messages/{messageId}/attachments/{attachmentId}", "params": { "messageId": { "type": "string", "in": "path", "description": "Email message ID", "required": true }, "attachmentId": { "type": "string", "in": "path", "description": "Attachment ID", "required": true } } } }, { "id": "get_profile", "name": "Get Profile", "description": "Get the Gmail mailbox profile", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://gmail.googleapis.com/gmail/v1/users/me/profile" } }, { "id": "list_history", "name": "List History", "description": "List Gmail mailbox history changes", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://gmail.googleapis.com/gmail/v1/users/me/history", "params": { "startHistoryId": { "type": "string", "in": "query", "description": "History ID to start after", "required": true }, "maxResults": { "type": "number", "in": "query", "description": "Maximum history records", "default": 100 }, "pageToken": { "type": "string", "in": "query", "description": "Page token for pagination" }, "labelId": { "type": "string", "in": "query", "description": "Only return history for this label" }, "historyTypes": { "type": "string[]", "in": "query", "description": "History event types" } } } }], "prompts": [{ "id": "summarize_emails", "title": "Summarize today's emails", "prompt": "Summarize my unread emails from today. Group them by priority and highlight any that need immediate attention.", "category": "productivity", "icon": "mail" }, { "id": "draft_reply", "title": "Draft a quick reply", "prompt": "Help me draft a reply to my most recent email. Keep it professional and concise.", "category": "productivity", "icon": "reply" }, { "id": "find_emails", "title": "Find important emails", "prompt": "Search my emails for important messages from the past week that I might have missed.", "category": "productivity", "icon": "search" }], "suggestedWith": ["calendar", "slack"] },
17
17
  { "name": "hubspot", "displayName": "HubSpot", "icon": "hubspot.svg", "description": "Manage contacts, companies, and deals in your HubSpot CRM", "auth": { "type": "oauth2", "provider": "hubspot", "authorizationUrl": "https://app.hubspot.com/oauth/authorize", "tokenUrl": "https://api.hubapi.com/oauth/v1/token", "scopes": ["crm.objects.contacts.read", "crm.objects.contacts.write", "crm.objects.companies.read", "crm.objects.deals.read", "crm.objects.deals.write"], "tokenAuthMethod": "request_body", "requiredApis": [{ "name": "HubSpot App", "enableUrl": "https://app.hubspot.com/developer" }] }, "envVars": [{ "name": "HUBSPOT_CLIENT_ID", "description": "HubSpot OAuth Client ID (from your app)", "required": true, "sensitive": false, "docsUrl": "https://app.hubspot.com/developer" }, { "name": "HUBSPOT_CLIENT_SECRET", "description": "HubSpot OAuth Client Secret", "required": true, "sensitive": true, "docsUrl": "https://app.hubspot.com/developer" }], "tools": [{ "id": "list_contacts", "name": "List Contacts", "description": "List contacts from your HubSpot CRM", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://api.hubapi.com/crm/v3/objects/contacts", "params": { "limit": { "type": "number", "in": "query", "description": "Maximum number of contacts to return", "default": 100 }, "after": { "type": "string", "in": "query", "description": "Paging cursor from HubSpot" }, "properties": { "type": "string", "in": "query", "description": "Comma-separated contact properties to include" }, "archived": { "type": "boolean", "in": "query", "description": "Whether to include archived contacts", "default": false } }, "response": { "transform": "results" } } }, { "id": "get_contact", "name": "Get Contact", "description": "Get detailed information about a specific contact", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://api.hubapi.com/crm/v3/objects/contacts/{contactId}", "params": { "contactId": { "type": "string", "in": "path", "description": "HubSpot contact ID", "required": true }, "properties": { "type": "string", "in": "query", "description": "Comma-separated contact properties to include" }, "archived": { "type": "boolean", "in": "query", "description": "Whether to include archived contacts", "default": false } } } }, { "id": "create_contact", "name": "Create Contact", "description": "Create a new contact in HubSpot CRM", "requiresWrite": true, "endpoint": { "method": "POST", "url": "https://api.hubapi.com/crm/v3/objects/contacts", "body": { "properties": { "type": "object", "description": "Contact property values keyed by HubSpot property name", "required": true } } } }, { "id": "list_deals", "name": "List Deals", "description": "List sales deals from your HubSpot CRM", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://api.hubapi.com/crm/v3/objects/deals", "params": { "limit": { "type": "number", "in": "query", "description": "Maximum number of deals to return", "default": 100 }, "after": { "type": "string", "in": "query", "description": "Paging cursor from HubSpot" }, "properties": { "type": "string", "in": "query", "description": "Comma-separated deal properties to include" }, "archived": { "type": "boolean", "in": "query", "description": "Whether to include archived deals", "default": false } }, "response": { "transform": "results" } } }, { "id": "create_deal", "name": "Create Deal", "description": "Create a new deal in HubSpot CRM", "requiresWrite": true, "endpoint": { "method": "POST", "url": "https://api.hubapi.com/crm/v3/objects/deals", "body": { "properties": { "type": "object", "description": "Deal property values keyed by HubSpot property name", "required": true } } } }], "prompts": [{ "id": "find_contacts", "title": "Find contacts", "prompt": "Search for contacts in my HubSpot CRM and show me their key information.", "category": "crm", "icon": "search" }, { "id": "create_contact", "title": "Create a contact", "prompt": "Create a new contact in HubSpot CRM with the information I provide.", "category": "crm", "icon": "plus" }, { "id": "pipeline_summary", "title": "Pipeline summary", "prompt": "Show me a summary of my current sales deals and pipeline status.", "category": "crm", "icon": "chart" }], "suggestedWith": ["gmail", "slack", "calendar"] },
18
- { "name": "jira", "displayName": "Jira", "icon": "jira.svg", "description": "Search, create, and manage Jira issues and projects", "auth": { "type": "oauth2", "provider": "atlassian", "authorizationUrl": "https://auth.atlassian.com/authorize", "tokenUrl": "https://auth.atlassian.com/oauth/token", "scopes": ["read:jira-work", "write:jira-work", "read:jira-user", "offline_access"], "tokenAuthMethod": "body", "requiredApis": [{ "name": "Atlassian OAuth 2.0", "enableUrl": "https://developer.atlassian.com/console/myapps/" }], "additionalAuthParams": { "audience": "api.atlassian.com", "prompt": "consent" } }, "envVars": [{ "name": "ATLASSIAN_CLIENT_ID", "description": "Atlassian OAuth 2.0 Client ID (from your app)", "required": true, "sensitive": false, "docsUrl": "https://developer.atlassian.com/console/myapps/" }, { "name": "ATLASSIAN_CLIENT_SECRET", "description": "Atlassian OAuth 2.0 Client Secret", "required": true, "sensitive": true, "docsUrl": "https://developer.atlassian.com/console/myapps/" }], "tools": [{ "id": "list_sites", "name": "List Atlassian Sites", "description": "List Atlassian cloud sites/resources the OAuth token can access; use the returned id as cloudId for Jira and Confluence tools", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://api.atlassian.com/oauth/token/accessible-resources", "response": { "transform": "" } } }, { "id": "list_projects", "name": "List Projects", "description": "List all accessible Jira projects", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://api.atlassian.com/ex/jira/{cloudId}/rest/api/3/project/search", "params": { "cloudId": { "type": "string", "in": "path", "description": "Atlassian cloud ID from accessible-resources", "required": true }, "query": { "type": "string", "in": "query", "description": "Search text for project name or key" }, "maxResults": { "type": "number", "in": "query", "description": "Maximum projects to return", "default": 50 }, "startAt": { "type": "number", "in": "query", "description": "Pagination offset", "default": 0 } }, "response": { "transform": "values" } } }, { "id": "get_project", "name": "Get Project", "description": "Get detailed information about a Jira project", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://api.atlassian.com/ex/jira/{cloudId}/rest/api/3/project/{projectIdOrKey}", "params": { "cloudId": { "type": "string", "in": "path", "description": "Atlassian cloud ID from OAuth accessible resources", "required": true }, "projectIdOrKey": { "type": "string", "in": "path", "description": "Jira project ID or key", "required": true } } } }, { "id": "search_issues", "name": "Search Issues", "description": "Search Jira issues using JQL (Jira Query Language)", "requiresWrite": false, "endpoint": { "method": "POST", "url": "https://api.atlassian.com/ex/jira/{cloudId}/rest/api/3/search", "params": { "cloudId": { "type": "string", "in": "path", "description": "Atlassian cloud ID from accessible-resources", "required": true } }, "body": { "jql": { "type": "string", "description": "Jira Query Language search expression", "required": true }, "maxResults": { "type": "number", "description": "Maximum issues to return", "default": 50 }, "startAt": { "type": "number", "description": "Pagination offset", "default": 0 }, "fields": { "type": "array", "description": "Issue fields to include" } }, "response": { "transform": "issues" } } }, { "id": "get_issue", "name": "Get Issue", "description": "Get detailed information about a specific Jira issue", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://api.atlassian.com/ex/jira/{cloudId}/rest/api/3/issue/{issueIdOrKey}", "params": { "cloudId": { "type": "string", "in": "path", "description": "Atlassian cloud ID from accessible-resources", "required": true }, "issueIdOrKey": { "type": "string", "in": "path", "description": "Jira issue ID or key", "required": true }, "fields": { "type": "string", "in": "query", "description": "Comma-separated issue fields to include" } } } }, { "id": "create_issue", "name": "Create Issue", "description": "Create a new Jira issue in a project", "requiresWrite": true, "endpoint": { "method": "POST", "url": "https://api.atlassian.com/ex/jira/{cloudId}/rest/api/3/issue", "params": { "cloudId": { "type": "string", "in": "path", "description": "Atlassian cloud ID from accessible-resources", "required": true } }, "body": { "fields": { "type": "object", "description": "Jira issue fields including project, issuetype, summary, and description", "required": true } } } }, { "id": "update_issue", "name": "Update Issue", "description": "Update an existing Jira issue (status, fields, etc.)", "requiresWrite": true, "endpoint": { "method": "PUT", "url": "https://api.atlassian.com/ex/jira/{cloudId}/rest/api/3/issue/{issueIdOrKey}", "params": { "cloudId": { "type": "string", "in": "path", "description": "Atlassian cloud ID from accessible-resources", "required": true }, "issueIdOrKey": { "type": "string", "in": "path", "description": "Jira issue ID or key", "required": true } }, "body": { "fields": { "type": "object", "description": "Jira fields to set" }, "update": { "type": "object", "description": "Jira update operations" } } } }, { "id": "list_comments", "name": "List Comments", "description": "List comments on a Jira issue", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://api.atlassian.com/ex/jira/{cloudId}/rest/api/3/issue/{issueIdOrKey}/comment", "params": { "cloudId": { "type": "string", "in": "path", "description": "Atlassian cloud ID from OAuth accessible resources", "required": true }, "issueIdOrKey": { "type": "string", "in": "path", "description": "Jira issue ID or key", "required": true }, "startAt": { "type": "number", "in": "query", "description": "Pagination offset", "default": 0 }, "maxResults": { "type": "number", "in": "query", "description": "Maximum comments to return", "default": 50 } } } }, { "id": "add_comment", "name": "Add Comment", "description": "Add a comment to a Jira issue", "requiresWrite": true, "endpoint": { "method": "POST", "url": "https://api.atlassian.com/ex/jira/{cloudId}/rest/api/3/issue/{issueIdOrKey}/comment", "params": { "cloudId": { "type": "string", "in": "path", "description": "Atlassian cloud ID from OAuth accessible resources", "required": true }, "issueIdOrKey": { "type": "string", "in": "path", "description": "Jira issue ID or key", "required": true } }, "body": { "body": { "type": "object", "description": "Comment body in Atlassian Document Format", "required": true } } } }, { "id": "get_transitions", "name": "Get Transitions", "description": "List available workflow transitions for a Jira issue", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://api.atlassian.com/ex/jira/{cloudId}/rest/api/3/issue/{issueIdOrKey}/transitions", "params": { "cloudId": { "type": "string", "in": "path", "description": "Atlassian cloud ID from OAuth accessible resources", "required": true }, "issueIdOrKey": { "type": "string", "in": "path", "description": "Jira issue ID or key", "required": true } } } }], "prompts": [{ "id": "find_bugs", "title": "Find open bugs", "prompt": "Search for all open bugs assigned to me or in my current sprint.", "category": "productivity", "icon": "bug" }, { "id": "create_task", "title": "Create a task", "prompt": "Create a new task in Jira with a title, description, and priority.", "category": "productivity", "icon": "plus" }, { "id": "sprint_summary", "title": "Sprint summary", "prompt": "Get a summary of all issues in the current sprint, organized by status.", "category": "productivity", "icon": "list" }, { "id": "update_status", "title": "Update issue status", "prompt": "Move an issue to a different status (To Do, In Progress, Done, etc.).", "category": "productivity", "icon": "check" }], "suggestedWith": ["github", "slack", "confluence"] },
18
+ { "name": "jira", "displayName": "Jira", "icon": "jira.svg", "description": "Search, create, and manage Jira issues and projects", "auth": { "type": "oauth2", "provider": "atlassian", "authorizationUrl": "https://auth.atlassian.com/authorize", "tokenUrl": "https://auth.atlassian.com/oauth/token", "scopes": ["read:jira-work", "write:jira-work", "read:jira-user", "offline_access"], "tokenAuthMethod": "body", "requiredApis": [{ "name": "Atlassian OAuth 2.0", "enableUrl": "https://developer.atlassian.com/console/myapps/" }], "additionalAuthParams": { "audience": "api.atlassian.com", "prompt": "consent" } }, "envVars": [{ "name": "ATLASSIAN_CLIENT_ID", "description": "Atlassian OAuth 2.0 Client ID (from your app)", "required": true, "sensitive": false, "docsUrl": "https://developer.atlassian.com/console/myapps/" }, { "name": "ATLASSIAN_CLIENT_SECRET", "description": "Atlassian OAuth 2.0 Client Secret", "required": true, "sensitive": true, "docsUrl": "https://developer.atlassian.com/console/myapps/" }], "tools": [{ "id": "list_sites", "name": "List Atlassian Sites", "description": "List Atlassian cloud sites/resources the OAuth token can access; use the returned id as cloudId for Jira and Confluence tools", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://api.atlassian.com/oauth/token/accessible-resources", "response": { "transform": "" } } }, { "id": "list_projects", "name": "List Projects", "description": "List all accessible Jira projects", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://api.atlassian.com/ex/jira/{cloudId}/rest/api/3/project/search", "params": { "cloudId": { "type": "string", "in": "path", "description": "Atlassian cloud ID from accessible-resources", "required": true }, "query": { "type": "string", "in": "query", "description": "Search text for project name or key" }, "maxResults": { "type": "number", "in": "query", "description": "Maximum projects to return", "default": 50 }, "startAt": { "type": "number", "in": "query", "description": "Pagination offset", "default": 0 } }, "response": { "transform": "values" } } }, { "id": "get_project", "name": "Get Project", "description": "Get detailed information about a Jira project", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://api.atlassian.com/ex/jira/{cloudId}/rest/api/3/project/{projectIdOrKey}", "params": { "cloudId": { "type": "string", "in": "path", "description": "Atlassian cloud ID from OAuth accessible resources", "required": true }, "projectIdOrKey": { "type": "string", "in": "path", "description": "Jira project ID or key", "required": true } } } }, { "id": "search_issues", "name": "Search Issues", "description": "Search Jira issues using JQL (Jira Query Language)", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://api.atlassian.com/ex/jira/{cloudId}/rest/api/3/search/jql", "params": { "cloudId": { "type": "string", "in": "path", "description": "Atlassian cloud ID from accessible-resources", "required": true }, "jql": { "type": "string", "in": "query", "description": "Jira Query Language search expression", "required": true }, "maxResults": { "type": "number", "in": "query", "description": "Maximum issues to return", "default": 50 }, "nextPageToken": { "type": "string", "in": "query", "description": "Pagination token returned by Jira search/jql for the next page" }, "fields": { "type": "array", "in": "query", "description": "Issue fields to include" } }, "response": { "transform": "issues" } } }, { "id": "get_issue", "name": "Get Issue", "description": "Get detailed information about a specific Jira issue", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://api.atlassian.com/ex/jira/{cloudId}/rest/api/3/issue/{issueIdOrKey}", "params": { "cloudId": { "type": "string", "in": "path", "description": "Atlassian cloud ID from accessible-resources", "required": true }, "issueIdOrKey": { "type": "string", "in": "path", "description": "Jira issue ID or key", "required": true }, "fields": { "type": "string", "in": "query", "description": "Comma-separated issue fields to include" } } } }, { "id": "create_issue", "name": "Create Issue", "description": "Create a new Jira issue in a project", "requiresWrite": true, "endpoint": { "method": "POST", "url": "https://api.atlassian.com/ex/jira/{cloudId}/rest/api/3/issue", "params": { "cloudId": { "type": "string", "in": "path", "description": "Atlassian cloud ID from accessible-resources", "required": true } }, "body": { "fields": { "type": "object", "description": "Jira issue fields including project, issuetype, summary, and description", "required": true } } } }, { "id": "update_issue", "name": "Update Issue", "description": "Update an existing Jira issue (status, fields, etc.)", "requiresWrite": true, "endpoint": { "method": "PUT", "url": "https://api.atlassian.com/ex/jira/{cloudId}/rest/api/3/issue/{issueIdOrKey}", "params": { "cloudId": { "type": "string", "in": "path", "description": "Atlassian cloud ID from accessible-resources", "required": true }, "issueIdOrKey": { "type": "string", "in": "path", "description": "Jira issue ID or key", "required": true } }, "body": { "fields": { "type": "object", "description": "Jira fields to set" }, "update": { "type": "object", "description": "Jira update operations" } } } }, { "id": "list_comments", "name": "List Comments", "description": "List comments on a Jira issue", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://api.atlassian.com/ex/jira/{cloudId}/rest/api/3/issue/{issueIdOrKey}/comment", "params": { "cloudId": { "type": "string", "in": "path", "description": "Atlassian cloud ID from OAuth accessible resources", "required": true }, "issueIdOrKey": { "type": "string", "in": "path", "description": "Jira issue ID or key", "required": true }, "startAt": { "type": "number", "in": "query", "description": "Pagination offset", "default": 0 }, "maxResults": { "type": "number", "in": "query", "description": "Maximum comments to return", "default": 50 } } } }, { "id": "add_comment", "name": "Add Comment", "description": "Add a comment to a Jira issue", "requiresWrite": true, "endpoint": { "method": "POST", "url": "https://api.atlassian.com/ex/jira/{cloudId}/rest/api/3/issue/{issueIdOrKey}/comment", "params": { "cloudId": { "type": "string", "in": "path", "description": "Atlassian cloud ID from OAuth accessible resources", "required": true }, "issueIdOrKey": { "type": "string", "in": "path", "description": "Jira issue ID or key", "required": true } }, "body": { "body": { "type": "object", "description": "Comment body in Atlassian Document Format", "required": true } } } }, { "id": "get_transitions", "name": "Get Transitions", "description": "List available workflow transitions for a Jira issue", "requiresWrite": false, "endpoint": { "method": "GET", "url": "https://api.atlassian.com/ex/jira/{cloudId}/rest/api/3/issue/{issueIdOrKey}/transitions", "params": { "cloudId": { "type": "string", "in": "path", "description": "Atlassian cloud ID from OAuth accessible resources", "required": true }, "issueIdOrKey": { "type": "string", "in": "path", "description": "Jira issue ID or key", "required": true } } } }], "prompts": [{ "id": "find_bugs", "title": "Find open bugs", "prompt": "Search for all open bugs assigned to me or in my current sprint.", "category": "productivity", "icon": "bug" }, { "id": "create_task", "title": "Create a task", "prompt": "Create a new task in Jira with a title, description, and priority.", "category": "productivity", "icon": "plus" }, { "id": "sprint_summary", "title": "Sprint summary", "prompt": "Get a summary of all issues in the current sprint, organized by status.", "category": "productivity", "icon": "list" }, { "id": "update_status", "title": "Update issue status", "prompt": "Move an issue to a different status (To Do, In Progress, Done, etc.).", "category": "productivity", "icon": "check" }], "suggestedWith": ["github", "slack", "confluence"] },
19
19
  { "name": "linear", "displayName": "Linear", "icon": "linear.svg", "description": "Search, create, and manage Linear issues and projects", "auth": { "type": "oauth2", "provider": "linear", "authorizationUrl": "https://linear.app/oauth/authorize", "tokenUrl": "https://api.linear.app/oauth/token", "scopes": ["read", "write"], "tokenAuthMethod": "basic", "requiredApis": [{ "name": "Linear OAuth Application", "enableUrl": "https://linear.app/settings/api" }] }, "envVars": [{ "name": "LINEAR_CLIENT_ID", "description": "Linear OAuth Client ID (from your OAuth application)", "required": true, "sensitive": false, "docsUrl": "https://linear.app/settings/api" }, { "name": "LINEAR_CLIENT_SECRET", "description": "Linear OAuth Client Secret", "required": true, "sensitive": true, "docsUrl": "https://linear.app/settings/api" }], "tools": [{ "id": "search_issues", "name": "Search Issues", "description": "Search for Linear issues by title or description", "requiresWrite": false, "endpoint": { "type": "graphql", "method": "POST", "url": "https://api.linear.app/graphql", "query": "query($query: String!, $first: Int) { issueSearch(query: $query, first: $first) { nodes { id identifier title description state { name } assignee { name } priority priorityLabel createdAt updatedAt } } }", "params": { "query": { "type": "string", "in": "body", "description": "Search query text", "required": true }, "first": { "type": "number", "in": "body", "description": "Max results", "default": 20 } }, "response": { "transform": "issueSearch" } } }, { "id": "get_issue", "name": "Get Issue", "description": "Get detailed information about a specific Linear issue", "requiresWrite": false, "endpoint": { "type": "graphql", "method": "POST", "url": "https://api.linear.app/graphql", "query": "query($id: String!) { issue(id: $id) { id identifier title description state { name } assignee { name email } priority priorityLabel team { name } project { name } labels { nodes { name } } comments { nodes { body user { name } createdAt } } createdAt updatedAt } }", "params": { "id": { "type": "string", "in": "body", "description": "Issue ID or identifier (e.g. ENG-123)", "required": true } }, "response": { "transform": "issue" } } }, { "id": "create_issue", "name": "Create Issue", "description": "Create a new Linear issue in a team", "requiresWrite": true, "endpoint": { "type": "graphql", "method": "POST", "url": "https://api.linear.app/graphql", "query": "mutation($teamId: String!, $title: String!, $description: String, $priority: Int) { issueCreate(input: { teamId: $teamId, title: $title, description: $description, priority: $priority }) { success issue { id identifier title url } } }", "params": { "teamId": { "type": "string", "in": "body", "description": "Team ID", "required": true }, "title": { "type": "string", "in": "body", "description": "Issue title", "required": true }, "description": { "type": "string", "in": "body", "description": "Issue description (markdown)" }, "priority": { "type": "number", "in": "body", "description": "Priority (0=none, 1=urgent, 2=high, 3=medium, 4=low)" } }, "response": { "transform": "issueCreate" } } }, { "id": "update_issue", "name": "Update Issue", "description": "Update the status, assignee, or other properties of an issue", "requiresWrite": true, "endpoint": { "type": "graphql", "method": "POST", "url": "https://api.linear.app/graphql", "query": "mutation($id: String!, $stateId: String, $assigneeId: String, $priority: Int) { issueUpdate(id: $id, input: { stateId: $stateId, assigneeId: $assigneeId, priority: $priority }) { success issue { id identifier title state { name } assignee { name } } } }", "params": { "id": { "type": "string", "in": "body", "description": "Issue ID", "required": true }, "stateId": { "type": "string", "in": "body", "description": "New state ID" }, "assigneeId": { "type": "string", "in": "body", "description": "New assignee user ID" }, "priority": { "type": "number", "in": "body", "description": "New priority" } }, "response": { "transform": "issueUpdate" } } }, { "id": "list_projects", "name": "List Projects", "description": "List all projects in the workspace", "requiresWrite": false, "endpoint": { "type": "graphql", "method": "POST", "url": "https://api.linear.app/graphql", "query": "query($first: Int) { projects(first: $first) { nodes { id name description state startDate targetDate lead { name } teams { nodes { name } } } } }", "params": { "first": { "type": "number", "in": "body", "description": "Max results", "default": 50 } }, "response": { "transform": "projects" } } }, { "id": "list_teams", "name": "List Teams", "description": "List Linear teams in the workspace so issues can be created in the right team", "requiresWrite": false, "endpoint": { "type": "graphql", "method": "POST", "url": "https://api.linear.app/graphql", "query": "query($first: Int) { teams(first: $first) { nodes { id name key description private issueCount createdAt updatedAt } } }", "params": { "first": { "type": "number", "in": "body", "description": "Max results", "default": 50 } }, "response": { "transform": "teams" } } }, { "id": "list_workflow_states", "name": "List Workflow States", "description": "List workflow states for a Linear team so issues can be moved to the right status", "requiresWrite": false, "endpoint": { "type": "graphql", "method": "POST", "url": "https://api.linear.app/graphql", "query": "query($teamId: String!) { team(id: $teamId) { id name states { nodes { id name type color position } } } }", "params": { "teamId": { "type": "string", "in": "body", "description": "Team ID", "required": true } }, "response": { "transform": "team.states" } } }, { "id": "list_users", "name": "List Users", "description": "List Linear users in the workspace so issues can be assigned to the right person", "requiresWrite": false, "endpoint": { "type": "graphql", "method": "POST", "url": "https://api.linear.app/graphql", "query": "query($first: Int) { users(first: $first) { nodes { id name displayName email active avatarUrl } } }", "params": { "first": { "type": "number", "in": "body", "description": "Max results", "default": 50 } }, "response": { "transform": "users" } } }, { "id": "add_comment", "name": "Add Comment", "description": "Add a comment to a Linear issue", "requiresWrite": true, "endpoint": { "type": "graphql", "method": "POST", "url": "https://api.linear.app/graphql", "query": "mutation($issueId: String!, $body: String!) { commentCreate(input: { issueId: $issueId, body: $body }) { success comment { id body createdAt user { id name } issue { id identifier title } } } }", "params": { "issueId": { "type": "string", "in": "body", "description": "Issue ID", "required": true }, "body": { "type": "string", "in": "body", "description": "Comment body in markdown", "required": true } }, "response": { "transform": "commentCreate" } } }], "prompts": [{ "id": "find_issues", "title": "Find my issues", "prompt": "Search for Linear issues assigned to me or related to a specific topic.", "category": "productivity", "icon": "search" }, { "id": "create_bug_report", "title": "Create bug report", "prompt": "Create a new bug report in Linear with title, description, and relevant labels.", "category": "productivity", "icon": "plus" }, { "id": "update_issue_status", "title": "Update issue status", "prompt": "Update the status of a Linear issue (e.g., mark as done, in progress, blocked).", "category": "productivity", "icon": "check" }, { "id": "project_overview", "title": "Project overview", "prompt": "Get an overview of all projects in Linear, including their status and key issues.", "category": "productivity", "icon": "list" }], "suggestedWith": ["github", "slack", "figma"] },
20
20
  { "name": "mixpanel", "displayName": "Mixpanel", "icon": "mixpanel.svg", "description": "Track events, analyze funnels, and understand user behavior with Mixpanel analytics", "auth": { "type": "api-key", "requiredApis": [{ "name": "Mixpanel API", "enableUrl": "https://mixpanel.com/settings/project" }], "keyName": "MIXPANEL_PROJECT_TOKEN" }, "envVars": [{ "name": "MIXPANEL_PROJECT_TOKEN", "description": "Mixpanel Project Token for event tracking", "required": true, "sensitive": true, "docsUrl": "https://docs.mixpanel.com/docs/tracking-methods/id-management/authentication" }, { "name": "MIXPANEL_API_SECRET", "description": "Mixpanel API Secret for data export and query operations", "required": true, "sensitive": true, "docsUrl": "https://developer.mixpanel.com/reference/authentication" }, { "name": "MIXPANEL_PROJECT_ID", "description": "Mixpanel Project ID (found in project settings)", "required": true, "sensitive": false, "docsUrl": "https://docs.mixpanel.com/docs/admin/organizations-projects/manage-projects" }], "tools": [{ "id": "track_event", "name": "Track Event", "description": "Track a custom event in Mixpanel with properties", "requiresWrite": true }, { "id": "query_events", "name": "Query Events", "description": "Query and export event data from Mixpanel", "requiresWrite": false }, { "id": "get_funnel", "name": "Get Funnel", "description": "Retrieve funnel analysis data to understand conversion rates", "requiresWrite": false }, { "id": "get_retention", "name": "Get Retention", "description": "Analyze user retention cohorts over time", "requiresWrite": false }, { "id": "list_cohorts", "name": "List Cohorts", "description": "List all user cohorts defined in your Mixpanel project", "requiresWrite": false }], "prompts": [{ "id": "event_analysis", "title": "Event analysis", "prompt": "Show me the most important events tracked in my Mixpanel project over the last 7 days and their trends.", "category": "analytics", "icon": "chart" }, { "id": "funnel_performance", "title": "Funnel performance", "prompt": "Analyze my key conversion funnels and identify where users are dropping off.", "category": "analytics", "icon": "funnel" }, { "id": "retention_insights", "title": "Retention insights", "prompt": "Give me insights about user retention and cohort behavior over the past month.", "category": "analytics", "icon": "users" }], "suggestedWith": ["slack", "analytics", "monitoring"] },
21
21
  { "name": "neon", "displayName": "Neon", "icon": "neon.svg", "description": "Manage Neon Postgres projects, branches, and execute database queries", "auth": { "type": "api-key", "requiredApis": [{ "name": "Neon Management API", "enableUrl": "https://console.neon.tech/app/settings/api-keys" }], "tokenName": "API Key", "docsUrl": "https://neon.tech/docs/manage/api-keys" }, "envVars": [{ "name": "NEON_API_KEY", "description": "Neon API Key for Management API access", "required": true, "sensitive": true, "docsUrl": "https://neon.tech/docs/manage/api-keys" }, { "name": "DATABASE_URL", "description": "PostgreSQL connection string for database queries", "required": true, "sensitive": true, "docsUrl": "https://neon.tech/docs/connect/connect-from-any-app" }], "npmDependencies": { "pg": "^8.13.1" }, "tools": [{ "id": "list_projects", "name": "List Projects", "description": "List all Neon projects in your account", "requiresWrite": false }, { "id": "list_branches", "name": "List Branches", "description": "List all branches for a specific project", "requiresWrite": false }, { "id": "query_database", "name": "Query Database", "description": "Execute SQL queries against the connected database", "requiresWrite": false }, { "id": "list_tables", "name": "List Tables", "description": "List all tables in the connected database", "requiresWrite": false }, { "id": "describe_table", "name": "Describe Table", "description": "Get detailed schema information for a specific table", "requiresWrite": false }], "prompts": [{ "id": "check_db_status", "title": "Check database status", "prompt": "Show me the status of my Neon projects and their branches.", "category": "database", "icon": "database" }, { "id": "explore_schema", "title": "Explore database schema", "prompt": "List all tables in my database and show me the schema for the main tables.", "category": "database", "icon": "table" }, { "id": "query_data", "title": "Query database", "prompt": "Help me query my database to find specific data.", "category": "database", "icon": "search" }], "suggestedWith": ["stripe", "clerk", "vercel"] },
@@ -1,3 +1,3 @@
1
1
  /** Shared version value. */
2
- export declare const VERSION = "0.1.587";
2
+ export declare const VERSION = "0.1.589";
3
3
  //# sourceMappingURL=version-constant.d.ts.map
@@ -1,4 +1,4 @@
1
1
  // Keep in sync with deno.json version.
2
2
  // scripts/release.ts updates this constant during releases.
3
3
  /** Shared version value. */
4
- export const VERSION = "0.1.587";
4
+ export const VERSION = "0.1.589";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "veryfront",
3
- "version": "0.1.587",
3
+ "version": "0.1.589",
4
4
  "description": "The simplest way to build AI-powered apps",
5
5
  "keywords": [
6
6
  "react",