nuditok
Search adult porn video (NSFW, 18+): nude clips, creators, hashtags. Read-only, no API key.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"nuditok": {
"url": "https://nuditok.com/mcp"
}
}
}Remote endpoints
https://nuditok.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (7)
🟢search_content(q)
Search NudiTok for adult videos (porn, NSFW, nude, 18+), hashtags and creators by keyword.
Input Schema
{
"type": "object",
"properties": {
"q": {
"description": "Search query",
"type": "string"
}
},
"required": [
"q"
]
}🟢get_video(hash)
Fetch metadata for one NudiTok video by hash. Returns page_url to link to (no direct media URL).
Input Schema
{
"type": "object",
"properties": {
"hash": {
"description": "Video hash (8+ hex chars)",
"type": "string"
}
},
"required": [
"hash"
]
}🟢get_feed(cursor, page, per_page)
Get a sample of the newest public adult videos on NudiTok (max 20).
Input Schema
{
"type": "object",
"properties": {
"cursor": {
"description": "Opaque pagination cursor from a prior call",
"type": "string"
},
"page": {
"description": "Page number (1-based)",
"minimum": 1,
"type": "integer"
},
"per_page": {
"description": "Items per page (max 20)",
"maximum": 20,
"minimum": 1,
"type": "integer"
}
}
}Output Schema
{
"type": "object",
"properties": {
"count": {
"type": "integer"
},
"has_more": {
"type": "boolean"
},
"next_cursor": {
"type": "string"
},
"videos": {
"type": "array"
}
}
}🟢get_trending(cursor, page, per_page, window)
Get trending adult videos on NudiTok by engagement for a time window (max 20).
Input Schema
{
"type": "object",
"properties": {
"cursor": {
"description": "Opaque pagination cursor from a prior call",
"type": "string"
},
"page": {
"description": "Page number (1-based)",
"minimum": 1,
"type": "integer"
},
"per_page": {
"maximum": 20,
"minimum": 1,
"type": "integer"
},
"window": {
"description": "Time window",
"enum": [
"today",
"this-week",
"all-time"
],
"type": "string"
}
}
}Output Schema
{
"type": "object",
"properties": {
"count": {
"type": "integer"
},
"has_more": {
"type": "boolean"
},
"next_cursor": {
"type": "string"
},
"videos": {
"type": "array"
}
}
}🟢list_creators(cursor, page, per_page)
Browse the public NudiTok creator directory by follower count (max 20).
Input Schema
{
"type": "object",
"properties": {
"cursor": {
"description": "Opaque pagination cursor from a prior call",
"type": "string"
},
"page": {
"description": "Page number (1-based)",
"minimum": 1,
"type": "integer"
},
"per_page": {
"maximum": 20,
"minimum": 1,
"type": "integer"
}
}
}🟢list_tags
List the most popular adult hashtag categories on NudiTok by video count (max 20).
Input Schema
{
"type": "object",
"properties": {}
}🟢get_user(username)
Fetch a NudiTok creator's public profile plus their newest videos.
Input Schema
{
"type": "object",
"properties": {
"username": {
"description": "Creator username (without @)",
"type": "string"
}
},
"required": [
"username"
]
}Community
Evidence