NeuralVerge MCP Server

NeuralVerge MCP Server

Exposes NeuralVerge's full API as MCP tools for AI research, extraction, agents, and data enrichment (LinkedIn, email, phone), enabling any MCP-compatible client to call them directly.

Category
Visit Server

README

NeuralVerge MCP Server

An MCP (Model Context Protocol) server that wraps the full NeuralVerge API — AI Research, AI Extract, AI Agents, and Data Sources (LinkedIn, Crunchbase, Email enrichment and lookup, Phone enrichment and lookup, Email verification) — as MCP tools, so any MCP-compatible client (Claude Desktop, Claude Code, Cursor, ChatGPT/GPT clients with MCP support, and others) can call it directly.

This is an independent, unofficial wrapper around the NeuralVerge API. It is not affiliated with or endorsed by NeuralVerge.

Getting an API key

Before installing, you need a NeuralVerge account and an API key:

  1. Sign up at app.neuralverge.ai (or via neuralverge.ai → "Get started").
  2. Choose a plan (see Pricing below) — this determines your monthly points allowance.
  3. Generate an API key from your account/API settings in the app.
  4. Use that key as NEURALVERGE_API_KEY in the Configuration step further down.

Tools

Every NeuralVerge API endpoint is exposed as a 1:1 MCP tool. run_research and run_agent are asynchronous — they return a session_id immediately; call get_session_status every 2–5 seconds until status is complete or failed (NeuralVerge's own polling guidance). Every other tool returns its result synchronously.

AI Research

run_research

Starts the full multi-step research workflow: searches, analyzes sources, and returns a structured report. Async — returns a session_id.

Param Type Required Description
instructions string Yes The research task, in natural language.
settings.country_code string No Two-letter country code, e.g. us.
settings.search_enabled boolean No Whether web search runs during the task.
settings.deepsearch_model string No Depth tier for the research step (drives cost — see Pricing).
settings.finalizer_model string No Model used to write the final report.
settings.extract_schema_json string No JSON-encoded schema pinning the structured output shape.

Cost: 20–400 pts, depending on deepsearch_model depth tier.

run_agent

Runs a saved NeuralVerge agent — a reusable workflow with baked-in instructions and settings — by its agentId. Async — returns a session_id.

Param Type Required Description
agentId string (uuid) Yes ID of the saved agent to run.
instructions string Yes Instructions for this specific run.
settings.country_code string No Two-letter country code.
settings.search_enabled boolean No Whether web search runs during the task.
settings.deepsearch_model string No Depth tier for the research step.
settings.finalizer_model string No Model used to write the final report.

Cost: same tiered pricing as run_research, based on the agent's configured depth.

get_session_status

Polls a session created by run_research or run_agent.

Param Type Required Description
session_id string (uuid) Yes Session ID returned by run_research or run_agent.

Returns status (queued/running/complete/failed) and, once complete, a results object with a human (Markdown summary) and machine (structured JSON) field. Polling itself is free.

run_search

Runs a synchronous web search and returns ranked results (title, URL, snippet). No polling needed.

Param Type Required Description
query string Yes Search query.
settings.country string No Country to bias results toward.
settings.language string No Language to bias results toward.
settings.max_results number No Maximum number of results to return.

Cost: 5 pts.

AI Extract

run_extract

Loads a page by URL and extracts structured data according to natural-language instructions and/or a JSON schema. Synchronous.

Param Type Required Description
url string Yes URL of the page to load and extract from.
instructions string Yes What to extract, in natural language.
settings.country_code string No Two-letter country code for locale-sensitive pages.
settings.extract_schema_json string No JSON-encoded schema pinning the output shape.

Cost: 5 pts.

This is also the generic gateway NeuralVerge itself uses for every catalog data source that doesn't have its own dedicated endpoint (corporate registries, review sites, LinkedIn profiles without email) — point it at the right URL with the right extract_schema_json and it behaves like a dedicated source. See Data sources not exposed as dedicated tools below.

AI Agents

run_agent (see above, under AI Research) — NeuralVerge tags it "AI Agents" since it executes saved, reusable agent configurations rather than one-off instructions.

Data Sources — dedicated tools

These 11 catalog sources have their own dedicated endpoints/tools:

run_linkedin_email

LinkedIn profile lookup by URL, returning contact details including email when available (catalog: LinkedIn people profile + Email).

Param Type Required Description
username string Yes Full LinkedIn profile URL, e.g. https://www.linkedin.com/in/john-doe/

Cost: 10 pts.

run_linkedin_domain

Finds a LinkedIn profile from a company name/domain plus a full name (catalog: LinkedIn profile by name and domain).

Param Type Required Description
company_or_domain string Yes Company name or domain, e.g. openai.com
full_name string Yes Full name of the person to find.

Cost: 10 pts.

run_linkedin_company_search

Searches LinkedIn companies by query with optional filters.

Param Type Required Description
searchQuery string Yes Free-text company search query.
companySize string[] No Size buckets, e.g. ["51-200"].
industryIds string[] No Industry filters.
locations string[] No Location filters.
maxItems number No Max number of results.
scraperMode string No Scraper depth, e.g. short or full.
startPage number No Page offset.

Cost: 5 pts per company returned.

run_linkedin_people_search

Searches LinkedIn people with an optional free-text query and advanced filters (company, title, seniority, industry, experience, location).

Param Type Required Description
searchQuery string No Free-text people search query.
maxResults number No Max number of results.
startPage number No Page offset.
scraperMode string No Scraper depth, e.g. short or full.
locations string[] No Location filters.
currentCompany / pastCompany string[] No Current/past employer filters.
currentJobTitleFilter / pastJobTitle string[] No Current/past title filters.
yearsOfExperienceFilter string[] No Experience range filters.
yearsAtCurrentCompanyFilter string[] No Tenure filters.
seniorityLevelFilter string[] No Seniority filters.
functionFilter string[] No Job function filters.
industryIds string[] No Industry filters.
firstNames / lastNames string[] No Name filters.
companyHeadcountFilter string[] No Employer size filters.

Cost: 100 pts per 25 results.

run_linkedin_company_employee

Searches employees of one or more given companies, using the same filter set as run_linkedin_people_search.

Param Type Required Description
companies string[] Yes LinkedIn company URLs or names to search employees of.
searchQuery string No Free-text search query.
maxResults, startPage, scraperMode, locations, currentJobTitleFilter, pastJobTitle, yearsOfExperienceFilter, yearsAtCurrentCompanyFilter, seniorityLevelFilter, functionFilter, industryIds, companyHeadcountFilter No Same semantics as run_linkedin_people_search.

Cost: 30 pts per run + 5 pts per profile returned.

run_email_enrichment

Enriches a known email with profile data (name, phones, company, position, LinkedIn/X/Telegram, work experience).

Param Type Required Description
email string Yes Email address to enrich.

Cost: 10 pts.

run_email_validation

Validates deliverability of an email address (valid/invalid/risky, catch-all detection, mail provider, confidence).

Param Type Required Description
email string Yes Email address to validate.

Cost: 1 pt — the cheapest call in the catalog.

run_email_finder

Finds a professional email address from a company domain, first name, and last name.

Param Type Required Description
domain string Yes Company domain, e.g. openai.com
first_name string Yes Person's first name.
last_name string Yes Person's last name.

Cost: 10 pts.

run_phone_enrichment

Enriches a known phone number with profile data (name, emails, company, LinkedIn/X/Telegram, carrier), worldwide.

Param Type Required Description
phone string Yes Phone number in international format, e.g. +1234567890

Cost: 10 pts.

run_phone_enrichment_us

Validates and enriches a US phone number specifically: carrier, line type, activity score, litigator risk, and owner records (with addresses).

Param Type Required Description
phone string Yes US phone number, e.g. 12069735100

Cost: 100 pts.

run_crunchbase_company

Fetches structured company data from a Crunchbase organization URL (website, location, founding year, employees, industries, funding, description).

Param Type Required Description
url string Yes Crunchbase organization URL, e.g. https://www.crunchbase.com/organization/openai

Cost: 15 pts.

Data sources not exposed as dedicated tools

NeuralVerge's catalog lists 29 data sources in total. The 11 above have dedicated endpoints/tools. The other 18 are all reached through run_extract — pass the source's own page URL as url and a matching extract_schema_json; the "Read more" page for each source on the catalog site has the exact schema and an example curl call. All of them cost 5 pts (the standard run_extract price), except where noted.

Company intelligence

Source What it returns Cost
Capterra Description, rating, use cases, alternatives, FAQs, features, pricing, integrations, support. 5 pts
Capterra reviews User reviews. 5 pts
G2 Product info, rating, reviews, discussions, pricing, features. 5 pts
Trustpilot Review summary, rating, common topics, company details, contact info, similar companies. 5 pts

Corporate registry (official company registers, by country)

Source Country What it returns Cost
Companies House company 🇬🇧 UK Registered office, status, type, incorporation date, SIC codes, officers, persons with significant control. 5 pts
Companies House filings 🇬🇧 UK Filing date, description, document link. 5 pts
Companies House officers 🇬🇧 UK Officer name, correspondence address, role, appointment date. 5 pts
Ariregister company 🇪🇪 Estonia General info, VAT info, right of representation, contacts, shareholders, tax info, documents. 5 pts
CVR company 🇩🇰 Denmark Business info, ownership, financial statements, production units, registration history, employee counts. 5 pts
Czech Business Register search 🇨🇿 Czech Republic Structured results from a register search. 5 pts
INPI company 🇫🇷 France Identity, management/direction, establishments, observations and documents. 5 pts
KBO company 🇧🇪 Belgium General info, functions, entrepreneurial skill, characteristics, authorisations, entity links. 5 pts
KRS company 🇵🇱 Poland Basic/contact/address data, VAT confirmation, bankruptcy info, legal representatives. 5 pts
YTJ company 🇫🇮 Finland Business ID, name, company form, home municipality, line of business, registration history. 5 pts
LEI Lookup company 🌐 Global LEI registration details, company data, legal address. 5 pts
LEI Lookup search 🌐 Global Structured results from an LEI search. 5 pts

Social media (LinkedIn, without a dedicated tool)

Source What it returns Cost
LinkedIn company profile ID, name, country, locations, followers, employee count, about, specialties. 5 pts
LinkedIn people profile Name, headline, about, location, current company, full role/education history, certifications, languages, recent posts + engagement. 5 pts

Example: fetching a UK company record via run_extract:

{
  "url": "https://find-and-update.company-information.service.gov.uk/company/08804411",
  "instructions": "Extract data from Companies House profile",
  "settings": {
    "country_code": "us",
    "extract_schema_json": "{ ... }"
  }
}

Pricing

NeuralVerge uses simple, points-based pricing — one pool of points covers research, extraction, and every data source. See neuralverge.ai/pricing for the current numbers.

Plans

Plan Price Points / month
Lite $20/mo 20,000
Base $50/mo 50,000
Core (Popular) $100/mo 100,000
Pro $250/mo 250,000
Ultima $500/mo 500,000
Enterprise $1,000/mo 1,000,000

Action costs

Action Cost
run_search (Search) 5 pts
run_extract (AI Extract) — and every data source routed through it 5 pts
run_research / run_agent (AI research) 20–400 pts, priced by task depth (see below)
Most dedicated Data Source tools 1–15 pts (see per-tool cost above)
run_linkedin_people_search 100 pts per 25 results
run_linkedin_company_employee 30 pts/run + 5 pts/profile
run_phone_enrichment_us 100 pts

AI research depth tiers

Tier Cost Speed Description
Lite 20 pts 30s–90s Lightweight and fast
Base 50 pts 1m–2m Efficient for many tasks
Core 100 pts 2m–4m Balanced and strong for many tasks
Pro 200 pts 3m–7m Exploratory deep search
Ultima 400 pts 5m–12m Extensive deep search

Plans can be changed anytime; the new points allowance applies on the next billing cycle. Points reset every cycle.

Requirements

Installation

npm install
npm run build

This compiles TypeScript sources in src/ to dist/.

Configuration

The server reads its configuration from the environment:

Variable Required Description
NEURALVERGE_API_KEY Yes Your NeuralVerge API bearer token (see Getting an API key).
NEURALVERGE_BASE_URL No Override the NeuralVerge API base URL. Defaults to https://api.neuralverge.ai.
MCP_TRANSPORT No stdio (default) or http. See Transports & client compatibility below.
MCP_HTTP_PORT No Port for http transport. Defaults to 8787.
MCP_HTTP_PATH No HTTP path for the MCP endpoint. Defaults to /mcp.
MCP_HTTP_AUTH_TOKEN No If set, http transport requires Authorization: Bearer <token> on every request. Strongly recommended if the server is reachable over the internet.

Copy .env.example to .env for local reference, but note the server itself reads process environment variables — most MCP clients pass these via their own config, not via a .env file.

Transports & client compatibility

This server implements both MCP transports, selected via MCP_TRANSPORT, because different clients require different ones:

Client Transport it needs Works with this server?
Claude Desktop, Claude Code stdio (spawns a local process) MCP_TRANSPORT unset/stdio (default)
Cursor stdio (spawns a local process, same mcpServers config shape) MCP_TRANSPORT unset/stdio (default)
ChatGPT (Developer Mode / custom connectors) Remote Streamable HTTP or SSE over HTTPS — cannot spawn local stdio commands MCP_TRANSPORT=http, deployed somewhere reachable (or tunneled)
Any other MCP client stdio or Streamable HTTP ✅ pick whichever transport it speaks

stdio (Claude Desktop, Claude Code, Cursor)

These clients spawn the server as a local subprocess and talk JSON-RPC over its stdin/stdout — no networking involved. Add this to your client's MCP config (claude_desktop_config.json for Claude Desktop, .cursor/mcp.json for Cursor — the shape is identical):

{
  "mcpServers": {
    "neuralverge": {
      "command": "node",
      "args": ["/absolute/path/to/MCP/dist/index.js"],
      "env": {
        "NEURALVERGE_API_KEY": "your_api_key_here"
      }
    }
  }
}

Streamable HTTP (ChatGPT / remote clients)

ChatGPT's MCP connectors only accept remote servers over Streamable HTTP or SSE — they cannot launch a local node/npx process the way Claude Desktop and Cursor do. To use this server from ChatGPT, run it in HTTP mode and make it reachable over HTTPS:

MCP_TRANSPORT=http MCP_HTTP_PORT=8787 MCP_HTTP_AUTH_TOKEN=some_shared_secret \
NEURALVERGE_API_KEY=your_api_key_here node dist/index.js

This starts a stateless Streamable HTTP server (fresh MCP session per request, no server-side session storage) at http://localhost:8787/mcp, plus a GET /health check. To reach it from ChatGPT you need a public HTTPS URL — either:

  • deploy it to any Node host (Fly.io, Render, a VPS, a container platform, etc.), or
  • tunnel your local instance for testing (e.g. ngrok http 8787 or a Cloudflare Tunnel).

Then in ChatGPT: enable Developer Mode (Settings → Connectors → Advanced), add a connector pointing at https://your-host/mcp, and set the Authorization: Bearer <MCP_HTTP_AUTH_TOKEN> header if you set one.

Security note: NEURALVERGE_API_KEY lives on the server and is shared by everyone who can reach the HTTP endpoint — it is not per-ChatGPT-user. Always set MCP_HTTP_AUTH_TOKEN (or put the server behind your own auth) before exposing it publicly; otherwise anyone with the URL can spend your NeuralVerge points.

Manual testing

You can exercise the server with the official MCP Inspector:

NEURALVERGE_API_KEY=your_api_key_here npm run inspector

The Inspector's "HTTP" connection mode also works against the http transport (point it at http://localhost:8787/mcp), which is a convenient way to sanity-check the ChatGPT-facing path without a real ChatGPT connector.

Error handling

The NeuralVerge API returns these status codes, which this server surfaces as MCP tool errors with a descriptive message:

Status Meaning
400 Bad Request — invalid body/parameters. Not retryable without fixing the request.
401 Unauthorized — missing/invalid/expired token. Check NEURALVERGE_API_KEY.
402 Payment Required — plan or usage limits reached (out of points).
404 Not Found — invalid session id or inaccessible resource.
500 Internal Error — upstream/provider issue. Safe to retry.

Project structure

src/
  client.ts   # thin fetch wrapper: auth header, error mapping
  tools.ts     # all 16 MCP tool definitions (input schemas + handlers)
  index.ts     # MCP server bootstrap (stdio transport, or Streamable HTTP if MCP_TRANSPORT=http)

License

MIT — see LICENSE.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured