{"apiVersion":"v1","directorySlug":"wovyn-mcp-f7dfe5403c","title":"WOVYN","description":"WOVYN","pageUrl":"https://www.mcpbundles.com/skills/wovyn-mcp-f7dfe5403c","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://api.wovyn.dev/mcp","hostedMcpUrl":null,"toolCount":431,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"dev.wovyn/wovyn-mcp-f7dfe5403c","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"wovyn_search","description":"Search Wovyn Treasury API methods by intent, keyword, or domain tag.","inputSchema":{"type":"object","required":[],"properties":{"tag":{"type":"string"},"query":{"type":"string"},"connector":{"type":"string"}}},"logicalName":"wovyn_search","displayName":"wovyn_search","title":"wovyn_search","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_list_methods","description":"List all 446 available Wovyn Treasury API methods, optionally filtered by tag (business domain) or connector (external vendor).","inputSchema":{"type":"object","required":[],"properties":{"tag":{"type":"string"},"connector":{"type":"string"}}},"logicalName":"wovyn_list_methods","displayName":"wovyn_list_methods","title":"wovyn_list_methods","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_get_method","description":"Get the complete parameter schema, field-level types, validation rules, required permissions, and examples for a specific method.","inputSchema":{"type":"object","required":["method"],"properties":{"method":{"type":"string"}}},"logicalName":"wovyn_get_method","displayName":"wovyn_get_method","title":"wovyn_get_method","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_list_tags","description":"List all domain tags used to categorize Wovyn Treasury API methods.","inputSchema":{"type":"object","required":[],"properties":{}},"logicalName":"wovyn_list_tags","displayName":"wovyn_list_tags","title":"wovyn_list_tags","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_validate_params","description":"Dry-run validate a set of parameters against a method's schema without executing the API call.","inputSchema":{"type":"object","required":["method","params"],"properties":{"method":{"type":"string"},"params":{"type":"object"}}},"logicalName":"wovyn_validate_params","displayName":"wovyn_validate_params","title":"wovyn_validate_params","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_execute","description":"Execute any Wovyn Treasury API method with a user-supplied auth token.","inputSchema":{"type":"object","required":["method","params"],"properties":{"method":{"type":"string"},"params":{"type":"object"},"authToken":{"type":"string"},"sessionToken":{"type":"string"}}},"logicalName":"wovyn_execute","displayName":"wovyn_execute","title":"wovyn_execute","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_get_openrpc_spec","description":"Fetch the complete OpenRPC specification for the entire Wovyn Treasury API as a single JSON document.","inputSchema":{"type":"object","required":[],"properties":{}},"logicalName":"wovyn_get_openrpc_spec","displayName":"wovyn_get_openrpc_spec","title":"wovyn_get_openrpc_spec","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_get_method_examples","description":"Fetch concrete example request payloads for a specific method.","inputSchema":{"type":"object","required":["method"],"properties":{"method":{"type":"string"}}},"logicalName":"wovyn_get_method_examples","displayName":"wovyn_get_method_examples","title":"wovyn_get_method_examples","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_get_flow","description":"Get the dependency graph for a method — what must happen before it and what it unlocks after.","inputSchema":{"type":"object","required":["method"],"properties":{"depth":{"type":"number"},"format":{"enum":["json","mermaid"],"type":"string"},"method":{"type":"string"}}},"logicalName":"wovyn_get_flow","displayName":"wovyn_get_flow","title":"wovyn_get_flow","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_rpc_discover","description":"Get complete OpenRPC specification Anyone can call this without authentication. Returns the complete OpenRPC 3.1 specification for this API, including every method, its parameter schema, and usage examples. Use this to generate client SDKs, validate integration requirements, or explore the full API surface. Enables: rpc.describe.","inputSchema":{"type":"object","required":[],"properties":{"authToken":{"type":"string"}}},"logicalName":"wovyn_rpc_discover","displayName":"wovyn_rpc_discover","title":"wovyn_rpc_discover","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_rpc_listMethods","description":"List all available API methods Anyone can call this without authentication. Returns an array of all registered method names. Optionally filter by tag (e.g., 'payments', 'customers') to see one functional domain, or by connector (e.g., 'didit', 'brale') to see every method powered by one external vendor. Enables: rpc.describe.","inputSchema":{"type":"object","required":[],"properties":{"tag":{"type":"string"},"authToken":{"type":"string"},"connector":{"type":"string"}}},"logicalName":"wovyn_rpc_listMethods","displayName":"wovyn_rpc_listMethods","title":"wovyn_rpc_listMethods","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_rpc_describe","description":"Get detailed schema for a specific method Anyone can call this without authentication. Returns the full parameter schema, validation rules, examples, and metadata for a single method by name. Use this to understand exactly what a method accepts before calling it. Enables: rpc.validateParams.","inputSchema":{"type":"object","required":["method"],"properties":{"method":{"type":"string"},"authToken":{"type":"string"}}},"logicalName":"wovyn_rpc_describe","displayName":"wovyn_rpc_describe","title":"wovyn_rpc_describe","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_rpc_listTags","description":"List all API categories/tags Anyone can call this without authentication. Returns all available API category tags with a count of methods in each. Use this to discover what functional areas the API covers before exploring individual methods. Enables: rpc.listMethods.","inputSchema":{"type":"object","required":[],"properties":{"authToken":{"type":"string"}}},"logicalName":"wovyn_rpc_listTags","displayName":"wovyn_rpc_listTags","title":"wovyn_rpc_listTags","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_rpc_getMethodsByPermission","description":"Get methods accessible to a permission level Anyone can call this without authentication. Returns all methods that require a specific permission level. Use this to build role-specific UI menus or verify what operations a given credential tier can invoke. Enables: rpc.describe.","inputSchema":{"type":"object","required":["permission"],"properties":{"authToken":{"type":"string"},"permission":{"type":"string"}}},"logicalName":"wovyn_rpc_getMethodsByPermission","displayName":"wovyn_rpc_getMethodsByPermission","title":"wovyn_rpc_getMethodsByPermission","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_rpc_listModules","description":"List all top-level API modules with method counts Anyone can call this without authentication. Returns the curated module hierarchy synthesized live from the method registry. Each module groups related methods by domain with sub-tag breakdown and method count. Use this as the starting point for API exploration. Enables: rpc.describe.","inputSchema":{"type":"object","required":[],"properties":{"authToken":{"type":"string"}}},"logicalName":"wovyn_rpc_listModules","displayName":"wovyn_rpc_listModules","title":"wovyn_rpc_listModules","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_rpc_listUiPages","description":"List product UI pages (capability manifest) Anyone can call this without authentication. Returns a lightweight summary of every product UI page — name, route, persona, and counts of the RPC methods, tables, tabs, actions, and displays it uses. Pair with rpc.getUiPage to drill into one page. Lets an agent map backend methods to the screens that call them without a second MCP connection.","inputSchema":{"type":"object","required":[],"properties":{"authToken":{"type":"string"}}},"logicalName":"wovyn_rpc_listUiPages","displayName":"wovyn_rpc_listUiPages","title":"wovyn_rpc_listUiPages","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_rpc_findUiPagesByDisplayField","description":"Find UI pages that display a field Anyone can call this without authentication. Returns every product UI page with a display column matching the given field, by either its human label or its bound rpcField. Use this to find which screens surface a particular value to users.","inputSchema":{"type":"object","required":["field"],"properties":{"field":{"type":"string","minLength":1},"authToken":{"type":"string"}}},"logicalName":"wovyn_rpc_findUiPagesByDisplayField","displayName":"wovyn_rpc_findUiPagesByDisplayField","title":"wovyn_rpc_findUiPagesByDisplayField","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_auth_signUp","description":"Register new user account Anyone can call this. Creates a new user account with email and password and sends a verification email to the provided address. On success, the account exists and the user can sign in. Enables: auth.signIn.","inputSchema":{"type":"object","required":["email","password"],"properties":{"email":{"type":"string","format":"email"},"lastName":{"type":"string"},"password":{"type":"string","minLength":6},"authToken":{"type":"string"},"firstName":{"type":"string"}}},"logicalName":"wovyn_auth_signUp","displayName":"wovyn_auth_signUp","title":"wovyn_auth_signUp","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_auth_signOut","description":"End user session Any authenticated user can call this. Revokes the current session by invalidating the provided access token. After this call, the token is no longer accepted for authenticated requests. Prerequisites: auth.signIn.","inputSchema":{"type":"object","required":["token"],"properties":{"token":{"type":"string","minLength":1},"authToken":{"type":"string"}}},"logicalName":"wovyn_auth_signOut","displayName":"wovyn_auth_signOut","title":"wovyn_auth_signOut","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_auth_resetPassword","description":"Request password reset email Anyone can call this. Sends a password reset email to the provided address if a matching account exists. On success, the user receives a link enabling them to set a new password via auth.updatePassword. No account changes are made until the user follows the link. Enables: auth.updatePassword.","inputSchema":{"type":"object","required":["email"],"properties":{"email":{"type":"string","format":"email"},"authToken":{"type":"string"}}},"logicalName":"wovyn_auth_resetPassword","displayName":"wovyn_auth_resetPassword","title":"wovyn_auth_resetPassword","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_auth_refreshToken","description":"Refresh authentication token Any authenticated user can call this. Exchanges a valid refresh token for a new access token and refresh token pair. Use this before the access token expires to maintain a continuous session without requiring the user to re-enter their credentials. Prerequisites: auth.signIn.","inputSchema":{"type":"object","required":["refreshToken"],"properties":{"authToken":{"type":"string"},"refreshToken":{"type":"string","minLength":1}}},"logicalName":"wovyn_auth_refreshToken","displayName":"wovyn_auth_refreshToken","title":"wovyn_auth_refreshToken","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_product_getBalance","description":"Get product balance aggregates Only a Platform Admin can call this. At least one customer account must exist under the product. Returns the aggregated total balance across all accounts in a banking product for a given product. Requires: platform:admin. Prerequisites: account.create.","inputSchema":{"type":"object","required":["productId"],"properties":{"authToken":{"type":"string"},"productId":{"type":"string","format":"uuid"}}},"logicalName":"wovyn_product_getBalance","displayName":"wovyn_product_getBalance","title":"wovyn_product_getBalance","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_application_listByUser","description":"List applications accessible to user Any authenticated user can call this. At least one application must have been created. Returns all applications created by or accessible to the currently authenticated user. Prerequisites: application.create.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"integer","default":100,"maximum":1000,"minimum":1},"offset":{"type":"integer","default":0,"minimum":0},"authToken":{"type":"string"}}},"logicalName":"wovyn_application_listByUser","displayName":"wovyn_application_listByUser","title":"wovyn_application_listByUser","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_account_list","description":"List customer accounts Any authenticated user can call this. At least one account must have been created for the customer. Returns all accounts associated with a customer under a given product. Prerequisites: account.create. Enables: payment.shieldedSend.","inputSchema":{"type":"object","required":["customerId"],"properties":{"authToken":{"type":"string"},"productId":{"type":"string","format":"uuid"},"customerId":{"type":"string","format":"uuid"}}},"logicalName":"wovyn_account_list","displayName":"wovyn_account_list","title":"wovyn_account_list","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_account_getBalance","description":"Get account balance Any authenticated user can call this. The account must already exist. Returns the current balance and available balance for a specific account. Prerequisites: account.create.","inputSchema":{"type":"object","required":["customerId","accountNumber"],"properties":{"authToken":{"type":"string"},"productId":{"type":"string","format":"uuid"},"customerId":{"type":"string","format":"uuid"},"accountNumber":{"type":"string","minLength":1}}},"logicalName":"wovyn_account_getBalance","displayName":"wovyn_account_getBalance","title":"wovyn_account_getBalance","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_account_get","description":"Get account by number Any authenticated user can call this. The account must already exist. Returns the full record for a single account identified by account number, including its current status and linkedproduct. Prerequisites: account.create.","inputSchema":{"type":"object","required":["customerId","accountNumber"],"properties":{"authToken":{"type":"string"},"productId":{"type":"string","format":"uuid"},"customerId":{"type":"string","format":"uuid"},"accountNumber":{"type":"string","minLength":1}}},"logicalName":"wovyn_account_get","displayName":"wovyn_account_get","title":"wovyn_account_get","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_payment_reject","description":"Reject pending payment Any authorized approver can call this. An approval policy must be configured and a payment must be in the pending-approval state. Rejects the held payment. The payment is cancelled and no funds are moved. Prerequisites: approvalPolicy.set.","inputSchema":{"type":"object","required":["paymentId","reason"],"properties":{"reason":{"type":"string","minLength":1},"authToken":{"type":"string"},"paymentId":{"type":"string","format":"uuid"}}},"logicalName":"wovyn_payment_reject","displayName":"wovyn_payment_reject","title":"wovyn_payment_reject","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_counterparty_getById","description":"Get counterparty by ID Any authenticated user can call this. The counterparty must already exist. Returns the full record for a single counterparty by its identifier, including all registered payment instruments and the associated Shield account summary if one is bound. Prerequisites: counterparty.create.","inputSchema":{"type":"object","required":["counterpartyId"],"properties":{"authToken":{"type":"string"},"counterpartyId":{"type":"string","format":"uuid"}}},"logicalName":"wovyn_counterparty_getById","displayName":"wovyn_counterparty_getById","title":"wovyn_counterparty_getById","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_user_getMyCustomers","description":"Get customers accessible to current user Any authenticated user can call this. At least one customer must have completed onboarding. Returns the list of customers the currently authenticated user is associated with and permitted to access. Prerequisites: onboarding.approve.","inputSchema":{"type":"object","required":[],"properties":{"authToken":{"type":"string"}}},"logicalName":"wovyn_user_getMyCustomers","displayName":"wovyn_user_getMyCustomers","title":"wovyn_user_getMyCustomers","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_user_remove","description":"Remove user from customer Any Customer Admin can call this. The user must have been invited via user.invite. Removes the user from a customer context, revoking their access. The underlying account is not deleted. Requires: customer:admin. Prerequisites: user.invite.","inputSchema":{"type":"object","required":["userId","customerId"],"properties":{"userId":{"type":"string","format":"uuid"},"authToken":{"type":"string"},"customerId":{"type":"string","format":"uuid"}}},"logicalName":"wovyn_user_remove","displayName":"wovyn_user_remove","title":"wovyn_user_remove","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_user_list","description":"List customer users Any authenticated user can call this. At least one user must have been invited to the customer. Returns all users with access to a specific customer. Prerequisites: user.invite.","inputSchema":{"type":"object","required":["customerId"],"properties":{"authToken":{"type":"string"},"customerId":{"type":"string","format":"uuid"}}},"logicalName":"wovyn_user_list","displayName":"wovyn_user_list","title":"wovyn_user_list","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_user_getDetails","description":"Get user details Any authenticated user can call this. The user must be signed in. Returns profile details for a user by ID, including name, email, and associated customer contexts. Prerequisites: auth.signIn.","inputSchema":{"type":"object","required":["userId"],"properties":{"userId":{"type":"string","format":"uuid"},"authToken":{"type":"string"}}},"logicalName":"wovyn_user_getDetails","displayName":"wovyn_user_getDetails","title":"wovyn_user_getDetails","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_user_listAll","description":"List all users (admin) Only a Platform Admin can call this. At least one user must have registered. Returns a paginated list of all users across the entire platform. Requires: platform:admin. Prerequisites: auth.signUp.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"integer","maximum":500,"minimum":1},"offset":{"type":"integer","minimum":0},"authToken":{"type":"string"}}},"logicalName":"wovyn_user_listAll","displayName":"wovyn_user_listAll","title":"wovyn_user_listAll","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_user_listProductOwners","description":"List product owners for a product Platform admin or product-scoped ADMIN can call this. Returns all users who have a role on the specified product. Requires: platform:admin, customer:admin. Prerequisites: user.inviteProductOwner.","inputSchema":{"type":"object","required":["productId"],"properties":{"authToken":{"type":"string"},"productId":{"type":"string","format":"uuid"}}},"logicalName":"wovyn_user_listProductOwners","displayName":"wovyn_user_listProductOwners","title":"wovyn_user_listProductOwners","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_user_removeProductOwner","description":"Remove a product owner Platform admin or product-scoped ADMIN can call this. Removes the user's product-scoped role. Does not delete the user account. Requires: platform:admin, customer:admin. Prerequisites: user.inviteProductOwner.","inputSchema":{"type":"object","required":["productId","userId"],"properties":{"userId":{"type":"string","format":"uuid"},"authToken":{"type":"string"},"productId":{"type":"string","format":"uuid"}}},"logicalName":"wovyn_user_removeProductOwner","displayName":"wovyn_user_removeProductOwner","title":"wovyn_user_removeProductOwner","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_product_get","description":"Get product details Any authenticated user can call this. The financial institution must already exist. Returns the full record for a single financial institution by its identifier. Prerequisites: product.create.","inputSchema":{"type":"object","required":["productId"],"properties":{"authToken":{"type":"string"},"productId":{"type":"string","format":"uuid"}}},"logicalName":"wovyn_product_get","displayName":"wovyn_product_get","title":"wovyn_product_get","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_product_deleteWebhook","description":"Delete webhook subscription for a product Only a Platform Admin can call this. A webhook subscription must be configured. Removes the webhook subscription from the product. Events will no longer be delivered to the configured URL. Requires: platform:admin. Prerequisites: product.configureWebhook.","inputSchema":{"type":"object","required":["productId"],"properties":{"authToken":{"type":"string"},"productId":{"type":"string","format":"uuid"}}},"logicalName":"wovyn_product_deleteWebhook","displayName":"wovyn_product_deleteWebhook","title":"wovyn_product_deleteWebhook","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_sync_syncCustomers","description":"Sync customers from Braid Only a Platform Admin can call this. At least one customer must have completed onboarding. Re-fetches and updates all customer records for a financial institution from the payment network, reconciling any drift from the source of truth. Requires: platform:admin. Prerequisites: onboarding.approve.","inputSchema":{"type":"object","required":["productId"],"properties":{"authToken":{"type":"string"},"productId":{"type":"string","format":"uuid"}}},"logicalName":"wovyn_sync_syncCustomers","displayName":"wovyn_sync_syncCustomers","title":"wovyn_sync_syncCustomers","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_storage_deleteFile","description":"Delete file from storage Any authenticated user can call this. The file must have been uploaded. Permanently deletes a stored file. This action is irreversible. Prerequisites: storage.uploadFile.","inputSchema":{"type":"object","required":["bucket","path"],"properties":{"path":{"type":"string","minLength":1},"bucket":{"enum":["customer-documents","general-uploads"],"type":"string"},"authToken":{"type":"string"}}},"logicalName":"wovyn_storage_deleteFile","displayName":"wovyn_storage_deleteFile","title":"wovyn_storage_deleteFile","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_storage_listFiles","description":"List files in folder Any authenticated user can call this. At least one file must have been uploaded. Returns all files in a storage bucket folder matching the specified path. Prerequisites: storage.uploadFile.","inputSchema":{"type":"object","required":["bucket","folder"],"properties":{"bucket":{"enum":["customer-documents","general-uploads"],"type":"string"},"folder":{"type":"string","minLength":1},"authToken":{"type":"string"}}},"logicalName":"wovyn_storage_listFiles","displayName":"wovyn_storage_listFiles","title":"wovyn_storage_listFiles","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_notification_markRead","description":"Mark notification as read Any authenticated user can call this. The notifications must exist. Marks one or more specific notifications as read. Prerequisites: notification.list.","inputSchema":{"type":"object","required":["customerId","notificationIds"],"properties":{"authToken":{"type":"string"},"customerId":{"type":"string","format":"uuid"},"notificationIds":{"type":"array","items":{"type":"string"},"minItems":1}}},"logicalName":"wovyn_notification_markRead","displayName":"wovyn_notification_markRead","title":"wovyn_notification_markRead","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_notification_markAllRead","description":"Mark all notifications as read Any authenticated user can call this. The user must have at least one unread notification. Marks all unread notifications for the current user as read in a single operation. Prerequisites: notification.list.","inputSchema":{"type":"object","required":["customerId"],"properties":{"authToken":{"type":"string"},"customerId":{"type":"string","format":"uuid"}}},"logicalName":"wovyn_notification_markAllRead","displayName":"wovyn_notification_markAllRead","title":"wovyn_notification_markAllRead","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_notification_getUnreadCount","description":"Get count of unread notifications Any authenticated user can call this. Returns the number of unread notifications for the current user. Suitable for driving a badge indicator in a UI. Prerequisites: auth.signIn.","inputSchema":{"type":"object","required":["customerId"],"properties":{"authToken":{"type":"string"},"customerId":{"type":"string","format":"uuid"}}},"logicalName":"wovyn_notification_getUnreadCount","displayName":"wovyn_notification_getUnreadCount","title":"wovyn_notification_getUnreadCount","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_notification_dismiss","description":"Dismiss a notification Any authenticated user can call this. The notifications must exist. Dismisses one or more notifications, removing them from the active notification list. Prerequisites: notification.list.","inputSchema":{"type":"object","required":["customerId","notificationIds"],"properties":{"authToken":{"type":"string"},"customerId":{"type":"string","format":"uuid"},"notificationIds":{"type":"array","items":{"type":"string"},"minItems":1}}},"logicalName":"wovyn_notification_dismiss","displayName":"wovyn_notification_dismiss","title":"wovyn_notification_dismiss","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_notification_getPreferences","description":"Get notification preferences Any authenticated user can call this. Returns the current notification delivery preferences for the user, including which event types trigger email or in-app alerts. Prerequisites: auth.signIn.","inputSchema":{"type":"object","required":["customerId"],"properties":{"authToken":{"type":"string"},"customerId":{"type":"string","format":"uuid"}}},"logicalName":"wovyn_notification_getPreferences","displayName":"wovyn_notification_getPreferences","title":"wovyn_notification_getPreferences","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_notification_deletePreferences","description":"Delete notification preferences Any authenticated user can call this. Preferences must have been set via notification.setPreferences. Deletes the current user's notification preferences, reverting them to platform defaults. Prerequisites: notification.setPreferences.","inputSchema":{"type":"object","required":["customerId"],"properties":{"authToken":{"type":"string"},"customerId":{"type":"string","format":"uuid"}}},"logicalName":"wovyn_notification_deletePreferences","displayName":"wovyn_notification_deletePreferences","title":"wovyn_notification_deletePreferences","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_admin_unfreezeCustomer","description":"Lift a customer's outbound freeze Only a Platform Admin can call this. Reverses admin.freezeCustomer — outbound money movement resumes. Does NOT restore any API keys revoked at freeze time (recreate/rotate those separately). Requires: platform:admin. Prerequisites: admin.freezeCustomer.","inputSchema":{"type":"object","required":["customerId"],"properties":{"authToken":{"type":"string"},"customerId":{"type":"string","format":"uuid"}}},"logicalName":"wovyn_admin_unfreezeCustomer","displayName":"wovyn_admin_unfreezeCustomer","title":"wovyn_admin_unfreezeCustomer","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_admin_resetCircuitBreaker","description":"Reset the platform circuit breaker Only a Platform Admin can call this. Reverses admin.tripCircuitBreaker — platform-wide outbound money movement resumes. Per-customer freezes remain in effect. Requires: platform:admin. Prerequisites: admin.tripCircuitBreaker.","inputSchema":{"type":"object","required":[],"properties":{"authToken":{"type":"string"}}},"logicalName":"wovyn_admin_resetCircuitBreaker","displayName":"wovyn_admin_resetCircuitBreaker","title":"wovyn_admin_resetCircuitBreaker","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_admin_getCircuitBreaker","description":"Get the platform circuit breaker state Only a Platform Admin can call this. Returns whether the platform-wide outbound halt is currently tripped, plus the reason and when it was tripped. Requires: platform:admin.","inputSchema":{"type":"object","required":[],"properties":{"authToken":{"type":"string"}}},"logicalName":"wovyn_admin_getCircuitBreaker","displayName":"wovyn_admin_getCircuitBreaker","title":"wovyn_admin_getCircuitBreaker","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_admin_unlockUserAccount","description":"Unlock a user account Only a Platform Admin can call this. The account must have been locked via admin.lockUserAccount. Restores sign-in access for the user. Requires: platform:admin. Prerequisites: admin.lockUserAccount.","inputSchema":{"type":"object","required":["userId"],"properties":{"userId":{"type":"string","format":"uuid"},"authToken":{"type":"string"}}},"logicalName":"wovyn_admin_unlockUserAccount","displayName":"wovyn_admin_unlockUserAccount","title":"wovyn_admin_unlockUserAccount","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_admin_viewActiveSessions","description":"View active user sessions Only a Platform Admin can call this. The user must have at least one active session. Returns all currently active sessions for a user, including device and IP information. Requires: platform:admin. Prerequisites: auth.signIn.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"integer","exclusiveMinimum":0},"userId":{"type":"string","format":"uuid"},"authToken":{"type":"string"}}},"logicalName":"wovyn_admin_viewActiveSessions","displayName":"wovyn_admin_viewActiveSessions","title":"wovyn_admin_viewActiveSessions","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_admin_getDbConnections","description":"Get active database connection counts Only a Platform Admin can call this. Returns current database connection pool metrics including active, idle, idle-in-transaction, and waiting connections, plus the configured connection limit. Use this to diagnose connection exhaustion or pool saturation. Requires: platform:admin.","inputSchema":{"type":"object","required":[],"properties":{"authToken":{"type":"string"}}},"logicalName":"wovyn_admin_getDbConnections","displayName":"wovyn_admin_getDbConnections","title":"wovyn_admin_getDbConnections","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_admin_getSlowQueries","description":"Get top slow queries by total execution time Only a Platform Admin can call this. Returns the top N queries by cumulative execution time. Use this to identify which queries are consuming the most database resources across all executions. Requires: platform:admin.","inputSchema":{"type":"object","required":[],"properties":{"limit":{"type":"integer","default":20,"maximum":100,"minimum":1},"authToken":{"type":"string"}}},"logicalName":"wovyn_admin_getSlowQueries","displayName":"wovyn_admin_getSlowQueries","title":"wovyn_admin_getSlowQueries","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_admin_getTableHealth","description":"Get table health stats (dead tuples, vacuum, size) Only a Platform Admin can call this. Returns health metrics for each database table including dead tuple ratios, last vacuum and analyze timestamps, and estimated table size. High dead tuple ratios indicate tables that need a manual vacuum. Requires: platform:admin.","inputSchema":{"type":"object","required":[],"properties":{"authToken":{"type":"string"}}},"logicalName":"wovyn_admin_getTableHealth","displayName":"wovyn_admin_getTableHealth","title":"wovyn_admin_getTableHealth","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_admin_getIndexUsage","description":"Get index scan counts and sizes Only a Platform Admin can call this. Returns index scan counts and sizes for all user-defined indexes. Indexes with zero scans are candidates for removal to recover memory and improve write throughput. Requires: platform:admin.","inputSchema":{"type":"object","required":[],"properties":{"authToken":{"type":"string"}}},"logicalName":"wovyn_admin_getIndexUsage","displayName":"wovyn_admin_getIndexUsage","title":"wovyn_admin_getIndexUsage","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_metrics_getErrorReport","description":"Get error report Only a Platform Admin can call this. At least one account must exist. Returns a report of API errors grouped by method name and error code for a given date range. Requires: platform:admin. Prerequisites: account.create.","inputSchema":{"type":"object","required":[],"properties":{"endDate":{"type":"string"},"authToken":{"type":"string"},"startDate":{"type":"string"},"customerId":{"type":"string","format":"uuid"}}},"logicalName":"wovyn_metrics_getErrorReport","displayName":"wovyn_metrics_getErrorReport","title":"wovyn_metrics_getErrorReport","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_alert_getById","description":"Get alert by ID Only a Platform Admin can call this. The alert must exist. Returns the full details of a single compliance alert, including the transaction that triggered it, its current status, and the activity log. Requires: platform:admin. Prerequisites: alert.search.","inputSchema":{"type":"object","required":["productId","alertId"],"properties":{"alertId":{"type":"integer","exclusiveMinimum":0},"authToken":{"type":"string"},"productId":{"type":"string","format":"uuid"}}},"logicalName":"wovyn_alert_getById","displayName":"wovyn_alert_getById","title":"wovyn_alert_getById","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_sar_pollAcknowledgements","description":"Poll for SAR acknowledgements Only a Platform Admin can call this. At least one batch must have been submitted. Polls FinCEN for acknowledgement responses on submitted SAR batches and updates submission status records. Requires: platform:admin. Prerequisites: sar.submitBatch.","inputSchema":{"type":"object","required":[],"properties":{"authToken":{"type":"string"}}},"logicalName":"wovyn_sar_pollAcknowledgements","displayName":"wovyn_sar_pollAcknowledgements","title":"wovyn_sar_pollAcknowledgements","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_sar_listSubmissions","description":"List SAR submissions Only a Platform Admin can call this. At least one batch must have been submitted. Returns all SAR batch submission records with their current FinCEN acknowledgement statuses. Requires: platform:admin. Prerequisites: sar.submitBatch.","inputSchema":{"type":"object","required":[],"properties":{"authToken":{"type":"string"},"productId":{"type":"string"},"environment":{"enum":["test","production"],"type":"string"}}},"logicalName":"wovyn_sar_listSubmissions","displayName":"wovyn_sar_listSubmissions","title":"wovyn_sar_listSubmissions","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_sar_unflagTransaction","description":"Remove SAR flag from transaction Only a Platform Admin can call this. The flag must have been set via sar.flagTransaction. Removes the suspicious flag from a transaction with a stated reason. Requires: platform:admin. Prerequisites: sar.flagTransaction.","inputSchema":{"type":"object","required":["flagId","reason"],"properties":{"flagId":{"type":"string","format":"uuid"},"reason":{"type":"string","minLength":1},"authToken":{"type":"string"}}},"logicalName":"wovyn_sar_unflagTransaction","displayName":"wovyn_sar_unflagTransaction","title":"wovyn_sar_unflagTransaction","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_sar_getDraft","description":"Get SAR draft by ID Only a Platform Admin can call this. The draft must have been created via sar.createDraft. Returns the full current state of a SAR draft, including subject details, narrative, and filing status. Requires: platform:admin. Prerequisites: sar.createDraft.","inputSchema":{"type":"object","required":["draftId"],"properties":{"draftId":{"type":"string","format":"uuid"},"authToken":{"type":"string"}}},"logicalName":"wovyn_sar_getDraft","displayName":"wovyn_sar_getDraft","title":"wovyn_sar_getDraft","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_fincen_getConfig","description":"Get platform-level FinCEN SDTM configuration Platform admin only. Returns the stored FinCEN configuration for the given environment. There is one config per environment (test/production) shared across all bank relationships. Requires: platform:admin. Prerequisites: fincen.setConfig.","inputSchema":{"type":"object","required":["environment"],"properties":{"authToken":{"type":"string"},"environment":{"enum":["test","production"],"type":"string"}}},"logicalName":"wovyn_fincen_getConfig","displayName":"wovyn_fincen_getConfig","title":"wovyn_fincen_getConfig","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_statement_getConfig","description":"Get statement configuration Any authenticated user can call this. Statement configuration must have been set via statement.updateConfig. Returns the branding and formatting configuration used when generating statements for a product. Prerequisites: statement.updateConfig.","inputSchema":{"type":"object","required":["productId"],"properties":{"authToken":{"type":"string"},"productId":{"type":"string","format":"uuid"}}},"logicalName":"wovyn_statement_getConfig","displayName":"wovyn_statement_getConfig","title":"wovyn_statement_getConfig","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_approvalPolicy_get","description":"Get approval policy Any authenticated user can call this. An approval policy must have been configured via approvalPolicy.set. Returns the current approval requirements for a customer — including which payment rails require approval, minimum amounts, and the number of approvals required. Prerequisites: approvalPolicy.set.","inputSchema":{"type":"object","required":["customerId"],"properties":{"authToken":{"type":"string"},"customerId":{"type":"string","format":"uuid"}}},"logicalName":"wovyn_approvalPolicy_get","displayName":"wovyn_approvalPolicy_get","title":"wovyn_approvalPolicy_get","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_system_getOutboundIp","description":"Get server outbound IP address Only a Platform Admin can call this. Returns the server's current outbound IP address. Use this to configure IP whitelists for external services like Braid before setting up payment network credentials. Requires: platform:admin. Enables: braid.validateCredentials.","inputSchema":{"type":"object","required":[],"properties":{"authToken":{"type":"string"}}},"logicalName":"wovyn_system_getOutboundIp","displayName":"wovyn_system_getOutboundIp","title":"wovyn_system_getOutboundIp","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_system_getEnvironmentInfo","description":"Get deployment environment details Only a Platform Admin can call this. Returns the current deployment environment name, running version, and active feature flags. Useful for verifying which environment is being targeted and confirming feature availability before making configuration changes. Requires: platform:admin.","inputSchema":{"type":"object","required":[],"properties":{"authToken":{"type":"string"}}},"logicalName":"wovyn_system_getEnvironmentInfo","displayName":"wovyn_system_getEnvironmentInfo","title":"wovyn_system_getEnvironmentInfo","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_system_listSecurityRules","description":"List active Semgrep rule catalog Only a Platform Admin can call this. Returns the full catalog of Semgrep rules that were active on the most recent scan, populated automatically from the SARIF driver.rules array on each CI run. Includes custom banking rules and the p/ai-best-practices OWASP LLM Top 10 pack. Requires: platform:admin.","inputSchema":{"type":"object","required":[],"properties":{"authToken":{"type":"string"}}},"logicalName":"wovyn_system_listSecurityRules","displayName":"wovyn_system_listSecurityRules","title":"wovyn_system_listSecurityRules","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_stablecoin_test","description":"Test Brale connector connectivity Only a Platform Admin can call this. Checks that the Brale connector credentials are present and the external API is reachable. Use this before beginning stablecoin operations to confirm the integration is live. Requires: platform:admin.","inputSchema":{"type":"object","required":["productId"],"properties":{"authToken":{"type":"string"},"productId":{"type":"string","format":"uuid"}}},"logicalName":"wovyn_stablecoin_test","displayName":"wovyn_stablecoin_test","title":"wovyn_stablecoin_test","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_stablecoin_getAccount","description":"Get a Brale managed account Any Customer member can call this. The account must exist via stablecoin.createAccount. Returns the current state of a customer's Brale managed stablecoin account. Requires: customer:read. Prerequisites: stablecoin.listAccounts.","inputSchema":{"type":"object","required":["productId","customerId"],"properties":{"authToken":{"type":"string"},"productId":{"type":"string","format":"uuid"},"customerId":{"type":"string","format":"uuid"}}},"logicalName":"wovyn_stablecoin_getAccount","displayName":"wovyn_stablecoin_getAccount","title":"wovyn_stablecoin_getAccount","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_stablecoin_getWallet","description":"Get a wallet record by ID A customer can read a wallet they own. The wallet must exist via stablecoin.listWallets. Returns a single local wallet record, including the linked Brale account ID and on-chain address. Requires: customer:read. Prerequisites: stablecoin.listWallets.","inputSchema":{"type":"object","required":["walletId"],"properties":{"walletId":{"type":"string","format":"uuid"},"authToken":{"type":"string"}}},"logicalName":"wovyn_stablecoin_getWallet","displayName":"wovyn_stablecoin_getWallet","title":"wovyn_stablecoin_getWallet","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_intentLedger_get","description":"Get a single intent entry with its linked action row Any authenticated user can call this. The intent entry must exist via intentLedger.list. Returns a single agent intent and its linked execution result, if the payment completed. Use this to investigate a specific payment attempt. Prerequisites: intentLedger.list.","inputSchema":{"type":"object","required":["intentId"],"properties":{"intentId":{"type":"string","format":"uuid"},"authToken":{"type":"string"}}},"logicalName":"wovyn_intentLedger_get","displayName":"wovyn_intentLedger_get","title":"wovyn_intentLedger_get","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_tincheck_getServiceStatus","description":"Get TinCheck system status and remaining checks Only a Platform Admin can call this. Returns the Sovos TinCheck system status and the number of metered checks remaining on the account. Does not consume a check — useful as a config-test / health probe before running a batch of verifications. Requires: platform:admin.","inputSchema":{"type":"object","required":[],"properties":{"authToken":{"type":"string"}}},"logicalName":"wovyn_tincheck_getServiceStatus","displayName":"wovyn_tincheck_getServiceStatus","title":"wovyn_tincheck_getServiceStatus","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_tatum_getServiceStatus","description":"Probe Tatum reachability and credentials Only a Platform Admin can call this. Probes Tatum's Address Security endpoint with a sentinel address and reads only the HTTP status — a config-test / health probe before running screens. Does not return a verdict. Requires: platform:admin.","inputSchema":{"type":"object","required":[],"properties":{"authToken":{"type":"string"}}},"logicalName":"wovyn_tatum_getServiceStatus","displayName":"wovyn_tatum_getServiceStatus","title":"wovyn_tatum_getServiceStatus","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_ofac_getPolicy","description":"Read the platform sanctions-screening policy and list catalog Only a Platform Admin can call this. Returns which sanctions lists are screened, the match threshold, and the full catalog of selectable lists with each marked selected or not — everything a policy editor needs in one call. Requires: platform:admin. Enables: ofac.setPolicy, ofac.screen.","inputSchema":{"type":"object","required":[],"properties":{"authToken":{"type":"string"}}},"logicalName":"wovyn_ofac_getPolicy","displayName":"wovyn_ofac_getPolicy","title":"wovyn_ofac_getPolicy","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_ofac_testConnection","description":"Check sanctions screening provider connectivity and credentials Only a Platform Admin can call this. Probes the sanctions vendor and reports whether it is reachable and the API key is accepted. Screens nothing and writes no screenings row. Requires: platform:admin. Enables: ofac.screen.","inputSchema":{"type":"object","required":[],"properties":{"authToken":{"type":"string"}}},"logicalName":"wovyn_ofac_testConnection","displayName":"wovyn_ofac_testConnection","title":"wovyn_ofac_testConnection","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_customerSupport_listMessages","description":"List messages in a support ticket thread Returns all messages in a support ticket thread, ordered by created_at ascending. Accessible by the ticket owner or a platform admin. Enables: customerSupport.sendMessage.","inputSchema":{"type":"object","required":["ticketId"],"properties":{"ticketId":{"type":"string","format":"uuid"},"authToken":{"type":"string"}}},"logicalName":"wovyn_customerSupport_listMessages","displayName":"wovyn_customerSupport_listMessages","title":"wovyn_customerSupport_listMessages","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_case_get","description":"Get a case with all notes and documents Returns the full case record including inline notes and documents, ordered chronologically. Prerequisites: case.create.","inputSchema":{"type":"object","required":["caseId"],"properties":{"caseId":{"type":"string","format":"uuid"},"authToken":{"type":"string"}}},"logicalName":"wovyn_case_get","displayName":"wovyn_case_get","title":"wovyn_case_get","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_case_update","description":"Update case title, description, or status Updates mutable case fields. Status transitions via this method are limited to IN_REVIEW, RESOLVED, and ESCALATED. OPEN and ASSIGNED are auto-managed by assignee operations. Prerequisites: case.create.","inputSchema":{"type":"object","required":["caseId"],"properties":{"caseId":{"type":"string","format":"uuid"},"status":{"enum":["IN_REVIEW","RESOLVED","ESCALATED"],"type":"string"},"authToken":{"type":"string"}}},"logicalName":"wovyn_case_update","displayName":"wovyn_case_update","title":"wovyn_case_update","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_case_addAssignee","description":"Add an assignee to a case Adds a user as an assignee. If the case is currently OPEN, status auto-transitions to ASSIGNED. Prerequisites: case.create. Enables: case.removeAssignee.","inputSchema":{"type":"object","required":["caseId","userId"],"properties":{"caseId":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"authToken":{"type":"string"}}},"logicalName":"wovyn_case_addAssignee","displayName":"wovyn_case_addAssignee","title":"wovyn_case_addAssignee","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_case_removeAssignee","description":"Remove an assignee from a case Removes a user from the assignee list. If the last assignee is removed, status auto-reverts to OPEN. Prerequisites: case.addAssignee.","inputSchema":{"type":"object","required":["caseId","userId"],"properties":{"caseId":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"authToken":{"type":"string"}}},"logicalName":"wovyn_case_removeAssignee","displayName":"wovyn_case_removeAssignee","title":"wovyn_case_removeAssignee","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_case_linkAlert","description":"Link an alert to a case Associates a Braid alert or Wovyn compliance alert with the case. alertType distinguishes the two systems. Prerequisites: case.create. Enables: case.unlinkAlert.","inputSchema":{"type":"object","required":["caseId","alertId","alertType"],"properties":{"caseId":{"type":"string","format":"uuid"},"alertId":{"type":"string","minLength":1},"alertType":{"enum":["BRAID","COMPLIANCE"],"type":"string"},"authToken":{"type":"string"}}},"logicalName":"wovyn_case_linkAlert","displayName":"wovyn_case_linkAlert","title":"wovyn_case_linkAlert","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_case_unlinkAlert","description":"Remove an alert link from a case Removes a previously linked alert from the case. Idempotent. Prerequisites: case.linkAlert.","inputSchema":{"type":"object","required":["caseId","alertId"],"properties":{"caseId":{"type":"string","format":"uuid"},"alertId":{"type":"string","minLength":1},"authToken":{"type":"string"}}},"logicalName":"wovyn_case_unlinkAlert","displayName":"wovyn_case_unlinkAlert","title":"wovyn_case_unlinkAlert","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_case_addNote","description":"Add a human note to a case Appends a NOTE-type entry to the case thread. Visible alongside system audit events in case.get. Prerequisites: case.create.","inputSchema":{"type":"object","required":["caseId","body"],"properties":{"body":{"type":"string","maxLength":10000,"minLength":1},"caseId":{"type":"string","format":"uuid"},"authToken":{"type":"string"}}},"logicalName":"wovyn_case_addNote","displayName":"wovyn_case_addNote","title":"wovyn_case_addNote","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_case_listDocuments","description":"List documents attached to a case Returns all documents attached to a case, ordered by uploaded_at ascending. Prerequisites: case.create. Enables: case.getDocumentSignedUrl.","inputSchema":{"type":"object","required":["caseId"],"properties":{"caseId":{"type":"string","format":"uuid"},"authToken":{"type":"string"}}},"logicalName":"wovyn_case_listDocuments","displayName":"wovyn_case_listDocuments","title":"wovyn_case_listDocuments","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_developer_revokeKey","description":"Revoke a developer API key Platform admin or product-scoped ADMIN can call this. Sets revoked_at on the key row. Revoked keys are immediately rejected. This operation is irreversible. Requires: platform:admin, customer:admin. Prerequisites: developer.createKey.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid"},"authToken":{"type":"string"}}},"logicalName":"wovyn_developer_revokeKey","displayName":"wovyn_developer_revokeKey","title":"wovyn_developer_revokeKey","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_developer_getKeyPolicy","description":"Get the silo API-key security policy Platform admin only. Returns the current silo-wide API-key security policy (max key age, whether an IP allowlist is required). Returns permissive defaults (no max age, allowlist not required) if none has been set. Requires: platform:admin. Prerequisites: developer.setKeyPolicy.","inputSchema":{"type":"object","required":[],"properties":{"authToken":{"type":"string"}}},"logicalName":"wovyn_developer_getKeyPolicy","displayName":"wovyn_developer_getKeyPolicy","title":"wovyn_developer_getKeyPolicy","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_bugReport_publish","description":"Publish a draft bug report as a GitHub issue (platform admin) Platform admin only (requirePlatformAdmin). Promotes a captured draft to a live GitHub issue (label: bug), and moves its status to 'published'. This is the explicit triage-then-publish step. Prerequisites: bugReport.create.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid"},"authToken":{"type":"string"}}},"logicalName":"wovyn_bugReport_publish","displayName":"wovyn_bugReport_publish","title":"wovyn_bugReport_publish","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_report_getTemplate","description":"Get a saved report template by id Any authenticated user with access to the template's owning customer can call this. Returns the stored template. Read-only. Prerequisites: report.createTemplate. Enables: report.run.","inputSchema":{"type":"object","required":["templateId"],"properties":{"authToken":{"type":"string"},"templateId":{"type":"string","format":"uuid"}}},"logicalName":"wovyn_report_getTemplate","displayName":"wovyn_report_getTemplate","title":"wovyn_report_getTemplate","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_report_listTemplates","description":"List a customer's saved report templates Any authenticated user with access to the customer can call this. Returns the templates owned by the given customer, newest first. Read-only. Prerequisites: report.createTemplate.","inputSchema":{"type":"object","required":["customerId"],"properties":{"authToken":{"type":"string"},"customerId":{"type":"string","format":"uuid"}}},"logicalName":"wovyn_report_listTemplates","displayName":"wovyn_report_listTemplates","title":"wovyn_report_listTemplates","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"wovyn_report_deleteTemplate","description":"Delete a saved report template Any authenticated user with access to the template's owning customer can call this. Permanently removes the template. Prerequisites: report.createTemplate.","inputSchema":{"type":"object","required":["templateId"],"properties":{"authToken":{"type":"string"},"templateId":{"type":"string","format":"uuid"}}},"logicalName":"wovyn_report_deleteTemplate","displayName":"wovyn_report_deleteTemplate","title":"wovyn_report_deleteTemplate","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=WOVYN&config=eyJ1cmwiOiAiaHR0cHM6Ly9hcGkud292eW4uZGV2L21jcCJ9"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22WOVYN%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fapi.wovyn.dev%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22WOVYN%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fapi.wovyn.dev%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=WOVYN&connectorUrl=https%3A%2F%2Fapi.wovyn.dev%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"WOVYN\" --url \"https://api.wovyn.dev/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/wovyn-mcp-f7dfe5403c","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/wovyn-mcp-f7dfe5403c/tools/{tool}","mcpServerUrl":"https://api.wovyn.dev/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/wovyn-mcp-f7dfe5403c?live=1"}