From 9ea86bd07bbdf70269ab54ed1bd460727631d8e2 Mon Sep 17 00:00:00 2001
From: Aezan <110289332+AezanPathan@users.noreply.github.com>
Date: Sun, 28 Sep 2025 22:25:49 +0530
Subject: [PATCH 1/2] =?UTF-8?q?Added=20HTML=20=E2=86=92=20Markdown=20conve?=
=?UTF-8?q?rsion=20tool?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...McpSamples.MarkdownToHtml.HybridApp.csproj | 1 +
.../Tools/MarkdownToHtmlTool.cs | 29 +++++++++++++++++++
2 files changed, 30 insertions(+)
diff --git a/markdown-to-html/src/McpSamples.MarkdownToHtml.HybridApp/McpSamples.MarkdownToHtml.HybridApp.csproj b/markdown-to-html/src/McpSamples.MarkdownToHtml.HybridApp/McpSamples.MarkdownToHtml.HybridApp.csproj
index 6ae9f848..9950c33e 100644
--- a/markdown-to-html/src/McpSamples.MarkdownToHtml.HybridApp/McpSamples.MarkdownToHtml.HybridApp.csproj
+++ b/markdown-to-html/src/McpSamples.MarkdownToHtml.HybridApp/McpSamples.MarkdownToHtml.HybridApp.csproj
@@ -15,6 +15,7 @@
+
diff --git a/markdown-to-html/src/McpSamples.MarkdownToHtml.HybridApp/Tools/MarkdownToHtmlTool.cs b/markdown-to-html/src/McpSamples.MarkdownToHtml.HybridApp/Tools/MarkdownToHtmlTool.cs
index b2082858..cd67c430 100644
--- a/markdown-to-html/src/McpSamples.MarkdownToHtml.HybridApp/Tools/MarkdownToHtmlTool.cs
+++ b/markdown-to-html/src/McpSamples.MarkdownToHtml.HybridApp/Tools/MarkdownToHtmlTool.cs
@@ -2,6 +2,7 @@
using System.Text.RegularExpressions;
using Markdig;
+using ReverseMarkdown;
using McpSamples.MarkdownToHtml.HybridApp.Configurations;
using McpSamples.MarkdownToHtml.HybridApp.Extensions;
@@ -21,6 +22,13 @@ public interface IMarkdownToHtmlTool
/// The markdown text.
/// The converted HTML text.
Task ConvertAsync(string markdown);
+
+ ///
+ /// Converts HTML text to markdown.
+ ///
+ ///
+ ///
+ Task ReverseConvertAsync(string html);
}
///
@@ -77,4 +85,25 @@ public async Task ConvertAsync([Description("The markdown text")] string
return await Task.FromResult(html);
}
+
+
+ [McpServerTool(Name = "convert_html_to_markdown", Title = "Convert HTML to Markdown")]
+ [Description("Converts HTML text to Markdown.")]
+ public async Task ReverseConvertAsync([Description("The HTML text")] string html)
+ {
+ var converter = new Converter();
+ var markdown = default(string);
+
+ try
+ {
+ markdown = converter.Convert(html);
+ }
+ catch (Exception ex)
+ {
+ logger.LogError(ex, "Error converting HTML to Markdown");
+ markdown = $"Error: {ex.Message}";
+ }
+
+ return await Task.FromResult(markdown);
+ }
}
From 1406625b524f1691cb1300fd4cfd8e7f8445834a Mon Sep 17 00:00:00 2001
From: Aezan <110289332+AezanPathan@users.noreply.github.com>
Date: Sun, 5 Oct 2025 15:57:07 +0530
Subject: [PATCH 2/2] =?UTF-8?q?Move=20HTML=20=E2=86=92=20Markdown=20logic?=
=?UTF-8?q?=20to=20separate=20HtmlToMarkdownTool?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Tools/HtmlToMarkdownTool.cs | 47 +++++++++++++++++++
.../Tools/MarkdownToHtmlTool.cs | 29 ------------
2 files changed, 47 insertions(+), 29 deletions(-)
create mode 100644 markdown-to-html/src/McpSamples.MarkdownToHtml.HybridApp/Tools/HtmlToMarkdownTool.cs
diff --git a/markdown-to-html/src/McpSamples.MarkdownToHtml.HybridApp/Tools/HtmlToMarkdownTool.cs b/markdown-to-html/src/McpSamples.MarkdownToHtml.HybridApp/Tools/HtmlToMarkdownTool.cs
new file mode 100644
index 00000000..39443940
--- /dev/null
+++ b/markdown-to-html/src/McpSamples.MarkdownToHtml.HybridApp/Tools/HtmlToMarkdownTool.cs
@@ -0,0 +1,47 @@
+using System.ComponentModel;
+using ReverseMarkdown;
+
+using ModelContextProtocol.Server;
+
+namespace McpSamples.MarkdownToHtml.HybridApp.Tools;
+
+///
+/// This provides interfaces for the HTML to markdown tool.
+///
+public interface IHtmlToMarkdownTool
+{
+ ///
+ /// Converts HTML text to markdown.
+ ///
+ ///
+ ///
+ Task ConvertAsync(string html);
+}
+
+///
+/// This represents the tool entity for converting HTML to markdown.
+///
+///
+[McpServerToolType]
+public class HtmlToMarkdownTool(ILogger logger) : IHtmlToMarkdownTool
+{
+ [McpServerTool(Name = "convert_html_to_markdown", Title = "Convert HTML to Markdown")]
+ [Description("Converts HTML text to Markdown.")]
+ public async Task ConvertAsync([Description("The HTML text")] string html)
+ {
+ var converter = new Converter();
+ var markdown = default(string);
+
+ try
+ {
+ markdown = converter.Convert(html);
+ }
+ catch (Exception ex)
+ {
+ logger.LogError(ex, "Error converting HTML to Markdown");
+ markdown = $"Error: {ex.Message}";
+ }
+
+ return await Task.FromResult(markdown);
+ }
+}
diff --git a/markdown-to-html/src/McpSamples.MarkdownToHtml.HybridApp/Tools/MarkdownToHtmlTool.cs b/markdown-to-html/src/McpSamples.MarkdownToHtml.HybridApp/Tools/MarkdownToHtmlTool.cs
index cd67c430..b2082858 100644
--- a/markdown-to-html/src/McpSamples.MarkdownToHtml.HybridApp/Tools/MarkdownToHtmlTool.cs
+++ b/markdown-to-html/src/McpSamples.MarkdownToHtml.HybridApp/Tools/MarkdownToHtmlTool.cs
@@ -2,7 +2,6 @@
using System.Text.RegularExpressions;
using Markdig;
-using ReverseMarkdown;
using McpSamples.MarkdownToHtml.HybridApp.Configurations;
using McpSamples.MarkdownToHtml.HybridApp.Extensions;
@@ -22,13 +21,6 @@ public interface IMarkdownToHtmlTool
/// The markdown text.
/// The converted HTML text.
Task ConvertAsync(string markdown);
-
- ///
- /// Converts HTML text to markdown.
- ///
- ///
- ///
- Task ReverseConvertAsync(string html);
}
///
@@ -85,25 +77,4 @@ public async Task ConvertAsync([Description("The markdown text")] string
return await Task.FromResult(html);
}
-
-
- [McpServerTool(Name = "convert_html_to_markdown", Title = "Convert HTML to Markdown")]
- [Description("Converts HTML text to Markdown.")]
- public async Task ReverseConvertAsync([Description("The HTML text")] string html)
- {
- var converter = new Converter();
- var markdown = default(string);
-
- try
- {
- markdown = converter.Convert(html);
- }
- catch (Exception ex)
- {
- logger.LogError(ex, "Error converting HTML to Markdown");
- markdown = $"Error: {ex.Message}";
- }
-
- return await Task.FromResult(markdown);
- }
}