πŸš€ NexusHub

by webdevtodayjason

1 166 downloads Not rated yet
GitHub

About

NexusHub is a powerful Model Context Protocol (MCP) server that functions as a central connection point for AI workflows and tool integration.

Explore

- πŸ“‘ Dual Interface - Supports both HTTP and stdio MCP protocols
- πŸ’… Modern Dashboard - Beautiful Protocol design system admin interface with dark mode by default
- πŸ”Œ Integrated Services - Combines multiple MCP servers (Memory, GitHub, Brave Search)
- πŸ” Vector Database - Document ingestion and semantic search capabilities
- πŸ”‘ API Management - Securely manage API keys and service configurations
- 🐳 Docker Integration - Easy deployment with Docker and Docker Compose
- πŸ“‹ Advanced Prompts - Pre-configured prompts for effective AI interactions
- πŸ”„ Real-time Status - Monitor the health of all connected services

<div align="center">
<br>
NexusHub Dashboard
<br>
<em>The elegant NexusHub dashboard interface with Protocol design system</em>
<br>
</div>

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name πŸš€ NexusHub
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

- Docker and Docker Compose
- Node.js 18+
- Python 3.8+ (for vector embedding)

NexusHub supports two different integration methods with Claude Desktop:

Here are some examples of how to use NexusHub with Claude AI:

```bash

Category

Tool

Version
Node.js
License
Docker
MCP

<p align="center">
NexusHub Logo
</p>

<p>
<strong>A powerful bridge between Claude AI and external services via Model Context Protocol.</strong><br>
Enhance Claude Code with filesystem access, database operations, vector search, GitHub integration, and more.
</p>

Demo β€’
Documentation β€’
Report Bug β€’
Request Feature

</div>

---

NexusHub provides the following tools to Claude AI:

| Category | Tool | Description |
|----------|------|-------------|
| Filesystem | fs_list_files | List files in a directory |
| | fs_read_file | Read file contents |
| | fs_write_file | Write to a file |
| Database | db_execute_query | Execute a read-only SQL query |
| | db_list_tables | List all tables in the database |
| | db_describe_table | Get table schema |
| | db_insert_data | Insert data into a table |
| Docker | docker_list_containers | List Docker containers |
| | docker_start_container | Start a container |
| | docker_stop_container | Stop a container |
| | docker_get_container_logs | Get container logs |
| Search | serper_search | Perform web search via Serper API |
| Vector DB | ingest_docs | Ingest documents into the vector store |
| | vector_search | Search for similar documents |

First, use brave_web_search to find the latest best practices for React error boundaries. 
Then, use fs_read_file to examine our current implementation in ErrorBoundary.jsx, 
and suggest improvements based on what you found.

You can extend NexusHub with custom tools by adding new tool definitions to the /src/mcp/tools/ directory:

// src/mcp/tools/my-custom-tools.js

export function getToolDefinitions() {
return {
my_custom_tool: {
name: 'my_custom_tool',
description: 'Description of what the tool does.',
inputSchema: {
type: 'object',
properties: {
param1: {
type: 'string',
description: 'Description of parameter 1'
}
// Add more parameters as needed
},
required: ['param1']
}
}
};
}

// Tool implementation
export async function myCustomTool(param1) {
// Your custom tool logic here
return { result: 'Success!' };
}

Then add the tool to /src/mcp/tools/index.js and /src/mcp/tools/handler.js.

- Quick Start Guide - Get up and running in 5 minutes
- Tool Development Guide - Comprehensive guide to creating tools
- AI Tool Creation Prompts - Optimized prompts for AI-assisted tool creation

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "\ud83d\ude80 nexushub": {
            "nexushub": {
                "type": "http",
                "url": "http://localhost:8001/mcp"
            }
        }
    }
}

McpServers

{
    "nexushub": {
        "type": "http",
        "url": "http://localhost:8001/mcp"
    }
}

Unified MCP Server for Claude AI Tools

Version
Node.js
License
Docker
MCP

<p align="center">
NexusHub Logo
</p>

<p>
<strong>A powerful bridge between Claude AI and external services via Model Context Protocol.</strong><br>
Enhance Claude Code with filesystem access, database operations, vector search, GitHub integration, and more.
</p>

Demo β€’
Documentation β€’
Report Bug β€’
Request Feature

</div>

---

✨ Features

- πŸ“‘ Dual Interface - Supports both HTTP and stdio MCP protocols
- πŸ’… Modern Dashboard - Beautiful Protocol design system admin interface with dark mode by default
- πŸ”Œ Integrated Services - Combines multiple MCP servers (Memory, GitHub, Brave Search)
- πŸ” Vector Database - Document ingestion and semantic search capabilities
- πŸ”‘ API Management - Securely manage API keys and service configurations
- 🐳 Docker Integration - Easy deployment with Docker and Docker Compose
- πŸ“‹ Advanced Prompts - Pre-configured prompts for effective AI interactions
- πŸ”„ Real-time Status - Monitor the health of all connected services

<div align="center">
<br>
NexusHub Dashboard
<br>
<em>The elegant NexusHub dashboard interface with Protocol design system</em>
<br>
</div>

πŸ›οΈ Architecture

NexusHub uses a Node.js backend with Express for the HTTP interface and native stdio handling for the CLI interface. The server integrates with several key services:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                  Claude Desktop                     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
            β”‚                 β”‚           β”‚
            β–Ό                 β–Ό           β–Ό           
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” 
β”‚    NexusHub MCP   β”‚ β”‚ Memory MCP  β”‚ β”‚ GitHub MCP  β”‚ 
β”‚       Server      β”‚ β”‚   Server    β”‚ β”‚   Server    β”‚ 
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ 
          β”‚                  β–²                β–²        
          β–Ό                  β”‚                β”‚        
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”          β”‚                β”‚        
β”‚  Vector Store   β”‚          β”‚                β”‚        
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜          β”‚                β”‚        
          β”‚                  β”‚                β”‚        
          β–Ό                  β”‚                β”‚        
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Filesystem API  β”‚ β”‚ Database APIβ”‚ β”‚   Docker API    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ› οΈ Available Tools

NexusHub provides the following tools to Claude AI:

| Category | Tool | Description |
|----------|------|-------------|
| Filesystem | fs_list_files | List files in a directory |
| | fs_read_file | Read file contents |
| | fs_write_file | Write to a file |
| Database | db_execute_query | Execute a read-only SQL query |
| | db_list_tables | List all tables in the database |
| | db_describe_table | Get table schema |
| | db_insert_data | Insert data into a table |
| Docker | docker_list_containers | List Docker containers |
| | docker_start_container | Start a container |
| | docker_stop_container | Stop a container |
| | docker_get_container_logs | Get container logs |
| Search | serper_search | Perform web search via Serper API |
| Vector DB | ingest_docs | Ingest documents into the vector store |
| | vector_search | Search for similar documents |

πŸš€ Getting Started

Prerequisites

- Docker and Docker Compose
- Node.js 18+
- Python 3.8+ (for vector embedding)

Installation

1. Clone the repository:

   git clone https://github.com/webdevtodayjason/NexusHub.git
cd NexusHub

2. Set up environment variables:

   cp .env.example .env
# Edit .env file with your API keys

3. Start the services:

   docker-compose up -d

4. Access the dashboard:
Open http://localhost:8001/dashboard in your browser

Configuration for Claude Desktop

NexusHub supports two different integration methods with Claude Desktop:

1. HTTP Mode

This mode connects to NexusHub via HTTP endpoints. Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "nexushub": {
      "name": "NexusHub MCP Server",
      "description": "Centralized MCP server with multiple capabilities",
      "url": "http://localhost:8001/mcp",
      "enabled": true
    }
  }
}
2. STDIO Mode (Recommended)

This mode uses direct process communication for better performance and reliability. It requires the NexusHub code to be available locally:

1. Prepare the wrapper scripts:

   # Make the wrapper script executable
chmod +x /path/to/nexushub/nexushub-mcp.sh
chmod +x /path/to/nexushub/src/mcp/adapters/stdio-wrapper.js
chmod +x /path/to/nexushub/src/mcp/stdio-adapter.js

2. Add to your claude_desktop_config.json:

   {
"mcpServers": {
"nexushub": {
"name": "NexusHub MCP Server",
"description": "Centralized MCP server with multiple capabilities",
"command": "/path/to/nexushub/nexushub-mcp.sh",
"enabled": true
},
"brave-search": {
"name": "Brave Search MCP",
"description": "Provides web search capabilities via Brave Search API.",
"command": "docker",
"args": ["exec", "-i", "mcp_brave_search", "node", "dist/index.js"],
"enabled": true
},
"github": {
"name": "GitHub MCP",
"description": "Provides GitHub repository interaction.",
"command": "docker",
"args": ["exec", "-i", "mcp_github", "node", "dist/index.js"],
"enabled": true
},
"memory": {
"name": "Memory MCP",
"description": "Persistent knowledge graph memory.",
"command": "docker",
"args": ["exec", "-i", "mcp_memory", "node", "dist/index.js"],
"enabled": true
}
}
}

Note: Replace /path/to/nexushub with your actual NexusHub installation path.

Docker Containers

Make sure all Docker containers are running before starting Claude Desktop:

cd /path/to/nexushub
docker-compose up -d

This will start all required MCP servers:
- NexusHub (primary server with filesystem, database, Docker tools)
- Brave Search MCP (web search capabilities)
- GitHub MCP (repository interaction)
- Memory MCP (knowledge graph/persistent memory)

πŸ’‘ Example Usage

Here are some examples of how to use NexusHub with Claude AI:

File Operations

Please use fs_list_files to show me all the JavaScript files in the src directory, 
then read the content of any interesting files you find.

Database Query

Can you use db_execute_query to find all users in the database who joined 
in the last month and have the "admin" role?

Vector Search

Please use vector_search to find documentation related to "authentication flow" 
and summarize the key points.

Combined Tools

First, use brave_web_search to find the latest best practices for React error boundaries. 
Then, use fs_read_file to examine our current implementation in ErrorBoundary.jsx, 
and suggest improvements based on what you found.

🧩 How to Add Your Own Tools

You can extend NexusHub with custom tools by adding new tool definitions to the /src/mcp/tools/ directory:

// src/mcp/tools/my-custom-tools.js

export function getToolDefinitions() {
return {
my_custom_tool: {
name: 'my_custom_tool',
description: 'Description of what the tool does.',
inputSchema: {
type: 'object',
properties: {
param1: {
type: 'string',
description: 'Description of parameter 1'
}
// Add more parameters as needed
},
required: ['param1']
}
}
};
}

// Tool implementation
export async function myCustomTool(param1) {
// Your custom tool logic here
return { result: 'Success!' };
}

Then add the tool to /src/mcp/tools/index.js and /src/mcp/tools/handler.js.

πŸ”„ Local Development

1. Install dependencies:

   npm install

2. Run in development mode:

   npm run dev

3. For stdio mode testing:

   npm run stdio

πŸ§ͺ Running Tests

```bash

No reviews yet β€” be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.