Skip to content

Commit 54438c4

Browse files
authored
Merge pull request #15 from camel-ai/community-server
resolve issue and update deployment setup
2 parents d666048 + 03aefae commit 54438c4

File tree

17 files changed

+442
-232
lines changed

17 files changed

+442
-232
lines changed

.github/workflows/publish.yml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# File: .github/workflows/publish.yml
2+
name: publish-to-github-pages
3+
on:
4+
push:
5+
branches:
6+
- master
7+
8+
permissions:
9+
contents: read
10+
pages: write
11+
id-token: write
12+
13+
concurrency:
14+
group: "pages"
15+
cancel-in-progress: false
16+
17+
jobs:
18+
build:
19+
runs-on: ubuntu-latest
20+
21+
steps:
22+
- name: Checkout 🛎️
23+
uses: actions/checkout@v4
24+
25+
- name: Setup Node.js ⚙️ - Cache dependencies ⚡ - Install dependencies 🔧
26+
uses: ./.github/workflows/setup-node
27+
28+
- name: Setup Pages ⚙️
29+
uses: actions/configure-pages@v4
30+
with:
31+
static_site_generator: next
32+
33+
- name: Build with Next.js 🏗️
34+
run: npx next build
35+
36+
- name: Upload artifact 📡
37+
uses: actions/upload-pages-artifact@v3
38+
with:
39+
path: ./out
40+
41+
deploy:
42+
environment:
43+
name: github-pages
44+
url: ${{ steps.deployment.outputs.page_url }}
45+
46+
runs-on: ubuntu-latest
47+
needs: build
48+
49+
steps:
50+
- name: Publish to GitHub Pages 🚀
51+
id: deployment
52+
uses: actions/deploy-pages@v4
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# File: .github/workflows/setup-node/action.yml
2+
name: setup-node
3+
description: "Setup Node.js ⚙️ - Cache dependencies ⚡ - Install dependencies 🔧"
4+
runs:
5+
using: "composite"
6+
steps:
7+
- name: Setup Node.js ⚙️
8+
uses: actions/setup-node@v4
9+
with:
10+
node-version: 20
11+
12+
- name: Cache dependencies ⚡
13+
id: cache_dependencies
14+
uses: actions/cache@v3
15+
with:
16+
path: node_modules
17+
key: node-modules-${{ hashFiles('package-lock.json') }}
18+
19+
- name: Install dependencies 🔧
20+
shell: bash
21+
if: steps.cache_dependencies.outputs.cache-hit != 'true'
22+
run: npm ci

CONTRIBUTING.md

Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
🐫 **Welcome to CAMEL MCP Hub!** 🐫
2+
3+
Thank you for your interest in contributing to the CAMEL project! 🎉 We're excited to have your support. As an open-source initiative in a rapidly evolving and open-ended field, we wholeheartedly welcome contributions of all kinds. Whether you want to introduce new features, enhance the infrastructure, improve documentation, asking issues, add more examples, implement state-of-the-art research ideas, or fix bugs, we appreciate your enthusiasm and efforts. 🙌 You are welcome to join our [discord](https://discord.camel-ai.org/) for more efficient communication. 💬
4+
5+
## Join Our Community 🌍
6+
7+
### Schedule an Introduction Call 📞
8+
- English speakers: [here](https://cal.com/wendong-fan-5yu7x5/30min)
9+
- Chinese speakers: [here](https://cal.com/wendong-fan-5yu7x5/30min)
10+
11+
### Developer Meeting Time & Link 💻
12+
- English speakers: Mondays at 5 PM GMT+1. Join via Discord: [Meeting Link](https://discord.gg/FFe4nB8MJj?event=1313319275708289034)
13+
- Chinese Speakers: Mondays at 9 PM UTC+8. Join via TecentMeeting: [Meeting Link](https://meeting.tencent.com/dm/057wap1eeCSY)
14+
15+
### Our Communication Channels 💬
16+
- **Discord:** [Join here](https://discord.camel-ai.org/)
17+
- **WeChat:** Scan the QR code [here](https://ghli.org/camel/wechat.png)
18+
- **Slack:** [Join here](https://join.slack.com/t/camel-ai/shared_invite/zt-2g7xc41gy-_7rcrNNAArIP6sLQqldkqQ)
19+
20+
## Guidelines 📝
21+
### Contributing
22+
23+
Contributions are welcome! Please feel free to submit a Pull Request.
24+
25+
1. Fork the repository
26+
2. Create your feature branch (`git checkout -b servers/new-server`)
27+
3. Commit your changes (`git commit -m 'Add new server'`)
28+
4. Push to the branch (`git push origin servers/new-server`)
29+
5. Open a Pull Request
30+
31+
### Adding New Servers
32+
33+
To add new servers to the catalog:
34+
35+
1. Add the server information to either `community.json`, `anthropic.json` or `official.json`
36+
2. Follow the existing structure for consistency
37+
3. The changes will be automatically reflected in the UI
38+
39+
This collaborative approach allows the community to maintain an up-to-date catalog of MCP servers.
40+
41+
## Quick Start
42+
43+
### Prerequisites
44+
45+
- Node.js 20.x or higher
46+
- npm or yarn
47+
48+
### Installation
49+
50+
1. Clone the repository:
51+
52+
```bash
53+
git clone https://github.com/camel-ai/mcp-hub.git
54+
cd mcp-hub
55+
```
56+
57+
2. Install dependencies:
58+
59+
```bash
60+
npm install
61+
# or
62+
yarn install
63+
```
64+
65+
3. Run the development server:
66+
67+
```bash
68+
npm run dev
69+
# or
70+
yarn dev
71+
```
72+
73+
4. Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
74+
75+
## Server Data Structure
76+
77+
The core of this project is the server data stored in JSON files. The application uses two main JSON files to catalog MCP servers:
78+
79+
- `public/servers/anthropic.json`: Contains Anthropic MCP servers
80+
- `public/servers/official.json`: Contains official MCP servers
81+
82+
Each server entry follows this structure:
83+
84+
```json
85+
{
86+
"name": "Server Name",
87+
"key": "server-key",
88+
"description": "Description of the server functionality",
89+
"command": "npx",
90+
"args": ["-y", "@package/server-name"],
91+
"env": {
92+
"API_KEY": "{{apiKey@string::Your API key}}"
93+
},
94+
"homepage": "https://github.com/org/repo"
95+
}
96+
```
97+
98+
## Deployment
99+
100+
### Using Docker
101+
102+
Build and run the Docker image:
103+
104+
```bash
105+
# Build the image
106+
docker build -t mcp-hub:latest .
107+
108+
# Run the container
109+
docker run -p 3000:3000 mcp-hub:latest
110+
```
111+
112+
### Deploying to Vercel
113+
114+
The easiest way to deploy this Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme).
115+
116+
```bash
117+
npm install -g vercel
118+
vercel
119+
```
120+
121+
## Technologies
122+
123+
- [Next.js](https://nextjs.org/) - React framework
124+
- [TypeScript](https://www.typescriptlang.org/) - Type-safe JavaScript
125+
- [Tailwind CSS](https://tailwindcss.com/) - Utility-first CSS framework
126+
- [shadcn/ui](https://ui.shadcn.com/) - UI component library
127+
- [Framer Motion](https://www.framer.com/motion/) - Animation library
128+
- [Lucide React](https://lucide.dev/) - Icon library
129+
130+
## License
131+
132+
This project is licensed under the MIT License - see the LICENSE file for details.
133+
134+
## Acknowledgements
135+
136+
- [Model Context Protocol](https://github.com/modelcontextprotocol) - For creating the MCP standard
137+
- [Anthropic](https://www.anthropic.com/) - For their contributions to the MCP ecosystem
138+
- [CAMEL-AI](https://camel-ai.org/) - For hosting and maintaining the MCP Hub

0 commit comments

Comments
 (0)