XPath ve yapılandırılmış araçları kullanarak kum havuzu (sandbox) içinde, salt okunur bir ortamda yerel XML belgelerini sorgulayın.
Ayrıca bilinen adı sezzlee/mcp, xml, @sezzlee/xml-mcp
- Yıldızlar
- 1
- Araçlar
- 7
- İndirmeler, 30 gün
- —
- En son sürüm
- 0.5.1
- Son commit
- 13 Kas 2026
- Lisans
- MIT
Sezzlee XML MCP nedir?
Sezzlee XML bir MCP sunucusudur. XPath ve yapılandırılmış araçları kullanarak kum havuzu (sandbox) içinde, salt okunur bir ortamda yerel XML belgelerini sorgulayın. 7 araç sunar; örneğin list_documents, describe_document, read_node.
Özet, projenin README dosyasından oluşturuldu
Sezzlee XML MCP sunucusu hakkında
Sezzlee XML, yerel XML dosyalarını sorgulamak için kum havuzu içinde, salt okunur bir ortam sağlar. .xml, .xsd, .svg veya .config gibi dosyalar içindeki yapılandırılmış verileri incelemek isteyen geliştiriciler için tasarlanmıştır. Sunucu; macOS, Linux veya Windows üzerinde Node.js aracılığıyla yerel olarak çalışır ve kurulum sırasında komut satırı argümanı olarak bir kök dizine ait mutlak yol gerektirir.
Kullanıcılar, XPath 1.0 ifadelerini yürütmek için select_xpath ve tekrarlanan öğeleri satır ve sütunlara dönüştürmek için project_records gibi özel araçlar aracılığıyla sunucuyla etkileşime girer. Ayrıca belgeleri listelemek, yapıları tanımlamak, düz metin bulmak ve toplam veya ortalama gibi toplama işlemleri yapmak için araçlar içerir. Kararlılığı korumak için sunucu, ayrıştırma işleminin ayrı bir iş parçacığında (thread) gerçekleştiği işçi tabanlı (worker-based) bir mimari kullanır.
Performans, belirli sayıda dosyayı bellekte tutan bir belge önbelleği aracılığıyla yönetilir. 8 MiB bellek sınırını aşan çok büyük dosyalar için sunucu 'chunked' moduna geçer. Bu durumda, select_xpath ve aggregate_document gibi belirli araçlar kullanılamaz, ancak veri inceleme sürecinin devam etmesi için project_records işlevsel kalmaya devam eder.
Projenin README dosyasından alınmıştır. Her kullanım durumu, oradaki bir alıntı ile kontrol edilir.
Sezzlee XML MCP nasıl yüklenir
Biçimler 10 Kas 2026 tarihinde doğrulandıCursor'a ekleGoose'a ekleSezzlee XML MCP'yi Claude Code içine yükleyin
$ claude mcp add xml -- npx -y @sezzlee/xml-mcpSezzlee XML MCP'yi Cursor içine yükleyin
~/.cursor/mcp.json
{
"mcpServers": {
"xml": {
"command": "npx",
"args": [
"-y",
"@sezzlee/xml-mcp"
]
}
}
}Sezzlee XML MCP'yi VS Code içine yükleyin
.vscode/mcp.json
{
"servers": {
"xml": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@sezzlee/xml-mcp"
]
}
}
}Sezzlee XML MCP'yi VS Code CLI içine yükleyin
$ code --add-mcp '{"name":"xml","type":"stdio","command":"npx","args":["-y","@sezzlee/xml-mcp"]}'Sezzlee XML MCP'yi Claude Desktop içine yükleyin
claude_desktop_config.json
{
"mcpServers": {
"xml": {
"command": "npx",
"args": [
"-y",
"@sezzlee/xml-mcp"
]
}
}
}Sezzlee XML MCP'yi Codex içine yükleyin
$ codex mcp add xml -- npx -y @sezzlee/xml-mcpSezzlee XML MCP'yi Codex config.toml içine yükleyin
~/.codex/config.toml
[mcp_servers.xml] command = "npx" args = ["-y", "@sezzlee/xml-mcp"]
Sezzlee XML MCP'yi Gemini CLI içine yükleyin
$ gemini mcp add -s user xml npx -- -y @sezzlee/xml-mcpSezzlee XML MCP'yi Gemini settings.json içine yükleyin
~/.gemini/settings.json
{
"mcpServers": {
"xml": {
"command": "npx",
"args": [
"-y",
"@sezzlee/xml-mcp"
]
}
}
}Sezzlee XML MCP araçları 7
README dosyasından algılandılist_documentsdescribe_documentread_nodefind_in_documentselect_xpathproject_recordsaggregate_document
| list_documents | — | |
| describe_document | — | |
| read_node | — | |
| find_in_document | — | |
| select_xpath | — | |
| project_records | — | |
| aggregate_document | — |
Otomatik kontroller
Çalıştırıldı 13 Kas 2026Tam rapor →Otomatik kontrollerimizden geçti. Bu bir güvenlik denetimi değildir: kodu okuyun ve sunucuya ihtiyaç duyduğu en dar erişimi verin. Kontroller nasıl çalışır
- Kaynak deposu bağlantılı ve erişilebilirsezzlee/mcp is public and reachablegithub.com/sezzlee/mcp ↗Geçti
- Paket, bu depoyu kaynağı olarak gösteriyor@sezzlee/xml-mcp names sezzlee/mcp as sourcenpmjs.com/package/@sezzlee/xml-mcp ↗Geçti
- Derleme kökeni (Sigstore onayı)Sigstore attestation for @sezzlee/xml-mcpnpmjs.com/package/@sezzlee/xml-mcp/v/0.5.1#provenance ↗Geçti
- Açık kaynak lisansı (OSI)MITspdx.org/licenses/MIT.html ↗Geçti
- Son bir yıl içinde commit veya sürüm mevcutLast commit or release 2026-11-09github.com/sezzlee/mcp ↗Geçti
- OpenSSF ScorecardKontrol edilmedi
- Paket adı popüler bir pakete yakın değilNo popular package one edit away from @sezzlee/xml-mcpGeçti
- Pakette veya bağımlılıklarında kritik uyarı yok8 resolved dependencies checked; no critical advisoryosv.dev ↗Geçti
- Modele yönelik gizli talimat yok7 tool descriptions and the README read; no override phrases, credential paths or hidden charactersGeçti
- Yıkıcı araçlar etiketlenmişNo tool named like delete, drop or execGeçti
- Uzak uç nokta MCP el sıkışmasına yanıt veriyorKontrol edilmedi
@sezzlee/xml-mcp
A read-only, sandboxed MCP server that reads local XML documents.
It builds on @sezzlee/file-core; it does not depend on
@sezzlee/core and imports nothing from packages/lab/xml-lab.
Documentation: https://docs.sezzlee.app/docs/xml-mcp/introduction — a tutorial, task guides, and the tool, error-code and limit reference generated from this package.
Quick start
The root is the only argument, as an absolute path; there is no environment variable for it.
{
"mcpServers": {
"xml": {
"command": "npx",
"args": ["-y", "@sezzlee/xml-mcp", "/path/to/xml/root"]
}
}
}
With Claude Code:
claude mcp add xml -- npx -y @sezzlee/xml-mcp /path/to/xml/root
Readable extensions: .xml, .xsd, .xhtml, .svg, .csproj, .props, .targets, .config,
.resx. An extension like .config is not a guarantee of XML — a parse error there is expected
behavior. Requires Node.js 22 or 24 on macOS (x64, arm64), glibc Linux (x64, arm64) or Windows x64.
Tools
| Tool | What it does |
|---|---|
list_documents |
Lists readable XML documents under the root without parsing them |
describe_document |
Document element, every namespace with a stable alias, structure counts, repeated-element candidates, and an address read_node takes |
read_node |
A bounded, ordered slice of the tree as flat depth-first records |
find_in_document |
Literal text in text nodes, attribute values or both |
select_xpath |
One XPath 1.0 expression, exactly as written, with a typed result |
project_records |
A repeated element as rows and named columns, with a status per cell |
aggregate_document |
Counts, distinct counts and, with numericMode: binary64, sums and averages per group |
Every argument, error code and limit is listed in the reference.
A document over the 8 MiB resident ceiling is read in a reduced-capability chunked mode:
select_xpath, find_in_document and aggregate_document are unavailable there, while
project_records still works.
Configuration
createXmlMcpServer(root, options) takes two optional settings; the CLI
always uses the defaults.
| Option | Default | Meaning |
|---|---|---|
documentCacheSize |
4 |
Documents kept resident in memory at once (1–64) |
maxConcurrentListings |
4 |
Concurrent list_documents calls |
createXmlMcpServer(root, {
documentCacheSize: 4,
maxConcurrentListings: 4,
});
documentCacheSize (S) is the single knob; the worker pool's capacity is
derived as W = 2S, and the invariant W >= 2S-1 is pinned by a test — the
worker keeps a document alive while the store still holds it, so its map must
fit every store entry plus the one being adopted. This is a budget, not
enforcement: worker.resourceLimits bounds the JS heap, not WASM linear
memory, so exceeding the budget is a process crash rather than a clean
resource_limit error. Measured cost is 9.25-10.08x the source byte count,
so roughly 81 MiB resident per document at the 8 MiB ceiling; the default
S=4 is safe on the smallest supported host.
Rules
Parsing happens in the worker. The main process only ever holds a
serializable handle; a WASM pointer never crosses the boundary. No disposal
hook was needed on @sezzlee/file-core's document store because of this.
Layout follows the worker/host boundary. engine/ is the worker-side
graph and never names host/ or tools/; model/ and primitives/ are the
shared vocabulary between the two sides. index.ts, cli.ts,
xml-worker.ts and server.ts stay at the root — the tarball entry point,
bin, the CI tarball check and the ../package.json read respectively tie
them there.
The worker entry never imports the host surface. src/xml-worker.ts
only sees node:worker_threads, node:buffer, libxml2-wasm and a
type-only protocol; a lint rule enforces this. A worker returns a code
string, and the host side constructs the error object.
DOCTYPE is refused before parsing. The prolog scanner runs in the main
process; doc.dtd is only the second check. Measured: XML_PARSE_NO_XXE
does not block the internal DTD subset.
The worker's stdout never mixes into the parent's fd 1. It is isolated
with stdout: true; on stdio MCP, a single stray line breaks JSON-RPC.
diag is off in production and cannot be turned on through an
environment variable: it costs 24.9% and its raw report carries an engine
pointer.
Unsupported encodings are refused before parsing. The prolog scanner
applies the XML 1.0 Appendix F four-byte autodetection; the UCS-4 and EBCDIC
families get unsupported_encoding. Measured: the previous scanner missed
DOCTYPE in these families.
libxml2-wasm is pinned to exact 0.7.2. A caret would silently
invalidate the F0-01 integrity record; the CI tarball checker enforces this.
Development
pnpm turbo run build --filter=@sezzlee/xml-mcp
pnpm turbo run test --filter=@sezzlee/xml-mcp
pnpm turbo run check-types --filter=@sezzlee/xml-mcp
Run tests through Turbo, not pnpm --filter @sezzlee/xml-mcp test: the bare
filter skips dependsOn: ["^build"].
A change to a tool's arguments, an error code or a limit changes the generated reference in
apps/docs; run pnpm --filter @sezzlee/docs gen and commit the result, or
pnpm turbo run validate --filter=@sezzlee/docs fails.
Large-document tests are opt-in and skipped by default; set
SEZZLEE_XML_LARGE=1 to run them.
Sezzlee XML MCP soruları
Sezzlee XML MCP'yi Claude Code'a nasıl eklerim?
Terminalinizde claude mcp add xml -- npx -y @sezzlee/xml-mcp komutunu çalıştırın. Her projede kullanılabilir olması için --scope user ekleyin.
Sezzlee XML MCP'yi Cursor'a nasıl eklerim?
~/.cursor/mcp.json dosyasını açın ve yukarıdaki yükleme bölümünde gösterilen Cursor yapılandırmasını kullanarak sunucuyu mcpServers altına ekleyin.
Sezzlee XML MCP hangi araçları sunar?
7 araç sunar; bunlar arasında list_documents, describe_document, read_node, find_in_document, select_xpath yer alır.
Bu sunucu hangi dosya uzantılarını okuyabilir?
.xml, .xsd, .xhtml, .svg, .csproj, .props, .targets, .config ve .resx uzantılarını destekler.
Sunucu çok büyük XML dosyalarını nasıl işliyor?
8 MiB bellek sınırını aşan belgeler, select_xpath, find_in_document ve aggregate_document araçlarının kullanılamadığı, kısıtlı yeteneklere sahip bir 'chunked' (parçalı) modda okunur.
Sunucu dosyalarımı değiştirebilir mi?
Hayır, sunucu salt okunur olacak şekilde tasarlanmıştır ve tek bir klasörle sınırlandırılmış bir sandbox ortamında çalışır.