Skip to main content
Glama

🧾 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 start

Claude Code

claude mcp add fatura -- npx tsx <bu-deponun-yolu>/src/index.ts

Claude 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ışı

  1. 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).

  2. gib_create_invoice / gib_create_producer_receipt / gib_create_self_employed_receipt — belge taslağı oluşturur, tüm tutarlar otomatik hesaplanır, oluşan uuid (ETTN) döner.

  3. gib_list_documents, gib_get_document, gib_get_document_html — kontrol/inceleme.

  4. gib_start_sms_verificationgib_complete_sms_verification — belgeleri imzalar (☢️ resmi fatura keser; test hesaplarıyla çalışmaz).

  5. gib_logout

Araçlar

Araç

Açıklama

gib_login

Portala giriş (gerçek veya otomatik test hesabı)

gib_set_token

Mevcut token ile oturum

gib_logout / gib_session_info

Oturum kapatma / durum

gib_create_invoice

e-Fatura taslağı (Satış, İade, Tevkifat, İstisna, Özel Matrah); uuid+belgeNumarasi ile güncelleme

gib_create_producer_receipt

e-Müstahsil makbuzu taslağı

gib_create_self_employed_receipt

e-SMM taslağı

gib_list_documents

Düzenlenen belgeler (tarih aralığı + onay durumu/tür/alıcı/belge no/ETTN filtreleri, limit, sıralama)

gib_list_documents_issued_to_me

Adıma düzenlenen belgeler

gib_get_document / gib_get_last_document

Belge detayı / en son belge

gib_get_document_html

HTML çıktı

gib_get_download_url / gib_save_document_to_disk

İndirme adresi / zip olarak diske kaydetme

gib_delete_drafts

Taslak silme

gib_start_sms_verification / gib_complete_sms_verification

SMS ile belge imzalama

gib_cancellation_request / gib_objection_request / gib_get_requests

İptal/itiraz talepleri

gib_get_user_data / gib_update_user_data

GİB profil bilgileri okuma/güncelleme

gib_get_recipient_data

VKN/TCKN ile mükellef sorgulama

gib_get_reference_data

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_SIL isteğ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_url yalnızca tokenın alındığı IP adresinden çalışır; başka makineden erişim için gib_save_document_to_disk kullanı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_login ile yeni token alınmalıdır.

Available Tools

24 tools
gib_cancellation_requestİptal Talebi OluşturC

İmzalanmış bir belge için iptal talebi oluşturur.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidYesBelgeye ait UUID (ETTN)
belgeTuruNoBelge türü: FATURA (e-Fatura), MUSTAHSIL (e-Müstahsil Makbuzu), SMM (Serbest Meslek Makbuzu)FATURA
explanationYesTalep açıklaması (ör. Hatalı İşlem)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Lacking annotations, the description carries the full burden. It only states the action (create request) but doesn't disclose consequences (e.g., whether it immediately cancels the document, requires approval, changes document status, or has side effects).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with key action and object. No wasted words, but could be more informative without sacrificing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of output schema and annotations, the description should explain what happens after request creation, the return value (e.g., request ID), and prerequisites (e.g., document must be signed). It fails to provide this context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema covers all 3 parameters with descriptions (100% coverage). The tool description adds no additional meaning beyond 'Creates a cancellation request', so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it creates a cancellation request for a signed document. The verb 'oluşturur' and resource 'iptal talebi' are specific, but it doesn't explicitly distinguish from the sibling tool 'gib_objection_request' (objection request). Nonetheless, the purpose is clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like 'gib_objection_request'. No mention of prerequisites, when not to use, or context for cancellation (e.g., only after document is finalized).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
oidYesgib_start_sms_verification tarafından döndürülen Operasyon ID
codeYesSMS ile gelen doğrulama kodu
uuidsYesİmzalanacak belgelerin UUID (ETTN) listesi
belgeTuruNoBelge türü: FATURA (e-Fatura), MUSTAHSIL (e-Müstahsil Makbuzu), SMM (Serbest Meslek Makbuzu)FATURA

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It explicitly warns that signing is irreversible and creates fiscal data in the tax system, providing critical behavioral transparency for a destructive action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single paragraph of two sentences, front-loaded with the essential warning followed by usage instructions. Every sentence earns its place with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (4 parameters, part of a multi-step process, no output schema), the description explains the purpose, prerequisites, and behavioral implications completely. No additional information is needed for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (all parameters have descriptions). The description reinforces the workflow but does not add new meaning beyond the schema. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Belgeleri İmzala (SMS Doğrulama)' meaning 'Sign Documents (SMS Verification)' and explains that it finalizes documents in the tax system, making them immutable. This distinguishes it from sibling tools like gib_start_sms_verification and other document operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description specifies that the tool requires the SMS code, oid from gib_start_sms_verification, and UUIDs of documents to sign. It implies the correct usage context but does not explicitly exclude alternative scenarios or state when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
faxNo
notNoBelge notu
telNo
saatNoFatura saati HH:mm:ss; verilmezse şu an
ulkeNoTürkiye
uuidNoBelge UUID — yalnızca mevcut taslağı güncellerken belgeNumarasi ile birlikte verin
adresNoBulvar/cadde/sokak
fisNoNo
sehirNo
tarihNoFatura tarihi dd/MM/yyyy; verilmezse bugün
binaNoNo
epostaNo
kapiNoNo
binaAdiNo
fisTipiNo
vknTcknYesAlıcı Vergi Kimlik No (10 hane) veya TC Kimlik No (11 hane)
aliciAdiNo
fisSaatiNo
zRaporNoNo
dovizKuruNoDöviz kuru; paraBirimi TRY değilse zorunlu
fisTarihiNo
iadeListeNoİadeye konu faturalar (yalnızca faturaTipi=Iade)
kasabaKoyNo
okcSeriNoNo
postaKoduNo
websitesiNo
aliciUnvanNoAlıcı şirket ünvanı (şirketse)
faturaTipiNoFatura tipi: Satis, Iade, Tevkifat, Istisna, OzelMatrah, IhracKayitli, KonaklamaVergisiSatis
paraBirimiNoPara birimi kodu (TRY, USD, EUR...)TRY
aliciSoyadiNo
vergiDairesiNo
belgeNumarasiNoBelge numarası — yalnızca mevcut taslağı güncellerken uuid ile birlikte verin
siparisTarihiNo
irsaliyeTarihiNo
malHizmetListeYesFatura kalemleri
mahalleSemtIlceNo
siparisNumarasiNo
irsaliyeNumarasiNo

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description provides key behavioral details: automatic calculation of amounts/discounts/taxes, update capability via uuid+belgeNumarasi, and the draft status (no fiscal value until signed). This covers important traits beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (3 sentences) and front-loads the core purpose. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 38 parameters, nested objects, and no output schema, the description lacks crucial details: prerequisites (e.g., login status), return value/format, and error handling. The agent may not know what to expect after invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 34%, and the description does not compensate by explaining individual parameters beyond the update pair (uuid and belgeNumarasi). Required parameters like vknTckn and malHizmetListe are not elaborated, leaving their semantics unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it creates an e-Invoice draft in the GIB e-Arşiv portal, listing the supported invoice types (Sales, Return, Withholding, Exemption, Special Base). It distinguishes from sibling creation tools (e.g., gib_create_producer_receipt) by specifying the invoice context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (for e-Invoice draft creation) and mentions the update use case. However, it does not explicitly compare to alternatives or state when not to use it, leaving the agent to infer from sibling names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
notNo
saatNo
uuidNoYalnızca güncelleme için belgeNumarasi ile birlikte
sehirNo
tarihNoTarih, dd/MM/yyyy formatında (ör. 15/07/2026)
vknTcknYes
aliciAdiYes
websitesiNo
aliciSoyadiYes
teslimTarihiNoTarih, dd/MM/yyyy formatında (ör. 15/07/2026)
belgeNumarasiNo
malHizmetListeYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. The description adds one behavioral trait: 'GV stopajı ve toplamlar otomatik hesaplanır' (automatic calculation of withholding tax and totals). However, it omits other key behaviors such as whether it creates a draft (taslak) meaning it's non-destructive, authorization requirements, or side effects. The description carries the full burden but only partially addresses it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose and a key behavioral feature. No wasted words. Efficient for quick understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 12 parameters, no output schema, and no annotations, the description is insufficient. It does not explain return values, error conditions, prerequisites, or how the tool fits with other draft creation tools. The automatic calculation hint is helpful but not enough for a complex tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is low (25%, 3 of 12 parameters have descriptions). The description mentions auto-calculation of taxes, which indirectly clarifies that certain tax-related parameters (e.g., gvStopajOrani) may be optional, but it does not map to specific parameters or add meaning beyond the schema. It provides minimal additional value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states it creates a draft 'e-Müstahsil makbuzu' (producer receipt) on GİB e-Arşiv portal, which is distinct from sibling tools like 'gib_create_invoice' and 'gib_create_self_employed_receipt'. The verb 'oluşturur' and resource specification are clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or comparative context. The usage is only implied by the tool name and title.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
saatNo
ulkeNoTürkiye
uuidNoYalnızca güncelleme için belgeNumarasi ile birlikte
adresNo
sehirNo
tarihNoTarih, dd/MM/yyyy formatında (ör. 15/07/2026)
binaNoNo
kapiNoNo
binaAdiNo
vknTcknYes
aciklamaNo
aliciAdiNo
dovizKuruNo
kasabaKoyNo
postaKoduNo
aliciUnvanNo
paraBirimiNoTRY
aliciSoyadiNo
vergiDairesiNo
belgeNumarasiNo
malHizmetListeYes
kdvTahakkukIcinNo
mahalleSemtIlceNo

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations; description only mentions creation and auto-calculation but omits side effects, authentication needs, or draft lifecycle.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose and key feature, no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For 23 parameters, no output schema, no annotations, description fails to explain return values, errors, or preconditions like authentication.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is low (9%); description adds no parameter-specific meaning beyond mentioning auto-calculations, which weakly relates to stopaj/KDV parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it creates a self-employment receipt (e-SMM) draft and mentions automatic calculations, distinguishing it from siblings like gib_create_invoice.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives or prerequisites; lacks context for selection among similar create tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gib_delete_draftsTaslak Belgeleri SilB

İmzalanmamış taslak belgeleri siler. Silinecek belgelerin UUID (ETTN) listesi verilmelidir.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidsYes
reasonNoSilme nedeniHatalı İşlem
belgeTuruNoBelge türü: FATURA (e-Fatura), MUSTAHSIL (e-Müstahsil Makbuzu), SMM (Serbest Meslek Makbuzu)FATURA

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It only states the action without disclosing side effects, error conditions, permission requirements, or irreversibility. A delete operation warrants more behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, both front-loaded. Every word carries meaning; no redundant or extraneous information. Efficient and to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (3 parameters, no output schema), the description lacks important contextual details such as return value, error handling, or behavior on invalid UUIDs. It is overly minimal for a delete operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema description coverage at 67%, the description adds minimal value beyond the structured schema. It mentions the UUID list requirement but does not elaborate on the purpose or format of other parameters like 'reason' or 'belgeTuru', leaving gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (deleting) and the resource (unsigned draft documents), which is specific and distinguishes it from sibling tools that handle cancellations, objections, or other operations on invoices.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description indicates a prerequisite (UUID list must be provided) but lacks explicit when-to-use or when-not-to-use guidance. It does not mention alternatives or contexts where other tools would be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gib_get_documentBelge DetayıB

Portalda kayıtlı bir belgenin detaylarını UUID (ETTN) ile getirir.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidYesBelgeye ait UUID (ETTN)
belgeTuruNoBelge türü: FATURA (e-Fatura), MUSTAHSIL (e-Müstahsil Makbuzu), SMM (Serbest Meslek Makbuzu)FATURA

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It only states 'retrieves' with no information on idempotency, side effects, authentication, error behavior, or performance characteristics. This is insufficient for a tool with no annotation support.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, short sentence that is front-loaded and contains no fluff. Every word is informative. However, note the language is Turkish, which may impact non-Turkish agents, but conciseness is otherwise ideal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description is too minimal. It does not mention what data is returned, error handling, or prerequisites. For a retrieval tool in a rich ecosystem, more context is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both parameters documented in the schema. The tool description does not add any additional meaning beyond what the schema already provides, so it neither improves nor harms understanding. Baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'getirir' (retrieves) and the resource 'belgenin detaylarını' (document details) with the method UUID. It distinguishes from sibling tools like gib_get_last_document and gib_get_document_html by specifying the identifier.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as gib_list_documents or gib_get_last_document. The description lacks explicit context, exclusions, or recommendations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gib_get_document_htmlBelge HTML ÇıktısıC

Portalda kayıtlı belgenin HTML çıktısını getirir.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidYesBelgeye ait UUID (ETTN)
signedNotrue: onaylanmış, false: onaylanmamış belge görünümü

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It does not mention side effects, authentication requirements, error behavior, or whether the operation is read-only. The minimal description 'returns HTML output' is insufficient for behavioral transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with one sentence and no wasted words. It is front-loaded but could be slightly expanded to add value without being verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool lacks an output schema, and the description does not explain the output format (e.g., raw HTML, encoded, size limits) or provide context on when to prefer this over gib_get_document. For a data-returning tool, completeness is low.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline 3 applies. The description adds no additional meaning beyond the schema; it does not explain the role of uuid or the meaning of the signed parameter in context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns HTML output of a registered document. The verb 'getirir' (returns) and resource 'belgenin HTML çıktısı' (document's HTML output) are specific. However, it does not distinguish from sibling tools like gib_get_document or gib_get_download_url.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, no prerequisites, and no excluded scenarios. The description only states the basic function.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidYesBelgeye ait UUID (ETTN)
signedNo
belgeTuruNoBelge türü: FATURA (e-Fatura), MUSTAHSIL (e-Müstahsil Makbuzu), SMM (Serbest Meslek Makbuzu)FATURA

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the IP restriction, which is a key behavioral constraint, but does not mention other traits like read-only nature, permissions, or rate limits. The note adds value but is not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero wasted words. Purpose is front-loaded, followed by a crucial note. Highly efficient and scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple 3-parameter tool with no output schema, the description covers the core purpose and a key constraint. However, it omits the return format (presumably a URL string) and does not explain the output, which would help an agent. Overall, adequate but slightly lacking.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 67% (2 of 3 parameters described). The description itself does not add any additional meaning for the parameters; it does not explain 'signed' or 'belgeTuru' beyond what's in the schema. Since coverage is not high, the description should compensate, but it does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses a specific verb ('üretir' generates) and clearly identifies the resource (zip download address of the document). It also distinguishes itself from sibling tool gib_save_document_to_disk by noting the IP restriction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit usage guidance: when the IP matches the token's creation IP, use this tool; otherwise, use the alternative gib_save_document_to_disk. This fully covers when to use and when not to.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gib_get_last_documentSon BelgeC

Portalda en son oluşturulan belgenin detaylarını getirir (varsayılan olarak son 1 yıl içinde arar).

ParametersJSON Schema
NameRequiredDescriptionDefault
belgeTuruNoBelge türü: FATURA (e-Fatura), MUSTAHSIL (e-Müstahsil Makbuzu), SMM (Serbest Meslek Makbuzu)FATURA
recipientIdNoYalnızca bu alıcı VKN/TCKN için ara

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavioral traits. It only states that it 'gets details' without indicating side effects, read-only status, authentication requirements, or error behavior (e.g., what happens if no document exists). The lack of transparency is significant for a read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that efficiently conveys the core functionality and default behavior. It is front-loaded and to the point, though it could include a bit more detail without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple retrieval tool, the description covers the basic action and default scope. However, the absence of an output schema leaves return values unspecified, and the description does not distinguish from sibling tools or explain how the results are ordered. With 2 optional parameters and no output schema, more completeness would be beneficial.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers 100% of parameters with descriptions, enums, and defaults. The description does not add additional meaning beyond the schema, such as how parameters affect the search logic. Baseline 3 is appropriate given full schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool retrieves details of the last created document in the portal, with a default search range of the last year. The purpose is specific and understandable, but it does not clarify how 'last' is determined (e.g., by creation date) or how it differs from `gib_get_document` which retrieves a specific document.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus sibling tools like `gib_get_document`, `gib_list_documents`, or `gib_list_documents_issued_to_me`. The description does not mention prerequisites, typical use cases, or scenarios where other tools are more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
vknTcknYesVergi Kimlik No (10 hane) veya TC Kimlik No (11 hane)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It states the query operation and test environment behavior, but does not disclose authentication requirements, side effects, or limits. Adequate for a simple read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each adding value: purpose, use case, test environment caveat. Front-loaded and no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given low complexity (1 param, no output schema), description adequately explains what is returned. Lacks error handling or formatting details, but sufficient for a basic lookup.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage with description for the single parameter vknTckn. Description adds no extra parameter semantics beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool queries recipient tax/ID info with specific fields (ünvan, ad, soyad, vergi dairesi). It distinguishes from siblings by focusing on recipient data and provides a specific use case (VKN verification before invoicing).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use (before invoicing to verify VKN) and notes test environment behavior. However, no explicit when-not-to-use or alternative tools mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It describes the tool as returning lists but does not disclose behavioral traits such as read-only nature, authentication requirements, or performance characteristics. For a simple lookup tool, this is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence listing the reference data types. No redundant information, every word serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (one parameter, no output schema), the description covers the essential purpose. However, it could specify that the output is a list of code-value pairs or similar structure. The absence of output schema details is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It adds context by mentioning that this data is used 'during document creation', which goes beyond the enum list. However, it omits one enum value ('belge_turleri') from the listing, slightly reducing completeness.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns reference lists (constant lists) used in document creation. The verb 'returns' and resource 'sabit listeler' (constant lists) are specific, and the listed items (birimler, vergiler, etc.) distinguish it from sibling tools that handle document creation, deletion, or authentication.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage during document creation to obtain reference data. It does not explicitly state when not to use or mention alternatives, but the context is clear given the sibling tools are for different actions (e.g., creating invoices, deletion).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gib_get_requestsİptal/İtiraz Taleplerini ListeleC

Belirtilen tarih aralığındaki iptal/itiraz taleplerini listeler.

ParametersJSON Schema
NameRequiredDescriptionDefault
endDateYesTarih, dd/MM/yyyy formatında (ör. 15/07/2026)
startDateYesTarih, dd/MM/yyyy formatında (ör. 15/07/2026)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description should disclose behavioral traits. It only states 'lists,' omitting whether the operation is read-only, destructive, or requires authentication.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one concise sentence, front-loading the essential information with no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Without annotations or output schema, the description is minimal. It lacks details about result count, pagination, or return format, making it incomplete for a list tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the parameters are fully described in the schema. The description mentions a date range but adds no new meaning beyond the schema's pattern and format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists cancellation/objection requests in a specified date range. Verb and resource are specific, but it does not differentiate from sibling list tools like gib_list_documents.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives. Siblings include gib_cancellation_request and gib_objection_request, but the description provides no context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gib_get_user_dataGİB Profil BilgileriB

Portalda kayıtlı kullanıcı (mükellef) profil bilgilerini getirir.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose behavioral traits such as authentication requirements, side effects, or rate limits. The description only states that it retrieves data, which is minimally transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is directly about the tool's purpose. It is concise but could be slightly more informative. Still, it earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters, no output schema, and is a simple retrieval, the description is mostly complete. However, it could mention that the user must be logged in or that the data is for the currently authenticated user, which would add context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and schema coverage is 100%. The description does not need to add parameter details. A baseline of 4 is appropriate as there is nothing missing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb (getirir - retrieves) and the resource (kullanıcı profil bilgileri - user profile information). It distinguishes from sibling tools like gib_get_recipient_data and gib_update_user_data. The purpose is specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as gib_get_recipient_data, gib_session_info, or gib_get_document. There is no mention of preconditions (e.g., login required), exclusions, or contexts.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
ettnNoUUID (ETTN) değerine göre filtrele
limitNoSonuç limiti
offsetNo
endDateYesTarih, dd/MM/yyyy formatında (ör. 15/07/2026)
sortAscNotrue: önce ilk kayıtlar; false (varsayılan): önce son kayıtlar
belgeTuruNoBelge türüne göre filtrele
startDateYesTarih, dd/MM/yyyy formatında (ör. 15/07/2026)
documentIdNoBelge numarasına göre filtrele
onlySignedNoYalnızca imzalanmış (onaylanmış) belgeler
onlyDeletedNoYalnızca silinmiş belgeler
recipientIdNoAlıcı VKN/TCKN değerine göre filtrele
onlyUnsignedNoYalnızca imzalanmamış belgeler
recipientNameNoAlıcı adına göre filtrele (içerme, harf duyarsız)

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist; description adds that results include both draft and signed documents, and lists filter options. However, it doesn't disclose pagination behavior, response format, or authentication needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two clear, front-loaded sentences with no redundant information. Every word adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 13 parameters and no output schema, the description covers core purpose and filters. Lacks mention of pagination (limit/offset) and sorting (sortAsc), but schema provides those details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 92%, so baseline 3. The description lists filter categories but does not add meaning beyond schema descriptions (e.g., date format, enum values).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('listeler' - lists) and resource ('belgeleri' - documents), and distinguishes from siblings (e.g., gib_list_documents_issued_to_me) by focusing on documents edited in date range.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use vs alternatives like gib_get_document or gib_list_documents_issued_to_me. No mention of prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.)

ParametersJSON Schema
NameRequiredDescriptionDefault
ettnNoUUID (ETTN) değerine göre filtrele
limitNoSonuç limiti
offsetNo
endDateYesTarih, dd/MM/yyyy formatında (ör. 15/07/2026)
sortAscNotrue: önce ilk kayıtlar; false (varsayılan): önce son kayıtlar
belgeTuruNoBelge türüne göre filtrele
startDateYesTarih, dd/MM/yyyy formatında (ör. 15/07/2026)
documentIdNoBelge numarasına göre filtrele
onlySignedNoYalnızca imzalanmış (onaylanmış) belgeler
onlyDeletedNoYalnızca silinmiş belgeler
recipientIdNoAlıcı VKN/TCKN değerine göre filtrele
onlyUnsignedNoYalnızca imzalanmamış belgeler
recipientNameNoAlıcı adına göre filtrele (içerme, harf duyarsız)

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. The description adds a note about potential instability, which is a behavioral trait. However, it does not disclose authentication requirements, pagination behavior, or error handling. The instability note is useful but insufficient for full transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, first sentence states purpose, second adds a caveat. No unnecessary words. Front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list tool with 13 parameters, the description covers the core function but lacks details about return format, pagination, or how filters interact. The instability note is a plus. Adequate but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 92%, so the schema already defines parameters well. The description does not add extra meaning beyond mentioning the date range. Baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it lists documents issued to the user within a date range. The phrase 'adınıza düzenlenen belgeler' distinguishes it from the generic sibling 'gib_list_documents'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage for listing documents in a date range, but no explicit guidance on when to use versus alternatives like 'gib_list_documents' or when not to use. The instability note is a caveat but not a guideline.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
passwordNoe-Arşiv portal parolası
testModeNotrue: earsivportaltest.efatura.gov.tr (test portalı) kullanılır
usernameNoe-Arşiv portal kullanıcı kodu

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully disclose behavioral traits. It explains the login and token acquisition, and the special test mode behavior. However, it does not mention potential side effects (e.g., whether previous sessions are invalidated), rate limits, or token expiration, which would be important for an agent managing sessions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the primary action, and contains no extraneous information. Each sentence adds value: the first states the core function, the second clarifies parameter behavior and credential sourcing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description adequately covers purpose, parameters, and credential sourcing. However, it lacks information about the return value (the token format or usage), which would be useful for an agent to chain subsequent calls. The description is sufficient for a straightforward login tool but leaves some gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 100% coverage of parameter descriptions, but the description adds significant meaning beyond the schema. It explains the interplay between testMode and username for automatic test account creation ('testMode=true ve kullanıcı adı verilmezse otomatik olarak yeni bir test hesabı alınır'), and provides guidance on obtaining credentials, which the schema does not include.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool logs into the GİB e-Archive portal and obtains a session token ('GİB e-Arşiv portala giriş yapar ve oturum tokenı alır'). This is a specific verb-resource pair that distinguishes it from all sibling tools, which are other operations like creating invoices or listing documents.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides guidance on when to use testMode and auto-account creation ('testMode=true ve kullanıcı adı verilmezse otomatik olarak yeni bir test hesabı alınır') and advises where to obtain real credentials. It does not explicitly state when not to use the tool or compare to alternatives, but the context of login versus other operations is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gib_logoutGİB ÇıkışıA

GİB e-Arşiv portal oturumunu sonlandırır.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It only states that the session is terminated without elaborating on behavioral traits such as token invalidation, error conditions, or side effects. This is insufficient for an agent to fully understand the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that directly conveys the tool's purpose without any extraneous information. It is concise and front-loaded, earning its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of a logout operation with no parameters or output schema, the description is minimal but adequate. However, it could be more complete by mentioning that an active session is required or what the return value indicates. As is, it is functional but has gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and schema coverage is 100% trivially. The description adds no parameter information because none are needed. Baseline score of 4 is appropriate as the description does not need to compensate for missing parameter details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool terminates the GİB e-Archives portal session, using a specific verb and resource. It distinguishes itself from sibling tools like gib_login and gib_session_info, making its purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for ending a session but does not explicitly state when to use or avoid it, nor does it mention alternatives or prerequisites. Given the context of sibling tools, it is adequate but lacks explicit guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gib_objection_requestİtiraz Talebi OluşturB

İmzalanmış bir belge için itiraz talebi oluşturur.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidYesBelgeye ait UUID (ETTN)
belgeTuruNoBelge türü: FATURA (e-Fatura), MUSTAHSIL (e-Müstahsil Makbuzu), SMM (Serbest Meslek Makbuzu)FATURA
documentIdYesReferans belge numarası (ör. GIB2020000000218)
explanationYes
documentDateYesReferans belge tarihi
objectionMethodYesİtiraz yöntemi: Noter, TaahhutluMektup, Telgraf, Kep

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It does not disclose side effects (e.g., whether the request is sent to GIB, if it can be reversed), or any required authentication or state (e.g., document must be signed).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence, which is concise. However, it is slightly too terse; it could include brief usage notes without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a creation tool with 6 parameters and no output schema, the description is incomplete. It does not explain return behavior, required conditions (e.g., document must be signed), or differentiate from cancellation requests. The undocumented 'explanation' parameter is not addressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 83% (5 of 6 parameters have descriptions). The tool description adds no parameter-level information. The undocumented 'explanation' parameter would benefit from clarification, but baseline is 3 due to schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Creates an objection request for a signed document' with a specific verb ('oluşturur') and resource ('itiraz talebi'). It distinguishes this tool from siblings like gib_cancellation_request, which handles cancellations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives (e.g., gib_cancellation_request). There is no mention of prerequisites, excluded cases, or best practices.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidYesBelgeye ait UUID (ETTN)
signedNo
dirNameNoKayıt klasörü; verilmezse çalışma dizini
fileNameNoDosya adı (uzantısız); verilmezse UUID
belgeTuruNoBelge türü: FATURA (e-Fatura), MUSTAHSIL (e-Müstahsil Makbuzu), SMM (Serbest Meslek Makbuzu)FATURA

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It correctly states the tool downloads as zip and returns the file path. However, it does not disclose whether files are overwritten, what happens if disk space is insufficient, or any authentication requirements. The behavior is partially transparent but lacks details on side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the main action and return value. No extraneous words or redundancy. It is well-structured and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 5 parameters, no output schema, and no annotations, the description is too sparse. It does not explain file naming conventions when no fileName is provided, overwrite behavior, error handling (e.g., if document not found), or the format of the returned path. A more comprehensive description is warranted for a tool that interacts with the local filesystem.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 80% description coverage; the tool description adds no additional context for parameters. The 'signed' parameter lacks description in schema and tool description, leaving its purpose ambiguous. Since the schema already explains most parameters, the description does not significantly enhance understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (downloads a document as zip and saves to disk) and the return value (full path). It distinguishes from sibling tools like gib_get_download_url (which only returns URL) and gib_get_document (which returns content). However, it does not specify the document type (e-invoice, receipt) explicitly, which is implied by context but could be clearer.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. The sibling tools include gib_get_download_url for fetching a URL instead, but the description does not explain the trade-offs. There is no mention of prerequisites (e.g., document must be registered in portal) or when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gib_session_infoOturum BilgisiA

Mevcut oturum durumunu (token, kullanıcı, test modu) gösterir.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It indicates a read operation without side effects, but does not disclose authorization needs or return format. Adequate for a simple query.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no wasted words. Front-loaded with core information. Ideal conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with no parameters and no output schema, the description is complete enough. It lists the key output components. Could mention if it's real-time or cached.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters with 100% schema coverage; description adds value by specifying what the tool returns (token, user, test mode), which is not in the schema. Baseline for 0 params is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool shows current session status with specific aspects (token, user, test mode). Verb 'gösterir' is specific and distinguishes from sibling tools like login/logout or document retrieval.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when/why to use over alternatives, but for a zero-parameter read-only tool, usage is implied for checking session state. Still lacks guidance on exclusions or when to prefer other tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
testModeNo

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden for behavioral disclosure. It only states the core action ('defines a token') and a benefit, but lacks details on side effects, token validation, or what happens if the token is invalid. The behavior beyond the basic function is opaque.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the action and includes the key benefit. No unnecessary words or redundancy. Efficiently conveys core information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple token-setting tool with no output schema and minimal parameters, the description provides a basic understanding. However, it lacks details on how to obtain the token, error scenarios, or relation to other session tools (e.g., gib_session_info). It feels slightly incomplete for an agent to use without additional context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not mention either parameter ('token' or 'testMode'). It fails to explain token format, expected length, or the purpose of testMode. The description adds no semantic value beyond the schema definition.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool defines a previously obtained session token and explains its benefit (no login needed until token expires). This distinguishes it from authentication tools like gib_login and gib_logout, though it could be more explicit about the action (e.g., 'sets' instead of 'defines').

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool should be used when a valid token is already available, avoiding login. However, it does not explicitly state when to avoid using it (e.g., if no token exists) nor provides clear alternatives among siblings. The guidance is implicit rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that it sends a code to a registered GSM number, returns an operation ID, and has a test account limitation. It does not mention side effects, rate limits, or authentication requirements, but for a simple tool with no parameters, this is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the action, and every sentence adds value. It is concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters or output schema, the description explains the purpose, flow, and a limitation. It could mention the follow-up tool (gib_complete_sms_verification), but overall it is fairly complete for a simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so the baseline is 4. The description adds context about the output (Operation ID) beyond the empty schema, which is sufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (start SMS verification), the purpose (signing documents), and the return value (Operation ID). It also mentions a limitation (does not work with test accounts), making it specific and distinct from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (before signing to get an operation ID) and states a constraint (does not work with test accounts). However, it does not explicitly compare to alternatives like gib_complete_sms_verification.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsYesGüncellenecek alanlar. Geçerli anahtarlar: vknTckn, unvan, ad, soyad, cadde, apartmanAdi, apartmanNo, kapiNo, kasaba, ilce, il, postaKodu, ulke, telNo, faksNo, ePostaAdresi, webSitesiAdresi, vergiDairesi, sicilNo, isMerkezi, mersisNo

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses the important behavioral trait of reading existing data before writing, which is beyond the basic update action. However, with no annotations provided, it carries full burden for behavioral context. It does not mention authentication requirements, potential side effects (e.g., overwriting other fields not specified), or success/failure indicators.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exceptionally concise: two sentences without fluff. The first sentence front-loads the purpose, and the second adds crucial behavioral context. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's single parameter and lack of annotations and output schema, the description adequately covers the core behavior. However, it omits details such as success/failure responses, error conditions, and whether the update is atomic or partial. These gaps make it merely adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema coverage is 100% because the description lists all valid keys for the 'fields' parameter. The description repeats the schema information without adding new meaning beyond that the given fields will be overwritten. With coverage fully handled by schema, baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('günceller' - updates) and the resource ('kullanıcı profil bilgilerini' - user profile information). It also explains the read-modify-write process, distinguishing it from the read-only sibling 'gib_get_user_data' and other tools that perform different operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool (to update user profile information). However, it does not explicitly state when not to use it or mention alternatives. Since there is no other profile update tool among siblings, the exclusion is implied, but no formal guidelines are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 24 tool updatesv1.0.0
    • First observedgib_cancellation_request
    • First observedgib_complete_sms_verification
    • First observedgib_create_invoice
    • First observedgib_create_producer_receipt
    • First observedgib_create_self_employed_receipt
    • First observedgib_delete_drafts
    • First observedgib_get_document
    • First observedgib_get_document_html
    • First observedgib_get_download_url
    • First observedgib_get_last_document
    • First observedgib_get_recipient_data
    • First observedgib_get_reference_data
    • First observedgib_get_requests
    • First observedgib_get_user_data
    • First observedgib_list_documents
    • First observedgib_list_documents_issued_to_me
    • First observedgib_login
    • First observedgib_logout
    • First observedgib_objection_request
    • First observedgib_save_document_to_disk
    • First observedgib_session_info
    • First observedgib_set_token
    • First observedgib_start_sms_verification
    • First observedgib_update_user_data

TDQS

A3.7/5.0

Scored across 24 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count4/5

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.

Completeness5/5

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

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    An 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.
    9
    50 npm
    1
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP server for e-invoice platforms. Enables natural language querying of invoices, partners, company data, and financial reports.
    18
    14 npm
    6
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP server for Italian electronic invoicing via the Invoicetronic API, enabling management of invoices through SDI with 20 tools for sending, receiving, exporting, and more.
    18
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP server for Factura.uz electronic invoicing system (Uzbekistan). Supports creating, signing, accepting, and rejecting e-invoices, plus company and product lookups.
    8
    7 npm
    MIT