← Assessments
Assessment · Security

Assessment: Elasticsearch MCP server

Elastic's MCP server is the only one in this collection written in Rust, and it wears that well: tool annotations are declared inline through a clean macro, and memory-safety-class bugs are off the table by construction. It's a focused, tidy server — and the one place I'd push is depth of testing, which I'll say plainly because a generous review isn't a silent one. Verifiable read.

The standout

The standout is how naturally the annotations sit in the code. Each tool declares its hints inline via a Rust macro — annotations(title = …, read_only_hint = true) right on the tool — so the read tools (list indices, get mappings, search) are marked read-only at the point of definition, hard to forget and easy to audit. Rust also takes an entire class of memory-safety bugs off the table that a review would otherwise have to consider.

The method, check by check

✓AnnotationsDeclared inline per tool via a clean macro; read tools marked read-only at definition.
✓Language safetyRust removes memory-safety bugs by construction — one fewer class to review.
⚠Tests & CI (7)The honest note: test depth is thin relative to peers. For a search server that mostly reads this is lower-stakes, but the dangerous paths deserve tests that pin them.
—Path handlingAPI-backed; no filesystem surface.
⚠Confirmation (8)Write/index tools rely on the host to gate on the hint; no server-required confirmation.
⚠Blast radius (12)A search server's queries can be expensive; explicit result/size bounds would help.

✓ present · ⚠ the tier-two hardening still open · — not applicable

Verdict

Clean and well-built where it counts — annotations at the point of definition, and a language that eliminates a whole bug class. The candid part, because a real review says it: test depth is the thinnest in this collection, and the write paths in particular deserve tests that pin them. Sound in design; the hardening to add is coverage and per-action confirmation.

Want the same read on yours?

The whole server against both tiers, a document you can forward. How it works · lesliekadenge@gmail.com.

Checkable against github.com/elastic/mcp-server-elasticsearch. Offered in good faith; named for what it does well, with the one honest note raised as a note, not a gotcha.