Skip to content

Commit 46a4c9d

Browse files
committed
Merge branch 'main' into caozhen/platform-fix
2 parents b4459ec + 84e3fc6 commit 46a4c9d

File tree

12 files changed

+200
-10
lines changed

12 files changed

+200
-10
lines changed
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: General Issue
2+
description: Report a bug, suggest an improvement, or ask a question
3+
title: "[General]: "
4+
labels: ["triage"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: "## Thanks for taking the time to fill out this issue!"
9+
10+
- type: dropdown
11+
id: issue-type
12+
attributes:
13+
label: Issue Type
14+
description: What kind of issue is this?
15+
options:
16+
- Bug Report
17+
- Feature Request
18+
- Question
19+
- Documentation Issue
20+
- Other
21+
validations:
22+
required: true
23+
24+
- type: textarea
25+
id: description
26+
attributes:
27+
label: Description
28+
description: Please provide a detailed description of the issue
29+
placeholder: What happened? What did you expect to happen?
30+
validations:
31+
required: true
32+
33+
- type: textarea
34+
id: reproduction
35+
attributes:
36+
label: Steps to Reproduce
37+
description: If this is a bug, please provide steps to reproduce the issue
38+
placeholder: |
39+
1. Go to '...'
40+
2. Click on '....'
41+
3. Scroll down to '....'
42+
4. See error
43+
validations:
44+
required: false
45+
46+
- type: textarea
47+
id: additional
48+
attributes:
49+
label: Additional Information
50+
description: Any other information that might be helpful (screenshots, logs, environment details, etc.)
51+
validations:
52+
required: false
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: MCP Server Submission
2+
description: Submit your MCP server to the Marketplace
3+
title: "[Server Submission]: "
4+
labels: ["server submission"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: "Thanks for submitting your MCP server to the Marketplace! Please fill out the information below."
9+
10+
- type: input
11+
id: repository
12+
attributes:
13+
label: GitHub Repository URL
14+
description: Direct link to your MCP server's repository
15+
placeholder: https://github.com/username/repo
16+
validations:
17+
required: true
18+
19+
- type: textarea
20+
id: description
21+
attributes:
22+
label: Description
23+
description: Provide a brief description of your MCP server
24+
placeholder: Describe what your server does, its features, etc.
25+
validations:
26+
required: true

.github/readme/demo.gif

778 KB
Loading

.github/workflows/auto-update.yml

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,17 +43,37 @@ jobs:
4343
- name: Create local directory
4444
run: mkdir -p local
4545

46-
- name: Run Script with Issue Body
47-
id: run_script
46+
- name: Extract repository URL from issue body
47+
id: extract_url
4848
env:
4949
ISSUE_BODY: ${{ github.event.issue.body }}
50+
run: |
51+
# Extract the repository URL from the structured template format
52+
# Look for the URL between "GitHub Repository URL" and "Description" sections
53+
REPO_URL=$(echo "$ISSUE_BODY" | sed -n '/GitHub Repository URL/,/Description/p' | grep "https://" | head -n 1 | xargs)
54+
55+
# If that doesn't work, try a simpler approach as fallback
56+
if [ -z "$REPO_URL" ]; then
57+
REPO_URL=$(echo "$ISSUE_BODY" | grep -o "https://github.com[^ ]*" | head -n 1 | xargs)
58+
fi
59+
60+
# Make sure we have the full URL (no truncation)
61+
echo "Raw Repository URL: $REPO_URL"
62+
63+
# Set outputs for use in later steps
64+
echo "repo_url=$REPO_URL" >> $GITHUB_OUTPUT
65+
66+
- name: Run Script with Extracted URL
67+
id: run_script
68+
env:
69+
REPO_URL: ${{ steps.extract_url.outputs.repo_url }}
5070
OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
5171
shell: /usr/bin/bash -e {0}
5272
continue-on-error: true
5373
run: |
54-
echo "Running get_manifest.py with issue body"
74+
echo "Running get_manifest.py with repository URL: $REPO_URL"
5575
mkdir -p local
56-
if python scripts/get_manifest.py "$ISSUE_BODY"; then
76+
if python scripts/get_manifest.py "$REPO_URL"; then
5777
echo "script_success=true" >> $GITHUB_OUTPUT
5878
else
5979
echo "script_success=false" >> $GITHUB_OUTPUT
@@ -80,7 +100,6 @@ jobs:
80100
if: steps.run_script.outputs.script_success == 'true'
81101
env:
82102
ISSUE_NUMBER: ${{ github.event.issue.number }}
83-
ISSUE_BODY: ${{ github.event.issue.body }}
84103
shell: /usr/bin/bash -e {0}
85104
run: |
86105
# Create a unique branch name with issue number
@@ -130,4 +149,4 @@ jobs:
130149
repo: repo.repo,
131150
issue_number: issue_number,
132151
body: `❌ Failed to process the server manifest. Please check the [action logs](${run_url}) for details.`
133-
});
152+
});

.github/workflows/frp.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Build and Push frp Docker Image
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
paths:
7+
- 'dockerfiles/frps/*'
8+
- 'dockerfiles/frpc/*'
9+
10+
jobs:
11+
build-and-push:
12+
runs-on: ubuntu-latest
13+
permissions:
14+
contents: read
15+
packages: write
16+
17+
steps:
18+
- name: Checkout code
19+
uses: actions/checkout@v4
20+
21+
- name: Log in to GitHub Container Registry
22+
uses: docker/login-action@v3
23+
with:
24+
registry: ghcr.io
25+
username: ${{ github.actor }}
26+
password: ${{ secrets.GITHUB_TOKEN }}
27+
28+
- name: Build and push frps Docker image
29+
uses: docker/build-push-action@v6
30+
with:
31+
context: ./dockerfiles/frps
32+
push: true
33+
tags: ghcr.io/${{ github.repository_owner }}/frps:latest
34+
35+
- name: Build and push frpc Docker image
36+
uses: docker/build-push-action@v6
37+
with:
38+
context: ./dockerfiles/frpc
39+
push: true
40+
tags: ghcr.io/${{ github.repository_owner }}/frpc:latest

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ Built with ❤️ by Path Integral Institute
2020

2121
MCPM is an open source service and a CLI package management tool for MCP servers. It simplifies managing server configurations across various supported clients, allows grouping servers into profiles, helps discover new servers via a registry, and includes a powerful router that aggregates multiple MCP servers behind a single endpoint with shared sessions.
2222

23+
![Demo of MCPM in action](.github/readme/demo.gif)
24+
2325
## 🤝 Community Contributions
2426

2527
> 💡 **Grow the MCP ecosystem!** We welcome contributions to our [MCP Registry](mcp-registry/README.md). Add your own servers, improve documentation, or suggest features. Open source thrives with community participation!

README.zh-CN.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ Built with ❤️ by Path Integral Institute
2020

2121
MCPM 是一个开源的服务和命令行界面(CLI),用于管理模型上下文协议(MCP)服务器。它简化了跨各种支持的客户端管理服务器配置、允许将服务器分组到配置文件中、通过注册表帮助发现新服务器,并包含一个强大的路由器,该路由器在单个端点后聚合多个 MCP 服务器并共享会话。
2222

23+
![MCPM 运行演示](.github/readme/demo.gif)
24+
2325
## 🤝 社区贡献
2426

2527
> 💡 **壮大 MCP 生态系统!** 我们欢迎对我们的 [MCP 注册表](mcp-registry/README.md) 进行贡献。添加你自己的服务器,改进文档,或建议功能。开源在社区参与下蓬勃发展!

dockerfiles/frpc/Dockerfile

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# build frpc
2+
FROM golang:1.19 AS building
3+
WORKDIR /
4+
RUN git clone https://github.com/huggingface/frp.git
5+
WORKDIR /frp
6+
RUN make frpc
7+
8+
# run frpc
9+
FROM alpine:3
10+
11+
COPY --from=building /frp/bin/frpc /usr/bin/frpc
12+
13+
COPY frpc.ini /etc/frp/frpc.ini
14+
15+
ENTRYPOINT ["/usr/bin/frpc", "-c", "/etc/frp/frpc.ini"]

dockerfiles/frpc/frpc.ini

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
[common]
2+
server_addr = my-server.com
3+
server_port = 6276
4+
5+
[http]
6+
type = tcp
7+
local_ip = 0.0.0.0
8+
local_port = 1211
9+
remote_port = 80

dockerfiles/frps/Dockerfile

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# build frps
2+
FROM golang:1.19 AS building
3+
WORKDIR /
4+
RUN git clone https://github.com/huggingface/frp.git
5+
WORKDIR /frp
6+
RUN make frps
7+
8+
# run frps
9+
FROM alpine:3
10+
COPY --from=building /frp/bin/frps /usr/bin/frps
11+
RUN apk add curl
12+
13+
HEALTHCHECK --interval=1m --timeout=30s --retries=3 CMD curl --fail http://localhost:7001/healthz || exit 1
14+
15+
COPY frps.ini /etc/frp/frps.ini
16+
17+
ENTRYPOINT ["/usr/bin/frps", "-c", "/etc/frp/frps.ini"]

0 commit comments

Comments
 (0)