windows-management-mcp-server 0.3.0__tar.gz

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.
Files changed (58) hide show
  1. windows_management_mcp_server-0.3.0/.gitattributes +10 -0
  2. windows_management_mcp_server-0.3.0/.github/ISSUE_TEMPLATE/bug_report.md +28 -0
  3. windows_management_mcp_server-0.3.0/.github/ISSUE_TEMPLATE/feature_request.md +15 -0
  4. windows_management_mcp_server-0.3.0/.github/workflows/ci.yml +61 -0
  5. windows_management_mcp_server-0.3.0/.gitignore +31 -0
  6. windows_management_mcp_server-0.3.0/CHANGELOG.md +9 -0
  7. windows_management_mcp_server-0.3.0/CODE_OF_CONDUCT.md +7 -0
  8. windows_management_mcp_server-0.3.0/CONTRIBUTING.md +44 -0
  9. windows_management_mcp_server-0.3.0/ExempleDocsForMCP.md +449 -0
  10. windows_management_mcp_server-0.3.0/ExempleDocsForMCP.pdf +0 -0
  11. windows_management_mcp_server-0.3.0/LICENSE +21 -0
  12. windows_management_mcp_server-0.3.0/PKG-INFO +183 -0
  13. windows_management_mcp_server-0.3.0/README.md +157 -0
  14. windows_management_mcp_server-0.3.0/SECURITY.md +19 -0
  15. windows_management_mcp_server-0.3.0/SUPPORT.md +12 -0
  16. windows_management_mcp_server-0.3.0/docs/DEVELOPMENT.md +53 -0
  17. windows_management_mcp_server-0.3.0/docs/PUBLISHING.md +116 -0
  18. windows_management_mcp_server-0.3.0/docs/REFERENCE_REVIEW.md +42 -0
  19. windows_management_mcp_server-0.3.0/docs/SECURITY_MODEL.md +59 -0
  20. windows_management_mcp_server-0.3.0/docs/TOOLS.md +147 -0
  21. windows_management_mcp_server-0.3.0/pyproject.toml +42 -0
  22. windows_management_mcp_server-0.3.0/server.json +23 -0
  23. windows_management_mcp_server-0.3.0/vscode-extension/package-lock.json +3293 -0
  24. windows_management_mcp_server-0.3.0/vscode-extension/package.json +42 -0
  25. windows_management_mcp_server-0.3.0/vscode-extension/src/extension.ts +82 -0
  26. windows_management_mcp_server-0.3.0/vscode-extension/tsconfig.json +15 -0
  27. windows_management_mcp_server-0.3.0/windows_mcp_server/__init__.py +1 -0
  28. windows_management_mcp_server-0.3.0/windows_mcp_server/registry.py +46 -0
  29. windows_management_mcp_server-0.3.0/windows_mcp_server/server.py +15 -0
  30. windows_management_mcp_server-0.3.0/windows_mcp_server/tools/__init__.py +1 -0
  31. windows_management_mcp_server-0.3.0/windows_mcp_server/tools/advanced_process.py +163 -0
  32. windows_management_mcp_server-0.3.0/windows_mcp_server/tools/developer_environment.py +143 -0
  33. windows_management_mcp_server-0.3.0/windows_mcp_server/tools/disk_health.py +68 -0
  34. windows_management_mcp_server-0.3.0/windows_mcp_server/tools/driver_maintenance.py +67 -0
  35. windows_management_mcp_server-0.3.0/windows_mcp_server/tools/event_diagnostics.py +68 -0
  36. windows_management_mcp_server-0.3.0/windows_mcp_server/tools/execute_powershell.py +26 -0
  37. windows_management_mcp_server-0.3.0/windows_mcp_server/tools/hardware_drivers.py +207 -0
  38. windows_management_mcp_server-0.3.0/windows_mcp_server/tools/manage_network.py +56 -0
  39. windows_management_mcp_server-0.3.0/windows_mcp_server/tools/manage_registry.py +74 -0
  40. windows_management_mcp_server-0.3.0/windows_mcp_server/tools/media_management.py +131 -0
  41. windows_management_mcp_server-0.3.0/windows_mcp_server/tools/network_diagnostics.py +192 -0
  42. windows_management_mcp_server-0.3.0/windows_mcp_server/tools/optimization.py +79 -0
  43. windows_management_mcp_server-0.3.0/windows_mcp_server/tools/peripherals.py +84 -0
  44. windows_management_mcp_server-0.3.0/windows_mcp_server/tools/power_hardware.py +84 -0
  45. windows_management_mcp_server-0.3.0/windows_mcp_server/tools/process_management.py +66 -0
  46. windows_management_mcp_server-0.3.0/windows_mcp_server/tools/restore_update_controls.py +150 -0
  47. windows_management_mcp_server-0.3.0/windows_mcp_server/tools/safe_file_operations.py +518 -0
  48. windows_management_mcp_server-0.3.0/windows_mcp_server/tools/security_updates.py +99 -0
  49. windows_management_mcp_server-0.3.0/windows_mcp_server/tools/services.py +46 -0
  50. windows_management_mcp_server-0.3.0/windows_mcp_server/tools/shell_helpers.py +87 -0
  51. windows_management_mcp_server-0.3.0/windows_mcp_server/tools/software_audit.py +65 -0
  52. windows_management_mcp_server-0.3.0/windows_mcp_server/tools/software_maintenance.py +118 -0
  53. windows_management_mcp_server-0.3.0/windows_mcp_server/tools/startup_tasks.py +143 -0
  54. windows_management_mcp_server-0.3.0/windows_mcp_server/tools/storage_analysis.py +122 -0
  55. windows_management_mcp_server-0.3.0/windows_mcp_server/tools/system_info.py +39 -0
  56. windows_management_mcp_server-0.3.0/windows_mcp_server/tools/task_manager.py +96 -0
  57. windows_management_mcp_server-0.3.0/windows_mcp_server/tools/virtualization.py +71 -0
  58. windows_management_mcp_server-0.3.0/windows_mcp_server/tools/window_management.py +109 -0
@@ -0,0 +1,10 @@
1
+ * text=auto
2
+
3
+ *.py text eol=lf
4
+ *.md text eol=lf
5
+ *.json text eol=lf
6
+ *.toml text eol=lf
7
+ *.yml text eol=lf
8
+ *.yaml text eol=lf
9
+ *.ts text eol=lf
10
+ *.js text eol=lf
@@ -0,0 +1,28 @@
1
+ ---
2
+ name: Bug report
3
+ about: Report a problem with a Windows MCP tool
4
+ title: "[Bug]: "
5
+ labels: bug
6
+ assignees: ""
7
+ ---
8
+
9
+ ## Summary
10
+
11
+ ## Tool
12
+
13
+ ## Environment
14
+
15
+ - Windows version:
16
+ - Python version:
17
+ - MCP client:
18
+ - Administrator terminal: yes/no
19
+
20
+ ## Steps to Reproduce
21
+
22
+ ## Expected Behavior
23
+
24
+ ## Actual Behavior
25
+
26
+ ## Logs or Output
27
+
28
+ Remove secrets, tokens, and private paths before posting.
@@ -0,0 +1,15 @@
1
+ ---
2
+ name: Feature request
3
+ about: Suggest a new Windows management tool or improvement
4
+ title: "[Feature]: "
5
+ labels: enhancement
6
+ assignees: ""
7
+ ---
8
+
9
+ ## Problem
10
+
11
+ ## Proposed Tool or Behavior
12
+
13
+ ## Safety Considerations
14
+
15
+ Should this be read-only, dry-run by default, reversible, or destructive?
@@ -0,0 +1,61 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ pull_request:
8
+ branches:
9
+ - main
10
+ workflow_dispatch:
11
+
12
+ jobs:
13
+ python:
14
+ name: Python package
15
+ runs-on: windows-latest
16
+ defaults:
17
+ run:
18
+ shell: pwsh
19
+ steps:
20
+ - name: Checkout
21
+ uses: actions/checkout@v4
22
+
23
+ - name: Set up Python
24
+ uses: actions/setup-python@v5
25
+ with:
26
+ python-version: "3.11"
27
+
28
+ - name: Install package
29
+ run: |
30
+ python -m pip install --upgrade pip
31
+ pip install -e .
32
+
33
+ - name: Compile Python
34
+ run: python -m compileall windows_mcp_server
35
+
36
+ - name: Count registered tools
37
+ run: |
38
+ python -c "from windows_mcp_server.registry import register_all_tools, registered_tools; Dummy = type('Dummy', (), {'tool': lambda self: (lambda f: f)}); register_all_tools(Dummy()); count = len(registered_tools); print(f'Registered tools: {count}'); assert count == 96, count"
39
+
40
+ vscode-extension:
41
+ name: VS Code extension
42
+ runs-on: windows-latest
43
+ defaults:
44
+ run:
45
+ shell: pwsh
46
+ steps:
47
+ - name: Checkout
48
+ uses: actions/checkout@v4
49
+
50
+ - name: Set up Node
51
+ uses: actions/setup-node@v4
52
+ with:
53
+ node-version: "20"
54
+
55
+ - name: Install dependencies
56
+ working-directory: vscode-extension
57
+ run: npm ci
58
+
59
+ - name: Compile extension
60
+ working-directory: vscode-extension
61
+ run: npm run compile
@@ -0,0 +1,31 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *.pyo
5
+ *.pyd
6
+ .Python
7
+ .venv/
8
+ venv/
9
+ build/
10
+ dist/
11
+ *.egg-info/
12
+
13
+ # Node / VS Code extension
14
+ vscode-extension/node_modules/
15
+ vscode-extension/out/
16
+ vscode-extension/*.vsix
17
+ .vscode-test/
18
+
19
+ # Local tooling
20
+ .env
21
+ .env.*
22
+ !.env.example
23
+ .pytest_cache/
24
+ .mypy_cache/
25
+ .ruff_cache/
26
+
27
+ # OS/editor
28
+ .DS_Store
29
+ Thumbs.db
30
+ .vscode/
31
+ !.vscode/extensions.json
@@ -0,0 +1,9 @@
1
+ # Changelog
2
+
3
+ ## 0.3.0
4
+
5
+ - Expanded the server to 96 Windows management tools.
6
+ - Added storage cleanup reports and safer Recycle Bin deletion workflows.
7
+ - Added GPU, driver, disk health, Windows Update, restore point, WSL, Hyper-V, printer, audio, Bluetooth, firewall, and uninstall maintenance tools.
8
+ - Added VS Code extension wrapper.
9
+ - Added MCP Registry metadata and publishing documentation.
@@ -0,0 +1,7 @@
1
+ # Code of Conduct
2
+
3
+ This project expects respectful, constructive collaboration.
4
+
5
+ Be kind, assume good intent, and focus critique on the work rather than the person. Harassment, threats, hate speech, and sustained disruptive behavior are not acceptable.
6
+
7
+ Maintainers may remove comments, issues, or contributions that violate this standard.
@@ -0,0 +1,44 @@
1
+ # Contributing
2
+
3
+ Thanks for helping improve Windows Management MCP Server.
4
+
5
+ ## Development Workflow
6
+
7
+ 1. Create a virtual environment.
8
+ 2. Install the package in editable mode.
9
+ 3. Make focused changes.
10
+ 4. Run the Python compile check.
11
+ 5. Compile the VS Code extension if extension files changed.
12
+ 6. Update docs when tools or behavior change.
13
+
14
+ ```powershell
15
+ python -m venv venv
16
+ .\venv\Scripts\Activate.ps1
17
+ pip install -e .
18
+ .\venv\Scripts\python.exe -m compileall windows_mcp_server
19
+ ```
20
+
21
+ For the VS Code extension:
22
+
23
+ ```powershell
24
+ cd vscode-extension
25
+ npm install
26
+ npm run compile
27
+ ```
28
+
29
+ ## Tool Safety Guidelines
30
+
31
+ - Prefer read-only report tools first.
32
+ - Add `dry_run` defaults for destructive or broad mutation tools.
33
+ - Clearly document privilege requirements.
34
+ - Avoid permanent deletion when Recycle Bin behavior is possible.
35
+ - Keep PowerShell commands scoped and parameterized.
36
+
37
+ ## Pull Requests
38
+
39
+ Please include:
40
+
41
+ - What changed.
42
+ - Which tools are affected.
43
+ - Verification commands run.
44
+ - Any Administrator privilege requirements.
@@ -0,0 +1,449 @@
1
+ 08/06/2026 03:22
2
+
3
+ MCP Registry | Markitdown - GitHub
4
+
5
+ ~~MCP Registry~~ / Markitdown
6
+
7
+ | | | an
8
+
9
+ ## Markitdown
10
+
11
+ By ~~microsoft~~ - ¥¥ 147387
12
+
13
+ Convert various file formats (PDF, Word, Excel, images, audio) to Markdown.
14
+
15
+ ## MarkltDown
16
+
17
+ ## (J Important
18
+
19
+ MarkltDown performs I/O with the privileges of the current process. Like open() or requests.get(), it will access resources that the process itself can access. Sanitize your inputs in untrusted environments, and call the narrowest convert ~~_*~~ function needed for your use case (e.g., convert ~~_s~~ tream() , Of convert ~~_l~~ ocal() ). See the ~~Security~~ Considerations section of the documentation for more information.
20
+
21
+ MarkltDown is a lightweight Python utility for converting various files to Markdown for use with LLMs and related text analysis pipelines. To this end, it is most comparable to ~~textract,~~ but with a focus on preserving important document structure and content as Markdown (including: headings, lists, tables, links, etc.) While the output is often reasonably presentable and human- ~~fr~~ iendly, it is meant to be consumed by text analysis tools -- and may not be the best option for high ~~-f~~ idelity document conversions for human consumption.
22
+
23
+ MarkltDown currently supports the conversion from:
24
+
25
+ - ° PDF
26
+
27
+ - e PowerPoint
28
+
29
+ - e Word
30
+
31
+ - e Excel
32
+
33
+ - e Images (EXIF metadata and OCR)
34
+
35
+ - e Audio (EXIF metadata and speech transcription)
36
+
37
+ https://github.com/mcp/microsoft/markitdown
38
+
39
+ 1/10
40
+
41
+ 08/06/2026 03:22
42
+
43
+ MCP Registry | Markitdown - GitHub
44
+
45
+ e HTML
46
+
47
+ - e Tex ~~t-~~ based formats (CSV, JSON, XML)
48
+
49
+ - e ZIP files (iterates over contents)
50
+
51
+ - e Youtube URLs
52
+
53
+ - e EPubs
54
+
55
+ e ...and more!
56
+
57
+ ## Why Markdown?
58
+
59
+ Markdown is extremely close to plain text, with minimal markup or formatting, but still provides a way to represent important document structure. Mainstream LLMs, such as OpenAl's GPT ~~-4~~ 0, natively "speak" Markdown, and often incorporate Markdown into their responses unprompted. This suggests that they have been trained on vast amounts of Markdown- ~~f~~ ormatted text, and understand it well. As a side benefit, Markdown conventions are also highly token- ~~e~~ fficient.
60
+
61
+ ## Prerequisites
62
+
63
+ MarkltDown requires Python 3.10 or higher. It is recommended to use a virtual environment to avoid dependency conflicts.
64
+
65
+ With the standard Python installation, you can create and activate a virtual environment using the following commands:
66
+
67
+ python ~~-~~ m venv .venv (0) source .venv/bin/activate If using uv , you can create a virtual environment with: uv venv --python=3.12 .venv (0 source .venv/bin/activate # NOTE: Be sure to use ‘uv pip install’ rather than just "pip install’ to instal ee > If you are using Anaconda, you can create a virtual environment with: conda create ~~-~~ n markitdown python=3.12 O conda activate markitdown
68
+
69
+ If using uv , you can create a virtual environment with:
70
+
71
+ https://github.com/mcp/microsoft/markitdown
72
+
73
+ 2/10
74
+
75
+ 08/06/2026 03:22
76
+
77
+ MCP Registry | Markitdown - GitHub
78
+
79
+ ## Installation
80
+
81
+ To install MarkltDown, use pip: pip install 'markitdown[all]' . Alternatively, you can install it from the source:
82
+
83
+ git clone git@github.com:microsoft/markitdown.git cd markitdown pip install ~~-~~ e ‘packages/markitdown[al1]'
84
+
85
+ 0
86
+
87
+ ## Usage
88
+
89
+ ## Command- ~~L~~ ine
90
+
91
+ markitdown path ~~-~~ to ~~-~~ file.pdf > document.md
92
+
93
+ (0)
94
+
95
+ Or use ~~-~~ o to specify the output file:
96
+
97
+ markitdown path ~~-~~ to ~~-~~ file.pdf ~~-~~ o document.md
98
+
99
+ You can also pipe content:
100
+
101
+ cat path ~~-~~ to ~~-~~ file.pdf | markitdown
102
+
103
+ (0 0)
104
+
105
+ ## Optional Dependencies
106
+
107
+ MarkltDown has optional dependencies for activating various file formats. Earlier in this document, we installed all optional dependencies with the [all] option. However, you can also install them individually for more control. For example:
108
+
109
+ pip install ‘markitdown[pdf, docx, pptx]'
110
+
111
+ (0)
112
+
113
+ ## will install only the dependencies for PDF, DOCX, and PPTX files.
114
+
115
+ At the moment, the following optional dependencies are available:
116
+
117
+ - e [all] Installs all optional dependencies
118
+
119
+ - © [pptx] Installs dependencies for PowerPoint files
120
+
121
+ - © [docx] Installs dependencies for Word files
122
+
123
+ - e® [xlsx] Installs dependencies for Excel files e [xls] Installs dependencies for older Excel files
124
+
125
+ https://github.com/mcp/microsoft/markitdown
126
+
127
+ 3/10
128
+
129
+ 08/06/2026 03:22
130
+
131
+ MCP Registry | Markitdown - GitHub
132
+
133
+ - e [pdf] Installs dependencies for PDF files
134
+
135
+ - e [outlook] Installs dependencies for Outlook messages
136
+
137
+ - e [az ~~-~~ doc ~~-~~ intel] Installs dependencies for Azure Document Intelligence
138
+
139
+ - e [az ~~-~~ content ~~-~~ understanding] Installs dependencies for Azure Content Understanding e [audio ~~-~~ transcription] Installs dependencies for audio transcription of wav and mp3 files
140
+
141
+ - e [youtube ~~-~~ transcription] Installs dependencies for fetching YouTube video transcription
142
+
143
+ ## Plugins
144
+
145
+ MarkltDown also supports 3rd ~~-~~ party plugins. Plugins are disabled by default. To list installed plugins:
146
+
147
+ markitdown --list ~~-~~ plugins
148
+
149
+ (O
150
+
151
+ To enable plugins use:
152
+
153
+ markitdown --use ~~-~~ plugins pat ~~h~~ - ~~to~~ -file.pdf
154
+
155
+ (O
156
+
157
+ To find available plugins, search GitHub for the hashtag #markitdown ~~-~~ plugin . To develop a plugin, see packages/markitdown ~~-~~ sample ~~-~~ plugin .
158
+
159
+ ## markitdown ~~-o~~ cr Plugin
160
+
161
+ The markitdown ~~-~~ ocr plugin adds OCR support to PDF, DOCX, PPTX, and XLSX converters, extracting text from embedded images using LLM Vision ~~—~~ the same 11m ~~c~~ lient / 11 ~~m_~~ model pattern that MarkltDown already uses for image descriptions. No new ML libraries or binary dependencies required.
162
+
163
+ Installation:
164
+
165
+ pip install markitdown ~~-~~ ocr pip install openai # or any OpenAI ~~-~~ compatible client
166
+
167
+ (0
168
+
169
+ ## Usage:
170
+
171
+ Pass the same 1l ~~m_~~ client and 11 ~~m_m~~ odel you would use for image descriptions:
172
+
173
+ from markitdown import MarkItDown from openai import OpenAI
174
+
175
+ **==> picture [13 x 15] intentionally omitted <==**
176
+
177
+ **----- Start of picture text -----**<br>
178
+ O<br>**----- End of picture text -----**<br>
179
+
180
+
181
+ md = MarkItDown(
182
+
183
+ https://github.com/mcp/microsoft/markitdown
184
+
185
+ 4/10
186
+
187
+ 08/06/2026 03:22
188
+
189
+ MCP Registry | Markitdown - GitHub
190
+
191
+ enable ~~_p~~ lugins=True,
192
+
193
+ ll ~~m_~~ client=OpenAI(),
194
+
195
+ llm ~~_m~~ odel="gpt- ~~4~~ o0",
196
+
197
+ ) result = md.convert("document ~~_w~~ ith ~~_i~~ mages. pdf") print(result.text ~~_c~~ ontent)
198
+
199
+ If nO 11 ~~m_~~ client is provided the plugin still loads, but OCR is silently skipped and the standard built ~~-~~ in converter is used instead.
200
+
201
+ See ~~packages/markitdown-ocr/README.md~~ for detailed documentation.
202
+
203
+ ## Azure Content Understanding
204
+
205
+ ~~Azure Content Understanding~~ provides higher ~~-q~~ uality conversion with structured field extraction (YAML front matter), mult ~~i-~~ modal support (documents, images, audio, video), and configurable analyzers.
206
+
207
+ Install: pip install ‘markitdown[az ~~-~~ content ~~-~~ understanding] '
208
+
209
+ ## When to use Content Understanding
210
+
211
+ Content Understanding is ideal when you need capabilities beyond what built ~~-~~ in or Document Intelligence converters provide:
212
+
213
+ - e Audio and video files ~~—~~ CU is the only option for video, and the higher ~~-q~~ uality cloud option for audio. Built ~~-~~ in converters have no video support and only basic audio transcription.
214
+
215
+ - e Structured field extraction ~~— Prebuilt~~ or ~~custom-built~~ analyzers extract domain- ~~s~~ pecific fields (invoice amounts, receipt dates, contract clauses) serialized as YAML front matter. Neither built ~~-~~ in nor Doc Intel integration exposes fields.
216
+
217
+ - e Higher ~~-q~~ uality document extraction ~~—~~ Cloud ~~-~~ based layout analysis and OCR for scanned PDFs, complex tables, and mult ~~i-~~ page documents.
218
+
219
+ - e Single API for all modalities ~~—~~ One c ~~u_~~ endpoint handles documents, images, audio, and video with automatic analyzer routing.
220
+
221
+ **==> picture [470 x 124] intentionally omitted <==**
222
+
223
+ **----- Start of picture text -----**<br>
224
+ |||||||||
225
+ |---|---|---|---|---|---|---|---|
226
+ |-|Built|-|in|Azure|Document|Azure|Content|
227
+ |Capability|.|.|
228
+ |converters|Intelligence|Understanding|
229
+ |Document|Offline,|format|-|Cloud|layout|Cloud|multimodal|
230
+ |conversion|specific|extraction|extraction|extraction|
231
+ |Structured|Not|exposed|by|this|= YAML|front|matter from|
232
+ |fields|Not|available|integration|analyzer fields|
233
+
234
+ **----- End of picture text -----**<br>
235
+
236
+
237
+ https://github.com/mcp/microsoft/markitdown
238
+
239
+ 5/10
240
+
241
+ 08/06/2026 03:22
242
+
243
+ |_<br>Capability|Built~~-~~in<br>converters|Azure Document<br>.<br>Intelligence|Azure Content<br>.<br>Understanding|
244
+ |---|---|---|---|
245
+ |Custom<br>analyzers|Notavailable|Not configurable in<br>,<br>this integration|Supported with<br>c~~u_~~analyzer~~_i~~d|
246
+ |Audio and<br>video|Basic audio, no<br>video|Notsupported|Audio and video<br>analyzers|
247
+ |Cost|Local compute<br>only|BillableAzureAPI<br>calls|.<br>BillableAzureAPI calls|
248
+
249
+
250
+
251
+ CLI:
252
+
253
+ markitdown path ~~-~~ to ~~-~~ file.pdf --use ~~-~~ cu --cu ~~-~~ endpoint "<conte ~~n~~ t_understa ~~nde~~ ndpcing (0) ~~ee~~ >
254
+
255
+ ## Python API:
256
+
257
+ ## from markitdown import MarkItDown
258
+
259
+ (0)
260
+
261
+ # Zero ~~-~~ config ~~—~~ auto ~~-~~ selects analyzer per file type md = MarkItDown ~~(c~~ u_endpoint="< ~~co~~ ntent_und ~~ere~~ standingndpoint>") result = md.convert("report.pdf") # documents > prebuilt ~~-~~ documentSearch result = md.convert("meeting.mp4") # video > prebuilt ~~-~~ videoSearch result = md.convert("call.wav") # audio > prebuilt ~~-~~ audioSearch print(result.markdown)
262
+
263
+ ## With a custom analyzer (for domain- ~~s~~ pecific field extraction):
264
+
265
+ md = MarkItDown(
266
+
267
+ (0)
268
+
269
+ c ~~u_~~ endpoint="<c ~~on~~ tent_unde ~~rse~~ ndpoint>",tanding c ~~u_~~ analyzer ~~_i~~ d="my ~~-~~ invoice ~~-a~~ nalyzer",
270
+
271
+ ) result = md.convert("invoice.pdf") print(result.markdown)
272
+
273
+ # Output includes YAML front matter with extracted fields: # ---
274
+
275
+ # contentType: document
276
+
277
+ # fields: # = VendorName: CONTOSO LTD. # InvoiceDate: '2019 ~~-~~ 11 ~~-1~~ 5' # --# <!-page 1 -->
278
+
279
+ https://github.com/mcp/microsoft/markitdown
280
+
281
+ 6/10
282
+
283
+ 08/06/2026 03:22
284
+
285
+ MCP Registry | Markitdown - GitHub
286
+
287
+ When c ~~u_~~ analyzer ~~_i~~ d is set, the converter automatically scopes it to compatible file types based on the analyzer's modality. Incompatible types (e.g., audio files with a document analyzer) auto ~~-~~ route to default prebuilt analyzers.
288
+
289
+ Cost note: Each convert() call for a CU ~~-r~~ outed format is a billable Azure API call. Use c ~~u_~~ file ~~_t~~ ypes to restrict which formats route to CU:
290
+
291
+ from markitdown.converters import ContentUnderstandingFileType
292
+
293
+ (Oo
294
+
295
+ md = MarkItDown( c ~~u_~~ endpoint="<c ~~on~~ tent_unde ~~rse~~ ndpoint>",tanding c ~~u_~~ fil ~~e_t~~ ypes=[ContentUnderstandingFileType.PDF], # only PDFs use CU
296
+
297
+ )
298
+
299
+ More information about Azure Content Understanding can be found ~~here.~~
300
+
301
+ ## Azure Document Intelligence
302
+
303
+ To use Microsoft Document Intelligence for conversion:
304
+
305
+ markitdown path ~~-~~ to ~~-~~ file.pdf ~~-~~ o document.md ~~-~~ d ~~-~~ e "<document ~~_i~~ ntelligence ~~_e~~ ndpoir (0
306
+
307
+ ~~eee~~ >
308
+
309
+ More information about how to set up an Azure Document Intelligence Resource can be found here
310
+
311
+ ## Python API
312
+
313
+ Basic usage in Python:
314
+
315
+ ## from markitdown import MarkItDown
316
+
317
+ (O)
318
+
319
+ md = MarkItDown(enable ~~p~~ lugins=False) # Set to True to enable plugins result = md.convert("test.xlsx") print(result.text ~~_c~~ ontent)
320
+
321
+ ## Document Intelligence conversion in Python:
322
+
323
+ ## from markitdown import MarkItDown
324
+
325
+ (0)
326
+
327
+ md = MarkItDown(docintel ~~_e~~ ndpoint="<document ~~_i~~ ntelligence ~~_e~~ ndpoint>") result = md.convert("test.pdf") print(result.text ~~_c~~ ontent)
328
+
329
+ https://github.com/mcp/microsoft/markitdown
330
+
331
+ 7/10
332
+
333
+ 08/06/2026 03:22
334
+
335
+ MCP Registry | Markitdown - GitHub
336
+
337
+ To use Large Language Models for image descriptions (currently only for pptx and image files), provide 11 ~~m_~~ client and 11 ~~m_m~~ odel :
338
+
339
+ ## from markitdown import MarkItDown
340
+
341
+ (0)
342
+
343
+ from openai import OpenAI
344
+
345
+ client = OpenAI() md = MarkItDown(1ll ~~m_~~ client=client, 1l ~~m_~~ model="gpt ~~-4~~ 0", 1ll ~~m_~~ prompt="optional cust result = md.convert("example.jpg") print(result.text ~~_c~~ ontent)
346
+
347
+ ## ee—CSSCSCCié‘(
348
+
349
+ >
350
+
351
+ ## Docker
352
+
353
+ docker build ~~-~~ t markitdown:latest . docker run --rm ~~-~~ i markitdown:latest < ~/your ~~-~~ file.pdf > output.md
354
+
355
+ O
356
+
357
+ ## Contributing
358
+
359
+ This project welcomes contributions and suggestions. Most contributions require you to agree toa
360
+
361
+ Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us
362
+
363
+ the rights to use your contribution. For details, visit ~~https://cla.opensource.microsoft.com.~~
364
+
365
+ When you submit a pull request, a CLA bot will automatically determine whether you need to provide
366
+
367
+ a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions
368
+
369
+ provided by the bot. You will only need to do this once across all repos using our CLA.
370
+
371
+ This project has adopted the ~~Microsoft Open Source Code of Conduct.~~
372
+
373
+ For more information see the Code of Conduct FAQ or
374
+
375
+ contact ~~opencode@microsoft.com~~ with any additional questions or comments.
376
+
377
+ ## How to Contribute
378
+
379
+ You can help by looking at issues or helping review PRs. Any issue or PR is welcome, but we have also marked some as ‘open for contribution’ and ‘open for reviewing’ to help facilitate community contributions. These are of course just suggestions and you are welcome to contribute in any way you like.
380
+
381
+ https://github.com/mcp/microsoft/markitdown
382
+
383
+ 8/10
384
+
385
+ 08/06/2026 03:22
386
+
387
+ MCP Registry | Markitdown - GitHub
388
+
389
+ |||||All||Especially Needs Help from Community|Especially Needs Help from Community|Especially Needs Help from Community|Especially Needs Help from Community|
390
+ |---|---|---|---|---|---|---|---|---|---|
391
+ |Issues||~~Allissues~~|||— ~~Issues ~~||~~open for contribution~~|||
392
+ |PRs||~~AllPRs~~||||~~PRsopenforreviewing~~||||
393
+
394
+
395
+
396
+ ## Running Tests and Checks
397
+
398
+ e Navigate to the MarkltDown package:
399
+
400
+ cd packages/markitdown (0 Install hatch in your environment and run tests: pip install hatch # Other ways of installing hatch: https://hatch.pypa.io/: (O hatch shell hatch test ~~i~~ eeeererr—SCSSCC‘N > (Alternative) Use the Devcontainer which has all the dependencies installed: # Reopen the project in Devcontainer and run: ()
401
+
402
+ e Install hatch in your environment and run tests:
403
+
404
+ # Reopen the project in Devcontainer and run: hatch test
405
+
406
+ e Run pr ~~e-~~ commit checks before submitting a PR: pre ~~-~~ commit run --all ~~-~~ files
407
+
408
+ ## Security Considerations
409
+
410
+ MarkltDown performs I/O with the privileges of the current process. Like open() or requests.get() , it will access resources that the process itself can access.
411
+
412
+ Sanitize your inputs: Do not pass untrusted input directly to MarkltDown. If any part of the input may be controlled by an untrusted user or system, such as in hosted or server ~~-~~ side applications, it must be validated and restricted before calling MarkltDown. Depending on your environment, this may include restricting file paths, limiting URI schemes and network destinations, and blocking access to private, loopback, link-local, or metadata ~~-s~~ ervice addresses.
413
+
414
+ https://github.com/mcp/microsoft/markitdown
415
+
416
+ 9/10
417
+
418
+ 08/06/2026 03:22
419
+
420
+ MCP Registry | Markitdown - GitHub
421
+
422
+ Call only the conversion method you need: Prefer the narrowest conversion API that fits your use case. MarkltDown's convert() method is intentionally permissive and can handle local files, remote URIs, and byte streams. If your application only needs to read local files, call convert ~~_l~~ ocal() instead. If you need more control over URI fetching, call requests.get() yourself and pass the response object to convert ~~_r~~ esponse() . For maximum control, open a stream to the input you want converted and call convert ~~_s~~ tream() .
423
+
424
+ ## Contributing 3rd ~~-~~ party Plugins
425
+
426
+ You can also contribute by creating and sharing 3rd party plugins. See packages/markitdown ~~-~~ sample ~~-~~ plugin for more details.
427
+
428
+ ## Trademarks
429
+
430
+ This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft
431
+
432
+ trademarks or logos is subject to and must follow
433
+
434
+ Microsoft's Trademark & Brand Guidelines.
435
+
436
+ Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.
437
+
438
+ Any use of third ~~-~~ party trademarks or logos are subject to those third ~~-~~ party’s policies.
439
+
440
+ ## Resources
441
+
442
+ fF] microsoft/ markitdown
443
+
444
+ Q) Contact support
445
+
446
+ https://github.com/mcp/microsoft/markitdown
447
+
448
+ 10/10
449
+
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Ahmed Laminou Amadou
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.