jira-dc-advops-mcp
Provides tools for reading Jira Data Center Structure boards (hierarchy and column values) via the Structure REST API, enabling retrieval of structure metadata, forest data, attribute matrices, and nested board trees.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@jira-dc-advops-mcp show structure board 182"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
jira-dc-advops-mcp
Local MCP helpers for Jira Data Center advanced ops used from Cursor.
Русская документация: README.ru.md.
Capabilities:
Tempo Structure — read / update boards (hierarchy + column values) via
/rest/structure/2.0/*Agile Kanban / Scrum — board columns + issue placement via
/rest/agile/1.0/*(daily standup reports)
Talks to the same proxy/auth as @atlassian-dc-mcp/jira
(local TLS proxy + token from keychain / env). Prefer these tools over
ad-hoc curl to the public Jira hostname.
structureIdfromStructureBoard.jspa?s=<id>boardIdfromRapidBoard.jspa?rapidView=<id>
Auth
Same sources as @atlassian-dc-mcp/jira:
JIRA_HOST(env or~/.atlassian-dc-mcp/jira.env) — typically your local proxy, e.g.https://localhost:8444JIRA_API_TOKEN(env), or macOS Keychain serviceatlassian-dc-mcp/ accountjira-token
Do not commit tokens or *.env files. See SECURITY.md.
Related MCP server: jira-api-mcp-wrapper
Tools — Structure (read)
Tool | When |
| List structures visible to the user ( |
| Structure metadata by id (name, owner, permissions flags) |
| Raw forest ( |
| Attribute matrix for given |
| Fast path: forest + values as nested tree (default attrs) |
| Same as getBoard, dump JSON to a local file (large boards) |
| Folders in a structure ( |
Tools — Structure (write)
Tool | When |
| Add issue(s) under a folder / parent row ( |
Tools — Agile boards (read)
Tool | When |
| Find boards by name / type / project |
| Board metadata (name, type) |
| Columns + status→column map + kanban |
| Issues on a board with |
| Daily path: issues grouped by column |
| Same snapshot → local JSON file |
| Where are these keys on the board? |
Daily standup snapshot
agile_listBoards
name: "Team"
type: kanban
agile_getBoardSnapshot
boardId: 123
jql: "assignee = currentUser() AND resolution = EMPTY"
excludeColumns: ["Done"]
# includeBacklog: false (default) — skip fabricated kanban Backlog columnReturns ordered columns with compact issues (key, summary, status, column, assignee, …).
Column placement = issue status id mapped through board configuration. For kanban, the board subQuery is ANDed by default so the set closer matches what the UI shows.
Locate specific issues
agile_locateIssues
boardId: 123
issueKeys: ["PROJ-1", "PROJ-2"]Add issues under a Structure folder
structure_listFolders
structureId: 123
structure_addIssues
structureId: 123
folderName: "My folder" # or underRowId: <rowId>
issueKeys: ["PROJ-1", "PROJ-2"]
# skipIfPresent: true (default)Uses POST /rest/structure/2.0/forest/update with action: add. Resolves issue keys → numeric ids. Skips issues already direct children of the parent unless skipIfPresent: false.
Fast path for a Structure Board
structure_getBoard
structureId: 123
# optional attributes override; default: key, summary, status, issuetypeReturns nested { rowId, depth, issueId?, itemType?, values, children[] }.
Generators / loop markers are included unless includeGenerators: false.
Forest formula
Structure returns a serialized formula. This MCP parses it into rows:
rowId:depth:itemIdentity where itemIdentity is either an issue id
(14707) or a typed id (5/240 → folder / generator / … via itemTypes).
Cursor config
"jira-dc-advops": {
"command": "node",
"args": ["/path/to/jira-dc-advops-mcp/index.js"],
"env": {
"JIRA_HOST": "https://localhost:8444",
"NODE_TLS_REJECT_UNAUTHORIZED": "0"
}
}After changing index.js / agile.js, reload MCP servers in Cursor so new tools appear.
Notes
Forest write beyond
structure_addIssues(move/remove rows, create folders) is not exposed yet.For issue details beyond board columns (Status Comment, links, …), use
user-jira-dc(jira_getIssue/ JQL).Large boards: prefer
*ToFiletools over stuffing full payloads into chat.Agile tools do not move issues between columns (that is a workflow transition — use
user-jira-dc).
Available Tools
15 toolsagile_getBoardARead-onlyIdempotent
Get Agile board metadata by id (name, type). For columns use agile_getBoardConfiguration; for daily column dump use agile_getBoardSnapshot.
Inputs: boardId (required).
agile_getBoardConfigurationARead-onlyIdempotent
Get board column configuration: ordered columns, status→column map, kanban subQuery, filter. Maps issue status ids to board column names (placement on the kanban).
Inputs: boardId (required), resolveStatusNames.
agile_getBoardIssuesARead-onlyIdempotent
List issues on an Agile board (GET /rest/agile/1.0/board/{id}/issue) with column placement from status→column map. Optional jql is ANDed with the board filter; for kanban, board subQuery is applied by default.
Inputs: boardId (required), jql, fields, compact, +5 more.
agile_getBoardSnapshotARead-onlyIdempotent
Daily-standup helper: issues on a board grouped by kanban/scrum columns (status→column). Pass jql for assignee/team filter. By default skips fabricated kanban Backlog column; use excludeColumns for Done etc. Prefer agile_getBoardSnapshotToFile for large dumps.
Inputs: boardId (required), jql, fields, maxIssues, +5 more.
agile_getBoardSnapshotToFileARead-onlyIdempotent
Same as agile_getBoardSnapshot but writes JSON to a local file (large boards / daily dumps). Returns path + counts without stuffing full payload into chat.
Inputs: boardId (required), filePath (required), jql, fields, +6 more.
agile_listBoardsARead-onlyIdempotent
List Jira Software boards (GET /rest/agile/1.0/board). Filter by name substring, type (kanban|scrum|simple), or projectKeyOrId. boardId from RapidBoard.jspa?rapidView=ID.
Inputs: name, type, startAt, maxResults, +1 more.
agile_locateIssuesARead-onlyIdempotent
Locate issue keys on a board: map each issue status → column name (and whether it matches the board filter/subQuery). Useful for “where is PROJ-1 on the kanban?”.
Inputs: boardId (required), issueKeys (required), applyBoardFilter.
structure_addIssuesA
Add one or more Jira issues under a Structure folder (or any parent row). POST /rest/structure/2.0/forest/update action=add. Identify parent via underRowId, folderName, or folderId. Pass issueKeys and/or issueIds. Skips issues already under that parent unless skipIfPresent=false.
Inputs: structureId (required), folderId, issueIds, issueKeys, +5 more.
structure_getARead-onlyIdempotent
Get Tempo Structure metadata by id (name, description, owner). Does not include hierarchy — use structure_getForest / structure_getBoard.
Inputs: structureId (required), withOwner, withPermissions.
structure_getBoardARead-onlyIdempotent
Fast path: read a Structure Board as nested tree with key/summary/status/issuetype (forest + values). Use structure_getBoardToFile for large boards.
Inputs: flat, attributes, forestSpec, structureId, +1 more.
structure_getBoardToFileARead-onlyIdempotent
Same as structure_getBoard but writes JSON to a local file (for large boards). Returns path + meta without stuffing the full tree into chat.
Inputs: filePath (required), flat, attributes, forestSpec, +2 more.
structure_getForestARead-onlyIdempotent
Read Structure forest (hierarchy) via POST /rest/structure/2.0/forest/latest. Returns formula + parsed flat rows (rowId, depth, issueId / itemType). Prefer structure_getBoard for keys/summaries.
Inputs: forestSpec, structureId, includeGenerators.
structure_getValuesARead-onlyIdempotent
Load Structure attribute values for row ids (POST /rest/structure/2.0/value). Get row ids from structure_getForest. Default attributes: key, summary, status, issuetype.
Inputs: rows (required), attributes, forestSpec, structureId.
structure_listARead-onlyIdempotent
List Tempo Structure boards visible to the user (GET /rest/structure/2.0/structure). Optional name substring filter. structureId from StructureBoard.jspa?s=ID.
Inputs: name, limit, archived, withOwner, +1 more.
structure_listFoldersARead-onlyIdempotent
List folders in a Tempo Structure (rowId, depth, name/summary, folderId). Use before structure_addIssues to pick underRowId or folderName.
Inputs: structureId (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 15 tools
Tools are mostly distinct, but structure_getBoard overlaps with structure_getForest + structure_getValues, and agile_getBoardSnapshot is similar to agile_getBoardIssues. Descriptions clarify the differences well enough to prevent most misselection.
All tools follow a consistent snake_case pattern with domain prefixes (structure_, agile_) and predictable verbs (list, get, add, locate). Compound names like getBoardConfiguration and getSnapshotToFile are uniformly constructed.
15 tools sits at the upper edge of the ideal range but is justified by two coherent subdomains (Tempo Structure and Agile boards). The to-file variants add value for large payloads rather than being redundant.
The core workflows for reading structures and boards are thoroughly covered, including hierarchy, values, snapshots, and column mapping. Missing update/delete operations are acceptable given the server's read-heavy reporting focus, but there is no way to remove issues from a structure.
Maintenance
Related MCP Connectors
Confluence MCP — wraps the Confluence Cloud REST API v2 (OAuth)
Unofficial community ClickUp MCP via personal API token. Not affiliated with ClickUp.
Agile project management over MCP: boards, epics, roadmap, retros, whiteboards, wiki, metrics
Monday.com MCP — wraps the Monday.com GraphQL API (BYO API key)
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceProvides MCP integration for Atlassian Data Center products including Jira, Confluence, and Bitbucket.107MIT
- AlicenseAqualityFmaintenanceAn MCP server that talks directly to Jira Cloud REST API v3 using static credentials and exposes tools for discovering customfield IDs, resolving account IDs, and updating issue fields including ADF JSON.13ISC
- AlicenseAqualityCmaintenanceMCP server for Jira Server/Data Center that enables issue retrieval, JQL search, comment posting, and Tempo worklog queries via the atlassian-python-api.19MIT
- AlicenseNot gradedqualityCmaintenanceEnables headless Jira Cloud automation via MCP: create issues and subtasks, read and JQL-search issues, inspect agile boards and swimlanes, move issues through workflows, and add comments and attachments.1,082 npmMIT