@softspark/confluence-mcp 1.12.0 → 1.14.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 +26 -2
- package/dist/cli.js +40 -38
- package/dist/index.d.ts +62 -1
- package/dist/index.js +41 -39
- package/package.json +4 -3
- package/templates-system/pages/decision-record.md +30 -0
- package/templates-system/pages/incident-review.md +45 -0
- package/templates-system/pages/runbook.md +40 -0
package/README.md
CHANGED
|
@@ -3,13 +3,20 @@
|
|
|
3
3
|
> MCP server for Confluence Cloud -- pages, blog posts, comments, labels, attachments, restrictions and whiteboards via the Model Context Protocol.
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/@softspark/confluence-mcp)
|
|
6
|
-
[](../../CHANGELOG.md)
|
|
7
7
|
[](LICENSE)
|
|
8
8
|
|
|
9
9
|
Part of the [SoftSpark Atlassian MCP workspace](https://github.com/softspark/jira-mcp), alongside [`@softspark/jira-mcp`](../jira-mcp).
|
|
10
10
|
|
|
11
11
|
---
|
|
12
12
|
|
|
13
|
+
## What's New in v1.14.0
|
|
14
|
+
|
|
15
|
+
- No behaviour change in this package: same 30 tools, same CLI, same config path. It ships because both packages are released together under one version.
|
|
16
|
+
- The new work is in [`@softspark/jira-mcp`](../jira-mcp): translated comment templates and a command that installs them.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
13
20
|
It reads the same `~/.softspark/jira-mcp/config.json` and the same `credentials.json` as `@softspark/jira-mcp`: one Atlassian site serves both products from the same host, so the API token you already have works for both.
|
|
14
21
|
|
|
15
22
|
The two servers stay separate on purpose. Merging them would put near-homonyms (`search_tasks` next to `search_pages`, `get_task_details` next to `get_page`) in one tool list, which makes tool selection worse. Register whichever you need, or both.
|
|
@@ -66,6 +73,8 @@ Register it alongside the Jira server:
|
|
|
66
73
|
| `confluence-mcp space set-language <key> <lang>` | Set the content language for a space |
|
|
67
74
|
| `confluence-mcp space set-format <key> <format>` | Set the body format for a space (`markdown` or `storage`) |
|
|
68
75
|
|
|
76
|
+
Space keys keep the case Confluence stored them with: `DevOps` is not `DEVOPS`. Personal space keys start with `~`.
|
|
77
|
+
|
|
69
78
|
## Confluence tools
|
|
70
79
|
|
|
71
80
|
`space_key` is optional on every tool: it falls back to `default_space`, then to the only configured space. It becomes required only when several spaces are configured without a default, where guessing would risk writing into the wrong space.
|
|
@@ -78,7 +87,8 @@ Register it alongside the Jira server:
|
|
|
78
87
|
| `get_page` | Read a page; body in the space format, or override with `body_format` | `page_id`, `body_format?`, `space_key?` |
|
|
79
88
|
| `list_space_pages` | List the pages in a space | `space_key?`, `limit?` |
|
|
80
89
|
| `get_page_children` | List direct child pages, for walking the tree | `page_id`, `space_key?`, `limit?` |
|
|
81
|
-
| `
|
|
90
|
+
| `list_page_templates` | List page templates usable in the space | `all_formats?`, `space_key?` |
|
|
91
|
+
| `create_page` | Create a page from a template, markdown, or storage XHTML | `template_id?`, `variables?`, `title?`, `content?`, `storage?`, `parent_id?` |
|
|
82
92
|
| `update_page` | Update title, body or parent; an untouched body is never rewritten | `page_id`, `title?`, `content?`, `storage?`, `parent_id?`, `allow_markup_loss?` |
|
|
83
93
|
| `move_page` | Re-parent a page, across spaces with `cross_space` | `page_id`, `parent_id`, `position?`, `cross_space?` |
|
|
84
94
|
| `delete_page` | Move a page to the trash | `page_id`, `user_approved`, `space_key?` |
|
|
@@ -156,6 +166,20 @@ In config.json, per space or as a global default:
|
|
|
156
166
|
|
|
157
167
|
If your space is managed as code (HTML files pushed via the REST API, as `sync.py` does), it is a `storage` space. Set it before pointing an assistant at it.
|
|
158
168
|
|
|
169
|
+
## Page templates
|
|
170
|
+
|
|
171
|
+
`list_page_templates` shows what is available for a space, filtered to its body format because a storage template cannot render into a markdown space or the reverse. `create_page` then takes `template_id` and `variables`; the template supplies the title, the body and the format, so do not also pass `title`, `content` or `storage`.
|
|
172
|
+
|
|
173
|
+
| ID | Format | Use for |
|
|
174
|
+
|----|--------|---------|
|
|
175
|
+
| `runbook` | markdown | Operational procedure: when to run it, prerequisites, steps, verification, rollback |
|
|
176
|
+
| `incident-review` | markdown | Blameless post-incident review: impact, timeline, root cause, actions |
|
|
177
|
+
| `decision-record` | storage | ADR built from Confluence status and info macros |
|
|
178
|
+
|
|
179
|
+
Variables use `{{name}}`, and `{{#name}}...{{/name}}` keeps a block only when the variable is supplied. Both the title and the body are rendered, so a variable can appear in either.
|
|
180
|
+
|
|
181
|
+
Drop your own templates in `~/.softspark/jira-mcp/templates/pages/*.md`; one with the same `id` as a shipped template replaces it. A malformed file is skipped rather than breaking startup.
|
|
182
|
+
|
|
159
183
|
## Documentation
|
|
160
184
|
|
|
161
185
|
- [Confluence reference](../../kb/reference/confluence.md) -- architecture, API split, ADF and storage formats, restrictions, version conflicts.
|