Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Neuronsearchlab MCP

by NeuronSearchLabversion 2.0.0i★ –iComputer or cloud
Registry namecom.neuronsearchlab/mcp

Install

Overview

Description from the maker (original English)

Recommendations, search, catalogue, analytics, and platform admin tools for NeuronSearchLab

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Computer or cloud
  • Transport: stdio, Streamable HTTP
  • Category: Marketing & social media
  • You need to fill in: NSL_CLIENT_ID, NSL_CLIENT_SECRET, NSL_API_KEY, Authorization

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 3 of 3 passed
  • Runs on the maker’s server: what you ask it goes through their server.
  • You fill in yourself: NSL_CLIENT_ID, NSL_CLIENT_SECRET, NSL_PLATFORM_MODE, NSL_API_KEY, Authorization

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • Runs in the cloudNothing to install; it connects over the internet
  • npmNode.js installed (for the npx command)

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.

Or run it on your computer

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'

Or run it on your computer

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/mcp

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

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"
      }
    }
  }
}

Or run it on your computer

Open in Cursor

Or copy the settings yourself

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.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "neuronsearchlab": {
      "type": "http",
      "url": "https://console.neuronsearchlab.com/api/mcp",
      "headers": {
        "Authorization": "your-value"
      }
    }
  }
}

Or run it on your computer

Open in VS Code

Or copy the settings yourself

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.

Values you fill in

  • NSL_CLIENT_ID secret env
    OAuth client ID for public mode (SDK Credentials from console → Security).
  • NSL_CLIENT_SECRET secret env
    OAuth client secret for public mode.
  • NSL_PLATFORM_MODE env
    Set to 'internal' for admin-platform tools with an API key; defaults to 'public'.
  • NSL_API_KEY secret env
    NSL API key (nsl_...) for internal mode.
  • Authorization secret HTTP header
    Bearer . Optional — the endpoint also supports OAuth sign-in via discovery.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

The server asks you to sign in before it lists its tools.

Basic checksi

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

  • ✓ Pass

    Maker matches the repo

    The registry name was verified against the domain neuronsearchlab.com (the registry checks domain ownership)

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • ✓ Pass

    Endpoint responds

    Responded in 172 ms (HTTP 401)

  • ✓ Pass

    Sign-in with OAuth

    Declares OAuth sign-in, so your AI app can take you to log in

  • … Not checked yet

    No hidden instructions in tool descriptions

    Not checked yet; we read the tool list when we check the endpoint

Compared with others in Marketing & social mediai

  • More stars than 0% of the other 2985 servers in this category
  • Published to the registry more recently than 89% of the other 2985 servers in this category
  • Basic checks equal to or better than 100% of the other 2985 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Neuronsearchlab MCP safe?

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.

What keys or codes does it need?

You need to fill in: NSL_CLIENT_ID, NSL_CLIENT_SECRET, NSL_API_KEY, Authorization

Does it run on my computer or in the cloud?

Either way works: install it on your computer or connect to the cloud version.

Is it still maintained?

The GitHub repo last changed –, and the latest version (2.0.0) reached the registry 3 days ago.

Which apps can use it?

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.

What can I use instead?

In the same category: MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer

Alternatives

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

Runs on your computer★ 495MITUpdated 10 days ago
Install

GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.

Runs on your computer★ 244MITUpdated 10 days ago
Install

README from the maker

Open the README

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.

@neuronsearchlab/mcp

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:

  • Hosted (recommended, no install): 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).
  • Local stdio via npm: npx -y @neuronsearchlab/mcp in two modes — public (recommendations, events, catalogue via OAuth client credentials) or internal (admin platform via console API key).

Connect to the hosted server (no install)

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

…or with an API key:

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" } } } }


Resources

  • Product site: https://www.neuronsearchlab.com
  • MCP setup guide: https://docs.neuronsearchlab.com/sdk/mcp
  • AI agents for recommendation operations: https://www.neuronsearchlab.com/blog/ai-agents-for-recommendation-operations
  • Recommendation systems reading path: https://www.neuronsearchlab.com/blog/recommendation-systems

Tools

API tools
ToolDescription
get_recommendationsFetch personalised recommendations for a user
get_recommendation_setsFetch every rail of a page in one request
get_auto_recommendationsAuto-sectioned feed with pagination (infinite scroll)
track_eventRecord a user interaction (click, view, purchase, etc.)
upsert_itemAdd or update a catalogue item
patch_itemPartially update an item (enable/disable, change fields)
delete_itemsPermanently remove items from the catalogue
search_itemsSearch the catalogue by keyword
explain_rankingExplain why an item ranked where it did for a user

Modes

Public mode

Uses OAuth client credentials and the public API.

Supported:

  • recommendations
  • events
  • catalogue operations
Internal mode

Uses a NeuronSearchLab API key with the admin scope against the console API.

Currently supported:

  • account plan and limits: get_account_plan returns the effective plan, resolved limits, current usage, and exact overages
  • catalogue search and ranking debug: search_items, explain_ranking
  • contexts: list_contexts, create_context, update_context, delete_context, get_context
  • rules: list_rules, create_rule, update_rule, delete_rule, toggle_rule, enable_rule, disable_rule, get_rule
  • segments: list_segments, get_segment, create_segment, update_segment, delete_segment
  • experiments: list_experiments, get_experiment, create_experiment, update_experiment, start_experiment, stop_experiment, get_experiment_results, refresh_experiment_results
  • training: list_training_jobs, get_training_job, create_training_job, cancel_training_job
  • analytics: get_ranking_metrics, get_user_analytics, get_item_analytics, compare_items, top_items
  • event types: list_event_types, create_event_type, update_event_type, delete_event_type
  • credentials and integrations: list_api_keys, revoke_api_key, list_integrations (create_api_key is local/internal only because it returns credential material)
  • fallback UI coverage for trusted local/internal clients only: list_platform_routes, call_platform_api

Quickstart (local stdio)

1. Get credentials

Generate SDK Credentials (OAuth 2.0 client ID + secret) from the NeuronSearchLab console.

2. Add to Claude Desktop

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.

Try it: recommendation-ops demo

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.

  1. List contexts so the assistant confirms the exact surface it is about to inspect.
  2. Fetch recommendations for a known test user and context.
  3. Search the catalogue for a concrete product/content phrase and compare the returned item IDs with the recommendation set.
  4. Explain one ranked item using the request_id from the recommendation or search response when available.
  5. Optional, sandbox only: draft or toggle a rule after the explanation shows the expected leak. Keep production contexts read-only unless the operator explicitly approves a write.
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:

  • create a scoped API key for the client or MCP server
  • connect one real recommendation context, such as homepage-feed
  • add request attribution to click/view events before judging ranking quality
3. Cursor / other MCP clients

Follow 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.


Releases

This repo uses Changesets plus GitHub Actions for automated versioning and npm publishing.

  • Add a changeset for any user-facing package change with npm run changeset
  • Merge that PR into main
  • The release.yml workflow opens or updates a version PR
  • Merging the version PR publishes @neuronsearchlab/mcp to npm automatically

To enable trusted publishing, configure the package on npmjs.com to trust the release.yml workflow in this repository.


Configuration

All configuration is via environment variables:

VariableRequiredDefaultDescription
NSL_PLATFORM_MODENopublicpublic or internal
NSL_CLIENT_IDPublic mode—OAuth client ID from the console
NSL_CLIENT_SECRETPublic mode—OAuth client secret from the console
NSL_API_KEYInternal mode—API key with admin scope
NSL_TOKEN_URLNohttps://auth.neuronsearchlab.com/oauth2/tokenToken endpoint
NSL_API_BASE_URLNohttps://api.neuronsearchlab.com in public mode, https://console.neuronsearchlab.com in internal modeAPI base URL
NSL_TIMEOUT_MSNo15000Request timeout in milliseconds

Tool reference

get_recommendations

Fetch personalised recommendations for a user. Returns ranked items with scores and a request_id for attribution.

Inputs

FieldTypeRequiredDescription
user_idstringYesUser identifier (UUID, email, or any stable string)
context_idpositive integerNoContext ID generated when the context is created in the console
limitinteger 1–200NoNumber of items to return (defaults to context value, usually 20)
surfacestringNoRerank surface override (e.g. "homepage", "sidebar")

Example

Get 10 recommendations for user alice@example.com using context 101

get_recommendation_sets

Fetch 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

FieldTypeRequiredDescription
user_idstringOne of user_id, anonymous_idUser identifier
anonymous_idstringOne of user_id, anonymous_idAnonymous visitor identifier
setsarray, 1–8 entriesYes{ 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_recommendations

Fetch 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

FieldTypeRequiredDescription
user_idstringYesUser identifier
context_idpositive integerNoOptional console-generated context ID
limitinteger 1–200NoItems per section

| cursor | st

Only the beginning is shown; read the rest in the repo

Ask PopNx