MCP YouTube Transcript
An MCP server retrieving transcripts of YouTube videos
Description from the maker (original English)
Recommendations, search, catalogue, analytics, and platform admin tools for NeuronSearchLab
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
NSL_CLIENT_ID, NSL_CLIENT_SECRET, NSL_PLATFORM_MODE, NSL_API_KEY, AuthorizationValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"neuronsearchlab": {
"command": "npx",
"args": [
"-y",
"@neuronsearchlab/mcp"
],
"env": {
"NSL_CLIENT_ID": "your-value",
"NSL_CLIENT_SECRET": "your-value",
"NSL_PLATFORM_MODE": "your-value",
"NSL_API_KEY": "your-value"
}
}
}
}Run this in your terminal
claude mcp add --transport http neuronsearchlab https://console.neuronsearchlab.com/api/mcp --header 'Authorization: your-value'claude mcp add neuronsearchlab --env NSL_CLIENT_ID=your-value --env NSL_CLIENT_SECRET=your-value --env NSL_PLATFORM_MODE=your-value --env NSL_API_KEY=your-value -- npx -y @neuronsearchlab/mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"neuronsearchlab": {
"url": "https://console.neuronsearchlab.com/api/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"neuronsearchlab": {
"command": "npx",
"args": [
"-y",
"@neuronsearchlab/mcp"
],
"env": {
"NSL_CLIENT_ID": "your-value",
"NSL_CLIENT_SECRET": "your-value",
"NSL_PLATFORM_MODE": "your-value",
"NSL_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"neuronsearchlab": {
"type": "http",
"url": "https://console.neuronsearchlab.com/api/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}Paste into .vscode/mcp.json in your project
{
"servers": {
"neuronsearchlab": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@neuronsearchlab/mcp"
],
"env": {
"NSL_CLIENT_ID": "your-value",
"NSL_CLIENT_SECRET": "your-value",
"NSL_PLATFORM_MODE": "your-value",
"NSL_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Your choice stays on this device in a cookie; no account needed.
NSL_PLATFORM_MODE envAuthorization secret HTTP headerThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
The server asks you to sign in before it lists its tools.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified against the domain neuronsearchlab.com (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 172 ms (HTTP 401)
Declares OAuth sign-in, so your AI app can take you to log in
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: NSL_CLIENT_ID, NSL_CLIENT_SECRET, NSL_API_KEY, Authorization
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (2.0.0) reached the registry 3 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
An MCP server retrieving transcripts of YouTube videos
GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.
AI video summarizer: summarize and transcribe YouTube, Bilibili, TikTok and podcast videos.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
MCP (Model Context Protocol) server for NeuronSearchLab. Gives any MCP-compatible AI client (Claude, Codex, Cursor, Windsurf, etc.) direct access to NeuronSearchLab recommendations, product/content search, catalogue operations, analytics, and platform controls.
"Get 5 recommendations for user alice@example.com"
"Check my current plan and show which resources are over their limits" "Create a new context called Twitter Feed" "Add a pin rule so Nike items always appear in the top 3" "Why did item prod-456 rank first for bob?"
Two ways to run it:
https://console.neuronsearchlab.com/api/mcp — Streamable HTTP with OAuth sign-in or an NSL API key. Listed on the MCP Registry as com.neuronsearchlab/mcp (search neuronsearchlab in the registry API or directory).npx -y @neuronsearchlab/mcp in two modes — public (recommendations, events, catalogue via OAuth client credentials) or internal (admin platform via console API key).The hosted endpoint runs a submission-safe customer administration profile. It includes first-class tools for plan and usage visibility, ranking configuration, experiments, training, analytics, catalogue inspection, API-key inventory and revocation, integrations, and event types. Every hosted tool declares its OAuth requirement and requires the authenticated team's admin scope. Credential creation, billing mutations, and the arbitrary platform API fallback remain available only to trusted local/internal clients so secrets, purchases, and unbounded API calls are not exposed in ChatGPT. Keys minted through OAuth consent appear in console → Security and can be revoked there anytime.
claude.ai / Claude Desktop — Settings → Connectors → Add custom connector → paste https://console.neuronsearchlab.com/api/mcp → Connect, then sign in to your NeuronSearchLab console and approve the scopes.
Claude Code
# OAuth (browser sign-in):
claude mcp add --transport http neuronsearchlab https://console.neuronsearchlab.com/api/mcp
claude mcp add --transport http neuronsearchlab https://console.neuronsearchlab.com/api/mcp \ --header "Authorization: Bearer nsl_your_key"
OpenAI Codex — in ~/.codex/config.toml:
[mcp_servers.neuronsearchlab]
url = "https://console.neuronsearchlab.com/api/mcp" bearer_token_env_var = "NSL_API_KEY"
Cursor / Windsurf / other Streamable HTTP clients
{
"mcpServers": { "neuronsearchlab": { "url": "https://console.neuronsearchlab.com/api/mcp", "headers": { "Authorization": "Bearer nsl_your_key" } } } }
| Tool | Description |
|---|---|
get_recommendations | Fetch personalised recommendations for a user |
get_recommendation_sets | Fetch every rail of a page in one request |
get_auto_recommendations | Auto-sectioned feed with pagination (infinite scroll) |
track_event | Record a user interaction (click, view, purchase, etc.) |
upsert_item | Add or update a catalogue item |
patch_item | Partially update an item (enable/disable, change fields) |
delete_items | Permanently remove items from the catalogue |
search_items | Search the catalogue by keyword |
explain_ranking | Explain why an item ranked where it did for a user |
Uses OAuth client credentials and the public API.
Supported:
Uses a NeuronSearchLab API key with the admin scope against the console API.
Currently supported:
get_account_plan returns the effective plan, resolved limits, current usage, and exact overagessearch_items, explain_rankinglist_contexts, create_context, update_context, delete_context, get_contextlist_rules, create_rule, update_rule, delete_rule, toggle_rule, enable_rule, disable_rule, get_rulelist_segments, get_segment, create_segment, update_segment, delete_segmentlist_experiments, get_experiment, create_experiment, update_experiment, start_experiment, stop_experiment, get_experiment_results, refresh_experiment_resultslist_training_jobs, get_training_job, create_training_job, cancel_training_jobget_ranking_metrics, get_user_analytics, get_item_analytics, compare_items, top_itemslist_event_types, create_event_type, update_event_type, delete_event_typelist_api_keys, revoke_api_key, list_integrations (create_api_key is local/internal only because it returns credential material)list_platform_routes, call_platform_apiGenerate SDK Credentials (OAuth 2.0 client ID + secret) from the NeuronSearchLab console.
Public mode (recommendations, events, catalogue):
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": { "neuronsearchlab": { "command": "npx", "args": ["-y", "@neuronsearchlab/mcp"], "env": { "NSL_CLIENT_ID": "your-client-id", "NSL_CLIENT_SECRET": "your-client-secret" } } } }
Internal mode (admin platform — contexts, rules, analytics, etc.):
{
"mcpServers": { "neuronsearchlab": { "command": "npx", "args": ["-y", "@neuronsearchlab/mcp"], "env": { "NSL_PLATFORM_MODE": "internal", "NSL_API_KEY": "your-admin-api-key" } } } }
Restart Claude Desktop. You'll see a 🔌 neuronsearchlab indicator in the toolbar when it's connected.
Once connected, run this named demo path before wiring the server into a larger workflow. It proves that an AI client can operate the recommender as an investigation surface rather than just call a recommendation endpoint.
request_id from the recommendation or search response when available.Use the NeuronSearchLab MCP server in read-only mode first.
List my recommendation contexts and choose the homepage-feed context. Get 10 recommendations for user demo-user@example.com using context homepage-feed. Search the catalogue for waterproof jackets and show the top 5 item ids. Explain why the first recommended item ranked first, using the request_id from the recommendation response if available. If you see a relevance leak, draft the smallest rule that would fix it, but do not create or toggle the rule yet.
Internal/admin mode can also inspect operational state before making changes:
List ranking rules for the homepage-feed context.
Show the latest ranking metrics for that context. Compare item jacket-123 with item jacket-456 and explain which rule or signal separates them.
Next steps after the smoke test:
homepage-feedFollow your client's MCP server guide. The command is:
npx @neuronsearchlab/mcp
Set NSL_CLIENT_ID + NSL_CLIENT_SECRET for public mode, or NSL_PLATFORM_MODE=internal + NSL_API_KEY for internal mode.
This repo uses Changesets plus GitHub Actions for automated versioning and npm publishing.
npm run changesetmainrelease.yml workflow opens or updates a version PR@neuronsearchlab/mcp to npm automaticallyTo enable trusted publishing, configure the package on npmjs.com to trust the release.yml workflow in this repository.
All configuration is via environment variables:
| Variable | Required | Default | Description |
|---|---|---|---|
NSL_PLATFORM_MODE | No | public | public or internal |
NSL_CLIENT_ID | Public mode | — | OAuth client ID from the console |
NSL_CLIENT_SECRET | Public mode | — | OAuth client secret from the console |
NSL_API_KEY | Internal mode | — | API key with admin scope |
NSL_TOKEN_URL | No | https://auth.neuronsearchlab.com/oauth2/token | Token endpoint |
NSL_API_BASE_URL | No | https://api.neuronsearchlab.com in public mode, https://console.neuronsearchlab.com in internal mode | API base URL |
NSL_TIMEOUT_MS | No | 15000 | Request timeout in milliseconds |
get_recommendationsFetch personalised recommendations for a user. Returns ranked items with scores and a request_id for attribution.
Inputs
| Field | Type | Required | Description |
|---|---|---|---|
user_id | string | Yes | User identifier (UUID, email, or any stable string) |
context_id | positive integer | No | Context ID generated when the context is created in the console |
limit | integer 1–200 | No | Number of items to return (defaults to context value, usually 20) |
surface | string | No | Rerank surface override (e.g. "homepage", "sidebar") |
Example
Get 10 recommendations for user alice@example.com using context 101
get_recommendation_setsFetch every recommendation rail of a page in one request (POST /v1/recommendations/batch). Each set is served and billed on its own and carries its own request_id for attribution; a set that fails reports its own error. Not exposed in the ChatGPT app profile.
Inputs
| Field | Type | Required | Description |
|---|---|---|---|
user_id | string | One of user_id, anonymous_id | User identifier |
anonymous_id | string | One of user_id, anonymous_id | Anonymous visitor identifier |
sets | array, 1–8 entries | Yes | { key, context_id, limit?, item_id?, filters? } per rail |
Example
Get the homepage rails for alice@example.com: 12 from context 101 as "for_you" and 8 from context 102 as "trending"
get_auto_recommendationsFetch the next auto-generated section for a user's feed. Designed for infinite-scroll — each call returns one curated section (e.g. *"Trending this week"*, *"New for you"*) plus a cursor for the next section. Call until done: true.
Inputs
| Field | Type | Required | Description |
|---|---|---|---|
user_id | string | Yes | User identifier |
context_id | positive integer | No | Optional console-generated context ID |
limit | integer 1–200 | No | Items per section |
| cursor | st
Only the beginning is shown; read the rest in the repo