issues-mcp 1.0.0
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 +57 -0
- package/dist/chunk-Y53ZARWV.js +1671 -0
- package/dist/chunk-Y53ZARWV.js.map +1 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +37 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/package.json +71 -0
package/README.md
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# issues-mcp
|
|
2
|
+
|
|
3
|
+
**One [Model Context Protocol](https://modelcontextprotocol.io) server for every issue tracker.** Normalized, type-safe tools for issues, comments, workflow transitions, and time tracking across **Jira Cloud** and **Redmine** — usable from any MCP client.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
Add the server to your MCP client's configuration and let the client launch it via `npx`. For Claude Desktop (`claude_desktop_config.json`):
|
|
8
|
+
|
|
9
|
+
```jsonc
|
|
10
|
+
{
|
|
11
|
+
"mcpServers": {
|
|
12
|
+
"issues": {
|
|
13
|
+
"command": "npx",
|
|
14
|
+
"args": ["-y", "issues-mcp"],
|
|
15
|
+
"env": {
|
|
16
|
+
"JIRA_BASE_URL": "https://your-domain.atlassian.net",
|
|
17
|
+
"JIRA_ACCOUNT_EMAIL": "you@example.com",
|
|
18
|
+
"JIRA_API_TOKEN": "your-atlassian-api-token",
|
|
19
|
+
"REDMINE_BASE_URL": "https://redmine.example.com",
|
|
20
|
+
"REDMINE_API_KEY": "your-redmine-api-key",
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
}
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Configure Jira, Redmine, or both. The server enables a tracker only when its full set of variables is present, and exposes that tracker's tools namespaced by name (`jira_*`, `redmine_*`).
|
|
28
|
+
|
|
29
|
+
You can also run it directly:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
JIRA_BASE_URL=… JIRA_ACCOUNT_EMAIL=… JIRA_API_TOKEN=… npx -y issues-mcp
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Configuration
|
|
36
|
+
|
|
37
|
+
| Variable | Tracker | Description |
|
|
38
|
+
| -------------------- | ------- | -------------------------------------------------------------------------------------- |
|
|
39
|
+
| `JIRA_BASE_URL` | Jira | `https://your-domain.atlassian.net` |
|
|
40
|
+
| `JIRA_ACCOUNT_EMAIL` | Jira | Account email paired with the API token (Jira uses HTTP Basic). |
|
|
41
|
+
| `JIRA_API_TOKEN` | Jira | [Atlassian API token](https://id.atlassian.com/manage-profile/security/api-tokens). 🔐 |
|
|
42
|
+
| `REDMINE_BASE_URL` | Redmine | `https://redmine.example.com` |
|
|
43
|
+
| `REDMINE_API_KEY` | Redmine | Redmine REST API key (My account → API access key). 🔐 |
|
|
44
|
+
|
|
45
|
+
🔐 **Secrets come only from the environment.** They never appear in a tool's input schema or output, and are redacted from every error and log line.
|
|
46
|
+
|
|
47
|
+
## Tools
|
|
48
|
+
|
|
49
|
+
Each configured tracker contributes the following, prefixed with its name:
|
|
50
|
+
|
|
51
|
+
`whoami` · `capabilities` · `search_issues` · `get_issue` · `create_issue` · `update_issue` · `delete_issue` · `add_comment` · `get_transitions` · `transition_issue` · `search_time_entries` · `get_time_entry` · `create_time_entry` · `update_time_entry` · `delete_time_entry`
|
|
52
|
+
|
|
53
|
+
Read-only, destructive, and idempotent operations are annotated so clients can gate them.
|
|
54
|
+
|
|
55
|
+
## Requirements
|
|
56
|
+
|
|
57
|
+
Node.js ≥ 20.
|