@diegotsi/flint-mcp 1.3.0 → 1.3.1
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 +92 -23
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,33 +1,36 @@
|
|
|
1
1
|
# @diegotsi/flint-mcp
|
|
2
2
|
|
|
3
|
-
MCP (Model Context Protocol) server for [Flint](https://github.com/diegotsi/flint) —
|
|
3
|
+
MCP (Model Context Protocol) server for [Flint](https://github.com/diegotsi/flint) — triage, analyze, and fix your bug reports straight from Claude Code, Cursor, Claude Desktop, or any MCP client.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Quick start
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
| `get_bug` | Full report detail — AI root cause, console logs, environment |
|
|
11
|
-
| `search_code` | Search the indexed codebase (not yet available via MCP) |
|
|
12
|
-
| `suggest_fix` | AI-generated fix suggestion for a bug |
|
|
13
|
-
| `triage_bug` | Set assignee, severity, area or notes |
|
|
14
|
-
| `resolve_bug` | Mark a bug as resolved |
|
|
15
|
-
| `create_fix_pr` | Open a GitHub PR with an AI-generated fix |
|
|
16
|
-
| `get_analytics` | Project analytics (volume, severity, releases, SLA) |
|
|
17
|
-
| `chat_about_bug` | Ask questions about a bug with full AI context |
|
|
7
|
+
1. **Get a personal access token** — a `flint_pat_…` string (step 1 below).
|
|
8
|
+
2. **Add the MCP** to your client with that token (step 2 below).
|
|
9
|
+
3. **Ask away** — _"list my P1 bugs"_, _"what's the root cause of bug clxx123"_, _"open a PR for the suggested fix"_.
|
|
18
10
|
|
|
19
|
-
|
|
11
|
+
---
|
|
20
12
|
|
|
21
|
-
|
|
22
|
-
|---|---|---|
|
|
23
|
-
| `FLINT_SERVER_URL` | yes | URL of your Flint server, e.g. `https://api.yourflint.com` |
|
|
24
|
-
| `FLINT_API_TOKEN` | yes* | **Recommended.** Per-user personal access token (`flint_pat_…`). Create one under **Settings → Team → Personal Access Tokens**. Scoped to your account, revocable, and audited. |
|
|
25
|
-
| `FLINT_ADMIN_KEY` | yes* | Shared admin key (`X-Admin-Key`) — god-mode across all projects. Use only when a per-user token isn't available. |
|
|
26
|
-
| `FLINT_PROJECT_ID` | no | Default project — avoids passing `projectId` on every call |
|
|
13
|
+
## 1. Get a token
|
|
27
14
|
|
|
28
|
-
|
|
15
|
+
The MCP authenticates as **you**, with a personal access token — not the shared admin key. So actions are scoped to your account and role, and show up in the audit log under your name.
|
|
29
16
|
|
|
30
|
-
|
|
17
|
+
1. Open the Flint **admin dashboard** and sign in.
|
|
18
|
+
2. Go to **Settings → Team → Personal Access Tokens**.
|
|
19
|
+
3. Click **New token**, give it a name (e.g. `My laptop MCP`), optionally pick an expiry, and **Create**.
|
|
20
|
+
4. **Copy the token now** (`flint_pat_…`) — it's shown **once** and stored only as a hash. If you lose it, just create another.
|
|
21
|
+
|
|
22
|
+
Tokens are revocable any time from the same screen (they show their last-used time), so create one per machine and revoke it if a laptop is lost.
|
|
23
|
+
|
|
24
|
+
> **Self-hosting without user accounts?** You can fall back to the server's shared `FLINT_ADMIN_KEY` (god-mode across every project). Prefer a per-user token whenever you have one.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## 2. Add the MCP
|
|
29
|
+
|
|
30
|
+
You'll also need:
|
|
31
|
+
|
|
32
|
+
- **`FLINT_SERVER_URL`** — your Flint API URL, e.g. `https://api.yourflint.com`.
|
|
33
|
+
- **`FLINT_PROJECT_ID`** _(optional)_ — a default project so you don't pass `projectId` on every call. Find it in the project's URL in the dashboard.
|
|
31
34
|
|
|
32
35
|
### Claude Code
|
|
33
36
|
|
|
@@ -41,7 +44,7 @@ claude mcp add flint \
|
|
|
41
44
|
|
|
42
45
|
### Cursor / Windsurf / Claude Desktop
|
|
43
46
|
|
|
44
|
-
Add to your MCP config (`.cursor/mcp.json`, `~/.codeium/windsurf/mcp_config.json
|
|
47
|
+
Add to your MCP config (`.cursor/mcp.json`, `~/.codeium/windsurf/mcp_config.json`, or `claude_desktop_config.json`):
|
|
45
48
|
|
|
46
49
|
```json
|
|
47
50
|
{
|
|
@@ -59,6 +62,72 @@ Add to your MCP config (`.cursor/mcp.json`, `~/.codeium/windsurf/mcp_config.json
|
|
|
59
62
|
}
|
|
60
63
|
```
|
|
61
64
|
|
|
65
|
+
Restart the client (or reload the MCP servers) and Flint's tools become available.
|
|
66
|
+
|
|
67
|
+
### Verify / alternatives
|
|
68
|
+
|
|
69
|
+
`npx` fetches and runs the published package on demand — there's no separate install step. To confirm it works, run it once with no env; it tells you what's missing and exits, which means it fetched and launched fine:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
npx -y @diegotsi/flint-mcp
|
|
73
|
+
# → [Flint MCP] Set FLINT_API_TOKEN (per-user, recommended) or FLINT_ADMIN_KEY
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Prefer a pinned global binary instead of `npx`? Install once and point `command` at it:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
npm i -g @diegotsi/flint-mcp # then use "flint-mcp" as the MCP command
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## 3. Use it
|
|
85
|
+
|
|
86
|
+
Once connected, ask your assistant things like:
|
|
87
|
+
|
|
88
|
+
- _"List the open P1 bugs in this project."_
|
|
89
|
+
- _"Show me bug `clxx123` — root cause and suggested fix."_
|
|
90
|
+
- _"Triage bug `clxx123`: assign it to me, set severity P2."_
|
|
91
|
+
- _"Open a GitHub PR with the suggested fix for `clxx123`."_
|
|
92
|
+
- _"What's our bug volume and SLA this week?"_
|
|
93
|
+
|
|
94
|
+
### Available tools
|
|
95
|
+
|
|
96
|
+
| Tool | Description |
|
|
97
|
+
|---|---|
|
|
98
|
+
| `list_bugs` | List bug reports with filters (status, severity, release, …) |
|
|
99
|
+
| `get_bug` | Full report detail — AI root cause, console logs, environment |
|
|
100
|
+
| `search_code` | Search the indexed codebase (not yet available via MCP) |
|
|
101
|
+
| `suggest_fix` | AI-generated fix suggestion for a bug |
|
|
102
|
+
| `triage_bug` | Set assignee, severity, area or notes |
|
|
103
|
+
| `resolve_bug` | Mark a bug as resolved |
|
|
104
|
+
| `create_fix_pr` | Open a GitHub PR with an AI-generated fix |
|
|
105
|
+
| `get_analytics` | Project analytics (volume, severity, releases, SLA) |
|
|
106
|
+
| `chat_about_bug` | Ask questions about a bug with full AI context |
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Configuration reference
|
|
111
|
+
|
|
112
|
+
| Env var | Required | Description |
|
|
113
|
+
|---|---|---|
|
|
114
|
+
| `FLINT_SERVER_URL` | yes | URL of your Flint server, e.g. `https://api.yourflint.com` |
|
|
115
|
+
| `FLINT_API_TOKEN` | yes\* | **Recommended.** Per-user personal access token (`flint_pat_…`) from **Settings → Team → Personal Access Tokens**. Scoped to your account, revocable, and audited. |
|
|
116
|
+
| `FLINT_ADMIN_KEY` | yes\* | Shared admin key (`X-Admin-Key`) — god-mode across all projects. Use only when a per-user token isn't available. |
|
|
117
|
+
| `FLINT_PROJECT_ID` | no | Default project — avoids passing `projectId` on every call |
|
|
118
|
+
|
|
119
|
+
> \* Provide **either** `FLINT_API_TOKEN` (preferred) **or** `FLINT_ADMIN_KEY`. The token takes precedence. `FLINT_API_KEY` is still accepted as a fallback for `FLINT_ADMIN_KEY`.
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## Troubleshooting
|
|
124
|
+
|
|
125
|
+
- **401 / Unauthorized** — the token is wrong, expired, or revoked. Create a fresh one under **Settings → Team → Personal Access Tokens**. If you set both vars, `FLINT_API_TOKEN` wins over `FLINT_ADMIN_KEY`.
|
|
126
|
+
- **`projectId is required`** — set `FLINT_PROJECT_ID`, or pass `projectId` in the request.
|
|
127
|
+
- **Nothing happens / tools missing** — confirm `FLINT_SERVER_URL` points at your Flint **API** and that the client was restarted after editing its MCP config.
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
62
131
|
## Development
|
|
63
132
|
|
|
64
133
|
```bash
|
package/package.json
CHANGED