@de-otio/epimethian-mcp 2.0.2 → 3.0.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 CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Confluence Cloud tools for AI assistants via the [Model Context Protocol](https://modelcontextprotocol.io/) (MCP). (not associated with or endorsed by Atlassian)
4
4
 
5
- > **Note:** For most Confluence use cases, the official [Atlassian Rovo MCP server](https://github.com/atlassian/mcp-server-atlassian) may be sufficient. Use Epimethian if you need draw.io diagram support, OS keychain credential storage, or attribution tracking on managed pages.
5
+ > **Note:** For most Confluence use cases, the official [Atlassian Rovo MCP server](https://github.com/atlassian/mcp-server-atlassian) may be sufficient. Use Epimethian if you need draw.io diagram support, OS keychain credential storage, multi-tenant profile isolation, or attribution tracking on managed pages.
6
6
 
7
7
  ## Quick Start
8
8
 
@@ -14,10 +14,10 @@ Or install manually:
14
14
 
15
15
  ```bash
16
16
  npm install -g @de-otio/epimethian-mcp
17
- epimethian-mcp setup
17
+ epimethian-mcp setup --profile <name>
18
18
  ```
19
19
 
20
- The `setup` command prompts for your Confluence URL, email, and API token (masked input), tests the connection, and stores credentials securely in your OS keychain.
20
+ The `setup` command prompts for your Confluence URL, email, and API token (masked input), tests the connection, and stores all credentials securely in your OS keychain under the named profile.
21
21
 
22
22
  ## MCP Configuration
23
23
 
@@ -29,18 +29,36 @@ Add to your `.mcp.json` (or equivalent MCP client config):
29
29
  "confluence": {
30
30
  "command": "epimethian-mcp",
31
31
  "env": {
32
- "CONFLUENCE_URL": "https://yoursite.atlassian.net",
33
- "CONFLUENCE_EMAIL": "user@example.com"
32
+ "CONFLUENCE_PROFILE": "my-profile"
34
33
  }
35
34
  }
36
35
  }
37
36
  }
38
37
  ```
39
38
 
40
- The API token is read from the OS keychain at startup. **Do not put it in config files.**
39
+ All credentials (URL, email, token) are read from the OS keychain at startup. **Only the profile name goes in config files.**
41
40
 
42
41
  For IDE-hosted agents, use the absolute path from `which epimethian-mcp` as the `command` value.
43
42
 
43
+ ## Multi-Tenant Support
44
+
45
+ Consultants and developers working across multiple Atlassian tenants can create a profile per tenant:
46
+
47
+ ```bash
48
+ epimethian-mcp setup --profile jambit
49
+ epimethian-mcp setup --profile acme-corp
50
+ ```
51
+
52
+ Each project's `.mcp.json` specifies which profile to use. Profiles are fully isolated — separate keychain entries, separate Confluence instances, separate MCP server names (`confluence-jambit`, `confluence-acme-corp`).
53
+
54
+ Manage profiles:
55
+
56
+ ```bash
57
+ epimethian-mcp profiles # list all
58
+ epimethian-mcp profiles --verbose # show URLs and emails
59
+ CONFLUENCE_PROFILE=jambit epimethian-mcp status # test connection
60
+ ```
61
+
44
62
  ## Tools
45
63
 
46
64
  | Tool | Description |
@@ -60,10 +78,13 @@ For IDE-hosted agents, use the absolute path from `which epimethian-mcp` as the
60
78
 
61
79
  ## Credential Security
62
80
 
63
- - API tokens are stored in the OS keychain (macOS Keychain / Linux libsecret)
81
+ - Credentials are stored per-profile in the OS keychain (macOS Keychain / Linux libsecret)
82
+ - URL, email, and API token are stored as an atomic unit — no mixing across profiles
64
83
  - Tokens are never written to disk in plaintext
65
84
  - The `setup` command uses masked input so tokens don't appear in terminal scrollback
66
- - For CI/headless environments, set `CONFLUENCE_API_TOKEN` as an environment variable injected by your secret manager
85
+ - Startup validation verifies credentials and tenant identity before accepting tool calls
86
+ - Write operations include a tenant echo so the target is always visible
87
+ - For CI/headless environments, set all three env vars (`CONFLUENCE_URL`, `CONFLUENCE_EMAIL`, `CONFLUENCE_API_TOKEN`) — partial combinations are rejected
67
88
 
68
89
  ## Development
69
90