Skip to content

feat(tool): markitdown fetch adapter - #3299

Open
EvgeniyPeshkov wants to merge 7 commits into
olimorris:mainfrom
EvgeniyPeshkov:feat/markitdown-fetch
Open

feat(tool): markitdown fetch adapter#3299
EvgeniyPeshkov wants to merge 7 commits into
olimorris:mainfrom
EvgeniyPeshkov:feat/markitdown-fetch

Conversation

@EvgeniyPeshkov

Copy link
Copy Markdown
Contributor

MarkItDown adapter that converts web pages and files to markdown using the
markitdown CLI tool. It provides:

  • fetch_webpage tool — allows LLM agent to fetch and convert web pages to markdown during a chat session
  • /fetch slash command — letting users manually fetch web pages into chat's context

Advantages

  • various formats are supported: html, pdf, docx, etc
  • tools can fetch from local files
  • improved privacy as conversion is done locally
  • no API access to third-party services

Supporting Documentation

https://github.com/microsoft/markitdown

AI Usage

CodeCompanion assisted with prototyping this new feature for CodeCompanion (=.
However, the final implementation was largely rewritten by hand.

Related Issue(s)

N/A - new feature.

Screenshots

N/A — no UI changes.

Checklist

  • I've read the contributing guidelines and have adhered to them in this PR
  • I confirm that this PR has been majority created by me, and not AI (unless stated in the "AI Usage" section above)
  • I've run make all to ensure docs are generated, tests pass and StyLua has formatted the code
  • (optional) I've added test coverage for this fix/feature
  • (optional) I've updated the README and/or relevant docs pages

@EvgeniyPeshkov EvgeniyPeshkov changed the title feat( feat(tool): markitdown fetch adapter Aug 5, 2026
@olimorris

Copy link
Copy Markdown
Owner

This looks fantastic! Thank you for sharing.

I'm planning on moving away from Plenary at some point this year. Can you switch the Plenary.Job module out for vim.system?

Also, I propose we make this the default adapter for fetching web pages.

@EvgeniyPeshkov

Copy link
Copy Markdown
Contributor Author

Glad you like it!
No problem—I’ve switched to vim.system() in 3e4609a.
Would you like to make this the default adapter in this PR or tackle it later? If you confirm, I can handle it right here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants