@stubbedev/atlassian-mcp 0.5.1 → 0.5.2
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 +16 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -281,8 +281,9 @@ ATLASSIAN_MCP_HTTP=1 atlassian-mcp # same, via env
|
|
|
281
281
|
**Repo context comes from the client, not the server's working directory.** Tools that
|
|
282
282
|
need a repo (the `git_*` tools, `get_dev_context`, `start_work`, `complete_work`, and
|
|
283
283
|
Bitbucket project/repo auto-detection) resolve it in this order: an explicit `repoPath`
|
|
284
|
-
argument →
|
|
285
|
-
|
|
284
|
+
argument → a **root pinned via request header** (see below) → the client's **MCP workspace
|
|
285
|
+
roots** (the server asks via `roots/list`, caches per session, and refreshes on
|
|
286
|
+
`notifications/roots/list_changed`) → the process cwd (stdio
|
|
286
287
|
only). So one shared HTTP server handles many worktrees: each client's own workspace drives
|
|
287
288
|
its calls. When a session exposes **several** roots (multiple worktrees), a tool with no
|
|
288
289
|
`repoPath` uses the first git-repo root; pass `repoPath` (an absolute path, or a worktree
|
|
@@ -290,6 +291,19 @@ name/basename that matches one of the roots) to target a specific worktree. For
|
|
|
290
291
|
passing `projectKey`+`repoSlug` explicitly skips repo detection entirely. The repos must be
|
|
291
292
|
reachable on the server's host (the git tools run `git` locally).
|
|
292
293
|
|
|
294
|
+
**Pinning the root via a request header (HTTP).** A reverse proxy or harness that already
|
|
295
|
+
knows the working tree can hand it to the server directly, skipping the `roots/list`
|
|
296
|
+
round-trip (and working even when the client never advertised the `roots` capability).
|
|
297
|
+
Send a `file://` URI or absolute path (comma-separated for multiple; first git repo wins):
|
|
298
|
+
|
|
299
|
+
```
|
|
300
|
+
X-Mcp-Root: file:///srv/myrepo
|
|
301
|
+
X-Mcp-Roots: /srv/a, /srv/b
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
Accepted header names: `X-Mcp-Roots`, `X-Mcp-Root`, `Mcp-Roots`, `Mcp-Root`. A header value
|
|
305
|
+
is authoritative — it takes precedence over `roots/list` and survives `list_changed`.
|
|
306
|
+
|
|
293
307
|
Client config for an already-running HTTP server (Claude Code example):
|
|
294
308
|
|
|
295
309
|
```bash
|