@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.
Files changed (2) hide show
  1. package/README.md +92 -23
  2. 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) — work with your bug reports directly from Claude Code, Cursor, Claude Desktop or any MCP client.
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
- ## Tools
5
+ ## Quick start
6
6
 
7
- | Tool | Description |
8
- |---|---|
9
- | `list_bugs` | List bug reports with filters (status, severity, release, …) |
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
- ## Configuration
11
+ ---
20
12
 
21
- | Env var | Required | Description |
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
- > \* 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`.
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
- ## Install
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` or `claude_desktop_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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@diegotsi/flint-mcp",
3
- "version": "1.3.0",
3
+ "version": "1.3.1",
4
4
  "description": "Flint MCP server — list bugs, suggest fixes, triage issues and pull analytics from your editor via the Model Context Protocol.",
5
5
  "type": "module",
6
6
  "bin": {