Nexus
RepositoryFree** - Web search server that integrates Perplexity Sonar models via OpenRouter API for real-time, context-aware search with citations
Capabilities12 decomposed
mcp-native web search with perplexity sonar models
Medium confidenceExposes real-time web search as an MCP tool that AI assistants can invoke directly via the Model Context Protocol. Implements the SearchTool class which routes queries to OpenRouter's Perplexity Sonar endpoints (sonar, sonar-pro, sonar-reasoning-pro, sonar-deep-research), handling model selection, request marshaling, and response parsing within the MCP protocol contract. Uses STDIO transport for bidirectional communication with MCP clients like Claude Desktop and Cursor.
Implements MCP server as zero-install npx executable (npx nexus-mcp) with STDIO transport, eliminating deployment friction vs traditional REST API wrappers. Uses @modelcontextprotocol/sdk for native protocol compliance rather than custom HTTP adapters, enabling seamless integration with Claude Desktop and Cursor without configuration.
Simpler than building custom REST search APIs because it leverages MCP's standardized tool protocol; faster to deploy than self-hosted search servers because it's a thin wrapper around OpenRouter's managed Perplexity endpoints.
request deduplication with ttl-based caching
Medium confidenceImplements RequestDeduplicator and TTLCache utilities to prevent duplicate concurrent requests and cache results for configurable time windows. When multiple identical queries arrive within the TTL window, the system returns the cached response instead of making redundant OpenRouter API calls, reducing latency and API costs. Deduplication is request-level (same query string) and operates transparently within the search pipeline.
Uses dual-layer caching strategy: RequestDeduplicator for in-flight request coalescing (prevents concurrent duplicates) and TTLCache for result persistence. This pattern is more sophisticated than simple memoization because it handles the race condition where multiple requests arrive before the first response completes.
More efficient than naive caching because it deduplicates in-flight requests; cheaper than uncached search because TTL-based results avoid redundant API calls; simpler than distributed cache (Redis) because it's embedded in the server process.
zero-install deployment via npx with automatic dependency resolution
Medium confidencePackages Nexus as an npm module that can be executed directly via npx nexus-mcp without requiring npm install or global installation. npx automatically downloads the latest version, resolves dependencies, and runs the CLI entry point. Requires only Node.js 18+ and an OpenRouter API key in the environment.
Packages as npm module with CLI entry point, enabling npx execution without installation. This is simpler than Docker containers for local use because it doesn't require Docker runtime.
Lower friction than npm install because npx is one command; simpler than Docker because no image build required; more accessible than source installation because no git clone or build steps.
concurrent request handling with deduplication and coalescing
Medium confidenceImplements request deduplication at the MCP server level to handle multiple concurrent identical queries. When multiple MCP clients send the same search query simultaneously, the system coalesces them into a single OpenRouter API call and broadcasts the result to all waiting clients. Uses RequestDeduplicator to track in-flight requests and coordinate responses.
Implements request coalescing at the MCP server level, not just caching — multiple in-flight requests are merged into one API call and the result is broadcast. This is more efficient than caching because it eliminates redundant API calls even for requests that arrive before the first response completes.
More efficient than simple caching because it coalesces in-flight requests; cheaper than uncached search because duplicate API calls are eliminated; simpler than distributed request deduplication because it's local to the server.
structured error handling with typed exception hierarchy and exponential backoff
Medium confidenceImplements BaseError hierarchy with typed exception classes (e.g., ValidationError, APIError, TimeoutError) that provide context-aware error messages and automatic retry logic with exponential backoff. When transient failures occur (rate limits, temporary API outages), the system automatically retries with increasing delays (e.g., 1s, 2s, 4s, 8s) up to a configurable maximum. Errors are logged with structured metadata and propagated to MCP clients with actionable error codes.
Uses BaseError hierarchy with typed subclasses (not generic Error) to enable pattern matching on error types in client code. Exponential backoff is integrated into the error handling layer rather than scattered across API client code, centralizing retry logic and making it testable.
More robust than simple retry-on-failure because it distinguishes transient vs permanent errors; cleaner than try-catch blocks everywhere because error handling is centralized; better than fixed-delay retries because exponential backoff reduces API load during outages.
citation extraction and response metadata structuring
Medium confidenceImplements ResponseOptimizer class that parses Perplexity Sonar responses to extract citations (source URLs and titles), structure metadata (model used, query time, token counts), and format results for MCP protocol compliance. Converts raw API responses into a standardized JSON schema with separate sections for answer text, citations array, and metadata, enabling MCP clients to display sources and trace information provenance.
Separates response parsing from API integration — ResponseOptimizer is a pure transformation layer that can be tested independently of OpenRouter communication. This enables swapping response formats or adding new metadata fields without touching the API client code.
More transparent than opaque search results because citations are explicitly extracted; more structured than raw API responses because metadata is normalized; easier to audit than inline source references because citations are a separate array.
model configuration system with runtime selection
Medium confidenceImplements model configuration via environment variables and CLI arguments that allow selecting between Perplexity Sonar variants (sonar, sonar-pro, sonar-reasoning-pro, sonar-deep-research) and Grok 4. Configuration is resolved at server startup and passed through the request pipeline to OpenRouter, enabling different deployments to use different models without code changes. Model characteristics (cost, latency, capability) are documented in AGENTS.md and MODEL_SELECTION_GUIDE.
Configuration is externalized to environment variables and CLI arguments rather than hardcoded, following twelve-factor app principles. Model characteristics are documented in separate AGENTS.md and MODEL_SELECTION_GUIDE files, making tradeoffs explicit and discoverable.
More flexible than single-model servers because it supports multiple Sonar variants; simpler than dynamic model routing because selection happens at startup; more transparent than implicit model choice because selection is explicit in environment or CLI.
input validation with json-rpc schema enforcement
Medium confidenceImplements input validation layer that enforces JSON-RPC protocol compliance and validates search query parameters before sending to OpenRouter. Uses schema validation (likely JSON Schema or similar) to check query string length, model selection validity, and required fields. Validation errors are caught early and returned to MCP clients with descriptive error messages, preventing malformed requests from reaching the API.
Validation is protocol-aware (JSON-RPC) rather than generic — it understands the MCP contract and validates against it. This enables catching protocol violations early before they propagate to the API layer.
Faster failure than API-side validation because errors are caught locally; more precise error messages because validation rules are explicit; prevents wasted API calls because invalid requests never reach OpenRouter.
structured logging and observability with configurable verbosity
Medium confidenceImplements logging infrastructure with configurable verbosity levels (likely DEBUG, INFO, WARN, ERROR) controlled via LOG_LEVEL environment variable. Logs are structured (JSON or key-value format) and include context like request ID, model, query, latency, and error details. Enables debugging of search failures and monitoring of server health without code changes.
Logging is integrated throughout the codebase (error handling, request pipeline, API client) rather than added as an afterthought. Structured format enables parsing and analysis by log aggregation tools.
More detailed than silent operation because logs provide visibility into failures; simpler than custom instrumentation because logging is built-in; more flexible than fixed log levels because verbosity is configurable.
cli entry point with argument parsing and server initialization
Medium confidenceImplements CLI entry point (src/cli.ts) that parses command-line arguments (model selection, port, timeout, log level) and initializes the MCP server with the specified configuration. Supports both direct execution (node src/cli.ts) and npx invocation (npx nexus-mcp). Handles graceful shutdown and signal handling (SIGTERM, SIGINT) to cleanly close connections.
Supports npx zero-install execution (npx nexus-mcp) without requiring global installation, lowering friction for users. CLI args are parsed and merged with environment variables, providing flexibility in configuration sources.
Easier to deploy than servers requiring npm install because npx downloads and runs in one command; more flexible than environment-only config because CLI args override env vars; simpler than config files because args are inline.
mcp protocol server with stdio transport and tool registration
Medium confidenceImplements MCP server using @modelcontextprotocol/sdk that exposes search as a registered tool following the MCP specification. Server communicates with MCP clients (Claude Desktop, Cursor) via STDIO transport, handling JSON-RPC message marshaling, tool discovery, and resource management. Tool registration includes schema definition (input parameters, description) that clients use to understand how to invoke search.
Uses official @modelcontextprotocol/sdk rather than custom protocol implementation, ensuring spec compliance and compatibility with all MCP clients. STDIO transport is simpler than HTTP but requires clients to support it (Claude Desktop, Cursor do).
More standardized than custom API wrappers because it follows MCP spec; simpler than REST APIs because STDIO eliminates network configuration; more discoverable than hidden tools because MCP clients expose registered tools in UI.
openrouter api client with model-agnostic request marshaling
Medium confidenceImplements OpenRouterClient that abstracts OpenRouter API communication, handling authentication (API key injection), request formatting, response parsing, and error translation. Supports multiple models (Perplexity Sonar variants, Grok 4) through a unified interface, marshaling model-specific parameters into OpenRouter's request format. Handles API versioning and endpoint routing transparently.
Abstracts OpenRouter as a provider layer, not a core dependency — enables swapping providers by implementing a new client with the same interface. Request marshaling is centralized in OpenRouterClient, not scattered across search logic.
More maintainable than direct API calls because API changes are localized to the client; more testable because the client can be mocked; more flexible than hardcoded endpoints because routing is parameterized.
Capabilities are decomposed by AI analysis. Each maps to specific user intents and improves with match feedback.
Related Artifactssharing capabilities
Artifacts that share capabilities with Nexus, ranked by overlap. Discovered automatically through the match graph.
NPM Search
** - Search for npm packages
just-every/mcp-read-website-fast
** - Fast, token-efficient web content extraction that converts websites to clean Markdown. Features Mozilla Readability, smart caching, polite crawling with robots.txt support, and concurrent fetching with minimal dependencies.
Google PSE/CSE
** - A Model Context Protocol (MCP) server providing access to Google Programmable Search Engine (PSE) and Custom Search Engine (CSE).
WebSearch-MCP
** - Self-hosted Websearch API
any-chat-completions-mcp
** - Chat with any other OpenAI SDK Compatible Chat Completions API, like Perplexity, Groq, xAI and more
MCP Installer
** - Set up MCP servers in Claude Desktop
Best For
- ✓AI developers building Claude Desktop or Cursor extensions
- ✓Teams using Claude as an agent that needs real-time information access
- ✓Builders integrating MCP servers into LLM applications
- ✓Teams running shared Nexus servers serving multiple AI assistants
- ✓Cost-conscious deployments where OpenRouter API spend is a concern
- ✓High-concurrency scenarios with repeated query patterns
- ✓Individual developers testing Nexus locally
- ✓Non-technical users who want to add search to Claude Desktop
Known Limitations
- ⚠Requires OpenRouter API key with Perplexity Sonar access — not free tier compatible
- ⚠STDIO transport limits to single-threaded request handling per server instance
- ⚠Model selection is static per server invocation — cannot switch models mid-session without restart
- ⚠Response latency depends on OpenRouter backend availability and model inference time (typically 2-8 seconds)
- ⚠TTL is global and configurable only via environment variable — no per-query TTL control
- ⚠Cache is in-memory only — lost on server restart, no persistence layer
Requirements
Input / Output
UnfragileRank
UnfragileRank is computed from adoption signals, documentation quality, ecosystem connectivity, match graph feedback, and freshness. No artifact can pay for a higher rank.
About
** - Web search server that integrates Perplexity Sonar models via OpenRouter API for real-time, context-aware search with citations
Categories
Alternatives to Nexus
Are you the builder of Nexus?
Claim this artifact to get a verified badge, access match analytics, see which intents users search for, and manage your listing.
Get the weekly brief
New tools, rising stars, and what's actually worth your time. No spam.
Data Sources
Looking for something else?
Search →