🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@nexbid/mcp-server

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@nexbid/mcp-server

Nexbid MCP Server — AI agent product discovery via Model Context Protocol

latest
Source
npmnpm
Version
1.0.1
Version published
Maintainers
1
Created
Source

Nexbid MCP Server

npm version MCP License: MIT

AI agent product discovery via Model Context Protocol. Connect any MCP-compatible AI agent to search, discover, and retrieve product data from the Nexbid open marketplace.

Quick Start

Claude Desktop / Claude.ai

Add to your MCP client configuration:

{
  "mcpServers": {
    "nexbid": {
      "url": "https://nexbid.dev/mcp"
    }
  }
}

With API key authentication:

{
  "mcpServers": {
    "nexbid": {
      "url": "https://nexbid.dev/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

The server is live at https://nexbid.dev/mcp and ready to accept connections immediately.

Available Tools

ToolDescriptionRequired ParamsOptional Params
nexbid_searchSearch and discover products with natural languagequery (string, 1-500 chars)intent, budget_min_cents, budget_max_cents, currency, geo, category, brand, max_results
nexbid_productGet detailed product info by IDproduct_id (UUID)--
nexbid_categoriesList product categories with counts--geo

All tools carry readOnlyHint: true and openWorldHint: true safety annotations -- they only read data and access an open marketplace.

Parameter Details

nexbid_search

ParameterTypeDescription
querystringNatural language product query (required, 1-500 chars)
intentenumUser intent: purchase, compare, research, browse
budget_min_centsintegerMinimum budget in cents (e.g. 5000 = CHF 50)
budget_max_centsintegerMaximum budget in cents (e.g. 20000 = CHF 200)
currencyenumCHF, EUR, USD, GBP
geostringISO 3166-1 alpha-2 country code (default: CH)
categorystringFilter by product category
brandstringFilter by brand name
max_resultsintegerNumber of results, 1-50 (default: 10)

nexbid_product

ParameterTypeDescription
product_idstringProduct UUID (required)

nexbid_categories

ParameterTypeDescription
geostringISO 3166-1 alpha-2 country code to filter categories

Authentication

The server supports optional API key authentication via two methods:

  • Bearer token: Authorization: Bearer YOUR_API_KEY
  • Header: x-api-key: YOUR_API_KEY

When no NEXBID_MCP_API_KEY environment variable is configured on the server, authentication is disabled and the endpoint is openly accessible. API keys use timing-safe comparison to prevent timing attacks.

Rate Limits

  • 100 requests per minute per client
  • Rate limit headers included in every response: X-RateLimit-Limit, X-RateLimit-Policy, Retry-After
  • Production rate limiting enforced via Vercel Firewall rules
  • Exceeding the limit returns a Retry-After: 60 header

Examples

Search for products

curl -X POST https://nexbid.dev/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "nexbid_search",
      "arguments": {
        "query": "wireless headphones",
        "intent": "purchase",
        "budget_max_cents": 20000,
        "currency": "CHF",
        "geo": "CH",
        "max_results": 5
      }
    }
  }'

Get product by ID

curl -X POST https://nexbid.dev/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "tools/call",
    "params": {
      "name": "nexbid_product",
      "arguments": {
        "product_id": "550e8400-e29b-41d4-a716-446655440000"
      }
    }
  }'

List categories

curl -X POST https://nexbid.dev/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 3,
    "method": "tools/call",
    "params": {
      "name": "nexbid_categories",
      "arguments": {
        "geo": "CH"
      }
    }
  }'

Response Format

The server implements JSON-RPC 2.0 over MCP Streamable HTTP transport.

All requests are POST to /mcp with Content-Type: application/json. Responses follow the standard MCP content format:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "Found 12 products (showing 5) in 42ms.\n\n1. **Sony WH-1000XM5** (Sony)\n   Price: 299.00 CHF\n   Availability: in_stock\n   Score: 87%\n   Link: https://example.com/product/wh1000xm5"
      }
    ]
  }
}

Error responses use isError: true in the result or standard JSON-RPC error codes:

CodeMeaning
-32000Authentication error (401)
-32600Invalid request
-32601Method not found
-32603Internal server error

Health Check

curl https://nexbid.dev/health

Returns:

{
  "status": "ok",
  "server": "nexbid",
  "version": "1.0.0",
  "transport": "streamable-http",
  "database": "connected",
  "timestamp": "2026-02-22T10:00:00.000Z"
}

When the database is unreachable, returns HTTP 503 with "status": "degraded" and "database": "disconnected".

Local Development

# Clone the repository
git clone https://github.com/Baldri/nexbid.git
cd nexbid

# Install dependencies
npm install

# Set environment variables
export DATABASE_URL="postgresql://user:pass@host/nexbid"

# Start local dev server
cd packages/mcp-server
npx vercel dev

The MCP endpoint will be available at http://localhost:3000/mcp and health check at http://localhost:3000/health.

Environment Variables

VariableRequiredDescription
DATABASE_URLYesNeon Postgres connection string
NEXBID_MCP_API_KEYNoAPI key for authentication (disabled if unset)

Running Tests

cd packages/mcp-server
npm test          # Watch mode
npm run test:run  # Single run

Tech Stack

  • Runtime: Node.js 20+ with TypeScript (strict mode)
  • Protocol: MCP SDK v1.6+
  • Transport: Streamable HTTP (stateless, serverless-optimized)
  • Database: Neon Serverless Postgres (Frankfurt, aws-eu-central-1)
  • Hosting: Vercel Serverless Functions (Frankfurt, fra1)
  • Validation: Zod schemas for all tool parameters
  • Testing: Vitest

License

MIT -- Copyright (c) 2025 digital opua GmbH

FAQs

Package last updated on 03 Mar 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts