🚀 NexusHub

🚀 NexusHub

NexusHub 是一个强大的模型上下文协议 (MCP) 服务器,它充当 AI 工作流程和工具集成的中心连接点。

webdevtodayjason

开发者工具
访问服务器

README

<div align="center">

🚀 NexusHub

用于 Claude AI 工具的统一 MCP 服务器

Version Node.js License Docker MCP

<p align="center"> <img src="https://raw.githubusercontent.com/webdevtodayjason/NexusHub/main/public/nexushub-logo.png" alt="NexusHub Logo" width="300" /> </p>

<p> <strong>通过模型上下文协议,在 Claude AI 和外部服务之间建立强大的桥梁。</strong><br> 通过文件系统访问、数据库操作、向量搜索、GitHub 集成等功能增强 Claude 代码。 </p>

演示文档报告 Bug请求功能

</div>


✨ 功能

  • 📡 双重接口 - 支持 HTTP 和 stdio MCP 协议
  • 💅 现代仪表板 - 美观的 Protocol 设计系统管理界面,默认采用暗黑模式
  • 🔌 集成服务 - 结合了多个 MCP 服务器(内存、GitHub、Brave 搜索)
  • 🔍 向量数据库 - 文档摄取和语义搜索功能
  • 🔑 API 管理 - 安全地管理 API 密钥和服务配置
  • 🐳 Docker 集成 - 通过 Docker 和 Docker Compose 轻松部署
  • 📋 高级提示 - 预配置的提示,用于有效的 AI 交互
  • 🔄 实时状态 - 监控所有连接服务的健康状况

<div align="center"> <br> <img src="https://raw.githubusercontent.com/webdevtodayjason/NexusHub/main/public/dashboard-screenshot.png" alt="NexusHub Dashboard" width="800" /> <br> <em>优雅的 NexusHub 仪表板界面,采用 Protocol 设计系统</em> <br> </div>

🏛️ 架构

NexusHub 使用 Node.js 后端,Express 用于 HTTP 接口,原生 stdio 处理用于 CLI 接口。 该服务器与以下几个关键服务集成:

┌─────────────────────────────────────────────────────┐
│                  Claude Desktop                     │
└───────────┬─────────────────┬───────────┬───────────┘
            │                 │           │
            ▼                 ▼           ▼
┌───────────────────┐ ┌─────────────┐ ┌─────────────┐
│    NexusHub MCP   │ │ Memory MCP  │ │ GitHub MCP  │
│       Server      │ │   Server    │ │   Server    │
└─────────┬─────────┘ └─────────────┘ └─────────────┘
          │                  ▲                ▲
          ▼                  │                │
┌─────────────────┐          │                │
│  Vector Store   │          │                │
└─────────────────┘          │                │
          │                  │                │
          ▼                  │                │
┌─────────────────┐ ┌─────────────┐ ┌─────────────────┐
│ Filesystem API  │ │ Database API│ │   Docker API    │
└─────────────────┘ └─────────────┘ └─────────────────┘

🛠️ 可用工具

NexusHub 向 Claude AI 提供以下工具:

类别 工具 描述
文件系统 fs_list_files 列出目录中的文件
fs_read_file 读取文件内容
fs_write_file 写入文件
数据库 db_execute_query 执行只读 SQL 查询
db_list_tables 列出数据库中的所有表
db_describe_table 获取表结构
db_insert_data 将数据插入到表中
Docker docker_list_containers 列出 Docker 容器
docker_start_container 启动容器
docker_stop_container 停止容器
docker_get_container_logs 获取容器日志
搜索 serper_search 通过 Serper API 执行网络搜索
向量数据库 ingest_docs 将文档摄取到向量存储中
vector_search 搜索相似的文档

🚀 快速开始

前提条件

  • Docker 和 Docker Compose
  • Node.js 18+
  • Python 3.8+(用于向量嵌入)

安装

  1. 克隆存储库:

    git clone https://github.com/webdevtodayjason/NexusHub.git
    cd NexusHub
    
  2. 设置环境变量:

    cp .env.example .env
    # 使用您的 API 密钥编辑 .env 文件
    
  3. 启动服务:

    docker-compose up -d
    
  4. 访问仪表板: 在浏览器中打开 http://localhost:8001/dashboard

Claude Desktop 的配置

NexusHub 支持两种不同的与 Claude Desktop 集成的方法:

1. HTTP 模式

此模式通过 HTTP 端点连接到 NexusHub。 添加到您的 claude_desktop_config.json

{
  "mcpServers": {
    "nexushub": {
      "name": "NexusHub MCP Server",
      "description": "具有多种功能的集中式 MCP 服务器",
      "url": "http://localhost:8001/mcp",
      "enabled": true
    }
  }
}

2. STDIO 模式(推荐)

此模式使用直接进程通信,以获得更好的性能和可靠性。 它需要 NexusHub 代码在本地可用:

  1. 准备包装器脚本:

    # 使包装器脚本可执行
    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. 添加到您的 claude_desktop_config.json

    {
      "mcpServers": {
        "nexushub": {
          "name": "NexusHub MCP Server",
          "description": "具有多种功能的集中式 MCP 服务器",
          "command": "/path/to/nexushub/nexushub-mcp.sh",
          "enabled": true
        },
        "brave-search": {
          "name": "Brave Search MCP",
          "description": "通过 Brave Search API 提供网络搜索功能。",
          "command": "docker",
          "args": ["exec", "-i", "mcp_brave_search", "node", "dist/index.js"],
          "enabled": true
        },
        "github": {
          "name": "GitHub MCP",
          "description": "提供 GitHub 存储库交互。",
          "command": "docker",
          "args": ["exec", "-i", "mcp_github", "node", "dist/index.js"],
          "enabled": true
        },
        "memory": {
          "name": "Memory MCP",
          "description": "持久知识图谱内存。",
          "command": "docker",
          "args": ["exec", "-i", "mcp_memory", "node", "dist/index.js"],
          "enabled": true
        }
      }
    }
    

注意:/path/to/nexushub 替换为您的实际 NexusHub 安装路径。

Docker 容器

在启动 Claude Desktop 之前,请确保所有 Docker 容器都在运行:

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

这将启动所有必需的 MCP 服务器:

  • NexusHub(具有文件系统、数据库、Docker 工具的主服务器)
  • Brave Search MCP(网络搜索功能)
  • GitHub MCP(存储库交互)
  • Memory MCP(知识图谱/持久内存)

💡 使用示例

以下是一些将 NexusHub 与 Claude AI 一起使用的示例:

文件操作

请使用 fs_list_files 显示 src 目录中的所有 JavaScript 文件,
然后读取您找到的任何有趣文件的内容。

数据库查询

您可以使用 db_execute_query 查找数据库中所有在上个月加入并具有“admin”角色的用户吗?

向量搜索

请使用 vector_search 查找与“身份验证流程”相关的文档,
并总结要点。

组合工具

首先,使用 brave_web_search 查找 React 错误边界的最新最佳实践。
然后,使用 fs_read_file 检查我们在 ErrorBoundary.jsx 中的当前实现,
并根据您找到的内容提出改进建议。

🧩 如何添加您自己的工具

您可以通过将新的工具定义添加到 /src/mcp/tools/ 目录来使用自定义工具扩展 NexusHub:

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

export function getToolDefinitions() {
  return {
    my_custom_tool: {
      name: 'my_custom_tool',
      description: '该工具的功能描述。',
      inputSchema: {
        type: 'object',
        properties: {
          param1: {
            type: 'string',
            description: '参数 1 的描述'
          }
          // 根据需要添加更多参数
        },
        required: ['param1']
      }
    }
  };
}

// 工具实现
export async function myCustomTool(param1) {
  // 您的自定义工具逻辑在此处
  return { result: 'Success!' };
}

然后将该工具添加到 /src/mcp/tools/index.js/src/mcp/tools/handler.js

🔄 本地开发

  1. 安装依赖项:

    npm install
    
  2. 在开发模式下运行:

    npm run dev
    
  3. 对于 stdio 模式测试:

    npm run stdio
    

🧪 运行测试

# 运行所有测试
npm test

# 运行特定的测试套件
npm test -- --grep "API Keys"

🔧 故障排除

Claude Desktop 集成问题

  1. 启动 Claude Desktop 时出现“Unexpected token”错误:

    • 确保您的包装器脚本具有正确的权限:chmod +x nexushub-mcp.sh
    • 验证所有脚本是否正确过滤了非 JSON 输出
    • 检查 /tmp/nexushub-debug-*.log 中的日志文件以获取详细信息
  2. MCP 服务器未加载或工具未出现:

    • 确保 Docker 容器正在运行:docker ps | grep mcp
    • 检查容器日志:docker logs mcp_brave_search
    • 验证 Claude Desktop 配置是否具有正确的路径/命令
    • 在进行更改后尝试重新启动 Claude Desktop
  3. Docker 容器问题:

    • 如果 Docker 日志太大,请清除它们:docker system prune
    • 重新启动容器:docker-compose restart
    • 检查端口冲突:lsof -i :8001

常见错误消息

错误 解决方案
"Method not found" MCP 服务器不支持此方法。 检查您是否使用了正确的工具名称。
"Socket hang up" 连接问题。 检查 MCP 服务器是否正在运行。
"ENOENT" 找不到文件或目录。 检查配置中的路径。
"Permission denied" 文件权限问题。 检查脚本权限。
"Unexpected token" JSON 解析错误。 检查 MCP 服务器的 stdout 输出。

📚 文档

工具开发指南

集成指南

MCP 资源

有关完整文档,请访问 NexusHub Wiki

🤝 贡献

贡献是使开源社区成为一个学习、激励和创造的绝佳场所的原因。 任何您做出的贡献都非常感谢

  1. Fork 该项目
  2. 创建您的功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交您的更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到该分支 (git push origin feature/AmazingFeature)
  5. 打开一个 Pull Request

📝 许可证

在 MIT 许可证下分发。 有关更多信息,请参见 LICENSE

👨‍💻 作者

Jason Brashear

🙏 鸣谢


<div align="center"> <sub>由 <a href="https://github.com/webdevtodayjason">Jason Brashear</a> 用 ❤️ 构建</sub> </div>

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
MCP Package Docs Server

MCP Package Docs Server

促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。

精选
本地
TypeScript
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。

精选
本地
JavaScript
mermaid-mcp-server

mermaid-mcp-server

一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。

精选
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

精选
TypeScript
Linear MCP Server

Linear MCP Server

一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

精选
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Curri MCP Server

Curri MCP Server

通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。

官方
本地
JavaScript