{ "$schema": "https://raw.githubusercontent.com/mocaOS/cortex-registry/main/schema/listing.v1.json", "version": 1, "apps": [ { "slug": "dropbox-sync", "app": { "id": "dropbox-sync", "name": "Dropbox Sync", "version": "0.1.0", "type": "platform", "description": "Sync selected Dropbox folders into the Cortex knowledge graph — on demand or on a schedule, fully server-side with OAuth PKCE", "publisher": { "name": "reneil", "url": "https://github.com/mocaOS" }, "icon": "icon.svg", "entry": "index.html", "cortex": { "minVersion": "2.1.0", "keyScope": "read_write", "endpoints": [ "upload", "documents", "collections" ], "collections": "all" }, "config": [ { "name": "DROPBOX_APP_KEY", "type": "text", "required": true, "description": "App key of a Dropbox scoped app (https://www.dropbox.com/developers/apps). Needs scopes files.metadata.read + files.content.read + account_info.read; PKCE flow, so no app secret is ever required." } ], "externalHosts": [ "https://api.dropboxapi.com" ], "sharing": { "links": false }, "users": false, "capabilities": { "http": { "hosts": [ "api.dropboxapi.com", "content.dropboxapi.com" ] }, "tasks": {}, "storage": {} } }, "artifact": { "url": "https://github.com/mocaOS/cortex-app-dropbox/releases/download/v0.1.0/dropbox-sync-0.1.0.zip", "sha256": "acc6bde9b67ad48110624b26ef3134af7ebe1076eb4b988f18e75c970f56d0c0", "size": 76854 }, "repo": "https://github.com/mocaOS/cortex-app-dropbox", "tags": [ "sync", "dropbox", "oauth", "documents" ], "screenshots": [], "listedAt": "2026-07-21", "status": "active" }, { "slug": "gdrive-sync", "app": { "id": "gdrive-sync", "name": "Google Drive Sync", "version": "0.1.0", "type": "platform", "description": "Sync Google Drive folders into the Cortex knowledge graph — share folders with a service account, no OAuth consent screens, on demand or on a schedule, fully server-side", "publisher": { "name": "reneil", "url": "https://github.com/mocaOS" }, "icon": "icon.svg", "entry": "index.html", "cortex": { "minVersion": "2.1.0", "keyScope": "read_write", "endpoints": [ "upload", "documents", "collections" ], "collections": "all" }, "config": [ { "name": "GDRIVE_SA_KEY", "type": "secret", "required": true, "auth_header": "Authorization: Bearer google_sa_token(GDRIVE_SA_KEY, https://www.googleapis.com/auth/drive.readonly)", "description": "Paste the ENTIRE JSON key file, unmodified — from the opening { to the closing }, including the private_key with its \\n sequences (Google Cloud Console -> IAM -> Service Accounts -> Keys -> Add key -> JSON). Cortex parses what it needs and mints short-lived tokens server-side; the key is stored encrypted and never leaves the instance." }, { "name": "GDRIVE_SA_EMAIL", "type": "text", "required": true, "description": "The service account's email (client_email in the JSON key, e.g. cortex-sync@myproject.iam.gserviceaccount.com) - shown to users so they know which address to share folders with" } ], "sharing": { "links": false }, "users": false, "capabilities": { "http": { "hosts": [ "www.googleapis.com" ] }, "tasks": {}, "storage": {} } }, "artifact": { "url": "https://github.com/mocaOS/cortex-app-gdrive/releases/download/v0.1.0/gdrive-sync-0.1.0.zip", "sha256": "70495a0462751a3eee58e67ebabc7c32f413cc85bd40e4250ca7a31d9b813387", "size": 75815 }, "repo": "https://github.com/mocaOS/cortex-app-gdrive", "tags": [ "sync", "google-drive", "service-account", "documents" ], "screenshots": [], "listedAt": "2026-07-21", "status": "active" }, { "slug": "nextcloud-sync", "app": { "id": "nextcloud-sync", "name": "Nextcloud Sync", "version": "0.1.0", "type": "platform", "description": "Sync selected Nextcloud folders into the Cortex knowledge graph — on demand or on a schedule, fully server-side via WebDAV", "publisher": { "name": "reneil", "url": "https://github.com/mocaOS" }, "icon": "icon.svg", "entry": "index.html", "cortex": { "minVersion": "2.1.0", "keyScope": "read_write", "endpoints": [ "upload", "documents", "collections" ], "collections": "all" }, "config": [ { "name": "NEXTCLOUD_BASE_URL", "type": "text", "required": true, "description": "Base URL of your Nextcloud instance, e.g. https://cloud.example.com (no trailing slash)" }, { "name": "NEXTCLOUD_USER", "type": "text", "required": true, "description": "Nextcloud login name (as shown in Settings -> Personal info) - forms the WebDAV path" }, { "name": "NEXTCLOUD_APP_PASSWORD", "type": "secret", "required": true, "auth_header": "Authorization: Basic base64(NEXTCLOUD_USER:NEXTCLOUD_APP_PASSWORD)", "description": "Nextcloud app password, pasted as-is (create it under Settings -> Security -> Devices & sessions). Basic auth is assembled and base64-encoded server-side. Stored encrypted." } ], "sharing": { "links": false }, "users": false, "capabilities": { "http": { "hosts": [ "${NEXTCLOUD_BASE_URL}" ] }, "tasks": {}, "storage": {} } }, "artifact": { "url": "https://github.com/mocaOS/cortex-app-nextcloud/releases/download/v0.1.0/nextcloud-sync-0.1.0.zip", "sha256": "05a737e98f6b2a38faa10f4621ff61a729fa0337042982db55b114a4d2aa75d5", "size": 75436 }, "repo": "https://github.com/mocaOS/cortex-app-nextcloud", "tags": [ "sync", "nextcloud", "webdav", "documents" ], "screenshots": [], "listedAt": "2026-07-21", "status": "active" }, { "slug": "onedrive-sync", "app": { "id": "onedrive-sync", "name": "OneDrive Sync", "version": "0.1.0", "type": "platform", "description": "Sync selected OneDrive folders into the Cortex knowledge graph — on demand or on a schedule, fully server-side via Microsoft Graph delta", "publisher": { "name": "reneil", "url": "https://github.com/mocaOS" }, "icon": "icon.svg", "entry": "index.html", "cortex": { "minVersion": "2.1.0", "keyScope": "read_write", "endpoints": [ "upload", "documents", "collections" ], "collections": "all" }, "config": [ { "name": "ENTRA_CLIENT_ID", "type": "text", "required": true, "description": "Application (client) ID of a Microsoft Entra app registration (free at entra.microsoft.com). Supported account types must include personal Microsoft accounts, and 'Allow public client flows' must be enabled - device-code flow, no client secret needed anywhere." } ], "externalHosts": [ "https://graph.microsoft.com" ], "sharing": { "links": false }, "users": false, "capabilities": { "http": { "hosts": [ "login.microsoftonline.com", "graph.microsoft.com" ] }, "tasks": {}, "storage": {} } }, "artifact": { "url": "https://github.com/mocaOS/cortex-app-onedrive/releases/download/v0.1.0/onedrive-sync-0.1.0.zip", "sha256": "db13a6140dadc7512dd77a3f3d1c49d4f4ba7e0d212781aab7f6fabc6ddbd457", "size": 76928 }, "repo": "https://github.com/mocaOS/cortex-app-onedrive", "tags": [ "sync", "onedrive", "microsoft", "documents" ], "screenshots": [], "listedAt": "2026-07-21", "status": "active" }, { "slug": "paperless-sync", "app": { "id": "paperless-sync", "name": "Paperless Sync", "version": "0.4.0", "type": "platform", "description": "Sync your paperless-ngx document archive into the Cortex knowledge graph — the full original documents, on demand or on a schedule, fully server-side", "publisher": { "name": "reneil", "url": "https://github.com/mocaOS" }, "icon": "icon.svg", "entry": "index.html", "cortex": { "minVersion": "2.1.0", "keyScope": "read_write", "endpoints": [ "upload", "documents", "collections" ], "collections": "all" }, "config": [ { "name": "PAPERLESS_BASE_URL", "type": "text", "required": true, "description": "Base URL of your paperless-ngx instance, e.g. https://paperless.example.com" }, { "name": "PAPERLESS_TOKEN", "type": "secret", "required": true, "auth_header": "Authorization: Token PAPERLESS_TOKEN", "description": "paperless-ngx API token (My Profile -> API Token). Stored encrypted, injected server-side." } ], "sharing": { "links": false }, "users": false, "capabilities": { "http": { "hosts": [ "${PAPERLESS_BASE_URL}" ] }, "tasks": {}, "storage": {} } }, "artifact": { "url": "https://github.com/mocaOS/cortex-app-paperless/releases/download/v0.4.0/paperless-sync-0.4.0.zip", "sha256": "b7964ad2e930c8bb819733f452c62c013611816d36affe0066a05e2f6534d327", "size": 72593 }, "repo": "https://github.com/mocaOS/cortex-app-paperless", "tags": [ "documents", "paperless-ngx", "sync", "scheduled" ], "screenshots": [], "listedAt": "2026-07-21", "status": "active" }, { "slug": "webdav-sync", "app": { "id": "webdav-sync", "name": "WebDAV Sync", "version": "0.1.1", "type": "platform", "description": "Sync folders from any WebDAV server into the Cortex knowledge graph — Nextcloud, Synology, Koofr, pCloud, GMX/WEB.DE, MagentaCLOUD, HiDrive & more — on demand or scheduled, fully server-side", "publisher": { "name": "reneil", "url": "https://github.com/mocaOS" }, "icon": "icon.svg", "entry": "index.html", "cortex": { "minVersion": "2.1.0", "keyScope": "read_write", "endpoints": [ "upload", "documents", "collections" ], "collections": "all" }, "config": [ { "name": "WEBDAV_URL", "type": "text", "required": true, "description": "Full WebDAV collection URL including any base path, e.g. https://dav.example.com/remote.php/webdav or https://app.koofr.net/dav/Koofr (no trailing slash)" }, { "name": "WEBDAV_USERNAME", "type": "text", "required": true, "description": "WebDAV username (many providers use app-specific credentials - check your provider's WebDAV/app-password settings)" }, { "name": "WEBDAV_PASSWORD", "type": "secret", "required": true, "auth_header": "Authorization: Basic base64(WEBDAV_USERNAME:WEBDAV_PASSWORD)", "description": "WebDAV password or app password, pasted as-is. Basic auth is assembled and base64-encoded server-side. Stored encrypted." } ], "sharing": { "links": false }, "users": false, "capabilities": { "http": { "hosts": [ "${WEBDAV_URL}" ] }, "tasks": {}, "storage": {} } }, "artifact": { "url": "https://github.com/mocaOS/cortex-app-webdav/releases/download/v0.1.1/webdav-sync-0.1.1.zip", "sha256": "999782b55b45e8dfad5a88e59e71625a3814503fb04cabf4a777497b6307bfa6", "size": 76168 }, "repo": "https://github.com/mocaOS/cortex-app-webdav", "tags": [ "sync", "webdav", "documents", "nextcloud", "owncloud", "synology", "qnap", "nas", "koofr", "pcloud", "yandex-disk", "gmx", "web-de", "magentacloud", "hidrive", "kdrive", "fastmail", "seafile", "hetzner", "rclone" ], "screenshots": [], "listedAt": "2026-07-21", "status": "active" }, { "slug": "yt-transcriber", "app": { "id": "yt-transcriber", "name": "YT Transcriber", "version": "0.1.4", "type": "platform", "description": "Turn YouTube videos and whole channels into clean transcripts inside your knowledge graph", "publisher": { "name": "reneil", "url": "https://github.com/mocaOS" }, "icon": "icon.svg", "entry": "index.html", "cortex": { "minVersion": "2.0.0", "keyScope": "read_write", "endpoints": [ "upload", "graph/entities", "collections" ], "collections": "all" }, "config": [ { "name": "VENICE_API_KEY", "type": "secret", "required": true, "auth_header": "Authorization: Bearer VENICE_API_KEY", "auth_host": "api.venice.ai", "description": "Venice AI API key used for video transcription (venice.ai -> Settings -> API keys)" } ], "externalHosts": [], "sharing": { "links": true }, "users": false, "capabilities": { "http": { "hosts": [ "www.youtube.com", "api.venice.ai" ] }, "tasks": {}, "storage": {}, "llm": {} } }, "artifact": { "url": "https://github.com/mocaOS/cortex-app-youtube-transcriber/releases/download/v0.1.4/yt-transcriber-0.1.4.zip", "sha256": "018386f8aa5b291a08528c00582eb088ef51630da898b14b12516a0096ca58a8", "size": 76234 }, "repo": "https://github.com/mocaOS/cortex-app-youtube-transcriber", "tags": [ "youtube", "transcription", "venice", "llm" ], "screenshots": [], "listedAt": "2026-07-20", "status": "active" } ] }