@feedmob/github-issues 0.0.6 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +111 -62
- package/dist/common/version.js +1 -1
- package/package.json +3 -4
package/README.md
CHANGED
|
@@ -1,86 +1,135 @@
|
|
|
1
1
|
# FeedMob GitHub Issues MCP Server
|
|
2
2
|
|
|
3
|
-
A GitHub Issues MCP server customized for the FeedMob team
|
|
3
|
+
A GitHub Issues MCP server customized for the FeedMob team.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
- Node.js 18+
|
|
7
|
+
- npm 9+
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
10
|
+
Run inside `src/github-issues/`:
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npm install
|
|
14
|
+
npm run build
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## MCP Server Configuration Guide
|
|
18
|
+
|
|
19
|
+
### Environment Variables
|
|
20
|
+
|
|
21
|
+
- `GITHUB_PERSONAL_ACCESS_TOKEN`:
|
|
22
|
+
- Recommended for all GitHub operations.
|
|
23
|
+
- Required for private repositories and write actions (`create_issue`, `update_issue`, `add_issue_comment`).
|
|
24
|
+
- `GITHUB_DEFAULT_OWNER`:
|
|
25
|
+
- Optional default owner for issue create/update flows.
|
|
26
|
+
- Can be omitted if you always pass `owner` explicitly in tool input.
|
|
27
|
+
- `AI_API_URL`:
|
|
28
|
+
- Required by FeedMob API-backed features:
|
|
29
|
+
- `search_issues`
|
|
30
|
+
- `get_issues`
|
|
31
|
+
- `sync_latest_issues`
|
|
32
|
+
- resource `issues/search_schema`
|
|
33
|
+
- `AI_API_TOKEN`:
|
|
34
|
+
- Bearer token for the FeedMob API above.
|
|
35
|
+
|
|
36
|
+
### Example MCP Client Config (stdio)
|
|
37
|
+
|
|
38
|
+
Use the built artifact (`dist/index.js`) after `npm run build`:
|
|
39
|
+
|
|
40
|
+
```json
|
|
41
|
+
{
|
|
42
|
+
"mcpServers": {
|
|
43
|
+
"feedmob-github-issues": {
|
|
44
|
+
"command": "npx",
|
|
45
|
+
"args": [
|
|
46
|
+
"-y",
|
|
47
|
+
"@feedmob/github-issues"
|
|
48
|
+
],
|
|
49
|
+
"env": {
|
|
50
|
+
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxx",
|
|
51
|
+
"GITHUB_DEFAULT_OWNER": "feedmob",
|
|
52
|
+
"AI_API_URL": "https://your-feedmob-api.example.com",
|
|
53
|
+
"AI_API_TOKEN": "your-feedmob-api-token"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Local Development Run (without build)
|
|
61
|
+
|
|
62
|
+
From repo root:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
npx tsx src/github-issues/index.ts
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Or from `src/github-issues`:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
npx tsx index.ts
|
|
72
|
+
```
|
|
4
73
|
|
|
5
74
|
## Tools
|
|
6
75
|
|
|
7
76
|
### `search_issues`
|
|
8
|
-
- Search GitHub
|
|
77
|
+
- Search GitHub issues through FeedMob API.
|
|
9
78
|
- Input parameters:
|
|
10
|
-
- `scheam` (string, required): Get from
|
|
11
|
-
- `start_date` (string): Issue creation start date
|
|
12
|
-
- `end_date` (string): Issue creation end date
|
|
13
|
-
- `status` (optional string):
|
|
79
|
+
- `scheam` (string, required): Get from resource `issues/search_schema`.
|
|
80
|
+
- `start_date` (string): Issue creation start date.
|
|
81
|
+
- `end_date` (string): Issue creation end date.
|
|
82
|
+
- `status` (optional string): For example `open`, `closed`.
|
|
14
83
|
- `repo` (optional string)
|
|
15
|
-
- `users` (optional string[]):
|
|
16
|
-
- `team` (optional string):
|
|
17
|
-
-
|
|
84
|
+
- `users` (optional string[]): User list.
|
|
85
|
+
- `team` (optional string): For example `Star`, `Mighty`.
|
|
86
|
+
- `title` (optional string): Fuzzy title match.
|
|
87
|
+
- `labels` (optional string[]): Labels filter.
|
|
88
|
+
- `score_status` (optional string)
|
|
89
|
+
- `fields` (string[], required): Response fields to return.
|
|
18
90
|
|
|
19
91
|
### `create_issue`
|
|
20
|
-
- Create a new
|
|
92
|
+
- Create a new issue in a GitHub repository.
|
|
21
93
|
- Input parameters:
|
|
22
|
-
- `owner` (optional string): Repository owner
|
|
23
|
-
- `repo` (string, required): Repository name
|
|
24
|
-
- `title` (string, required): Issue title
|
|
25
|
-
- `body` (optional string): Issue description
|
|
26
|
-
- `assignees` (optional string[]): Usernames to assign
|
|
27
|
-
- `labels` (optional string[]): Labels to add
|
|
28
|
-
- `milestone` (optional number): Milestone number
|
|
29
|
-
- Returns: Created Issue details
|
|
94
|
+
- `owner` (optional string): Repository owner. Falls back to `GITHUB_DEFAULT_OWNER`.
|
|
95
|
+
- `repo` (string, required): Repository name.
|
|
96
|
+
- `title` (string, required): Issue title.
|
|
97
|
+
- `body` (optional string): Issue description.
|
|
98
|
+
- `assignees` (optional string[]): Usernames to assign.
|
|
99
|
+
- `labels` (optional string[]): Labels to add.
|
|
100
|
+
- `milestone` (optional number): Milestone number.
|
|
30
101
|
|
|
31
102
|
### `update_issue`
|
|
32
|
-
- Update an existing
|
|
103
|
+
- Update an existing issue in a GitHub repository.
|
|
33
104
|
- Input parameters:
|
|
34
|
-
- `owner` (string, required): Repository owner
|
|
35
|
-
- `repo` (string, required): Repository name
|
|
36
|
-
- `issue_number` (number, required): Issue number to update
|
|
37
|
-
- `title` (optional string): New title
|
|
38
|
-
- `body` (optional string): New description
|
|
39
|
-
- `state` (optional string):
|
|
40
|
-
- `labels` (optional string[]): New labels
|
|
41
|
-
- `assignees` (optional string[]): New assignees
|
|
42
|
-
- `milestone` (optional number): New milestone number
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
- Get details of a specific Issue in a repository
|
|
105
|
+
- `owner` (string, required): Repository owner.
|
|
106
|
+
- `repo` (string, required): Repository name.
|
|
107
|
+
- `issue_number` (number, required): Issue number to update.
|
|
108
|
+
- `title` (optional string): New title.
|
|
109
|
+
- `body` (optional string): New description.
|
|
110
|
+
- `state` (optional string): `open` or `closed`.
|
|
111
|
+
- `labels` (optional string[]): New labels.
|
|
112
|
+
- `assignees` (optional string[]): New assignees.
|
|
113
|
+
- `milestone` (optional number): New milestone number.
|
|
114
|
+
|
|
115
|
+
### `get_issues`
|
|
116
|
+
- Fetch comments for multiple issues in bulk through FeedMob API.
|
|
47
117
|
- Input parameters:
|
|
48
|
-
- `
|
|
49
|
-
- `
|
|
50
|
-
- `issue_number` (number, required): Issue number to retrieve
|
|
51
|
-
- Returns: GitHub Issue object and details
|
|
118
|
+
- `repo_issues` (array, required): Each item includes `repo` and `issue_number`.
|
|
119
|
+
- `comment_count` (string, optional): `all` or a specific count.
|
|
52
120
|
|
|
53
121
|
### `add_issue_comment`
|
|
54
|
-
- Add a comment to an existing
|
|
122
|
+
- Add a comment to an existing issue.
|
|
55
123
|
- Input parameters:
|
|
56
|
-
- `owner` (string, required): Repository owner
|
|
57
|
-
- `repo` (string, required):
|
|
58
|
-
- `issue_number` (number, required): Issue number
|
|
59
|
-
- `body` (string, required): Comment content
|
|
60
|
-
- Returns: Created comment details
|
|
124
|
+
- `owner` (string, required): Repository owner.
|
|
125
|
+
- `repo` (string, required): Repository name.
|
|
126
|
+
- `issue_number` (number, required): Issue number.
|
|
127
|
+
- `body` (string, required): Comment content.
|
|
61
128
|
|
|
62
129
|
### `sync_latest_issues`
|
|
63
|
-
- Sync
|
|
130
|
+
- Sync latest issues data from FeedMob API.
|
|
64
131
|
|
|
65
132
|
## Resources
|
|
66
133
|
|
|
67
134
|
### `issues/search_schema`
|
|
68
|
-
- Provides schema definition for
|
|
69
|
-
|
|
70
|
-
### Local Development
|
|
71
|
-
For local development, you can run the server using the following commands:
|
|
72
|
-
|
|
73
|
-
```bash
|
|
74
|
-
# Install dependencies
|
|
75
|
-
npm install
|
|
76
|
-
|
|
77
|
-
# Build project
|
|
78
|
-
npm run build
|
|
79
|
-
|
|
80
|
-
# Run server
|
|
81
|
-
npx tsx src/github-issues/index.ts
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
## License
|
|
85
|
-
|
|
86
|
-
This MCP server is licensed under the MIT License. This means you can freely use, modify, and distribute this software, but must comply with the terms and conditions of the MIT License. For more details, please refer to the LICENSE file in the project repository.
|
|
135
|
+
- Provides the schema definition for `search_issues`.
|
package/dist/common/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@feedmob/github-issues",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.8",
|
|
4
4
|
"description": "MCP server for using the GitHub API",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "FeedMob",
|
|
@@ -19,11 +19,10 @@
|
|
|
19
19
|
"watch": "tsc --watch"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"date-fns": "^4.1.0",
|
|
23
|
-
"fastmcp": "2.1.0",
|
|
24
|
-
"@modelcontextprotocol/sdk": "1.0.1",
|
|
25
22
|
"@types/node": "^22",
|
|
26
23
|
"@types/node-fetch": "^2.6.12",
|
|
24
|
+
"date-fns": "^4.1.0",
|
|
25
|
+
"fastmcp": "2.1.0",
|
|
27
26
|
"node-fetch": "^3.3.2",
|
|
28
27
|
"universal-user-agent": "^7.0.2",
|
|
29
28
|
"zod": "^3.22.4",
|