Atlassian intelligence →
Association is based on retained identity fields; it does not by itself prove first-party publication.
Local MCP helpers for Jira Data Center advanced ops used from Cursor. It enables reading Tempo Structure boards via Structure REST API
Detailed security scan evidence is not public for this MCP yet. Public identity, registry metadata, and independently observed protocol inventory remain available.
Installation and connection instructions are shown only when supported by retained package, repository, or endpoint evidence.
No verified installation or connection method is available in the retained evidence yet.
| Canonical slug | jira-dc-advops-mcp-4af4eda2 | Deployment | Local Only |
|---|---|---|---|
| Canonical package | — | Repository | iljasorokin/jira-dc-advops-mcp |
| First published | — | Latest release | — |
| Last security verification | — | Classification confidence | 90% |
| Publication | Draft | Official distribution | Not verified |
| Channel | Identifier | Current version | Versions | Source |
|---|---|---|---|---|
| source_git | iljasorokin/jira-dc-advops-mcp | 9de61458828dba5ae5ece587b9b8f2688745f749 | 1 | Repository |
| Package | Version | Published / observed | Inventory | Security scan |
|---|---|---|---|---|
| source_gitiljasorokin/jira-dc-advops-mcp | 9de61458828dba5ae5ece587b9b8f2688745f749Current | Aug 25, 2026 | 15 toolsSucceeded · 0 resources · 0 prompts | Evidence restricted |
Independently scan the exact version your agents use, receive alerts when its risk changes, and investigate every finding with retained version evidence.
No public current-version evidence is available yet.
| Tool | Category | Annotations | Risk |
|---|---|---|---|
agile_getBoardGet Agile board metadata by id (name, type). For columns use agile_getBoardConfiguration; for daily column dump use agile_getBoardSnapshot.Input schema{
"type": "object",
"properties": {
"boardId": {
"type": "number",
"description": "Board id from RapidBoard.jspa?rapidView=…"
}
},
"required": [
"boardId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Get Agile board",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true
} | — | Read onlyNon-destructiveIdempotentOpen world | — |
agile_getBoardConfigurationGet board column configuration: ordered columns, status→column map, kanban subQuery, filter. Maps issue status ids to board column names (placement on the kanban).Input schema{
"type": "object",
"properties": {
"boardId": {
"type": "number",
"description": "Board id"
},
"resolveStatusNames": {
"type": "boolean",
"description": "Resolve status id→name via /rest/api/2/status (default true)"
}
},
"required": [
"boardId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Get Agile board configuration",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true
} | — | Read onlyNon-destructiveIdempotentOpen world | — |
agile_getBoardIssuesList 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.Input schema{
"type": "object",
"properties": {
"boardId": {
"type": "number",
"description": "Board id"
},
"jql": {
"type": "string",
"description": "Extra JQL (ANDed), e.g. assignee = currentUser() AND resolution = EMPTY"
},
"fields": {
"type": "array",
"items": {
"type": "string"
},
"description": "Issue fields (default: summary,status,assignee,issuetype,priority,updated,created,resolution)"
},
"startAt": {
"type": "number",
"description": "Pagination offset when fetchAll=false"
},
"maxResults": {
"type": "number",
"description": "Page size when fetchAll=false (default 50)"
},
"fetchAll": {
"type": "boolean",
"description": "Fetch pages until maxIssues (default false)"
},
"maxIssues": {
"type": "number",
"description": "Safety cap when fetchAll=true (default 500)"
},
"applyKanbanSubQuery": {
"type": "boolean",
"description": "AND board subQuery for kanban visibility (default true)"
},
"compact": {
"type": "boolean",
"description": "Compact issue objects with column (default true)"
}
},
"required": [
"boardId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Get Agile board issues",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true
} | — | Read onlyNon-destructiveIdempotentOpen world | — |
agile_getBoardSnapshotDaily-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.Input schema{
"type": "object",
"properties": {
"boardId": {
"type": "number",
"description": "Board id"
},
"jql": {
"type": "string",
"description": "Extra JQL (ANDed), e.g. assignee = someone AND resolution = EMPTY"
},
"fields": {
"type": "array",
"items": {
"type": "string"
},
"description": "Issue fields to load"
},
"maxIssues": {
"type": "number",
"description": "Safety cap (default 500)"
},
"applyKanbanSubQuery": {
"type": "boolean",
"description": "AND board subQuery (default true)"
},
"excludeColumns": {
"type": "array",
"items": {
"type": "string"
},
"description": "Column names to drop (case-insensitive), e.g. [\"Done\"]"
},
"includeBacklog": {
"type": "boolean",
"description": "Include first kanban \"Backlog\" column (default false)"
},
"omitEmptyColumns": {
"type": "boolean",
"description": "Hide columns with zero issues after filters (default true)"
},
"includeUnmapped": {
"type": "boolean",
"description": "Include issues whose status is not mapped to any column (default true)"
}
},
"required": [
"boardId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Get Agile board column snapshot",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true
} | — | Read onlyNon-destructiveIdempotentOpen world | — |
agile_getBoardSnapshotToFileSame as agile_getBoardSnapshot but writes JSON to a local file (large boards / daily dumps). Returns path + counts without stuffing full payload into chat.Input schema{
"type": "object",
"properties": {
"boardId": {
"type": "number",
"description": "Board id"
},
"filePath": {
"type": "string",
"description": "Absolute path to write snapshot JSON"
},
"jql": {
"type": "string"
},
"fields": {
"type": "array",
"items": {
"type": "string"
}
},
"maxIssues": {
"type": "number"
},
"applyKanbanSubQuery": {
"type": "boolean"
},
"excludeColumns": {
"type": "array",
"items": {
"type": "string"
}
},
"includeBacklog": {
"type": "boolean"
},
"omitEmptyColumns": {
"type": "boolean"
},
"includeUnmapped": {
"type": "boolean"
}
},
"required": [
"boardId",
"filePath"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Dump Agile board snapshot to file",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true
} | — | Read onlyNon-destructiveIdempotentOpen world | — |
agile_listBoardsList 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.Input schema{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name filter (API substring match)"
},
"type": {
"type": "string",
"enum": [
"kanban",
"scrum",
"simple"
],
"description": "Board type filter"
},
"projectKeyOrId": {
"type": [
"string",
"number"
],
"description": "Limit to boards for a project key or id"
},
"startAt": {
"type": "number",
"description": "Pagination offset (default 0)"
},
"maxResults": {
"type": "number",
"description": "Page size (default 50)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "List Agile boards",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true
} | — | Read onlyNon-destructiveIdempotentOpen world | — |
agile_locateIssuesLocate 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?”.Input schema{
"type": "object",
"properties": {
"boardId": {
"type": "number",
"description": "Board id"
},
"issueKeys": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"description": "Issue keys to locate"
},
"applyBoardFilter": {
"type": "boolean",
"description": "If true, only return issues that match the board filter (+ subQuery); missing keys → onBoard:false. Default false: map column by status even if filtered out of the board."
}
},
"required": [
"boardId",
"issueKeys"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Locate issues on Agile board",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true
} | — | Read onlyNon-destructiveIdempotentOpen world | — |
structure_addIssuesAdd 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.Input schema{
"type": "object",
"properties": {
"structureId": {
"type": "number",
"description": "Structure id"
},
"underRowId": {
"type": "number",
"description": "Parent rowId (folder or issue). Prefer this when known."
},
"folderName": {
"type": "string",
"description": "Folder summary/name (exact, else unique substring). Ambiguous → error."
},
"folderId": {
"type": "number",
"description": "Internal Structure folder item id (from type-folder N in itemRaw 4/N)"
},
"issueKeys": {
"type": "array",
"items": {
"type": "string"
},
"description": "Issue keys to add, e.g. [\"PROJ-1\",\"PROJ-2\"]"
},
"issueIds": {
"type": "array",
"items": {
"type": "number"
},
"description": "Numeric Jira issue ids (alternative/complement to issueKeys)"
},
"afterRowId": {
"type": "number",
"description": "Insert after this sibling rowId under the parent (default: first child)"
},
"beforeRowId": {
"type": "number",
"description": "Insert before this sibling rowId under the parent"
},
"skipIfPresent": {
"type": "boolean",
"description": "Skip issues already direct children of the parent (default true)"
}
},
"required": [
"structureId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Add issues under Structure folder",
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": true
} | — | WritesNon-destructiveNon-idempotentOpen world | — |
structure_getGet Tempo Structure metadata by id (name, description, owner). Does not include hierarchy — use structure_getForest / structure_getBoard.Input schema{
"type": "object",
"properties": {
"structureId": {
"type": "number",
"description": "Structure id from StructureBoard.jspa?s=…"
},
"withOwner": {
"type": "boolean",
"description": "Include owner (default true)"
},
"withPermissions": {
"type": "boolean",
"description": "Include permission rules (default false)"
}
},
"required": [
"structureId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Get Structure metadata",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true
} | — | Read onlyNon-destructiveIdempotentOpen world | — |
structure_getBoardFast path: read a Structure Board as nested tree with key/summary/status/issuetype (forest + values). Use structure_getBoardToFile for large boards.Input schema{
"type": "object",
"properties": {
"structureId": {
"type": "number",
"description": "Structure id"
},
"forestSpec": {
"type": "object",
"additionalProperties": {},
"description": "Raw RestForestSpec; overrides structureId"
},
"attributes": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"format": {
"type": "string"
},
"params": {
"type": "object",
"additionalProperties": {}
}
},
"required": [
"id"
],
"additionalProperties": false
}
]
},
"description": "Override default attributes (key, summary, status, issuetype)"
},
"includeGenerators": {
"type": "boolean",
"description": "Include generator / loop-marker rows (default true)"
},
"flat": {
"type": "boolean",
"description": "If true, return flat rows with values instead of nested tree"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Get Structure Board tree",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true
} | — | Read onlyNon-destructiveIdempotentOpen world | — |
structure_getBoardToFileSame as structure_getBoard but writes JSON to a local file (for large boards). Returns path + meta without stuffing the full tree into chat.Input schema{
"type": "object",
"properties": {
"structureId": {
"type": "number",
"description": "Structure id"
},
"forestSpec": {
"type": "object",
"additionalProperties": {},
"description": "Raw RestForestSpec; overrides structureId"
},
"filePath": {
"type": "string",
"description": "Absolute path to write board JSON"
},
"attributes": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"format": {
"type": "string"
},
"params": {
"type": "object",
"additionalProperties": {}
}
},
"required": [
"id"
],
"additionalProperties": false
}
]
}
},
"includeGenerators": {
"type": "boolean"
},
"flat": {
"type": "boolean"
}
},
"required": [
"filePath"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Dump Structure Board to file",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true
} | — | Read onlyNon-destructiveIdempotentOpen world | — |
structure_getForestRead 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.Input schema{
"type": "object",
"properties": {
"structureId": {
"type": "number",
"description": "Structure id"
},
"forestSpec": {
"type": "object",
"additionalProperties": {},
"description": "Raw RestForestSpec JSON if you need transforms/sQuery; overrides structureId"
},
"includeGenerators": {
"type": "boolean",
"description": "Include generator / loop-marker rows (default true)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Get Structure forest",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true
} | — | Read onlyNon-destructiveIdempotentOpen world | — |
structure_getValuesLoad Structure attribute values for row ids (POST /rest/structure/2.0/value). Get row ids from structure_getForest. Default attributes: key, summary, status, issuetype.Input schema{
"type": "object",
"properties": {
"structureId": {
"type": "number",
"description": "Structure id"
},
"forestSpec": {
"type": "object",
"additionalProperties": {},
"description": "Raw RestForestSpec; overrides structureId"
},
"rows": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 1,
"description": "Row ids from forest formula"
},
"attributes": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"format": {
"type": "string"
},
"params": {
"type": "object",
"additionalProperties": {}
}
},
"required": [
"id"
],
"additionalProperties": false
}
]
},
"description": "Attribute specs; string shorthand = {id, format:\"text\"}"
}
},
"required": [
"rows"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "Get Structure attribute values",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true
} | — | Read onlyNon-destructiveIdempotentOpen world | — |
structure_listList Tempo Structure boards visible to the user (GET /rest/structure/2.0/structure). Optional name substring filter. structureId from StructureBoard.jspa?s=ID.Input schema{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Case-insensitive substring filter on structure name"
},
"withOwner": {
"type": "boolean",
"description": "Include owner (default false)"
},
"withPermissions": {
"type": "boolean",
"description": "Include permission rules (default false)"
},
"archived": {
"type": "boolean",
"description": "Include archived structures (default false)"
},
"limit": {
"type": "number",
"description": "Max structures to return"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "List Structure boards",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true
} | — | Read onlyNon-destructiveIdempotentOpen world | — |
structure_listFoldersList folders in a Tempo Structure (rowId, depth, name/summary, folderId). Use before structure_addIssues to pick underRowId or folderName.Input schema{
"type": "object",
"properties": {
"structureId": {
"type": "number",
"description": "Structure id"
}
},
"required": [
"structureId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Annotations{
"title": "List Structure folders",
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true
} | — | Read onlyNon-destructiveIdempotentOpen world | — |
| Endpoint | Transport | Authentication | Health | Observed |
|---|---|---|---|---|
| No verified remote endpoint is linked. | ||||
No verified package installation command is available in the retained catalog evidence.
jira-dc-advops-mcp Server exposed 15 tools during independent protocol observation, including agile_getBoard, agile_getBoardConfiguration, agile_getBoardIssues, agile_getBoardSnapshot, agile_getBoardSnapshotToFile, agile_listBoards, agile_locateIssues, structure_addIssues, and others.
The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.
These internal links are derived from strong identity fields such as the implementation name, package, repository, vendor, and listing name—not generic description prose.
Association is based on retained identity fields; it does not by itself prove first-party publication.
Curated product and capability guides containing this catalog record.