설정의 커넥터 메뉴에서 사용자 지정 커넥터를 추가하고 서버 주소를 붙여넣은 뒤 연결을 누릅니다.
AI 연결 · MCP
AI에게 말하면 NULX가 합니다.
NULX는 MCP 서버를 제공합니다. Claude, ChatGPT, Cursor 같은 AI 앱에 연결하면 영상 올리기부터 자막, 폴더, 재생 보호, 공유 링크, 통계까지 대화로 처리합니다. 무료 플랜에서도 연결할 수 있습니다.
연결하기
주소 하나만 붙여넣으세요.
AI 앱의 커넥터(MCP) 설정에서 아래 주소를 추가하면 NULX 로그인 화면이 열립니다. 로그인하고 허용을 누르면 끝입니다. API 키를 복사할 필요가 없습니다.
MCP 서버 주소
https://nulx.dev/mcp
-
01
주소 추가
AI 앱의 커넥터·MCP 설정에서 사용자 지정 서버로 위 주소를 추가합니다.
-
02
NULX 로그인·허용
열리는 창에서 NULX에 로그인하고, AI 앱이 할 수 있는 일을 확인한 뒤 허용합니다.
-
03
말로 시키기
"이번 주 올린 영상 보여줘"처럼 평소 말투로 요청하면 AI가 NULX 도구를 골라 실행합니다.
앱별 연결 방법
설정의 앱·커넥터 메뉴에서 개발자 모드를 켜고, 새 커넥터에 서버 주소를 넣고 인증 방식을 OAuth로 고릅니다.
터미널에서 아래 명령을 실행하고, Claude Code 안에서 /mcp 로 로그인합니다.
claude mcp add --transport http nulx https://nulx.dev/mcp
MCP 설정 파일에 서버 주소를 추가합니다.
{
"mcpServers": {
"nulx": { "url": "https://nulx.dev/mcp" }
}
}
이렇게 말하세요
업로드부터 공유까지 대화로.
- “wetra 폴더에 있는 영상 목록 보여줘.”
- “~/Videos/lecture-03.mp4 올리고 자동 자막 켜 줘. 재생 준비되면 알려줘.”
- “3강 영상 제목을 '3강 · 상태 관리'로 바꾸고 강의 폴더로 옮겨 줘.”
- “한국어 자막을 영어로 번역해서 추가해 줘.”
- “이 영상을 비공개로 바꾸고, 7일짜리 공유 링크를 PIN 1234로 만들어 줘.”
- “이 영상을 강의 사이트에 넣으려면 어떻게 해야 해? 삽입 조건과 사이트 배포처도 확인해 줘.”
- “공개·재생 준비가 끝난 영상이면 고정 플레이어 주소를 알려 줘.”
- “지난 30일 동안 가장 많이 본 영상 5개 알려줘.”
파일 업로드는 컴퓨터의 파일을 읽을 수 있는 AI 도구(Claude Code, Cursor 등)에서 됩니다. 웹 채팅 앱에서는 목록·편집·자막·공유를 대화로 하고, 업로드는 NULX 웹사이트에서 하세요.
도구 목록
AI가 쓸 수 있는 도구 42개
AI는 아래 도구를 골라 실행합니다. 모든 도구는 공개 API와 같은 권한·요금제 규칙으로 동작합니다.
| 도구 | 하는 일 |
|---|---|
Connect Cloudflare for R2nulx_get_cloudflare_setup_link |
When storage or protected playback needs Cloudflare access, give the owner this NULX dashboard link. Each owner approves their own Cloudflare account in the browser; MCP never receives or asks for a Cloudflare token. Existing videos need a separate migration before changing their playback domain. |
List videosnulx_list_videos |
List videos in the NULX library, newest first. Filter by text, folder, tag or status. Returns id, title, folder, protection, status and size. Pass next_cursor back as cursor for the next page. |
Get videonulx_get_video |
Full details of one video: metadata, folder, protection, processing status and progress, tags. |
Check a video end to endnulx_check_video |
Checks everything about one video and says what is left to do: upload and encoding progress, playback readiness, delivery blocks, subtitles (including auto captions and translations in progress), protection and share links. Use it after an upload and whenever the user asks whether a video is ready. |
Edit video detailsnulx_update_video |
Change a video's title, description, folder, schedule or catalogue fields. Only the fields you pass change. |
Move videos to a foldernulx_move_videos |
Move one or more videos into a folder (or out of every folder with folder_id null). Videos take the folder's protection setting. |
Set or remove tagsnulx_set_video_tags |
Add, change or remove key/value tags on a video. |
Change who can play a videonulx_set_video_protection |
Set one video to public, private or signed playback. |
Get playback credentialsnulx_get_playback |
Get HLS/DASH and time-limited playback credentials for a ready video. Signed video watch/embed URLs expire; private video playback requires an existing viewer token. For a link to share or an iframe to copy, use nulx_get_distribution instead. |
Choose how to share or embed a videonulx_get_distribution |
Start here when the user asks to share, embed, publish on a site, or distribute a video. Shows public links, revocable protected links, assigned site deliveries, owner-only external HLS handoff, readiness and restrictions. Choose the audience before creating a link or changing protection. Site delivery does not publish a website. |
Download the original filenulx_get_download_url |
A short-lived (5 minute) URL to download the original uploaded file. |
Find duplicate uploadsnulx_find_duplicates |
Check whether a file was already uploaded, by SHA-256 checksum or original filename. |
Retry a failed videonulx_retry_video |
Re-run encoding for a video whose last encoding failed. |
Move a video to the trashnulx_trash_video |
Move a video to the trash. It stops playing and its files are deleted after the trash period unless restored with nulx_restore_video. Confirm with the user first. |
List the trashnulx_list_trash |
Videos in the trash with the date their files will be deleted. |
Restore a video from the trashnulx_restore_video |
Bring a trashed video back to the library. |
List foldersnulx_list_folders |
Every folder as a flat list in tree order. path is the full location from the top level ("A / B / C"); trust path and parent_id, not list order, for where a folder is. Use id as folder_id / parent_id in other tools. |
Create a foldernulx_create_folder |
Create a folder, optionally inside another folder. |
Rename or move a foldernulx_update_folder |
Rename a folder, change its description or order, or move it under another folder (parent_id null for top level). |
Protect a foldernulx_set_folder_protection |
Set playback protection for a folder and every video in it, and optionally the only websites allowed to embed them. |
Delete a foldernulx_delete_folder |
Delete a folder and its sub-folders. Videos inside are NOT deleted; they move up to the parent folder. Confirm with the user first. |
List subtitlesnulx_list_subtitles |
Subtitle tracks on a video, with language, label and status (translations run in the background). |
Add subtitlesnulx_add_subtitle |
Add a subtitle track from SRT or WebVTT text. |
Edit subtitlesnulx_update_subtitle |
Change a subtitle track's label or language, or replace its text with new WebVTT/SRT content. |
Delete subtitlesnulx_delete_subtitle |
Remove a subtitle track from a video. |
Translate subtitlesnulx_translate_subtitle |
Create a translated copy of a subtitle track (runs in the background; check with nulx_list_subtitles). |
Re-time subtitlesnulx_sync_subtitle |
Re-time a subtitle track so it lines up with another track on the same video. |
List site deliveriesnulx_list_site_deliveries |
List sites configured for embeds, including their video and folder assignments, status, allowed iframe domains and language. A site delivery scopes and measures embeds; it is not a share link or a website deployment. Create or edit sites in the NULX dashboard as the account owner. |
List share linksnulx_list_share_links |
Live share links for a video. |
Create a share linknulx_create_share_link |
Create a link someone without an account can open to watch one protected (private or signed) video. Optional PIN and expiry. |
Stop a share linknulx_revoke_share_link |
Stop a share link immediately. |
Start an uploadnulx_start_upload |
Step 1 of 3 to upload a local video file. Returns an upload_id and the part size. Then split the file into parts of that size, get their URLs with nulx_get_upload_part_urls, PUT each part (keep each response's ETag header) and finish with nulx_complete_upload. Uploads count toward the plan's monthly encoding hours; when they run out, new encoding pauses until next month rather than costing more (nulx_get_plan_usage shows the balance). |
Get upload part URLsnulx_get_upload_part_urls |
Step 2: signed PUT URLs for the parts of an upload (up to 100 per call). Every part except the last must be at least the part size from nulx_start_upload. |
Finish an uploadnulx_complete_upload |
Step 3: tell NULX every part is uploaded. Pass each part's number and the ETag from its PUT response. Encoding starts right away; follow with nulx_check_video. |
Upload statusnulx_get_upload |
State of an upload and the video it created. |
Cancel an uploadnulx_cancel_upload |
Abort an unfinished upload and discard its parts. |
Plan, usage and extra chargesnulx_get_plan_usage |
This month's encoding hours used against the plan's included hours, what happens when they run out, and exactly when anything is charged beyond the fixed monthly fee (overage only on accounts whose limit was raised on request; automatic captions per minute where turned on). Check it before large uploads and whenever the user asks about cost. |
Viewing analyticsnulx_get_analytics |
Plays, unique viewers, watch time, completion rate, daily series, top videos and countries for the account. |
Analytics for one videonulx_get_video_analytics |
Plays, viewers and watch time for one video. |
List webhooksnulx_list_webhooks |
Webhook endpoints and the events they receive. |
Add a webhooknulx_create_webhook |
Send NULX events (e.g. video ready) to an https URL. The signing secret is shown once in the result. |
Remove a webhooknulx_delete_webhook |
Stop sending events to a webhook endpoint. |
안전
허용한 만큼만, 언제든 끊을 수 있게.
- 연결은 계정 소유자가 NULX 로그인 화면에서 직접 허용해야 합니다. AI 앱은 비밀번호나 API 키를 받지 않습니다.
- AI는 영상을 휴지통으로 옮길 수는 있지만 영구 삭제는 할 수 없습니다. 결제, 요금제, 계정 설정, 저장소 연결, 팀원 관리도 할 수 없습니다.
- 연결한 AI 앱은 대시보드의 API 키 화면에 'AI · 앱 이름'으로 표시되고, 삭제하면 바로 끊깁니다.
- 무료 플랜에서도 AI 앱을 연결할 수 있습니다. AI가 실행하는 작업에는 요금제 제한이 적용됩니다.