loading…
Search for a command to run...
loading…
AI-powered web search server using Perplexity Sonar models with source citations. Zero-install setup via NPX.
AI-powered web search server using Perplexity Sonar models with source citations. Zero-install setup via NPX.
AI integration without the complexity
npm version
License: MIT
TypeScript
MCP Compatible
CodeRabbit Pull Request Reviews
Intelligent AI model search and discovery with zero-install simplicity
Nexus is a Model Context Protocol (MCP) server that provides AI-powered search functionality through the OpenRouter API. It integrates with MCP-compatible clients including Claude Desktop and Cursor, providing search capabilities via multiple model families including Perplexity Sonar (real-time web search) and Grok 4 (training-data knowledge).
bunx (or npx) with no build requirementssonar - Fast Q&A, real-time web search (30s timeout, standard tier)sonar-pro - Multi-step queries, real-time web search (60s timeout, premium tier)sonar-reasoning-pro - Chain-of-thought reasoning, real-time web search (120s timeout, premium tier)sonar-deep-research - Exhaustive research reports, real-time web search (300s timeout, premium tier)grok-4 - Training-data knowledge, no real-time search (60s timeout, premium tier)Execute the server without local installation:
# Set your OpenRouter API key
export OPENROUTER_API_KEY=your-api-key-here
# Run the server via bunx (recommended)
bunx nexus-mcp
# Or via npx
npx nexus-mcp
The server starts and listens for MCP client connections via STDIO transport.
# Test the CLI help
bunx nexus-mcp --help
# Test the version
bunx nexus-mcp --version
# Run with your API key
OPENROUTER_API_KEY=your-key bunx nexus-mcp
For local development or customization:
git clone https://github.com/adawalli/nexus.git
cd nexus
bun install
bun run build
# Copy the example environment file
cp .env.example .env
# Edit .env and add your actual API key
# OPENROUTER_API_KEY=your-api-key-here
bun run start
Configure MCP clients to execute the server via bunx:
Configuration in ~/.claude/mcp_settings.json:
{
"mcpServers": {
"nexus": {
"command": "bunx",
"args": ["nexus-mcp"],
"env": {
"OPENROUTER_API_KEY": "your-api-key-here"
}
}
}
}
Restart Claude Code after configuration changes.
Add server configuration in Cursor's MCP settings:
nexusbunx["nexus-mcp"]OPENROUTER_API_KEY=your-api-key-hereRestart Cursor after configuration changes.
Standard MCP client connection parameters:
bunx["nexus-mcp"]OPENROUTER_API_KEY=your-api-key-hereIf you don't have Bun installed, use npx in place of bunx in any of the configurations above.
For a local installation (after following the local development setup):
{
"mcpServers": {
"nexus": {
"command": "bun",
"args": ["run", "/path/to/nexus-mcp/dist/cli.js"],
"env": {
"OPENROUTER_API_KEY": "your-api-key-here"
}
}
}
}
Once integrated, you can use the search tool in your MCP client:
Use the search tool to find information about "latest developments in AI"
Search for "climate change solutions" using:
- Model: sonar-pro
- Max tokens: 2000
- Temperature: 0.3
# Fast Q&A with real-time web search (default)
Search for "latest news" with model: sonar
# Deep research with comprehensive analysis
Search for "AI safety research" with model: sonar-deep-research
# Knowledge from training data (no web search)
Search for "explain quantum computing" with model: grok-4
searchThe main search tool that provides AI-powered search capabilities.
Parameters:
query (required): Search query (1-2000 characters)model (optional): Model to use (default: sonar)sonar - Fast Q&A with real-time web search (30s timeout)sonar-pro - Multi-step queries with real-time web search (60s timeout, premium)sonar-reasoning-pro - Chain-of-thought reasoning with real-time web search (120s timeout, premium)sonar-deep-research - Exhaustive research reports with real-time web search (300s timeout, premium)grok-4 - Training-data knowledge, no real-time search (60s timeout, premium)maxTokens (optional): Maximum response tokens (1-4000, default: 1000)temperature (optional): Response randomness (0-2, default: 0.3)timeout (optional): Override default timeout in milliseconds (5000-600000)Example Response (Perplexity model):
Based on current information, here are the latest developments in AI...
[Detailed AI-generated response with current information]
---
**Search Metadata:**
- Model: perplexity/sonar
- Response time: 1250ms
- Tokens used: 850
- Timeout: 30000ms
- Search type: realtime
- Sources: 5 found
Example Response (Grok 4 model):
Quantum computing is a type of computation that harnesses quantum mechanics...
[Response based on training data knowledge]
---
**Search Metadata:**
- Model: x-ai/grok-4
- Response time: 3500ms
- Tokens used: 650
- Timeout: 60000ms
- Search type: training-data
- Cost tier: premium
OPENROUTER_API_KEY (required): Your OpenRouter API keyNODE_ENV (optional): Environment setting (development, production, test)LOG_LEVEL (optional): Logging level (debug, info, warn, error)The server supports additional configuration through environment variables:
OPENROUTER_TIMEOUT_MS: Request timeout in milliseconds (default: 30000)OPENROUTER_MAX_RETRIES: Maximum retry attempts (default: 3)OPENROUTER_BASE_URL: Custom OpenRouter API base URLThe server provides a configuration status resource at config://status that shows:
"bunx: command not found"
curl -fsSL https://bun.sh/install | bash"npx: command not found"
node --versionnpm install -g npm@latest"Cannot find package 'nexus-mcp'"
Slow startup on first run
"Permission denied" errors with npx
npx --yes nexus-mcp --stdionpm config set user 0 && npm config set unsafe-perm true"Search functionality is not available"
OPENROUTER_API_KEY environment variable is set"Authentication failed: Invalid API key"
"Rate limit exceeded"
Connection timeouts
OPENROUTER_TIMEOUT_MS=60000MCP client can't connect to server
Enable debug logging by:
For local development: Add LOG_LEVEL=debug to your .env file
For MCP clients: Add LOG_LEVEL: "debug" to the env section of your MCP configuration
This will provide detailed information about:
You can test if the server is working by checking the configuration status resource in your MCP client, or by running a simple search query.
For developers working on this server:
# Development with hot reload
bun run dev
# Run tests
bun run test
# Run tests with coverage
bun run test:coverage
# Lint code
bun run lint
# Format code
bun run format
OpenRouter charges for API usage based on token consumption:
| 📖 Guide | 🔗 Link | 📝 Description |
|---|---|---|
| Quick Start | Getting Started | Zero-install setup in 30 seconds |
| API Reference | MCP Tools | Complete command reference |
| Configuration | Environment Setup | Advanced configuration options |
| Contributing | Contributing Guide | Join our open source community |
| Troubleshooting | Common Issues | Solutions to common problems |
We welcome contributions from developers of all experience levels!
🚀 Get Started
|
🐛 Report Issues |
💬 Join Community |
Contributors are recognized in our:
| 💬 Need Help? | 🔗 Resource |
|---|---|
| Quick Questions | GitHub Discussions |
| Bug Reports | GitHub Issues |
| Documentation | OpenRouter Docs • MCP Specification |
| Feature Requests | Enhancement Proposals |
MIT License - see LICENSE file for details.
Made with ❤️ by the open source community
⭐ Star us on GitHub • 📦 View on NPM • 📚 Read the Docs
Nexus: AI integration without the complexity
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"adawalli-nexus": {
"command": "npx",
"args": []
}
}
}