@azure-devops/mcp 2.8.0-nightly.20260706 → 2.8.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.
@@ -474,6 +474,22 @@ function configureTestPlanTools(server, tokenProvider, connectionProvider, userA
474
474
  }
475
475
  });
476
476
  }
477
+ /*
478
+ * Format step content by converting Markdown markers to HTML and wrapping in the ADO rich text
479
+ * envelope. The entire HTML string is then XML-escaped for storage in the parameterizedString
480
+ * element, which is the format Azure DevOps expects for rendered step content.
481
+ */
482
+ function formatStepContent(text) {
483
+ // Convert Markdown markers to HTML tags (** before * and __ before _ to avoid conflicts)
484
+ const htmlContent = text
485
+ .replace(/\*\*(.+?)\*\*/g, "<b>$1</b>")
486
+ .replace(/\*(.+?)\*/g, "<i>$1</i>")
487
+ .replace(/__(.+?)__/g, "<u>$1</u>")
488
+ .replace(/`(.+?)`/g, "<code>$1</code>")
489
+ .replace(/\[([^\]]+)\]\((https?:\/\/[^)]+)\)/g, '<a href="$2">$1</a>');
490
+ // Wrap in ADO rich text envelope and XML-escape the entire HTML string
491
+ return escapeXml(`${htmlContent}`);
492
+ }
477
493
  /*
478
494
  * Helper function to convert steps text to XML format required
479
495
  */
@@ -491,8 +507,8 @@ function convertStepsToXml(steps) {
491
507
  const expectedText = expectedPart || "Verify step completes successfully";
492
508
  xmlSteps += `
493
509
  <step id="${i + 1}" type="ActionStep">
494
- <parameterizedString isformatted="true">${escapeXml(stepText)}</parameterizedString>
495
- <parameterizedString isformatted="true">${escapeXml(expectedText)}</parameterizedString>
510
+ <parameterizedString isformatted="true">${formatStepContent(stepText)}</parameterizedString>
511
+ <parameterizedString isformatted="true">${formatStepContent(expectedText)}</parameterizedString>
496
512
  </step>`;
497
513
  }
498
514
  }
package/dist/version.js CHANGED
@@ -1 +1 @@
1
- export const packageVersion = "2.8.0-nightly.20260706";
1
+ export const packageVersion = "2.8.0";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azure-devops/mcp",
3
- "version": "2.8.0-nightly.20260706",
3
+ "version": "2.8.0",
4
4
  "mcpName": "microsoft.com/azure-devops",
5
5
  "description": "MCP server for interacting with Azure DevOps",
6
6
  "license": "MIT",