From c55cb79720bf5f9a788d0ed88a2a220fbad463e9 Mon Sep 17 00:00:00 2001 From: samanhappy Date: Sat, 12 Apr 2025 22:47:28 +0800 Subject: [PATCH] update readme for new features --- LICENSE | 201 ++++++++++++++++++++++++++++++++++++++++ README.md | 99 +++++++++++++++----- README.zh.md | 114 ++++++++++++++++------- assets/dashboard.png | Bin 25352 -> 20167 bytes assets/dashboard.zh.png | Bin 0 -> 21842 bytes mcp_settings.json | 36 ++----- 6 files changed, 366 insertions(+), 84 deletions(-) create mode 100644 LICENSE create mode 100644 assets/dashboard.zh.png diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/README.md b/README.md index 0cff8b8..1f41fb6 100644 --- a/README.md +++ b/README.md @@ -16,17 +16,85 @@ MCPHub is a unified hub server that consolidates multiple MCP (Model Context Pro ## Quick Start -### Using Docker +### Configuration (Optional but Recommended) -Run the following command to quickly launch MCPHub: +- Customize your MCP server settings by creating the `mcp_settings.json` file. For example: +```json +{ + "mcpServers": { + "amap-maps": { + "command": "npx", + "args": [ + "-y", + "@amap/amap-maps-mcp-server" + ], + "env": { + "AMAP_MAPS_API_KEY": "your-api-key" + } + }, + "playwright": { + "command": "npx", + "args": [ + "@playwright/mcp@latest", + "--headless" + ] + }, + "fetch": { + "command": "uvx", + "args": [ + "mcp-server-fetch" + ] + }, + "slack": { + "command": "npx", + "args": [ + "-y", + "@modelcontextprotocol/server-slack" + ], + "env": { + "SLACK_BOT_TOKEN": "your-bot-token", + "SLACK_TEAM_ID": "your-team-id" + } + } + }, + "users": [ + { + "username": "admin", + "password": "$2b$10$Vt7krIvjNgyN67LXqly0uOcTpN0LI55cYRbcKC71pUDAP0nJ7RPa.", + "isAdmin": true + } + ] +} +``` + +- The above example includes the `amap-maps`, `playwright`, `fetch`, and `slack` servers. You can add or remove servers as needed. +- The `users` section allows you to set up user authentication. The default root user is `admin` with the password `admin123`. You can change them as needed. +- The password is hashed using bcrypt. You can generate a new password hash using the following command: + + ```bash + npx bcryptjs your-password + ``` + +### Starting MCPHub with Docker + +Run the following command to quickly launch MCPHub with default settings: ```bash docker run -p 3000:3000 samanhappy/mcphub ``` +Run the following command to launch MCPHub with custom settings: + +```bash +docker run -p 3000:3000 -v ./mcp_settings.json:/app/mcp_settings.json samanhappy/mcphub +``` + ### Dashboard Access -Open your web browser and navigate to: `http://localhost:3000` +Open your web browser and navigate to: `http://localhost:3000`, then login using the credentials you set in the `mcp_settings.json` file. +The default credentials are: +- **Username**: `admin` +- **Password**: `admin123` The dashboard provides: - **Real-Time Monitoring**: Keep an eye on the status of all MCP servers. @@ -49,22 +117,7 @@ git clone https://github.com/samanhappy/mcphub.git ### Optional Configuration -Customize your MCP server settings by editing the `mcp_settings.json` file. For example: - -```json -{ - "mcpServers": { - "time-mcp": { - "command": "npx", - "args": ["-y", "time-mcp"] - }, - "sequential-thinking": { - "command": "npx", - "args": ["-y", "@modelcontextprotocol/server-sequential-thinking"] - } - } -} -``` +Customize your MCP server settings by editing the `mcp_settings.json` file. ### Start the Development Server @@ -78,12 +131,8 @@ cd mcphub && pnpm install && pnpm dev MCPHub started as a small side project that I developed on a whim, and I'm amazed at the attention it has received. Thank you all for your support! -Currently, MCPHub still has many areas that need optimization and improvement. I've created a dedicated WeChat group for discussions and feedback. If you're interested in this project, you're welcome to join us and contribute! - -![WeChat Group](assets/wegroup.jpg) +Currently, MCPHub still has many areas that need optimization and improvement. Any contributions, whether in the form of code, documentation, or suggestions, are more than welcome. ## License -This project is licensed under the [MIT License](LICENSE). - - +This project is licensed under the [Apache 2.0 license](LICENSE). diff --git a/README.zh.md b/README.zh.md index f83c961..517932d 100644 --- a/README.zh.md +++ b/README.zh.md @@ -2,33 +2,100 @@ [English Version](README.md) | 中文版 -MCPHub 是一款统一的中心服务,可以将多个 MCP(Model Context Protocol)服务整合为一个 SSE 端点。它通过提供一个集中的管理界面来简化服务管理,满足您对 MCP 服务的所有需求。 +MCPHub 是一个集中管理的 MCP 服务器聚合平台,可以将多个 MCP(Model Context Protocol)服务整合为一个 SSE 端点。它通过提供一个集中的管理界面来简化服务管理,满足您对 MCP 服务的所有需求。 -![仪表盘预览](assets/dashboard.png) +![控制面板预览](assets/dashboard.zh.png) ## 功能 - **内置精选 MCP 服务**:默认安装 `amap-maps`、`playwright`、`slack` 等热门服务,开箱即用。 - **集中管理**:通过单一中心轻松管理多个 MCP 服务。 - **协议兼容**:同时支持 stdio 与 SSE MCP 协议,确保无缝对接。 -- **直观仪表盘**:通过 Web 界面实时监控服务状态,并动态管理服务。 +- **直观控制面板**:通过 Web 界面实时监控服务状态,并动态管理服务。 - **灵活配置**:无需重启中心服务即可添加、移除或重新配置 MCP 服务。 ## 快速开始 -### 使用 Docker 部署 +### 配置(可选但推荐) -运行以下命令即可快速启动 MCPHub: +- 你可以通过创建 `mcp_settings.json` 文件来自定义 MCP 服务器设置,例如: + ```json + { + "mcpServers": { + "amap-maps": { + "command": "npx", + "args": [ + "-y", + "@amap/amap-maps-mcp-server" + ], + "env": { + "AMAP_MAPS_API_KEY": "your-api-key" + } + }, + "playwright": { + "command": "npx", + "args": [ + "@playwright/mcp@latest", + "--headless" + ] + }, + "fetch": { + "command": "uvx", + "args": [ + "mcp-server-fetch" + ] + }, + "slack": { + "command": "npx", + "args": [ + "-y", + "@modelcontextprotocol/server-slack" + ], + "env": { + "SLACK_BOT_TOKEN": "your-bot-token", + "SLACK_TEAM_ID": "your-team-id" + } + } + }, + "users": [ + { + "username": "admin", + "password": "$2b$10$Vt7krIvjNgyN67LXqly0uOcTpN0LI55cYRbcKC71pUDAP0nJ7RPa.", + "isAdmin": true + } + ] + } + ``` + +- 上述示例中包含 `amap-maps`、`playwright`、`fetch` 和 `slack` 服务器,你可以根据需要增减服务器。 +- `users` 部分允许你设置用户认证。默认的 root 用户为 `admin`,密码为 `admin123`,你可以根据需要进行更改。 +- 密码使用 bcrypt 进行哈希处理。你可以使用以下命令生成新密码的哈希值: + + ```bash + npx bcryptjs your-password + ``` + +### 启动 + +运行以下命令即可使用默认配置快速启动 MCPHub: ```bash docker run -p 3000:3000 samanhappy/mcphub ``` -### 仪表盘访问 +运行以下命令可使用自定义配置启动 MCPHub: -在浏览器中打开以下地址: `http://localhost:3000` +```bash +docker run -p 3000:3000 -v ./mcp_settings.json:/app/mcp_settings.json samanhappy/mcphub +``` -仪表盘提供以下功能: +### 控制面板访问 + +在浏览器中打开 `http://localhost:3000` 并使用你在 `mcp_settings.json` 文件中设置的凭据登录。默认凭据为: +- **用户名**:`admin` +- **密码**:`admin123` + +控制面板提供以下功能: - **实时监控**:随时查看所有 MCP 服务的运行状态。 - **服务状态指示**:快速识别各服务是否在线。 - **动态管理**:无需重启即可动态添加或移除 MCP 服务。 @@ -39,9 +106,9 @@ docker run -p 3000:3000 samanhappy/mcphub ## 本地开发 -### 克隆代码库 +### 克隆仓库 -请使用以下命令克隆 MCPHub 仓库: +从 GitHub 克隆 MCPHub: ```bash git clone https://github.com/samanhappy/mcphub.git @@ -49,37 +116,22 @@ git clone https://github.com/samanhappy/mcphub.git ### 可选配置 -通过编辑 `mcp_settings.json` 文件来自定义 MCP 服务设置。例如: +通过编辑 `mcp_settings.json` 文件来自定义 MCP 服务器设置。 -```json -{ - "mcpServers": { - "time-mcp": { - "command": "npx", - "args": ["-y", "time-mcp"] - }, - "sequential-thinking": { - "command": "npx", - "args": ["-y", "@modelcontextprotocol/server-sequential-thinking"] - } - } -} -``` +### 启动开发服务器 -### 启动开发服务 - -安装依赖并启动 MCPHub: +进入项目目录,安装依赖并启动 MCPHub: ```bash cd mcphub && pnpm install && pnpm dev ``` -## 社区与共建 +## 社区与贡献 MCPHub 只是我一时兴起开发的小项目,没想到竟收获了这么多关注,非常感谢大家的支持!目前 MCPHub 还有不少地方需要优化和完善,我也专门建了个交流群,方便大家交流反馈。如果你也对这个项目感兴趣,欢迎一起参与建设! -![微信交流群](assets/wegroup.jpg) +![微信群](assets/wegroup.jpg) ## 许可证 -本项目采用 [MIT 许可证](LICENSE)。 +本项目采用 [Apache 2.0 许可证](LICENSE)。 diff --git a/assets/dashboard.png b/assets/dashboard.png index 0d4375b9fbdaa9d91ee7644e706fdbeadff51355..09e8924b1dc18bde47fe75e2f1dc34ba1bd67403 100644 GIT binary patch literal 20167 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 literal 25352 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%0Ay`PYM% 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 bo9^4dif{L_xxS7KV84Bshp)iIGv>blhiP#k literal 0 HcmV?d00001 diff --git a/mcp_settings.json b/mcp_settings.json index 5bb9ad2..8db3b4b 100644 --- a/mcp_settings.json +++ b/mcp_settings.json @@ -1,11 +1,4 @@ { - "users": [ - { - "username": "admin", - "password": "$2b$10$Vt7krIvjNgyN67LXqly0uOcTpN0LI55cYRbcKC71pUDAP0nJ7RPa.", - "isAdmin": true - } - ], "mcpServers": { "amap-maps": { "command": "npx", @@ -24,32 +17,12 @@ "--headless" ] }, - "tavily-mcp": { - "command": "npx", - "args": [ - "-y", - "tavily-mcp@latest" - ], - "env": { - "TAVILY_API_KEY": "your-api-key" - } - }, "fetch": { "command": "uvx", "args": [ "mcp-server-fetch" ] }, - "github": { - "command": "npx", - "args": [ - "-y", - "@modelcontextprotocol/server-github" - ], - "env": { - "GITHUB_PERSONAL_ACCESS_TOKEN": "your-access-token" - } - }, "slack": { "command": "npx", "args": [ @@ -61,5 +34,12 @@ "SLACK_TEAM_ID": "your-team-id" } } - } + }, + "users": [ + { + "username": "admin", + "password": "$2b$10$Vt7krIvjNgyN67LXqly0uOcTpN0LI55cYRbcKC71pUDAP0nJ7RPa.", + "isAdmin": true + } + ] } \ No newline at end of file