Microsoft.Extensions.DataIngestion.MarkItDown
10.3.0-preview.1.26109.11
Prefix Reserved
dotnet add package Microsoft.Extensions.DataIngestion.MarkItDown --version 10.3.0-preview.1.26109.11
NuGet\Install-Package Microsoft.Extensions.DataIngestion.MarkItDown -Version 10.3.0-preview.1.26109.11
<PackageReference Include="Microsoft.Extensions.DataIngestion.MarkItDown" Version="10.3.0-preview.1.26109.11" />
<PackageVersion Include="Microsoft.Extensions.DataIngestion.MarkItDown" Version="10.3.0-preview.1.26109.11" />
<PackageReference Include="Microsoft.Extensions.DataIngestion.MarkItDown" />
paket add Microsoft.Extensions.DataIngestion.MarkItDown --version 10.3.0-preview.1.26109.11
#r "nuget: Microsoft.Extensions.DataIngestion.MarkItDown, 10.3.0-preview.1.26109.11"
#:package Microsoft.Extensions.DataIngestion.MarkItDown@10.3.0-preview.1.26109.11
#addin nuget:?package=Microsoft.Extensions.DataIngestion.MarkItDown&version=10.3.0-preview.1.26109.11&prerelease
#tool nuget:?package=Microsoft.Extensions.DataIngestion.MarkItDown&version=10.3.0-preview.1.26109.11&prerelease
Microsoft.Extensions.DataIngestion.MarkItDown
Provides an implementation of the IngestionDocumentReader class for the MarkItDown utility.
Install the package
From the command-line:
dotnet add package Microsoft.Extensions.DataIngestion.MarkItDown --prerelease
Or directly in the C# project file:
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.DataIngestion.MarkItDown" Version="[CURRENTVERSION]" />
</ItemGroup>
Usage Examples
Creating a MarkItDownReader for Data Ingestion (Local Process)
Use MarkItDownReader to convert documents using the MarkItDown executable installed locally:
using Microsoft.Extensions.DataIngestion;
IngestionDocumentReader reader =
new MarkItDownReader(new FileInfo(@"pathToMarkItDown.exe"), extractImages: true);
using IngestionPipeline<string> pipeline = new(reader, CreateChunker(), CreateWriter());
Creating a MarkItDownMcpReader for Data Ingestion (MCP Server)
Use MarkItDownMcpReader to convert documents using a MarkItDown MCP server:
using Microsoft.Extensions.DataIngestion;
// Connect to a MarkItDown MCP server (e.g., running in Docker)
IngestionDocumentReader reader =
new MarkItDownMcpReader(new Uri("http://localhost:3001/mcp"));
using IngestionPipeline<string> pipeline = new(reader, CreateChunker(), CreateWriter());
The MarkItDown MCP server can be run using Docker:
docker run -p 3001:3001 mcp/markitdown --http --host 0.0.0.0 --port 3001
Or installed via pip:
pip install markitdown-mcp-server
markitdown-mcp --http --host 0.0.0.0 --port 3001
Integrating with Aspire
Aspire can be used for seamless integration with MarkItDown MCP. Sample AppHost logic:
var builder = DistributedApplication.CreateBuilder(args);
var markitdown = builder.AddContainer("markitdown", "mcp/markitdown")
.WithArgs("--http", "--host", "0.0.0.0", "--port", "3001")
.WithHttpEndpoint(targetPort: 3001, name: "http");
var webApp = builder.AddProject("name");
webApp.WithEnvironment("MARKITDOWN_MCP_URL", markitdown.GetEndpoint("http"));
builder.Build().Run();
Sample Ingestion Service:
string url = $"{Environment.GetEnvironmentVariable("MARKITDOWN_MCP_URL")}/mcp";
IngestionDocumentReader reader = new MarkItDownMcpReader(new Uri(url));
Feedback & Contributing
We welcome feedback and contributions in our GitHub repo.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.6.2
- Markdig.Signed (>= 0.43.0)
- Microsoft.Extensions.AI.Abstractions (>= 10.3.0)
- Microsoft.Extensions.DataIngestion.Abstractions (>= 10.3.0-preview.1.26109.11)
- ModelContextProtocol.Core (>= 0.4.0-preview.3)
-
.NETStandard 2.0
- Markdig.Signed (>= 0.43.0)
- Microsoft.Extensions.AI.Abstractions (>= 10.3.0)
- Microsoft.Extensions.DataIngestion.Abstractions (>= 10.3.0-preview.1.26109.11)
- ModelContextProtocol.Core (>= 0.4.0-preview.3)
-
net10.0
- Markdig.Signed (>= 0.43.0)
- Microsoft.Extensions.AI.Abstractions (>= 10.3.0)
- Microsoft.Extensions.DataIngestion.Abstractions (>= 10.3.0-preview.1.26109.11)
- ModelContextProtocol.Core (>= 0.4.0-preview.3)
-
net8.0
- Markdig.Signed (>= 0.43.0)
- Microsoft.Extensions.AI.Abstractions (>= 10.3.0)
- Microsoft.Extensions.DataIngestion.Abstractions (>= 10.3.0-preview.1.26109.11)
- ModelContextProtocol.Core (>= 0.4.0-preview.3)
-
net9.0
- Markdig.Signed (>= 0.43.0)
- Microsoft.Extensions.AI.Abstractions (>= 10.3.0)
- Microsoft.Extensions.DataIngestion.Abstractions (>= 10.3.0-preview.1.26109.11)
- ModelContextProtocol.Core (>= 0.4.0-preview.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.3.0-preview.1.26109.11 | 598 | 2/10/2026 |
| 10.2.0-preview.1.26063.2 | 475 | 1/13/2026 |
| 10.1.1-preview.1.25612.2 | 334 | 12/12/2025 |
| 10.1.0-preview.1.25608.1 | 421 | 12/9/2025 |
| 10.0.1-preview.1.25571.5 | 813 | 11/21/2025 |
| 10.0.0-preview.1.25560.10 | 483 | 11/11/2025 |
| 10.0.0-preview.1.25559.3 | 256 | 11/11/2025 |