๐ NexusHub
NexusHub is a powerful Model Context Protocol (MCP) server that functions as a central connection point for AI workflows and tool integration.
webdevtodayjason
README
<div align="center">
๐ NexusHub
Unified MCP Server for Claude AI Tools
<p align="center"> <img src="https://raw.githubusercontent.com/webdevtodayjason/NexusHub/main/public/nexushub-logo.png" alt="NexusHub Logo" width="300" /> </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> <img src="https://raw.githubusercontent.com/webdevtodayjason/NexusHub/main/public/dashboard-screenshot.png" alt="NexusHub Dashboard" width="800" /> <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
-
Clone the repository:
git clone https://github.com/webdevtodayjason/NexusHub.git cd NexusHub -
Set up environment variables:
cp .env.example .env # Edit .env file with your API keys -
Start the services:
docker-compose up -d -
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:
-
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 -
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
-
Install dependencies:
npm install -
Run in development mode:
npm run dev -
For stdio mode testing:
npm run stdio
๐งช Running Tests
# Run all tests
npm test
# Run specific test suite
npm test -- --grep "API Keys"
๐ง Troubleshooting
Claude Desktop Integration Issues
-
"Unexpected token" errors when starting Claude Desktop:
- Make sure your wrapper scripts have proper permissions:
chmod +x nexushub-mcp.sh - Verify that all scripts filter non-JSON output correctly
- Check log files in
/tmp/nexushub-debug-*.logfor details
- Make sure your wrapper scripts have proper permissions:
-
MCP server not loading or tools not appearing:
- Ensure Docker containers are running:
docker ps | grep mcp - Check container logs:
docker logs mcp_brave_search - Verify Claude Desktop configuration has the correct paths/commands
- Try restarting Claude Desktop after making changes
- Ensure Docker containers are running:
-
Docker container issues:
- Clear Docker logs if they get too large:
docker system prune - Restart containers:
docker-compose restart - Check for port conflicts:
lsof -i :8001
- Clear Docker logs if they get too large:
Common Error Messages
| Error | Solution |
|---|---|
| "Method not found" | The MCP server doesn't support this method. Check if you're using the correct tool name. |
| "Socket hang up" | Connection issue. Check if the MCP server is running. |
| "ENOENT" | File or directory not found. Check paths in your configuration. |
| "Permission denied" | File permission issue. Check script permissions. |
| "Unexpected token" | JSON parsing error. Check the MCP server's stdout output. |
๐ Documentation
Tool Development Guides
- 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
Integration Guides
- Claude Desktop Integration - Connect NexusHub to Claude Desktop
- Claude CLI Integration - Use NexusHub with Claude CLI
MCP Resources
- Model Context Protocol Official Site
- MCP Quickstart for Claude Desktop Users
- Claude Code Documentation
For complete documentation, visit the NexusHub Wiki.
๐ค Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
๐ License
Distributed under the MIT License. See LICENSE for more information.
๐จโ๐ป Author
๐ Acknowledgments
- Claude AI - For the amazing AI capabilities
- Model Context Protocol - For the protocol specification
- Protocol Design System - For the modern UI design language
- Tailwind CSS - For the utility-first CSS framework
<div align="center"> <sub>Built with โค๏ธ by <a href="https://github.com/webdevtodayjason">Jason Brashear</a></sub> </div>
Recommended Servers
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.
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.
MCP Package Docs Server
Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.
Claude Code MCP
An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.
@kazuph/mcp-taskmanager
Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.
Linear MCP Server
Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.
mermaid-mcp-server
A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.
Jira-Context-MCP
MCP server to provide Jira Tickets information to AI coding agents like Cursor
Linear MCP Server
A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.
Sequential Thinking MCP Server
This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.