MCP.Market

Efatura Kontrol MCP server

by BerkantACUN·io.github.BerkantACUN/efatura-kontrol·v0.1.0·2 stars

GİB e-Fatura/e-Arşiv/e-İrsaliye belgelerini GİB'in XSD ve şematron kurallarıyla yerelde denetler

A88/100grade A
What users say
No reviews yet
Be the first
Safety scan
A88/100

full report

Adoption
New

2 stars

Reviews

Write one

Nobody has reviewed Efatura Kontrol yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Efatura Kontrol tools (5)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • belge_dogrula

    UBL-TR belgesini denetler: XML biçimi, OASIS UBL 2.1 XSD, GİB e-Fatura şematronu (498 kural, kod listeleri dahil), satır/vergi/tevkifat/dip toplam aritmetiği, imza yapısı. Her bulgu: kod, seviye (hata/uyari/bilgi), GİB'in özgün mesajı, satır numarası, Türkçe açıklama ve düzeltme. `dosya` yerel yol ya da `xml` belge metni; `tur` fatura|earsiv|irsaliye|irsaliye-yaniti| uygulama-yaniti|zarf (verilmez

  • belge_ozeti

    Belgenin kimliği: senaryo, fatura tipi, numara, UUID, tarih, para birimi, satıcı/alıcı (VKN/TCKN, unvan), satırlar (ilk 50), vergiler, dip toplamlar, imzalı mı. Summary of a UBL-TR document: parties, lines, taxes and totals.

  • bulgu_acikla

    Bir bulgu kodunun (örn. sch-GeneralUnitCodeCheck-1, hesap-dip-odenecek) Türkçe açıklaması, hangi alanın neden reddedildiği ve nasıl düzeltileceği. Explains a finding code.

  • kod_listeleri

    Mevcut GİB kod listelerinin adları ve Türkçe açıklamaları; kaynak paket sürümleri. Names of the available code lists and the GİB package versions this build uses.

  • kod_listesi

    GİB kod listesinin değerleri (şematronun fiilen uyguladığı liste): UnitCodeList, TaxType, InvoiceTypeCodeList, ProfileIDType, CurrencyCodeList, WithholdingTaxTypeWithPercent, TaxExemptionReasonCodeType, PaymentMeansCodeTypeList... `ara` ile alt dize filtresi. Values of a GİB code list as enforced by the schematron.

Public scan report

scanner v0.1.10 · 2026-11-01 · same rubric, same numbers if you re-run it

no findings
  • Code scan16 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitylocal package, no credentials required12/15
  • Maintenancelast push 38 days ago12/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 88/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Efatura Kontrol compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
88/100
higher than 75% of 48,255 servers
Tools
5
the typical server has 7
Tools that change things
0%
typical: 0%. Fewer write tools means less an agent can break
GitHub stars
2
more than 75% of 28,688 servers

What its tools let an agent do: 5 read

Install Efatura Kontrol in Claude Code, Cursor or VS Code

claude mcp add efatura-kontrol -- uvx efatura-kontrol
Add to Cursor

What the publisher says

From the Efatura Kontrol repository's README, as published. We do not edit it. Read it on GitHub

efatura-kontrol

GİB'e göndermeden önce e-Fatura, e-Arşiv Fatura, e-İrsaliye ve zarf dosyalarını GİB'in kendi kurallarıyla kontrol eder: OASIS UBL 2.1 XSD'si, GİB'in e-Fatura Paketi şematronu (498 kural, 41 kod listesi), satır/vergi/tevkifat/dip toplam aritmetiği ve imza yapısı. Her bulgu satır numarası, GİB'in özgün mesajı, Türkçe açıklama ve düzeltme önerisiyle gelir. Komut satırı, Python kütüphanesi ve MCP sunucusu; hiçbir veri ağa gitmez.

Validates Turkish UBL-TR e-invoices (e-Fatura, e-Arşiv, e-İrsaliye, envelopes) offline with the Revenue Administration's own XSD and schematron rules, plus arithmetic and signature-structure checks; explains every finding in Turkish with a fix. CLI, Python API and MCP server.

mcp-name: io.github.BerkantACUN/efatura-kontrol

$ efatura-kontrol dogrula fatura.xml
fatura.xml: GEÇERSİZ — 1 hata, 1 uyarı, 1 bilgi (fatura / TEMELFATURA / SATIS, 6.2 ms)
  HATA  sch-GeneralUnitCodeCheck-1 [satır 138]: Geçersiz unitCode niteliği : 'ADET'. Geçerli değerler için kod listesine bakınız.
        → Adet için C62, kilogram KGM, gram GRM, metre MTR, litre LTR, saat HUR, gün DAY, ay MON, kutu BX, paket PA, çift PR yazın.
  UYARI hesap-dip-odenecek [satır 134]: Ödenecek tutar vergiler dahil tutar − tevkifat + yuvarlama ile uyuşmuyor: yazılan 18.88, hesaplanan 17.88
        → Tevkifatlı faturada tevkifatı düşün; yuvarlama varsa PayableRoundingAmount yazın.
  BILGI imza-yok [satır 3]: Belge elektronik imza taşımıyor; GİB'e gönderilecek belgede XAdES imzası bulunmalıdır, taslak için normaldir

Neden

GİB'in şematronu XPath 2.0 ile yazılmış, üç dosyaya bölünmüş, 133 soyut kural ve parça-içerme kullanır; sıradan araçlarla (lxml, çoğu Python şematron kütüphanesi) çalışmaz. Bu yüzden entegratörler hatayı ancak GİB'e ya da özel entegratöre gönderince öğrenir. efatura-kontrol GİB'in şematronunu düzleştirip XSLT 3.0'a bir kez derler (SchXslt2), Saxon ile çalıştırır: belge başına 2–20 ms, GİB'in verdiği mesajın aynısı, üstüne satır numarası ve düzeltme.

Kurulum

uvx efatura-kontrol --help          # kurulumsuz
pip install efatura-kontrol         # ya da kalıcı

Python ≥ 3.10; bağımlılıklar lxml ve SaxonC-HE (saxonche, ~40 MB wheel; Windows, macOS, Linux). İlk çalıştırma şematronu derlerken ~0,5 s alır, sonrası milisaniyeler.

Komutlar

Belge türü kök elemandan ve cbc:ProfileID'den bulunur; EARSIVFATURA görünce e-Arşiv kuralları (type=earchive) uygulanır. --tur ile zorlanabilir.

MCP sunucusu

Claude Desktop / Claude Code / Cursor için:

{
  "mcpServers": {
    "efatura-kontrol": { "command": "uvx", "args": ["efatura-kontrol", "mcp"] }
  }
}

Araçlar (hepsi salt okunur): belgedogrula(dosya|xml, tur), belgeozeti(dosya|xml), bulguacikla(kod), kodlistesi(liste, ara), kod_listeleri(). Resmî MCP kayıt defterinde io.github.BerkantACUN/efatura-kontrol.

Python

from efatura_kontrol.kontrol import kontrol_et, ozet

rapor = kontrol_et("fatura.xml")  # ya da bytes, tur="earsiv"
rapor.gecerli, rapor.sayim("hata"), rapor.sozluk()
for b in rapor.bulgular:
    print(b.seviye, b.kod, b.satir, b.mesaj, b.duzeltme)

Ne kontrol edilir

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Efatura Kontrol: common questions

Is Efatura Kontrol MCP server safe?
Yes, by our scan: it is graded A (88/100). Read the Efatura Kontrol safety report
How do I install Efatura Kontrol?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does Efatura Kontrol need an API key?
Not as far as the registry entry and our scan can tell: no credentials are declared or required.
Is Efatura Kontrol maintained?
The last commit was 41 days ago (2026-09-24). The latest release is v0.1.0.
How does Efatura Kontrol compare with other MCP servers?
safety score 88/100 (higher than 75% of 48,255 servers); tools 5 (the typical server has 7); tools that change things 0% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.

More from BerkantACUN →