Neuronsearchlab

com.neuronsearchlab由 neuronsearchlab.com 發布官方發布者v2.0.0更新於 Nov 4, 2026

NeuronSearchLab 的推薦、搜尋、目錄、分析和平臺管理工具

AI 翻譯由 AI 模型根據下方的原文描述翻譯,可能有誤。

原文描述

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

已驗證Streamable HTTP可網頁執行開發者工具資料與分析商業與電商

概覽

Neuronsearchlab 的託管 MCP 服務(console.neuronsearchlab.com),由 neuronsearchlab.com 發布;需要 OAuth 登入或 API 金鑰;Streamable HTTP。

暫無 AI 概覽:以下資訊來自註冊中心條目和服務本身。

發布者
neuronsearchlab.com
端點
console.neuronsearchlab.com
最近檢查

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Neuronsearchlab,將其新增到工作區。
  2. 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/com.neuronsearchlab%2Fmcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。

{
  "mcpServers": {
    "neuronsearchlab": {
      "type": "http",
      "url": "https://console.neuronsearchlab.com/api/mcp"
    }
  }
}

README

@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 [email protected]""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

bash
# 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:

toml
[mcp_servers.neuronsearchlab]url = "https://console.neuronsearchlab.com/api/mcp"bearer_token_env_var = "NSL_API_KEY"

Cursor / Windsurf / other Streamable HTTP clients

json
{  "mcpServers": {    "neuronsearchlab": {      "url": "https://console.neuronsearchlab.com/api/mcp",      "headers": { "Authorization": "Bearer nsl_your_key" }    }  }}

Resources

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:

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.):

json
{  "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.
text
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 [email protected] 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:

text
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 [email protected] 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 [email protected]: 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
cursorstringNoPagination cursor from the previous response
window_daysintegerNoDays to look back for "new" content

track_event

Record a user interaction. Always pass request_id from the recommendations response to enable click-through attribution.

Inputs

FieldTypeRequiredDescription
event_idintegerYesNumeric event type ID from the admin console
user_idstringYesUser who triggered the event
item_idpositive integerYesNSL-generated item ID returned by ingestion
request_idstringNorequest_id from the recommendations response (for attribution)
session_idstringNoSession identifier for grouping events within a visit

upsert_item

Add or update an item in the catalogue. The description field is used to generate the embedding — write it to be rich and descriptive.

Inputs

FieldTypeRequiredDescription
namestringYesDisplay name
descriptionstringYesRich description for embedding generation
metadataobjectNoArbitrary key-value pairs returned with recommendations

The item ID is generated by NSL and returned in the ingestion response; callers cannot supply it.


patch_item

Partially update an existing catalogue item.

Inputs

FieldTypeRequiredDescription
item_idpositive integerYesNSL-generated item ID to update
activebooleanNofalse to exclude from recommendations without deleting

delete_items

Permanently remove items. Cannot be undone. To temporarily exclude, use patch_item with active: false.

Inputs

FieldTypeRequiredDescription
item_idspositive integer[] (max 100)YesNSL-generated item IDs to delete

search_items

Search the catalogue by keyword.

Inputs

FieldTypeRequiredDescription
querystringYesText to search for
limitinteger 1–100NoMax results (default 20)

explain_ranking

Explain why a specific item was ranked at a given position for a user. Returns score breakdown, applied rules, and pipeline trace.

Inputs

FieldTypeRequiredDescription
item_idpositive integerYesNSL-generated item ID to explain
user_idstringNoUser to score against (omit for neutral baseline)
context_idpositive integerNoConsole-generated context ID to apply scoring rules from

list_contexts

List all recommendation contexts (feeds) configured for your team.

Inputs — none


create_context

Create a recommendation context: one rail or surface. A context owns its model and its ranking configuration.

Inputs

FieldTypeRequiredDescription
context_namestringYesDisplay name (e.g. "Homepage feed")
context_keystringNoAPI identifier. Derived from the name if omitted
descriptionstringNoOptional description
recommendation_typeenumNopersonalized_discovery, related_items, search_results, continue_watching, email_digest, merchandising. Default: personalized_discovery
modelobjectNoSee model below. Default: the NSL default model

Example

Create a new context called "Homepage feed"

get_context

Get one context: its fields, its model, its ranking configuration (template and serving stages) and configuration_enabled (whether serving uses that configuration).


update_context

Update a context. Only the fields you pass change.

Inputs

FieldTypeRequiredDescription
context_idintegerYesThe context ID to update
context_namestringNoNew display name
descriptionstringNoNew description
recommendation_typeenumNoNew recommendation type
modelobjectNoThe one model this context serves from (below)
configurationobjectNoThe complete { template, stages }, as read from get_context
configuration_enabledbooleanNoWhether serving uses the configuration. Off serves platform defaults

model is one of:

  • { "kind": "automatic" }: the NSL default model.
  • { "kind": "nsl", "family": "watch_next", "architecture": "gsasrec" }: an NSL model deployed to production.
  • { "kind": "trained", "id": 41 }: a trained model. It supplies its own candidates, so candidate sources and learned reranking do not apply. Personalized discovery and email digest contexts only.

delete_context

Permanently delete a context, its ranking configuration and its rules.

Inputs

FieldTypeRequiredDescription
context_idintegerYesThe context ID to delete

list_rules

List ranking rules, optionally filtered by context_id.


create_rule

Create a ranking rule. Rule types:

TypeEffect
boostIncrease matching items' scores (use weight 1.0–5.0)
buryDecrease matching items' scores (use weight 0.0–1.0)
pinFix matching items at a specific position (use pin_position)
filterRemove matching items from results
capLimit matching items to a fraction of results (use cap_fraction)
diversitySpread items across a field's values (use diversity_field, diversity_max)

Inputs

FieldTypeRequiredDescription
namestringYesRule display name
rule_typeenumYesboost, bury, pin, filter, cap, diversity
conditionsarrayYes[{ field, operator, value }] — items must match all conditions
actionsobjectYes{ type, weight?, pin_position?, cap_fraction?, ... }
context_idintegerNoScope rule to a specific context
descriptionstringNoOptional description
priorityinteger 0–1000NoHigher = evaluated first. Default: 100

Example

Create a pin rule called "Pin Nike" that pins items where brand equals "Nike" to position 3, scoped to context 1

update_rule / delete_rule / toggle_rule / enable_rule / disable_rule

Update, delete, or enable/disable a rule by rule_id.


get_user_analytics

Get served counts, event breakdown, unique-item activity, and click-through rate for a specific user.

Inputs

FieldTypeRequiredDescription
user_idstringYesUser ID or email to inspect
context_idpositive integerNoScope to a console-generated context
window1d | 7d | 30d | 90dNoTime window (default 7d)

get_item_analytics

Get served counts, event breakdown, watch/click counts, and click-through rate for a specific item.

Inputs

FieldTypeRequiredDescription
item_idpositive integerYesNSL-generated item ID to inspect
context_idpositive integerNoScope to a console-generated context
window1d | 7d | 30d | 90dNoTime window (default 7d)

compare_items

Compare two items head-to-head by served count, events, clicks, and CTR over the same time window.

Inputs

FieldTypeRequiredDescription
item_a_idpositive integerYesFirst NSL-generated item ID
item_b_idpositive integerYesSecond NSL-generated item ID
context_idpositive integerNoScope to a console-generated context
window1d | 7d | 30d | 90dNoTime window (default 7d)

top_items

List the top items by served count or by matching event activity over a time window. Use metric="served" for generic "top item" or "best performing" questions. Use metric="events" when the user explicitly names an engagement signal (e.g. watch, click, purchase).

Inputs

FieldTypeRequiredDescription
metricserved | eventsNoRank by served count or event count (default served)
event_namestringNoEvent name filter when metric=events (e.g. "watch", "click")
event_idintegerNoNumeric event ID filter when metric=events
context_idpositive integerNoScope to a console-generated context
window1d | 7d | 30d | 90dNoTime window (default 7d)
limitinteger 1–50NoMax items to return (default 10)

Example

What's the top item served in the last 7 days?Which items had the most watch events last month?

Authentication

Public mode uses OAuth 2.0 Client Credentials. Tokens are fetched on startup, cached in memory, and auto-refreshed 60 seconds before expiry.

Internal mode uses a NeuronSearchLab API key with the admin scope. Set NSL_API_KEY and NSL_PLATFORM_MODE=internal.


Development

bash
git clone https://github.com/NeuronSearchLab/mcpcd mcpnpm installexport NSL_CLIENT_ID=your-client-idexport NSL_CLIENT_SECRET=your-client-secretnpm run dev           # dev mode (tsx, no build)npm run build         # compile to dist/

License

MIT

來源:README.md,提交 109b551

工具

0
該伺服器需要登入,因此 SourceWeft 無法在沒有帳號的情況下讀取其工具,也未收錄。已連接帳號所能看到的內容可能因帳號及其權限而異。

版本歷史

4
  1. v2.0.0最新Nov 4, 2026
  2. v1.3.0Oct 31, 2026
  3. v1.2.0Sep 23, 2026
  4. v1.1.0Sep 16, 2026

評分

已滿足適用檢查項的 75%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。