2abet commited on
Commit
80cf96e
Β·
verified Β·
1 Parent(s): 031c93f

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +139 -138
README.md CHANGED
@@ -1,139 +1,140 @@
1
- ---
2
- title: MCP GitHub PR Opportunity Server
3
- emoji: πŸ”
4
- colorFrom: blue
5
- colorTo: indigo
6
- sdk: gradio
7
- sdk_version: 5.33.1
8
- app_file: app.py
9
- pinned: false
10
- tag: mcp-server-track
11
- license: mit
12
- ---
13
-
14
- # MCP GitHub PR Opportunity Server
15
-
16
- A Gradio-based MCP server that searches GitHub repositories for possible PR opportunities (open issues labeled 'good first issue' or 'help wanted'), supporting search by keyword and topic, with authentication.
17
-
18
- ## Features
19
- - Search GitHub repos by keyword and topic
20
- - Find open issues labeled 'good first issue' or 'help wanted'
21
- - Supports GitHub authentication via token
22
- - Gradio MCP server for LLM integration
23
- - Interactive web interface
24
- - Compatible with n8n workflows
25
-
26
- ## Local Setup
27
-
28
- 1. **Clone the repo and install dependencies:**
29
- ```bash
30
- cd mcp_github_server
31
- pip install -r requirements.txt
32
- ```
33
-
34
- 2. **Configure GitHub Token:**
35
- - Set `GITHUB_TOKEN` in your environment variables, or
36
- - Enter the token in the web interface
37
-
38
- 3. **Run the server:**
39
- ```bash
40
- python app.py
41
- ```
42
-
43
- ## Hugging Face Spaces Deployment
44
-
45
- 1. **Create a new Space:**
46
- - Go to [Hugging Face Spaces](https://huggingface.co/spaces)
47
- - Click "Create new Space"
48
- - Choose "Gradio" as the SDK
49
- - Name your space (e.g., "mcp-github-pr-server")
50
-
51
- 2. **Configure Environment Variables:**
52
- - In your Space settings, add `GITHUB_TOKEN` as a secret
53
- - Set your GitHub token as the value
54
-
55
- 3. **Deploy:**
56
- - Push your code to the Space repository
57
- - Hugging Face will automatically build and deploy your application
58
-
59
- ## Using with MCP Clients
60
-
61
- Add this configuration to your MCP client (e.g., Claude Desktop, Cursor, or Cline):
62
-
63
- ```json
64
- {
65
- "mcpServers": {
66
- "github-pr-finder": {
67
- "url": "https://akinyemiar-mcp-github-pr-server.hf.space/gradio_api/mcp/sse"
68
- }
69
- }
70
- }
71
- ```
72
-
73
- ## Using with n8n
74
-
75
- 1. **Add HTTP Request Node:**
76
- - In your n8n workflow, add an "HTTP Request" node
77
- - Set the URL to your Hugging Face Space URL (e.g., `https://akinyemiar-mcp-github-pr-server.hf.space/api/predict`)
78
- - Set Method to POST
79
- - Add Headers:
80
- ```
81
- Content-Type: application/json
82
- ```
83
- - Set Body to JSON:
84
- ```json
85
- {
86
- "data": [
87
- "fastapi",
88
- "python",
89
- 5,
90
- 1,
91
- "YOUR_GITHUB_TOKEN"
92
- ]
93
- }
94
- ```
95
-
96
- 2. **Process Response:**
97
- - The response will contain opportunities and total_count
98
- - Use n8n's "Set" node to process the response data
99
- - Add additional nodes to handle the opportunities as needed
100
-
101
- ## API Usage
102
-
103
- The server provides both a web interface and an API endpoint at `/api/predict`. The API accepts POST requests with the following parameters:
104
-
105
- ```json
106
- {
107
- "data": [
108
- "keyword", // optional
109
- "topic", // optional
110
- "per_page", // default: 5
111
- "page", // default: 1
112
- "token" // GitHub token
113
- ]
114
- }
115
- ```
116
-
117
- Response:
118
- ```json
119
- {
120
- "data": [
121
- {
122
- "opportunities": [
123
- {
124
- "repo_name": "tiangolo/fastapi",
125
- "repo_url": "https://github.com/tiangolo/fastapi",
126
- "issue_title": "Add more examples",
127
- "issue_url": "https://github.com/tiangolo/fastapi/issues/1234",
128
- "issue_labels": ["good first issue"],
129
- "issue_body": "Please add more examples to the docs..."
130
- }
131
- ],
132
- "total_count": 123
133
- }
134
- ]
135
- }
136
- ```
137
-
138
- ## License
 
139
  MIT
 
1
+ ---
2
+ title: MCP GitHub PR Opportunity Server
3
+ emoji: πŸ”
4
+ colorFrom: blue
5
+ colorTo: indigo
6
+ sdk: gradio
7
+ sdk_version: 5.33.1
8
+ app_file: app.py
9
+ pinned: false
10
+ tag: mcp-server-track
11
+ license: mit
12
+ ---
13
+ # Video Link: https://drive.google.com/file/d/1FaYPqtoYWmUBsjiSFexPNyPARvFsixsh/view?usp=sharing
14
+
15
+ # MCP GitHub PR Opportunity Server
16
+
17
+ A Gradio-based MCP server that searches GitHub repositories for possible PR opportunities (open issues labeled 'good first issue' or 'help wanted'), supporting search by keyword and topic, with authentication.
18
+
19
+ ## Features
20
+ - Search GitHub repos by keyword and topic
21
+ - Find open issues labeled 'good first issue' or 'help wanted'
22
+ - Supports GitHub authentication via token
23
+ - Gradio MCP server for LLM integration
24
+ - Interactive web interface
25
+ - Compatible with n8n workflows
26
+
27
+ ## Local Setup
28
+
29
+ 1. **Clone the repo and install dependencies:**
30
+ ```bash
31
+ cd mcp_github_server
32
+ pip install -r requirements.txt
33
+ ```
34
+
35
+ 2. **Configure GitHub Token:**
36
+ - Set `GITHUB_TOKEN` in your environment variables, or
37
+ - Enter the token in the web interface
38
+
39
+ 3. **Run the server:**
40
+ ```bash
41
+ python app.py
42
+ ```
43
+
44
+ ## Hugging Face Spaces Deployment
45
+
46
+ 1. **Create a new Space:**
47
+ - Go to [Hugging Face Spaces](https://huggingface.co/spaces)
48
+ - Click "Create new Space"
49
+ - Choose "Gradio" as the SDK
50
+ - Name your space (e.g., "mcp-github-pr-server")
51
+
52
+ 2. **Configure Environment Variables:**
53
+ - In your Space settings, add `GITHUB_TOKEN` as a secret
54
+ - Set your GitHub token as the value
55
+
56
+ 3. **Deploy:**
57
+ - Push your code to the Space repository
58
+ - Hugging Face will automatically build and deploy your application
59
+
60
+ ## Using with MCP Clients
61
+
62
+ Add this configuration to your MCP client (e.g., Claude Desktop, Cursor, or Cline):
63
+
64
+ ```json
65
+ {
66
+ "mcpServers": {
67
+ "github-pr-finder": {
68
+ "url": "https://akinyemiar-mcp-github-pr-server.hf.space/gradio_api/mcp/sse"
69
+ }
70
+ }
71
+ }
72
+ ```
73
+
74
+ ## Using with n8n
75
+
76
+ 1. **Add HTTP Request Node:**
77
+ - In your n8n workflow, add an "HTTP Request" node
78
+ - Set the URL to your Hugging Face Space URL (e.g., `https://akinyemiar-mcp-github-pr-server.hf.space/api/predict`)
79
+ - Set Method to POST
80
+ - Add Headers:
81
+ ```
82
+ Content-Type: application/json
83
+ ```
84
+ - Set Body to JSON:
85
+ ```json
86
+ {
87
+ "data": [
88
+ "fastapi",
89
+ "python",
90
+ 5,
91
+ 1,
92
+ "YOUR_GITHUB_TOKEN"
93
+ ]
94
+ }
95
+ ```
96
+
97
+ 2. **Process Response:**
98
+ - The response will contain opportunities and total_count
99
+ - Use n8n's "Set" node to process the response data
100
+ - Add additional nodes to handle the opportunities as needed
101
+
102
+ ## API Usage
103
+
104
+ The server provides both a web interface and an API endpoint at `/api/predict`. The API accepts POST requests with the following parameters:
105
+
106
+ ```json
107
+ {
108
+ "data": [
109
+ "keyword", // optional
110
+ "topic", // optional
111
+ "per_page", // default: 5
112
+ "page", // default: 1
113
+ "token" // GitHub token
114
+ ]
115
+ }
116
+ ```
117
+
118
+ Response:
119
+ ```json
120
+ {
121
+ "data": [
122
+ {
123
+ "opportunities": [
124
+ {
125
+ "repo_name": "tiangolo/fastapi",
126
+ "repo_url": "https://github.com/tiangolo/fastapi",
127
+ "issue_title": "Add more examples",
128
+ "issue_url": "https://github.com/tiangolo/fastapi/issues/1234",
129
+ "issue_labels": ["good first issue"],
130
+ "issue_body": "Please add more examples to the docs..."
131
+ }
132
+ ],
133
+ "total_count": 123
134
+ }
135
+ ]
136
+ }
137
+ ```
138
+
139
+ ## License
140
  MIT