gib-fatura-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@gib-fatura-mcp Create a sales invoice for 5 units of service at 200 TL each with 18% KDV"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🧾 fatura-mcp
GİB e-Arşiv portal üzerinde e-Fatura, e-Müstahsil Makbuzu ve e-SMM (Serbest Meslek Makbuzu) oluşturma, listeleme, imzalama vb. işlemler için MCP (Model Context Protocol) sunucusu.
mlevent/fatura PHP paketinin TypeScript/MCP portudur. Hesaplama mantığı (iskonto, KDV, tevkifat, özel matrah, stopaj, toplamlar) ve GİB istek formatları birebir taşınmıştır; hesaplamalar PHP paketinin kendi test senaryolarıyla doğrulanmıştır.
☢️ Bu araç vergiye tabi mali veri oluşturabilir. Belge imzalama (SMS doğrulama) işlemi faturanın resmen kesilmesi anlamına gelir; imzalanan belge değiştirilemez ve silinemez. Riskleri kullanan üstlenir.
Kurulum
Node.js 20.12+ gerekir. Sunucu stdio üzerinde çalışır:
git clone https://github.com/bevren/gib-fatura-mcp.git
cd gib-fatura-mcp
npm install
npm startClaude Code
claude mcp add fatura -- npx tsx <bu-deponun-yolu>/src/index.tsClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"fatura": {
"command": "npx",
"args": ["tsx", "<bu-deponun-yolu>/src/index.ts"]
}
}
}Related MCP server: docnova-mcp
Kullanım Akışı
gib_login— gerçek kullanıcı:username+password; deneme için:testMode: true(otomatik test hesabı alınır, test portalında mali değer oluşmaz).gib_create_invoice/gib_create_producer_receipt/gib_create_self_employed_receipt— belge taslağı oluşturur, tüm tutarlar otomatik hesaplanır, oluşanuuid(ETTN) döner.gib_list_documents,gib_get_document,gib_get_document_html— kontrol/inceleme.gib_start_sms_verification→gib_complete_sms_verification— belgeleri imzalar (☢️ resmi fatura keser; test hesaplarıyla çalışmaz).gib_logout
Araçlar
Araç | Açıklama |
| Portala giriş (gerçek veya otomatik test hesabı) |
| Mevcut token ile oturum |
| Oturum kapatma / durum |
| e-Fatura taslağı (Satış, İade, Tevkifat, İstisna, Özel Matrah); |
| e-Müstahsil makbuzu taslağı |
| e-SMM taslağı |
| Düzenlenen belgeler (tarih aralığı + onay durumu/tür/alıcı/belge no/ETTN filtreleri, limit, sıralama) |
| Adıma düzenlenen belgeler |
| Belge detayı / en son belge |
| HTML çıktı |
| İndirme adresi / zip olarak diske kaydetme |
| Taslak silme |
| SMS ile belge imzalama |
| İptal/itiraz talepleri |
| GİB profil bilgileri okuma/güncelleme |
| VKN/TCKN ile mükellef sorgulama |
| Birimler, vergiler, tevkifat kodları, özel matrah nedenleri, fatura tipleri, para birimleri |
Örnek: Satış Faturası
gib_create_invoice argümanları:
{
"vknTckn": "11111111111",
"aliciAdi": "Mert",
"aliciSoyadi": "Levent",
"mahalleSemtIlce": "Nilüfer",
"sehir": "Bursa",
"ulke": "Türkiye",
"malHizmetListe": [
{ "malHizmet": "Çimento", "miktar": 3, "birim": "M3", "birimFiyat": 1259, "kdvOrani": 18, "iskontoOrani": 25 }
]
}Dövizli fatura için paraBirimi + dovizKuru; iade için faturaTipi: "Iade" + iadeListe; tevkifat için faturaTipi: "Tevkifat" + kalemde tevkifatKodu; istisna için faturaTipi: "Istisna" + kalemde gtip; özel matrah için faturaTipi: "OzelMatrah" + kalemde ozelMatrahNedeni/ozelMatrahTutari. Kalemlere vergiler ile ek vergi eklenebilir (ör. {"vergi": "Damga", "oran": 15}).
Testler
npm run test:model # Hesaplama testleri (PHP paketinin ModelTest senaryoları)
npm run smoke # MCP el sıkışması + araç listesi (ağ gerektirmez)
npm run test:e2e # GİB TEST portalına karşı uçtan uca (test hesabı)Bilinen Notlar
Taslak silme: GİB portalı (en azından test ortamında)
EARSIV_PORTAL_FATURA_SIListeğini zaman zaman"Silinirken bir sorun oluştu."yanıtıyla reddediyor. İstek formatı PHP paketi ve fatura.js ile birebir aynıdır; sorun portal tarafındadır.İndirme adresi:
gib_get_download_urlyalnızca tokenın alındığı IP adresinden çalışır; başka makineden erişim içingib_save_document_to_diskkullanın.Adıma düzenlenen belgeler: GİB tarafında bu servis her zaman stabil çalışmıyor.
SMS imzalama test hesaplarıyla gerçekleştirilemez; mükellef sorgulama test ortamında boş döner.
Token süresi dolduğunda
gib_loginile yeni token alınmalıdır.
Available Tools
24 toolsgib_cancellation_requestİptal Talebi OluşturC
İmzalanmış bir belge için iptal talebi oluşturur.
Inputs: uuid (required), explanation (required), belgeTuru.
gib_complete_sms_verificationBelgeleri İmzala (SMS Doğrulama)A
☢️ DİKKAT: Belge imzalama, faturanın/makbuzun resmen kesilmesi işlemidir ve vergi sisteminde mali veri oluşturur. İmzalanan belge değiştirilemez ve silinemez. SMS ile gelen kod, gib_start_sms_verification'dan alınan oid ve imzalanacak belgelerin UUID listesi gönderilmelidir.
Inputs: oid (required), code (required), uuids (required), belgeTuru.
gib_create_invoicee-Fatura Taslağı OluşturA
GİB e-Arşiv portalda e-Fatura taslağı oluşturur (Satış, İade, Tevkifat, İstisna, Özel Matrah). Tutar, iskonto, KDV ve vergi toplamları otomatik hesaplanır. uuid + belgeNumarasi birlikte verilirse portaldaki mevcut belge güncellenir. Belge taslak olarak kaydedilir; imzalanana kadar mali değeri yoktur.
Inputs: vknTckn (required), malHizmetListe (required), fax, not, +34 more.
gib_create_producer_receipte-Müstahsil Makbuzu OluşturB
GİB e-Arşiv portalda e-Müstahsil makbuzu taslağı oluşturur. GV stopajı ve toplamlar otomatik hesaplanır.
Inputs: vknTckn (required), aliciAdi (required), aliciSoyadi (required), malHizmetListe (required), +8 more.
gib_create_self_employed_receipte-SMM OluşturB
GİB e-Arşiv portalda Serbest Meslek Makbuzu (e-SMM) taslağı oluşturur. Stopaj, KDV, tevkifat ve net tutarlar otomatik hesaplanır.
Inputs: vknTckn (required), malHizmetListe (required), saat, ulke, +19 more.
gib_delete_draftsTaslak Belgeleri SilB
İmzalanmamış taslak belgeleri siler. Silinecek belgelerin UUID (ETTN) listesi verilmelidir.
Inputs: uuids (required), reason, belgeTuru.
gib_get_documentBelge DetayıB
Portalda kayıtlı bir belgenin detaylarını UUID (ETTN) ile getirir.
Inputs: uuid (required), belgeTuru.
gib_get_document_htmlBelge HTML ÇıktısıC
Portalda kayıtlı belgenin HTML çıktısını getirir.
Inputs: uuid (required), signed.
gib_get_download_urlBelge İndirme AdresiA
Belgenin zip indirme adresini üretir. Not: Bu adrese yalnızca tokenın oluşturulduğu IP adresinden erişilebilir; farklı IP için gib_save_document_to_disk kullanın.
Inputs: uuid (required), signed, belgeTuru.
gib_get_last_documentSon BelgeC
Portalda en son oluşturulan belgenin detaylarını getirir (varsayılan olarak son 1 yıl içinde arar).
Inputs: belgeTuru, recipientId.
gib_get_recipient_dataMükellef SorgulaA
TC Kimlik No veya Vergi Kimlik No ile mükellef bilgilerini (ünvan, ad, soyad, vergi dairesi) sorgular. Fatura kesmeden önce VKN doğrulamak için kullanılabilir. Test ortamında sonuç boş döner.
Inputs: vknTckn (required).
gib_get_reference_dataReferans VerileriA
Belge oluştururken kullanılan sabit listeleri döndürür: birimler, vergiler, KDV tevkifat kodları, özel matrah nedenleri, fatura tipleri, para birimleri, itiraz yöntemleri.
Inputs: kind (required).
gib_get_requestsİptal/İtiraz Taleplerini ListeleC
Belirtilen tarih aralığındaki iptal/itiraz taleplerini listeler.
Inputs: endDate (required), startDate (required).
gib_get_user_dataGİB Profil BilgileriB
Portalda kayıtlı kullanıcı (mükellef) profil bilgilerini getirir.
Inputs: no named parameters.
gib_list_documentsDüzenlenen Belgeleri ListeleA
Belirtilen tarih aralığında düzenlenen belgeleri (taslak + imzalı) listeler. Onay durumu, belge türü, alıcı adı/VKN, belge no ve ETTN filtreleri uygulanabilir.
Inputs: endDate (required), startDate (required), ettn, limit, +9 more.
gib_list_documents_issued_to_meAdıma Düzenlenen Belgeleri ListeleA
Belirtilen tarih aralığında adınıza düzenlenen belgeleri listeler. (Not: GİB tarafında bu servis zaman zaman stabil çalışmayabiliyor.)
Inputs: endDate (required), startDate (required), ettn, limit, +9 more.
gib_loginGİB GirişiA
GİB e-Arşiv portala giriş yapar ve oturum tokenı alır. testMode=true ve kullanıcı adı verilmezse otomatik olarak yeni bir test hesabı alınır. Gerçek kullanıcı bilgilerini muhasebecinizden veya GİB İnteraktif Vergi Dairesi'nden edinebilirsiniz.
Inputs: password, testMode, username.
gib_logoutGİB ÇıkışıA
GİB e-Arşiv portal oturumunu sonlandırır.
Inputs: no named parameters.
gib_objection_requestİtiraz Talebi OluşturB
İmzalanmış bir belge için itiraz talebi oluşturur.
Inputs: uuid (required), documentId (required), explanation (required), documentDate (required), +2 more.
gib_save_document_to_diskBelgeyi Diske KaydetB
Portalda kayıtlı belgeyi zip olarak indirir ve diske kaydeder; kaydedilen dosyanın tam yolunu döndürür.
Inputs: uuid (required), signed, dirName, fileName, +1 more.
gib_session_infoOturum BilgisiA
Mevcut oturum durumunu (token, kullanıcı, test modu) gösterir.
Inputs: no named parameters.
gib_set_tokenToken TanımlaB
Daha önce alınmış bir oturum tokenını tanımlar; token süresi dolana kadar login olmadan işlem yapılabilir.
Inputs: token (required), testMode.
gib_start_sms_verificationSMS Doğrulaması BaşlatA
Belge imzalamak için SMS doğrulaması başlatır: portalda kayıtlı GSM numarasına doğrulama kodu gönderilir ve imzalama adımında kullanılacak Operasyon ID (oid) döndürülür. SMS doğrulama test hesaplarıyla çalışmaz.
Inputs: no named parameters.
gib_update_user_dataGİB Profil Bilgilerini GüncelleA
Portalda kayıtlı kullanıcı profil bilgilerini günceller. Önce mevcut bilgiler okunur, verilen alanlar üzerine yazılır ve kaydedilir.
Inputs: fields (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 24 tools
Each tool has a clearly distinct purpose covering different aspects of the document lifecycle: authentication, document creation (invoice, producer receipt, self-employed receipt), retrieval, deletion, signing, and dispute management. The use of unique verbs and nouns prevents any ambiguity.
All tools consistently use the 'gib_' prefix followed by a verb_noun pattern (e.g., gib_create_invoice, gib_list_documents, gib_get_document). This uniform naming convention makes the API predictable and easy to navigate.
With 24 tools, the count is on the higher side but justified by the complexity of the Turkish tax document domain which requires authentication, document creation (multiple types), signing, dispute management, and reference data operations. Each tool serves a distinct and necessary function.
The tool set covers the full lifecycle: authentication, session management, document creation (invoice, producer receipt, self-employed receipt), retrieval, listing, deletion, signing via SMS verification, cancellation, objection, reference data, user profile management, and recipient verification. No obvious gaps are present for the stated purpose of interacting with the GİB e-Arşiv portal.
Maintenance
Related MCP Connectors
MCP server for ABRA Flexi — accounting, contacts, stock and draft-checked invoice creation.
Brazilian fiscal MCP server - issue NF-e, NFC-e, NFS-e, CT-e, MDF-e and DC-e via SEFAZ.
MCP server for the PDFGate API. Generate PDFs, manage documents and handle e-signatures.
MCP Server for agents to onboard, pay, and provision services autonomously with InFlow
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server for electronic invoicing that enables generating, validating, and parsing Factur-X and ZUGFeRD compliant XML invoices. It supports the French 2026 B2B reform and provides integration with Chorus Pro for automated invoice submission and status tracking.912 npm1MIT

docnova-mcpofficial
AlicenseAqualityDmaintenanceMCP server for e-invoice platforms. Enables natural language querying of invoices, partners, company data, and financial reports.1810 npm6MIT- AlicenseAqualityDmaintenanceMCP server for Italian electronic invoicing via the Invoicetronic API, enabling management of invoices through SDI with 20 tools for sending, receiving, exporting, and more.18MIT
- AlicenseAqualityDmaintenanceMCP server for Factura.uz electronic invoicing system (Uzbekistan). Supports creating, signing, accepting, and rejecting e-invoices, plus company and product lookups.87 npmMIT