Neptime MCP Server
This server provides MCP tools to interact with the Neptime.io video platform API, covering video management, uploads/imports, channels, playlists, comments, articles, history, categories, and reporting.
Videos: List, search, get trending, view details, update/delete owned videos, and rate (like/dislike) videos.
Video Uploads & Imports: Upload videos via local file path or base64, with thumbnail/privacy/age/short-form options; import YouTube videos or Shorts; look up YouTube channels/playlists/video info.
Channels: Get channel info and videos, view/update the authenticated channel profile (about, avatar, banner), subscribe/unsubscribe, and list subscriptions.
Playlists: Create, update, delete, view playlists; add/remove videos; enforce playlist limits.
Comments: Fetch and post comments on videos and articles, delete own comments, and rate comments.
Articles: List, get, create, update, and delete articles/posts.
History & Watch Later: View/clear watch history, get/add/remove watch later items.
Categories: List all categories and fetch videos by category.
Reporting: Report videos for guideline violations with reason and optional description.
Provides tools for importing YouTube videos or Shorts onto the authenticated Neptime channel, and for looking up YouTube channels, playlists, search results, and video details for backfills.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Neptime MCP Server show me the top 10 trending videos"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Neptime MCP Server
MCP (Model Context Protocol) server for Neptime.io video platform API integration.
Features
This MCP server provides 43 tools for interacting with the Neptime.io API:
Videos
List, search, and get trending videos
Get video details
Update and delete your videos
Rate videos (like/dislike)
Video Uploads
Upload videos through Neptime.io's live multipart upload endpoint
Supports local file paths or base64-encoded video bytes
Optional thumbnail, category, privacy, age restriction, and short-form flags
Import existing YouTube videos or Shorts onto the authenticated channel
Look up YouTube channels, playlists, and durations for newest-to-oldest backfills
Channels
Get channel information
Get channel videos
Read and update the authenticated channel profile
Set channel about text, avatar, and banner
Subscribe/unsubscribe from channels
View your subscriptions
Playlists
Create, update, and delete playlists
Add/remove videos from playlists
View playlist details
Comments
Get video comments
Post comments on videos
Get and post article comments when supported by the Neptime API
Delete your comments
Rate comments
Articles
List and get articles
Create, update, and delete articles
History & Watch Later
View watch history
Clear watch history
Manage watch later list
Categories
Get all categories
Get videos by category
Reports
Report videos for violations
Related MCP server: Kaltura MCP Server
Installation
npm install -g neptime-mcp-serverOr run directly with npx:
npx neptime-mcp-serverConfiguration
Get Your API Key
Create a new API key with the required scopes
Copy the API key
Environment Variable
Set the NEPTIME_API_KEY environment variable:
export NEPTIME_API_KEY="your-api-key-here"MCP Client Configuration
Add to your MCP client configuration (e.g., Claude Desktop):
{
"mcpServers": {
"neptime": {
"command": "npx",
"args": ["neptime-mcp-server"],
"env": {
"NEPTIME_API_KEY": "your-api-key-here"
}
}
}
}Or if installed globally:
{
"mcpServers": {
"neptime": {
"command": "neptime-mcp-server",
"env": {
"NEPTIME_API_KEY": "your-api-key-here"
}
}
}
}Available Tools
Tool | Description |
| List videos with pagination and sorting |
| Search for videos by keyword |
| Get trending videos |
| Get video details |
| Update a video you own |
| Delete a video you own |
| Like or dislike a video |
| Get channel information |
| Get videos from a channel |
| Subscribe to a channel |
| Unsubscribe from a channel |
| Get your subscriptions |
| Get your playlists |
| Get playlist details |
| Create a new playlist |
| Update a playlist |
| Delete a playlist |
| Add video to playlist |
| Remove video from playlist |
| Get comments on a video |
| Get comments on an article |
| Post a video comment |
| Post an article comment |
| Delete your comment |
| Like or dislike a comment |
| List articles |
| Get article details |
| Create an article |
| Update an article |
| Delete an article |
| Get watch history |
| Clear watch history |
| Get watch later list |
| Add to watch later |
| Remove from watch later |
| Get all categories |
| Get videos in a category |
| Report a video |
| Upload a video using a local path or base64 payload |
| Look up YouTube channels, playlists, search, or video details |
| Import a YouTube video or Short onto the authenticated channel |
| Get the authenticated channel profile |
| Update channel about text, avatar, and banner |
Rate Limits
The Neptime API has the following rate limits:
Global: 1000 requests/hour, 60 requests/minute
Comments: 50/day, 10 seconds between posts
Subscriptions: 50/day
Reports: 10/hour, 50/day
Playlists: 100 max per user, 500 videos per playlist
Development
# Clone the repository
git clone https://github.com/pasie15/neptime-mcp-server.git
cd neptime-mcp-server
# Install dependencies
npm install
# Build
npm run build
# Unit tests
npm test
# Run in development mode
npm run devLicense
MIT
Available Tools
39 toolsneptime_add_video_to_playlistAdd Video to PlaylistAIdempotent
Add a video to a playlist. Limit: 500 videos per playlist.
Args:
list_id: Playlist ID (required)
video_id: Video ID to add (required)
Returns: Confirmation with updated video count.
Inputs: list_id (required), video_id (required).
neptime_add_watch_laterAdd to Watch LaterBIdempotent
Add a video to your watch later list.
Args:
video_id: Video ID to add (required)
Returns: Confirmation.
Inputs: video_id (required).
neptime_clear_historyClear Watch HistoryADestructiveIdempotent
Clear all watch history. This action is IRREVERSIBLE.
Returns: Confirmation of history cleared.
Inputs: no named parameters.
neptime_create_articleCreate ArticleB
Create a new article/post.
Args:
title: Article title, 5-200 chars (required)
description: Short description, 15-500 chars (required)
text: Article body, min 50 chars (required)
tags: Comma-separated tags (optional)
category: Category ID (optional)
Returns: Created article object.
Inputs: title (required), description (required), text (required), tags, +1 more.
neptime_create_article_commentCreate Article CommentA
Post a comment on an article. Limit: 50 comments/day, 10s between posts.
Args:
article_id: Article ID (required)
text: Comment text, max 2000 chars (required)
Returns: Created comment object.
Inputs: article_id (required), text (required).
neptime_create_playlistCreate PlaylistA
Create a new playlist. Limit: 100 playlists max per user.
Args:
name: Playlist name, 2-100 chars (required)
description: Description, max 500 chars (optional)
privacy: public, private, or unlisted (default: private)
Returns: Created playlist object.
Inputs: name (required), description, privacy.
neptime_create_video_commentCreate Video CommentA
Post a comment on a video. Limit: 50 comments/day, 10s between posts.
Args:
video_id: Video ID (required)
text: Comment text, max 2000 chars (required)
Returns: Created comment object.
Inputs: video_id (required), text (required).
neptime_delete_articleDelete ArticleADestructive
Delete an article you own. This action is IRREVERSIBLE.
Args:
article_id: Article ID to delete (required)
Returns: Deletion confirmation.
Inputs: article_id (required).
neptime_delete_commentDelete CommentADestructive
Delete a comment you own.
Args:
comment_id: Comment ID to delete (required)
Returns: Deletion confirmation.
Inputs: comment_id (required).
neptime_delete_playlistDelete PlaylistADestructive
Delete a playlist you own. This action is IRREVERSIBLE.
Args:
list_id: Playlist ID to delete (required)
Returns: Deletion confirmation.
Inputs: list_id (required).
neptime_delete_videoDelete VideoADestructive
Delete a video you own on Neptime.io. This action is IRREVERSIBLE.
Args:
video_id: Video ID to delete (required)
Returns: Confirmation of deletion.
Inputs: video_id (required).
neptime_get_articleGet ArticleARead-onlyIdempotent
Get a specific article by ID.
Args:
article_id: Article ID (required)
Returns: Full article object with title, text, author, comments count.
Inputs: article_id (required).
neptime_get_article_commentsGet Article CommentsBRead-onlyIdempotent
Get comments on an article.
Args:
article_id: Article ID (required)
limit: Max results 1-100 (default: 20)
offset: Pagination offset (default: 0)
sort: Sort order - newest, oldest, top (default: newest)
Returns: Array of comments with user info, text, likes, replies.
Inputs: article_id (required), limit, offset, sort.
neptime_get_categoriesGet CategoriesARead-onlyIdempotent
Get all video categories.
Returns: Array of category objects with id, name, video count.
Inputs: no named parameters.
neptime_get_category_videosGet Category VideosARead-onlyIdempotent
Get videos in a specific category.
Args:
category_id: Category ID (required)
limit: Max results 1-100 (default: 20)
offset: Pagination offset (default: 0)
Returns: Array of videos in the category.
Inputs: category_id (required), limit, offset.
neptime_get_channelGet ChannelARead-onlyIdempotent
Get channel information by ID.
Args:
channel_id: Channel ID (required)
Returns: Channel object with name, avatar, subscriber count, video count, description.
Inputs: channel_id (required).
neptime_get_channel_videosGet Channel VideosBRead-onlyIdempotent
Get videos from a specific channel.
Args:
channel_id: Channel ID (required)
limit: Max results 1-100 (default: 20)
offset: Pagination offset (default: 0)
Returns: Array of videos from the channel.
Inputs: channel_id (required), limit, offset.
neptime_get_historyGet Watch HistoryARead-onlyIdempotent
Get your video watch history.
Args:
limit: Max results 1-100 (default: 20)
offset: Pagination offset (default: 0)
Returns: Array of watched videos with timestamps.
Inputs: limit, offset.
neptime_get_playlistGet Playlist DetailsARead-onlyIdempotent
Get details of a specific playlist including videos.
Args:
list_id: Playlist ID (required)
Returns: Playlist object with videos array.
Inputs: list_id (required).
neptime_get_playlistsGet My PlaylistsARead-onlyIdempotent
Get all playlists owned by the authenticated user. Limit: 100 playlists max.
Returns: Array of playlist objects with id, name, video count, privacy.
Inputs: no named parameters.
neptime_get_subscriptionsGet My SubscriptionsARead-onlyIdempotent
Get list of channels you are subscribed to.
Args:
limit: Max results 1-100 (default: 20)
offset: Pagination offset (default: 0)
Returns: Array of subscribed channels.
Inputs: limit, offset.
neptime_get_videoGet Video DetailsARead-onlyIdempotent
Get detailed information about a specific video.
Args:
video_id: Video ID (required)
Returns: Full video object with title, description, views, likes, comments count, channel, upload date, etc.
Inputs: video_id (required).
neptime_get_video_commentsGet Video CommentsARead-onlyIdempotent
Get comments on a video.
Args:
video_id: Video ID (required)
limit: Max results 1-100 (default: 20)
offset: Pagination offset (default: 0)
sort: Sort order - newest, oldest, top (default: newest)
Returns: Array of comments with user info, text, likes, replies.
Inputs: video_id (required), limit, offset, sort.
neptime_get_watch_laterGet Watch Later ListARead-onlyIdempotent
Get your watch later list.
Returns: Array of videos saved for later.
Inputs: no named parameters.
neptime_list_articlesList ArticlesARead-onlyIdempotent
List articles/posts from Neptime.io.
Args:
limit: Max results 1-100 (default: 20)
offset: Pagination offset (default: 0)
Returns: Array of article objects with id, title, description, author, date.
Inputs: limit, offset.
neptime_list_videosList VideosARead-onlyIdempotent
List videos from Neptime.io with pagination and sorting.
Args:
limit: Max results 1-100 (default: 20)
offset: Pagination offset (default: 0)
sort: Sort order - newest, oldest, views, likes (default: newest)
category: Filter by category ID (optional)
Returns: Array of video objects with id, title, views, likes, duration, thumbnail, channel info.
Inputs: limit, offset, sort, category.
neptime_rate_commentRate CommentAIdempotent
Like or dislike a comment.
Args:
comment_id: Comment ID (required)
rating: "like", "dislike", or "none" to remove rating (required)
Returns: Updated like/dislike counts.
Inputs: comment_id (required), rating (required).
neptime_rate_videoRate VideoAIdempotent
Like or dislike a video.
Args:
video_id: Video ID (required)
rating: "like", "dislike", or "none" to remove rating (required)
Returns: Updated like/dislike counts.
Inputs: video_id (required), rating (required).
neptime_remove_video_from_playlistRemove Video from PlaylistAIdempotent
Remove a video from a playlist.
Args:
list_id: Playlist ID (required)
video_id: Video ID to remove (required)
Returns: Confirmation with updated video count.
Inputs: list_id (required), video_id (required).
neptime_remove_watch_laterRemove from Watch LaterAIdempotent
Remove a video from your watch later list.
Args:
video_id: Video ID to remove (required)
Returns: Confirmation.
Inputs: video_id (required).
neptime_report_videoReport VideoA
Report a video for violating community guidelines. Limit: 10 reports/hour, 50/day.
Args:
video_id: Video ID to report (required)
reason: spam, harassment, hate_speech, violence, nudity, copyright, misinformation, or other (required)
description: Additional details, max 500 chars (optional)
Returns: Report confirmation.
Inputs: video_id (required), reason (required), description.
neptime_search_videosSearch VideosARead-onlyIdempotent
Search for videos on Neptime.io by keyword.
Args:
q: Search query (required, 1-200 chars)
limit: Max results 1-100 (default: 20)
offset: Pagination offset (default: 0)
Returns: Array of matching videos with relevance scoring.
Inputs: q (required), limit, offset.
neptime_subscribeSubscribe to ChannelAIdempotent
Subscribe to a channel. Limit: 50 subscriptions per day.
Args:
channel_id: Channel ID to subscribe to (required)
Returns: Subscription confirmation.
Inputs: channel_id (required).
neptime_trending_videosGet Trending VideosARead-onlyIdempotent
Get trending videos on Neptime.io.
Args:
limit: Max results 1-100 (default: 20)
period: Trending period - day, week, month (default: week)
Returns: Array of trending videos sorted by popularity.
Inputs: limit, period.
neptime_unsubscribeUnsubscribe from ChannelAIdempotent
Unsubscribe from a channel.
Args:
channel_id: Channel ID to unsubscribe from (required)
Returns: Unsubscription confirmation.
Inputs: channel_id (required).
neptime_update_articleUpdate ArticleAIdempotent
Update an article you own.
Args:
article_id: Article ID (required)
title: New title (optional)
description: New description (optional)
text: New body text (optional)
tags: New tags (optional)
category: New category ID (optional)
Returns: Updated article object.
Inputs: article_id (required), title, description, text, +2 more.
neptime_update_playlistUpdate PlaylistAIdempotent
Update a playlist you own.
Args:
list_id: Playlist ID (required)
name: New name, 2-100 chars (optional)
description: New description (optional)
privacy: public, private, or unlisted (optional)
Returns: Updated playlist object.
Inputs: list_id (required), name, description, privacy.
neptime_update_videoUpdate VideoAIdempotent
Update a video you own on Neptime.io.
Args:
video_id: Video ID to update (required)
title: New title (5-100 chars, optional)
description: New description (max 5000 chars, optional)
tags: Comma-separated tags (optional)
privacy: public, private, or unlisted (optional)
Returns: Updated video object.
Inputs: video_id (required), title, description, tags, +1 more.
neptime_upload_videoUpload VideoA
Upload a video to Neptime.io through the live /videos/upload endpoint.
Provide either video_path for a local file available to the MCP server, or video_base64 plus video_filename. Videos can be mp4, mov, webm, mpeg, avi, or mkv. The default privacy is private (1) for safety.
Args:
title: Video title (required)
description: Video description (required)
tags: Comma-separated tags (required)
video_path OR video_base64: Video file source (required)
video_filename: Filename when using video_base64
thumbnail_path OR thumbnail_base64: Optional thumbnail
category_id: Optional category ID
privacy: 0=public, 1=private, 2=unlisted (default: 1)
age_restriction: 1=all ages, 2=18+ (default: 1)
is_short: true for short-form video (default: false)
Returns: Uploaded video object with video_id, URL, stream URL, thumbnail, approval status, and privacy.
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 39 tools
Each tool targets a distinct resource and action, clearly differentiated by the resource name (video, article, playlist, channel, comment, etc.). Even similar actions like 'get_article_comments' vs 'get_video_comments' are unambiguous due to the different resource nouns.
All tools follow a consistent 'neptime_verb_noun' pattern. Verbs are appropriate (get, list, create, update, delete, add, remove, etc.) and nouns clearly indicate the resource. There is no mixing of conventions.
With 39 tools, the server covers a wide range of operations for a video platform including articles, playlists, channels, and subscriptions. While on the higher end, each tool serves a distinct purpose and is justified by the scope of the platform.
The tool surface provides comprehensive CRUD and lifecycle operations for videos, articles, playlists, and comments, plus search, trending, ratings, and subscriptions. Minor gaps exist, such as user profile management and channel creation, but the core workflows are well-covered.
Maintenance
Related MCP Connectors
YouTube transcripts, search, channels, playlists and bulk transcript jobs for AI agents. 14 tools.
YouTube transcripts, search, channel/playlist listings and upload tracking for AI agents.
Build, run, schedule, and publish AI video pipelines to YouTube and TikTok from any MCP client.
YouTube transcripts, search, channel browsing, and playlists for AI agents via MCP.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server providing comprehensive read-only access to YouTube data, including video search, transcripts, and channel forensics. It features 16 specialized tools designed for content analysis and metadata retrieval in LLM applications.2-
- AlicenseNot gradedqualityDmaintenanceEnables AI models to upload, retrieve, search, and manage media in Kaltura, including categories and users, via the Model Context Protocol.1MIT
- AlicenseNot gradedqualityDmaintenanceEnables interaction with YouTube's tools and services through a unified API, following the Model Context Protocol specification.1MIT
- AlicenseNot gradedqualityDmaintenanceGives AI coding agents full control over a YouTube channel with 22 tools for channel management, videos, playlists, comments, search, analytics, thumbnails, and captions.22 npm3MIT