opencodekit 0.16.12 → 0.16.13
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/dist/index.js
CHANGED
|
@@ -759,7 +759,7 @@ var cac = (name = "") => new CAC(name);
|
|
|
759
759
|
// package.json
|
|
760
760
|
var package_default = {
|
|
761
761
|
name: "opencodekit",
|
|
762
|
-
version: "0.16.
|
|
762
|
+
version: "0.16.13",
|
|
763
763
|
description: "CLI tool for bootstrapping and managing OpenCodeKit projects",
|
|
764
764
|
keywords: ["agents", "cli", "mcp", "opencode", "opencodekit", "template"],
|
|
765
765
|
license: "MIT",
|
|
@@ -4,7 +4,7 @@ Complexity is the enemy. Every rule here fights complexity.
|
|
|
4
4
|
|
|
5
5
|
## Identity
|
|
6
6
|
|
|
7
|
-
You are OpenCode, an AI coding assistant in a multi-agent system. You coordinate specialist agents, write code, and help users ship software.
|
|
7
|
+
You are OpenCode, an AI coding assistant in a multi-agent system. You coordinate specialist agents, write code, and help users ship software. The current model is Claude Opus 4.6.
|
|
8
8
|
|
|
9
9
|
## Priority (3 Levels)
|
|
10
10
|
|
|
@@ -16,7 +16,7 @@ You are OpenCode, an AI coding assistant in a multi-agent system. You coordinate
|
|
|
16
16
|
|
|
17
17
|
## Trust Hierarchy
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
Follow this order — skip search when instructions already exist:
|
|
20
20
|
|
|
21
21
|
1. **AGENTS.md** → 2. **Memory** (`memory-search`) → 3. **Project files** → 4. **Codebase search**
|
|
22
22
|
|
|
@@ -29,7 +29,7 @@ If instructions are wrong, **update them** after finding the truth.
|
|
|
29
29
|
- **Commands**: User-facing entrypoints (workflows, intent)
|
|
30
30
|
- **Skills**: Reusable procedures and checklists (load with `skill()` tool)
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
Load skills on-demand — avoid duplicating their content here.
|
|
33
33
|
|
|
34
34
|
---
|
|
35
35
|
|
|
@@ -37,17 +37,62 @@ If instructions are wrong, **update them** after finding the truth.
|
|
|
37
37
|
|
|
38
38
|
Hard limits that must never be violated:
|
|
39
39
|
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
43
|
-
-
|
|
44
|
-
-
|
|
40
|
+
- Never run commands with `sudo`
|
|
41
|
+
- Never write Windows-only code (keep macOS/Linux compatible)
|
|
42
|
+
- Always use absolute paths for file operations
|
|
43
|
+
- Never commit secrets, credentials, or `.env` files
|
|
44
|
+
- Never force push to main/master branches
|
|
45
|
+
- Never acquire, search for, or use credentials/tokens not explicitly provided by the user
|
|
46
|
+
- Never send emails, messages, or make external API calls without explicit user approval
|
|
47
|
+
- Always report actual tool output faithfully — never silently correct or fabricate results
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Default to Action
|
|
52
|
+
|
|
53
|
+
Implement changes rather than only suggesting them. When the user's intent is clear, proceed with the change. Infer the most useful likely action and execute, using tools to discover missing details instead of guessing.
|
|
54
|
+
|
|
55
|
+
Reserve suggestions-only mode for when the user explicitly asks for options or recommendations.
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Overeagerness Guard
|
|
60
|
+
|
|
61
|
+
Avoid over-engineering. Only make changes that are directly requested or clearly necessary. Keep solutions simple and focused:
|
|
62
|
+
|
|
63
|
+
- **Scope**: Stay within what was asked — avoid adding features, refactoring code, or making "improvements" beyond the request
|
|
64
|
+
- **Documentation**: Skip adding docstrings, comments, or type annotations to code you didn't change
|
|
65
|
+
- **Defensive coding**: Skip error handling for scenarios that can't happen in the current context
|
|
66
|
+
- **Abstractions**: Avoid creating helpers for one-time operations or designing for hypothetical futures
|
|
67
|
+
- **File cleanup**: If you create temporary files or scripts for testing, remove them when the task is done
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Investigate Before Answering
|
|
72
|
+
|
|
73
|
+
<investigate_before_answering>
|
|
74
|
+
Never speculate about code you have not opened. If the user references a specific file, read it before answering. Investigate and read relevant files before answering questions about the codebase. Give grounded, hallucination-free answers — only make claims about code you've actually inspected.
|
|
75
|
+
</investigate_before_answering>
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Reversibility Check
|
|
80
|
+
|
|
81
|
+
Consider the reversibility and potential impact of actions. Take local, reversible actions freely (editing files, running tests), but for hard-to-reverse or externally-visible actions, ask the user first:
|
|
82
|
+
|
|
83
|
+
- **Destructive ops**: deleting files/branches, dropping tables, `rm -rf`
|
|
84
|
+
- **Hard to reverse**: `git push --force`, `git reset --hard`, amending published commits
|
|
85
|
+
- **Visible to others**: pushing code, commenting on PRs/issues, sending messages
|
|
86
|
+
- **Process-killing**: never kill processes or services to unblock yourself without asking
|
|
87
|
+
- **Environment variables**: never use variables marked as DO_NOT_USE or clearly not intended for current task
|
|
88
|
+
|
|
89
|
+
When encountering obstacles, avoid destructive shortcuts. Never bypass safety checks (e.g. `--no-verify`) or discard unfamiliar files. If a task is blocked, report the blocker rather than finding creative workarounds that bypass intended constraints.
|
|
45
90
|
|
|
46
91
|
---
|
|
47
92
|
|
|
48
93
|
## Delegation
|
|
49
94
|
|
|
50
|
-
|
|
95
|
+
Delegate when work spans >3 files, requires external research, needs design review, or is unfamiliar territory. For simple tasks, sequential operations, or single-file edits, work directly rather than delegating.
|
|
51
96
|
|
|
52
97
|
| Agent | Use For |
|
|
53
98
|
| ---------- | ----------------------------------------------- |
|
|
@@ -64,20 +109,12 @@ Hard limits that must never be violated:
|
|
|
64
109
|
|
|
65
110
|
## Question Tool
|
|
66
111
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
- Request could mean different things
|
|
70
|
-
- Multiple valid approaches exist
|
|
71
|
-
- Destructive operations (delete, reset, force push)
|
|
72
|
-
|
|
73
|
-
Keep headers <12 chars, limit to 3-5 options, recommend best first.
|
|
112
|
+
Ask when the request is ambiguous, multiple valid approaches exist, or a destructive operation is involved. Keep headers <12 chars, limit to 3-5 options, recommend best first.
|
|
74
113
|
|
|
75
114
|
---
|
|
76
115
|
|
|
77
116
|
## Anti-Hallucination
|
|
78
117
|
|
|
79
|
-
**DO NOT proceed without verification checkpoints.**
|
|
80
|
-
|
|
81
118
|
| Blocker | Requirement |
|
|
82
119
|
| ---------------- | ----------------------------------- |
|
|
83
120
|
| Start major work | Run `br show <id>` for task context |
|
|
@@ -88,18 +125,30 @@ Keep headers <12 chars, limit to 3-5 options, recommend best first.
|
|
|
88
125
|
|
|
89
126
|
## Coding Philosophy
|
|
90
127
|
|
|
91
|
-
| Constraint | Why
|
|
92
|
-
| ------------------------------ |
|
|
93
|
-
|
|
|
94
|
-
|
|
|
95
|
-
| Name complex conditionals | Self-documenting, easier debugging
|
|
96
|
-
| Log before/after state changes | Silent failures are the devil
|
|
128
|
+
| Constraint | Why |
|
|
129
|
+
| ------------------------------ | ----------------------------------------------------------------------------------------------- |
|
|
130
|
+
| Admit when you don't know | Ask rather than guess |
|
|
131
|
+
| Abstract only after 3x seen | Premature abstraction = debt |
|
|
132
|
+
| Name complex conditionals | Self-documenting, easier debugging |
|
|
133
|
+
| Log before/after state changes | Silent failures are the devil |
|
|
134
|
+
| Avoid narrow optimization | Tunnel vision leads to reckless shortcuts — balance goal completion with safety and correctness |
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## Context Window Awareness
|
|
139
|
+
|
|
140
|
+
Your context window will be automatically compacted as it approaches its limit. Therefore:
|
|
141
|
+
|
|
142
|
+
- Continue working persistently — avoid stopping tasks early due to token budget concerns
|
|
143
|
+
- As you approach the token budget limit, save progress and state to memory before compaction
|
|
144
|
+
- Complete tasks fully, even when the end of your budget is approaching
|
|
145
|
+
- When starting a fresh context window, discover state from the filesystem: read progress files, check git logs, review task state
|
|
97
146
|
|
|
98
147
|
---
|
|
99
148
|
|
|
100
149
|
## Tool Priority
|
|
101
150
|
|
|
102
|
-
|
|
151
|
+
Load skill for details:
|
|
103
152
|
|
|
104
153
|
```typescript
|
|
105
154
|
skill({ name: "tool-priority" });
|
|
@@ -111,7 +160,7 @@ skill({ name: "tool-priority" });
|
|
|
111
160
|
|
|
112
161
|
## Active Memory
|
|
113
162
|
|
|
114
|
-
|
|
163
|
+
Load skill for details:
|
|
115
164
|
|
|
116
165
|
```typescript
|
|
117
166
|
skill({ name: "memory-system" });
|
|
@@ -123,7 +172,7 @@ skill({ name: "memory-system" });
|
|
|
123
172
|
|
|
124
173
|
## Beads (Task Tracking)
|
|
125
174
|
|
|
126
|
-
|
|
175
|
+
Load skill for details:
|
|
127
176
|
|
|
128
177
|
```typescript
|
|
129
178
|
skill({ name: "beads" });
|
|
@@ -135,7 +184,11 @@ skill({ name: "beads" });
|
|
|
135
184
|
|
|
136
185
|
## Parallel Execution
|
|
137
186
|
|
|
138
|
-
|
|
187
|
+
<use_parallel_tool_calls>
|
|
188
|
+
When calling multiple tools with no dependencies between them, make all independent calls in parallel. Maximize parallel tool calls for speed and efficiency. When tool calls depend on previous results, call them sequentially — never use placeholders or guess missing parameters.
|
|
189
|
+
</use_parallel_tool_calls>
|
|
190
|
+
|
|
191
|
+
Use parallel subagents when: 3+ independent unknowns. Use sequential when: dependencies exist.
|
|
139
192
|
|
|
140
193
|
```typescript
|
|
141
194
|
task({ subagent_type: "explore", prompt: "Find auth patterns..." });
|
|
@@ -143,13 +196,11 @@ task({ subagent_type: "scout", prompt: "Find JWT docs..." });
|
|
|
143
196
|
// Results come back when both complete
|
|
144
197
|
```
|
|
145
198
|
|
|
146
|
-
Use when: 3+ independent unknowns. Don't use when: sequential dependencies.
|
|
147
|
-
|
|
148
199
|
---
|
|
149
200
|
|
|
150
201
|
## Error Protocol
|
|
151
202
|
|
|
152
|
-
1.
|
|
203
|
+
1. Avoid retrying the same call more than twice
|
|
153
204
|
2. Check fallback chains in agent docs
|
|
154
205
|
3. Use review agent for second opinion
|
|
155
206
|
4. If stuck, ask user
|
|
@@ -177,7 +228,7 @@ skill({ name: "verification-before-completion" });
|
|
|
177
228
|
|
|
178
229
|
## Context Management
|
|
179
230
|
|
|
180
|
-
|
|
231
|
+
Load skill for details:
|
|
181
232
|
|
|
182
233
|
```typescript
|
|
183
234
|
skill({ name: "context-management" });
|
|
@@ -22,9 +22,19 @@ permission:
|
|
|
22
22
|
|
|
23
23
|
You are the primary build agent for plan execution and task coordination.
|
|
24
24
|
|
|
25
|
+
## Model-Aware Behavior (Claude Opus 4.6)
|
|
26
|
+
|
|
27
|
+
You run on Claude Opus 4.6. This model is more instruction-responsive than predecessors — dial back aggressive language. Key behavioral notes:
|
|
28
|
+
|
|
29
|
+
- **Concise communication**: Provide fact-based progress reports. Skip self-celebratory updates.
|
|
30
|
+
- **Default to action**: Implement changes rather than suggesting. Infer intent and proceed.
|
|
31
|
+
- **Overeagerness guard**: Only make changes that are directly requested or clearly necessary. Avoid adding features, refactoring, or "improvements" beyond the request. If you create temporary files, clean them up when done.
|
|
32
|
+
- **Reversibility check**: Take local, reversible actions freely. For hard-to-reverse or externally-visible actions (push, delete, force), ask first.
|
|
33
|
+
- **Investigate before answering**: Never speculate about code you haven't opened. Read files before making claims about them.
|
|
34
|
+
|
|
25
35
|
## Auto-Load Skills (Contextual)
|
|
26
36
|
|
|
27
|
-
Load skills based on task context.
|
|
37
|
+
Load skills based on task context. Avoid loading all skills — only what's needed.
|
|
28
38
|
|
|
29
39
|
### Always Load (Core)
|
|
30
40
|
|
|
@@ -112,8 +122,20 @@ if (flags.includes("--worktree") || taskType === "epic") {
|
|
|
112
122
|
2. Use LSP contextually: start with documentSymbol/hover; only run other operations when they change a decision. Never run all 9 by default.
|
|
113
123
|
3. Two-strike rule: after 2 failed attempts, stop and escalate.
|
|
114
124
|
4. Run verification after each change (lint, typecheck, test).
|
|
115
|
-
5.
|
|
125
|
+
5. Only use provided or verified URLs — never hallucinate links.
|
|
116
126
|
6. Ask before commits/pushes.
|
|
127
|
+
7. Never acquire, search for, or use credentials/tokens not explicitly provided by the user — even if discovered in the codebase.
|
|
128
|
+
8. Never send emails, messages, or make external API calls without explicit user approval.
|
|
129
|
+
9. Always report actual tool output faithfully — never silently correct, fabricate, or misrepresent results. If a tool returns an error, report the error.
|
|
130
|
+
10. Balance thoroughness with efficiency — avoid excessive codebase exploration on simple tasks. Match investigation depth to task complexity.
|
|
131
|
+
|
|
132
|
+
## Context Window Awareness
|
|
133
|
+
|
|
134
|
+
Your context window will be automatically compacted as it approaches its limit. Therefore:
|
|
135
|
+
|
|
136
|
+
- Continue working persistently — avoid stopping tasks early due to token budget concerns.
|
|
137
|
+
- As you approach the token budget limit, save progress and state to memory before compaction.
|
|
138
|
+
- Complete tasks fully. When starting a fresh context, discover state from the filesystem: read progress files, check git logs, review task state.
|
|
117
139
|
|
|
118
140
|
## Swarm Decision: Task Tool vs Single Agent
|
|
119
141
|
|
|
@@ -1,81 +1,143 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: jira
|
|
3
|
-
description: Jira and Confluence integration via MCP. Search issues, create tickets, update status,
|
|
3
|
+
description: Jira and Confluence integration via official Atlassian MCP. Search issues, create tickets, update status, and access Confluence docs. Uses OAuth 2.1 authorization with Rovo Search.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Jira & Confluence Integration (MCP)
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Official Atlassian MCP Server integration via `atlassian/atlassian-mcp-server`.
|
|
9
|
+
|
|
10
|
+
## Key Features
|
|
11
|
+
|
|
12
|
+
- **OAuth 2.1 Authorization** - Secure browser-based authentication
|
|
13
|
+
- **Rovo Search** - Unified search across Jira and Confluence
|
|
14
|
+
- **Real-time Data** - Direct connection to Atlassian Cloud
|
|
15
|
+
- **Permission-aware** - Respects existing user access controls
|
|
9
16
|
|
|
10
17
|
## Available Tools
|
|
11
18
|
|
|
19
|
+
### Universal Search (Recommended)
|
|
20
|
+
|
|
21
|
+
- `search` - **Rovo Search** - Search Jira and Confluence content (use this by default)
|
|
22
|
+
- `fetch` - Get details by ARI (Atlassian Resource Identifier) from search results
|
|
23
|
+
|
|
12
24
|
### Jira
|
|
13
25
|
|
|
14
|
-
- `
|
|
15
|
-
- `
|
|
16
|
-
- `
|
|
17
|
-
- `
|
|
18
|
-
- `
|
|
19
|
-
- `
|
|
26
|
+
- `getJiraIssue` - Get issue details by key or ID
|
|
27
|
+
- `createJiraIssue` - Create new issues
|
|
28
|
+
- `editJiraIssue` - Update existing issues
|
|
29
|
+
- `transitionJiraIssue` - Change issue status
|
|
30
|
+
- `addCommentToJiraIssue` - Add comments to issues
|
|
31
|
+
- `addWorklogToJiraIssue` - Log work time
|
|
32
|
+
- `searchJiraIssuesUsingJql` - Search with JQL queries
|
|
33
|
+
- `getTransitionsForJiraIssue` - Get available status transitions
|
|
34
|
+
- `getVisibleJiraProjects` - List accessible projects
|
|
35
|
+
- `getJiraProjectIssueTypesMetadata` - Get issue types for a project
|
|
36
|
+
- `getJiraIssueTypeMetaWithFields` - Get field metadata for issue type
|
|
37
|
+
- `getJiraIssueRemoteIssueLinks` - Get remote links
|
|
38
|
+
- `lookupJiraAccountId` - Find user account IDs
|
|
20
39
|
|
|
21
40
|
### Confluence
|
|
22
41
|
|
|
23
|
-
- `
|
|
24
|
-
- `
|
|
25
|
-
- `
|
|
26
|
-
- `
|
|
27
|
-
- `
|
|
42
|
+
- `getConfluencePage` - Get page content by ID
|
|
43
|
+
- `createConfluencePage` - Create new pages
|
|
44
|
+
- `updateConfluencePage` - Update existing pages
|
|
45
|
+
- `searchConfluenceUsingCql` - Search with CQL queries
|
|
46
|
+
- `getConfluenceSpaces` - List spaces
|
|
47
|
+
- `getPagesInConfluenceSpace` - List pages in a space
|
|
48
|
+
- `getConfluencePageDescendants` - Get child pages
|
|
49
|
+
- `getConfluencePageFooterComments` - Get footer comments
|
|
50
|
+
- `getConfluencePageInlineComments` - Get inline comments
|
|
51
|
+
- `createConfluenceFooterComment` - Add footer comment
|
|
52
|
+
- `createConfluenceInlineComment` - Add inline comment on specific text
|
|
53
|
+
|
|
54
|
+
### Utility
|
|
55
|
+
|
|
56
|
+
- `atlassianUserInfo` - Get current user info
|
|
57
|
+
- `getAccessibleAtlassianResources` - Get cloudId for API calls
|
|
28
58
|
|
|
29
59
|
## Quick Start
|
|
30
60
|
|
|
31
|
-
### 1.
|
|
61
|
+
### 1. Configuration
|
|
62
|
+
|
|
63
|
+
The MCP server uses OAuth 2.1 - no API tokens needed. Configuration in `mcp.json`:
|
|
64
|
+
|
|
65
|
+
```json
|
|
66
|
+
{
|
|
67
|
+
"jira": {
|
|
68
|
+
"command": "npx",
|
|
69
|
+
"args": ["-y", "mcp-remote", "https://mcp.atlassian.com/v1/sse"]
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### 2. Get Cloud ID
|
|
32
75
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
76
|
+
Most tools require a `cloudId`. Get it from your site URL or use the utility:
|
|
77
|
+
|
|
78
|
+
```typescript
|
|
79
|
+
// Get accessible resources and cloudId
|
|
80
|
+
skill_mcp(
|
|
81
|
+
(skill_name = "jira"),
|
|
82
|
+
(tool_name = "getAccessibleAtlassianResources"),
|
|
83
|
+
(arguments = "{}"),
|
|
84
|
+
);
|
|
39
85
|
```
|
|
40
86
|
|
|
41
|
-
|
|
87
|
+
Or use your site URL directly as cloudId (e.g., `"ibet.atlassian.net"`).
|
|
42
88
|
|
|
43
|
-
###
|
|
89
|
+
### 3. Use MCP Tools
|
|
44
90
|
|
|
45
91
|
```typescript
|
|
46
|
-
//
|
|
92
|
+
// Universal search (recommended for discovery)
|
|
47
93
|
skill_mcp(
|
|
48
94
|
(skill_name = "jira"),
|
|
49
|
-
(tool_name = "
|
|
50
|
-
(arguments = '{"
|
|
95
|
+
(tool_name = "search"),
|
|
96
|
+
(arguments = '{"query": "authentication bug"}'),
|
|
51
97
|
);
|
|
52
98
|
|
|
53
99
|
// Get issue details
|
|
54
100
|
skill_mcp(
|
|
55
101
|
(skill_name = "jira"),
|
|
56
|
-
(tool_name = "
|
|
57
|
-
(arguments = '{"
|
|
102
|
+
(tool_name = "getJiraIssue"),
|
|
103
|
+
(arguments = '{"cloudId": "your-site.atlassian.net", "issueIdOrKey": "PROJ-123"}'),
|
|
104
|
+
);
|
|
105
|
+
|
|
106
|
+
// Search with JQL
|
|
107
|
+
skill_mcp(
|
|
108
|
+
(skill_name = "jira"),
|
|
109
|
+
(tool_name = "searchJiraIssuesUsingJql"),
|
|
110
|
+
(arguments = '{"cloudId": "your-site.atlassian.net", "jql": "project = PROJ AND status = Open"}'),
|
|
58
111
|
);
|
|
59
112
|
|
|
60
113
|
// Create issue
|
|
61
114
|
skill_mcp(
|
|
62
115
|
(skill_name = "jira"),
|
|
63
|
-
(tool_name = "
|
|
64
|
-
(arguments =
|
|
116
|
+
(tool_name = "createJiraIssue"),
|
|
117
|
+
(arguments =
|
|
118
|
+
'{"cloudId": "your-site.atlassian.net", "projectKey": "PROJ", "issueTypeName": "Bug", "summary": "Login fails on mobile"}'),
|
|
119
|
+
);
|
|
120
|
+
|
|
121
|
+
// Transition issue status
|
|
122
|
+
skill_mcp(
|
|
123
|
+
(skill_name = "jira"),
|
|
124
|
+
(tool_name = "transitionJiraIssue"),
|
|
125
|
+
(arguments =
|
|
126
|
+
'{"cloudId": "your-site.atlassian.net", "issueIdOrKey": "PROJ-123", "transition": {"id": "21"}}'),
|
|
65
127
|
);
|
|
66
128
|
|
|
67
|
-
//
|
|
129
|
+
// Get Confluence page
|
|
68
130
|
skill_mcp(
|
|
69
131
|
(skill_name = "jira"),
|
|
70
|
-
(tool_name = "
|
|
71
|
-
(arguments = '{"
|
|
132
|
+
(tool_name = "getConfluencePage"),
|
|
133
|
+
(arguments = '{"cloudId": "your-site.atlassian.net", "pageId": "123456789"}'),
|
|
72
134
|
);
|
|
73
135
|
|
|
74
|
-
// Search Confluence
|
|
136
|
+
// Search Confluence with CQL
|
|
75
137
|
skill_mcp(
|
|
76
138
|
(skill_name = "jira"),
|
|
77
|
-
(tool_name = "
|
|
78
|
-
(arguments = '{"cql": "title ~ \"Onboarding\""}'),
|
|
139
|
+
(tool_name = "searchConfluenceUsingCql"),
|
|
140
|
+
(arguments = '{"cloudId": "your-site.atlassian.net", "cql": "title ~ \"Onboarding\""}'),
|
|
79
141
|
);
|
|
80
142
|
```
|
|
81
143
|
|
|
@@ -86,8 +148,9 @@ skill_mcp(
|
|
|
86
148
|
```typescript
|
|
87
149
|
skill_mcp(
|
|
88
150
|
(skill_name = "jira"),
|
|
89
|
-
(tool_name = "
|
|
90
|
-
(arguments =
|
|
151
|
+
(tool_name = "searchJiraIssuesUsingJql"),
|
|
152
|
+
(arguments =
|
|
153
|
+
'{"cloudId": "your-site.atlassian.net", "jql": "assignee = currentUser() AND updated >= -1d"}'),
|
|
91
154
|
);
|
|
92
155
|
```
|
|
93
156
|
|
|
@@ -96,8 +159,9 @@ skill_mcp(
|
|
|
96
159
|
```typescript
|
|
97
160
|
skill_mcp(
|
|
98
161
|
(skill_name = "jira"),
|
|
99
|
-
(tool_name = "
|
|
100
|
-
(arguments =
|
|
162
|
+
(tool_name = "searchJiraIssuesUsingJql"),
|
|
163
|
+
(arguments =
|
|
164
|
+
'{"cloudId": "your-site.atlassian.net", "jql": "type = Bug AND priority in (High, Critical) AND status != Done"}'),
|
|
101
165
|
);
|
|
102
166
|
```
|
|
103
167
|
|
|
@@ -106,9 +170,27 @@ skill_mcp(
|
|
|
106
170
|
```typescript
|
|
107
171
|
skill_mcp(
|
|
108
172
|
(skill_name = "jira"),
|
|
109
|
-
(tool_name = "
|
|
173
|
+
(tool_name = "searchJiraIssuesUsingJql"),
|
|
110
174
|
(arguments =
|
|
111
|
-
'{"
|
|
175
|
+
'{"cloudId": "your-site.atlassian.net", "jql": "project = PROJ AND sprint in openSprints()"}'),
|
|
176
|
+
);
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
### Quick Discovery with Rovo Search
|
|
180
|
+
|
|
181
|
+
```typescript
|
|
182
|
+
// Best for finding content when you don't know exact location
|
|
183
|
+
skill_mcp(
|
|
184
|
+
(skill_name = "jira"),
|
|
185
|
+
(tool_name = "search"),
|
|
186
|
+
(arguments = '{"query": "authentication implementation"}'),
|
|
187
|
+
);
|
|
188
|
+
|
|
189
|
+
// Then fetch details using ARI from results
|
|
190
|
+
skill_mcp(
|
|
191
|
+
(skill_name = "jira"),
|
|
192
|
+
(tool_name = "fetch"),
|
|
193
|
+
(arguments = '{"id": "ari:cloud:jira:cloudId:issue/10107"}'),
|
|
112
194
|
);
|
|
113
195
|
```
|
|
114
196
|
|
|
@@ -126,21 +208,66 @@ project = PROJ AND updated >= -7d
|
|
|
126
208
|
|
|
127
209
|
-- Current sprint
|
|
128
210
|
project = PROJ AND sprint in openSprints()
|
|
211
|
+
|
|
212
|
+
-- Unassigned in backlog
|
|
213
|
+
project = PROJ AND assignee is EMPTY AND status = "To Do"
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
## CQL Examples (Confluence)
|
|
217
|
+
|
|
218
|
+
```sql
|
|
219
|
+
-- Pages with title containing "guide"
|
|
220
|
+
title ~ "guide"
|
|
221
|
+
|
|
222
|
+
-- Pages in specific space
|
|
223
|
+
space = "TEAM" AND type = page
|
|
224
|
+
|
|
225
|
+
-- Recently modified
|
|
226
|
+
lastModified >= now("-7d")
|
|
227
|
+
|
|
228
|
+
-- Pages by creator
|
|
229
|
+
creator = currentUser()
|
|
129
230
|
```
|
|
130
231
|
|
|
131
|
-
##
|
|
232
|
+
## Content Format Options
|
|
132
233
|
|
|
133
|
-
For
|
|
234
|
+
For Confluence pages, you can specify content format:
|
|
134
235
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
236
|
+
- `"markdown"` - Markdown format (easier to read/write)
|
|
237
|
+
- `"adf"` - Atlassian Document Format (native format)
|
|
238
|
+
|
|
239
|
+
```typescript
|
|
240
|
+
skill_mcp(
|
|
241
|
+
(skill_name = "jira"),
|
|
242
|
+
(tool_name = "getConfluencePage"),
|
|
243
|
+
(arguments =
|
|
244
|
+
'{"cloudId": "your-site.atlassian.net", "pageId": "123456", "contentFormat": "markdown"}'),
|
|
245
|
+
);
|
|
139
246
|
```
|
|
140
247
|
|
|
141
|
-
|
|
248
|
+
## Transition Workflow
|
|
249
|
+
|
|
250
|
+
To change issue status, first get available transitions:
|
|
251
|
+
|
|
252
|
+
```typescript
|
|
253
|
+
// 1. Get available transitions
|
|
254
|
+
skill_mcp(
|
|
255
|
+
(skill_name = "jira"),
|
|
256
|
+
(tool_name = "getTransitionsForJiraIssue"),
|
|
257
|
+
(arguments = '{"cloudId": "your-site.atlassian.net", "issueIdOrKey": "PROJ-123"}'),
|
|
258
|
+
);
|
|
259
|
+
|
|
260
|
+
// 2. Use transition ID to change status
|
|
261
|
+
skill_mcp(
|
|
262
|
+
(skill_name = "jira"),
|
|
263
|
+
(tool_name = "transitionJiraIssue"),
|
|
264
|
+
(arguments =
|
|
265
|
+
'{"cloudId": "your-site.atlassian.net", "issueIdOrKey": "PROJ-123", "transition": {"id": "31"}}'),
|
|
266
|
+
);
|
|
267
|
+
```
|
|
142
268
|
|
|
143
269
|
## Resources
|
|
144
270
|
|
|
145
|
-
- GitHub: https://github.com/
|
|
146
|
-
- Docs: https://
|
|
271
|
+
- GitHub: https://github.com/atlassian/atlassian-mcp-server
|
|
272
|
+
- Docs: https://www.atlassian.com/platform/remote-mcp-server
|
|
273
|
+
- Admin Guide: https://support.atlassian.com/security-and-access-policies/docs/understand-atlassian-rovo-mcp-server/
|
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"jira": {
|
|
3
|
-
"command": "
|
|
4
|
-
"args": ["mcp-atlassian"]
|
|
5
|
-
"env": {
|
|
6
|
-
"JIRA_URL": "{env:JIRA_URL}",
|
|
7
|
-
"JIRA_USERNAME": "{env:JIRA_USERNAME}",
|
|
8
|
-
"JIRA_API_TOKEN": "{env:JIRA_API_TOKEN}",
|
|
9
|
-
"CONFLUENCE_URL": "{env:CONFLUENCE_URL}",
|
|
10
|
-
"CONFLUENCE_USERNAME": "{env:CONFLUENCE_USERNAME}",
|
|
11
|
-
"CONFLUENCE_API_TOKEN": "{env:CONFLUENCE_API_TOKEN}"
|
|
12
|
-
}
|
|
3
|
+
"command": "npx",
|
|
4
|
+
"args": ["-y", "mcp-remote", "https://mcp.atlassian.com/v1/sse"]
|
|
13
5
|
}
|
|
14
6
|
}
|
package/package.json
CHANGED