Launch HN: Vespper (YC F24) – SOTA Docx MCP (vespper.com)

4 points by topaztee ↗ HN
Hey HN! We're Dudu and Topaz from Vespper (https://vespper.com). Vespper is an MCP that lets AI agents edit Word documents, powered by our fine-tuned model. It's currently 3× faster, 2× cheaper and more accurate than the closest alternative.

Check out an overview of how the product works here: https://youtu.be/odKxsgPjzzw

We came to work on this problem after spending a year building an AI document editor for pharma companies that helped generate regulatory documents. Before that, Topaz (myself) was a senior SWE at Snyk, working on distributed systems, and Dudu was a deep learning engineer at Viz.ai, building CV models for stroke detection.

AI agents aren't great at editing Word documents. A Word doc is a zip file of XML files following the OOXML spec. Even small changes require backflips, for example: adding a list requires creating an entry in numbering.xml with a fresh ID and linking it back in document.xml, bolding a sentence requires splitting it into 3+ run elements, etc.

This makes editing the zip directly (unzip + grep + sed) a bad idea for agents because they burn time + tokens on these mechanics. In practice, today's tooling falls into three categories. You can let the agent write code against libraries like python-docx, you can connect it to an MCP (SuperDoc, Office CLI, Adeu, etc), or you can round-trip the file through Markdown/HTML with e.g. pandoc/mammoth.js. None of them is optimal though. The first two burn the agent's context on Word mechanics instead of the task, and the third is lossy (pandoc/mammoth.js/etc don't preserve enough fidelity).

These problems hurt performance in downstream tasks. When we tried having our agent fill large docs, things broke. The context window was already packed with customers’ data, and the agent burned tokens on exploring the document and debugging edits. Filling a single clinical study report took ~50 minutes, and the result was low quality. That's when we shifted our focus. We designed an MCP that lets agents edit Word docs as if they were editing HTML. The agent receives HTML, makes find-and-replace edits, and we reconcile those edits back into the .docx file. We picked HTML + CSS because it's structurally much closer to OOXML. We had to write our own DOCX→HTML converter, since pandoc/mammoth.js didn't preserve enough fidelity.

To be clear, our DOCX → HTML conversion is lossy too. That's fine though, because we never convert the HTML back to DOCX. The HTML is just a projection for the agent, so it only needs enough fidelity for the agent to understand the structure and styling of what it's editing. The original file stays the source of truth.

This also means the agent doesn't need to learn a new DSL. Editing a Word document feels just like editing a regular HTML file. A lot of DOCX MCPs hand agents dozens or even hundreds of tools. Our MCP exposes just three tools (read, search, edit). The Word document is completely abstracted.

After an agent sends an edit request, we reconcile it to the original .docx file. The reconciliation is done by our fine-tuned model. It takes the HTML diff as input along with the a localized OOXML block and emits the new block. We published a technical blog post that dives deeper.

Our internal benchmark shows it's more accurate than the DOCX skill and raw python-docx while being ~2x cheaper and ~3x faster. It takes 3 tool calls (p50) per task whereas e.g DOCX skill takes 10 and Office CLI takes 13. Things aren't perfect yet. We don't support manipulating images or comments at the moment. That said, we're already seeing people use our MCP in various ways: - Legal tech companies powering their live-editing flow in Office.js. - Govtech who need to draft policy memos. - A life sciences startup using long-running agents to complete regulatory forms.

We'd love to hear ...

22 comments

[ 3.0 ms ] story [ 39.6 ms ] thread
we need to fill templates that customers give us, we’ve already built an agent harness with python-docx. It’s not perfect but it ~works. Does Vespper completely replace that or can our harness be used alongside your MCP?
Good question. Vespper is meant to replace the python-docx work for your agent and simplify things. That said, it can definitely run alongside your agent (either as additional tools to your agent or as a subagent that uses our tools).

For example, you could keep python-docx for the easy stuff and fall back to a Vespper-based approach when your agent hits errors filling the document. However, the end goal is to completely free your agent from python-docx and low-level work, so it can just focus on what goes into the template.

Agree a good one this is needed but there are 4-5 semi functional Word MCP servers including one from the vendor. This one still isn't feature complete. This is going to sound rude, and I don't mean it that way, but how did you get accepted to YC for this? Was this some kind of pivot off your accepted idea and business plan?
(comment deleted)
(comment deleted)
Legit question :) so we've worked on a few ideas since we've been accepted to YC, one of them was the document editor for pharma.

After working on that for a while, we've decided to shift focus and work on the DOCX angle. We felt there's a big opportunity here since .docx is such a widely used format.

As to the feature complete point - I agree. We already cover the most common features today (paragraphs, lists, tables, tracked changes, header/footer) and we're working hard on implementing more. Our main focus right now is to be the most accurate, cheapest and fastest solution out there for common scenarios.

> There's a free tier with 500 edits a month, and we’d love you all to try. We want to bump that later, but we're a small team and running a fine-tuned model isn't cheap :(

How will you compete then if the token pricing is trending down?

The people who need this most are not going to want to use an external MCP server. This is a pretty unusual model for a narrowly scoped product offering like this. I was excited until I realized it’s not something I can run locally.
I think it's a valid point. A few reasons we went this way. - The teams we're building for don't want to touch DOCX at all. They just want to plug in their agents and move on, so we went for a smooth hosted experience instead of an open-source lib they'd have to set up and tune themselves. - We run a fine-tuned model under the hood, and it needs a GPU, so running it locally isn't really practical for most folks.

I agree privacy matters a lot. Because of that, we offer zero-data retention for teams, and there's also a self-hosted option if you want everything running in your own cloud.

Fair point. For editing local files I'd want local too. Disclosure: I work on Elva, where hosting is deliberate because the use case is a team's own APIs. Agents call the same endpoints teammates test, with access governed in one place rather than on each laptop. It's a tradeoff, not a fit for everything. https://getelva.ai/
I dont think someones launch post is an appropriate place to advertise your own services
Preloading the DOCX skill hides a cost real runs pay. In the harness I use a skill is listed as a name plus one line, and the body only loads when invoked, so the 10-call skill baseline probably undercounts by a step.
Yep, a real run with DOCX skill would pay an extra tool call (e.g load_skill). We pre-loaded its context because we wanted to neutralize setup differences between tools and just focus on editing.
Have been doing https://rcarmo.github.io/projects/python-office-mcp-server/ for a year or so now, and have Go and TS libraries that use the same test fixtures. This is a non-trivial thing in terms of test coverage, but I’ll get there… don’t see a paying market for it though.
Thanks for sharing, I'll check it out!

I actually think there's a very big market for it tbh. A lot of teams building agents are struggling with this today, especially in legal, finance, pharma and government. It's also a much deeper problem than most people realize, even for tool builders, and it really requires working backwards from the experience an agent should have.

Vespper is our take on what that should look like.

Either way, it's exciting to see more people building in this space. Agents definitely need better ways to work with Office docs.

Agreed, id sooner burn tokens to make my own than pay for something else to have access to my docs
We're built for enterprise customers, not personal use.
Obviously, I'm not storing my personal docs in office lol
vespper now supports comments