MCP server for Craftgate payment processing platform integration, providing tools to search and retrieve payment information from Craftgate API
Single tool 'getAllPayments' has a comprehensive description (1200+ chars) with good parameter documentation and examples. However, the description is excessively long and includes example values (2024-05-01) that LLMs may reuse literally. Input schema is present with types (integer, long, enum, string, decimal, boolean) and per-parameter descriptions. Output schema (ReportingPaymentListResponse) is mentioned but not documented in the source. No error handling guidance, no recovery paths, and no indication of pagination behavior despite accepting page/size parameters. Tool name 'getAllPayments' lacks a clear verb prefix (should be 'search_payments' or 'list_payments'). Enum parameters (paymentType, paymentProvider, paymentStatus, paymentSource, currency) are typed but valid enum values are not formally constrained in the schema, only mentioned in prose examples.
Craftgate üzerindeki ödemeleri detaylı şekilde aramak ve listelemek için kullanılır. Tüm parametreler opsiyoneldir; sadece ihtiyacınız olan filtreleri göndererek arama yapabilirsiniz. Bu tool, ödeme yönetimi, raporlama, müşteri destek süreçleri veya finansal analiz gibi senaryolarda kullanılabilir. Parametreler: - page: Sonuçların kaçıncı sayfası gösterilsin? (örn: 0) - size: Sayfa başına kaç sonuç gösterilsin? (örn: 20) - paymentId: Belirli bir ödeme ID'siyle arama yapar. - paymentTransactionId: Belirli bir ödeme işlem ID'siyle arama yapar. - buyerMemberId: Alıcı üye ID'siyle filtreler. - subMerchantMemberId: Alt üye işyeri ID'siyle filtreler. - conversationId: Dış sistemlerle entegre edilen işlemler için benzersiz kimlik. - externalId: Dış sistemdeki ödeme ID'siyle arama yapar. - orderId: Sipariş ID'siyle filtreler. - paymentType: Ödeme tipi (örn: CARD_PAYMENT, DEPOSIT_PAYMENT, APM). - paymentProvider: Ödeme sağlayıcı (örn: GARANTI, YKB, PAPARA). - paymentStatus: Ödeme durumu (örn: SUCCESS, FAILURE, REFUNDED). - paymentSource: Ödeme kaynağı (örn: API, CHECKOUT_FORM). - paymentChannel: Ödeme kanalı (örn: WEB, MOBILE). - binNumber: Kartın ilk 6 hanesiyle filtreler. - lastFourDigits: Kartın son 4 hanesiyle filtreler. - currency: Para birimi (örn: TRY, USD, EUR). - minPaidPrice: Minimum ödenen tutar. - maxPaidPrice: Maksimum ödenen tutar. - installment: Taksit sayısı. - isThreeDS: 3D Secure ile mi ödendi? (true/false) - minCreatedDate: Başlangıç tarihi (örn: 2024-01-01T00:00:00) - maxCreatedDate: Bitiş tarihi (örn: 2024-01-31T23:59:59) Parametrelerin hiçbiri zorunlu değildir. Sadece ihtiyacınız olanları gönderin; örneğin sadece bir tarih aralığı ve ödeme durumu ile arama yapabilirsiniz. Dönüş: - Sonuç olarak, arama kriterlerine uyan ödemelerin listesini ve toplam sayısını içeren bir ReportingPaymentListResponse nesnesi döner. Örnek Kullanım: - Son 1 ayda başarılı olan ödemeleri listelemek için: page=0, size=20, paymentStatus=SUCCESS, minCreatedDate="2024-05-01T00:00:00", maxCreatedDate="2024-05-31T23:59:59"
Tool name 'getAllPayments' does not follow verb_noun convention. Should be 'search_payments' or 'list_payments' to clearly signal the action and enable LLM intent inference.
Output schema (ReportingPaymentListResponse) is not documented in source code. LLMs cannot plan downstream operations or extract required fields without knowing the response structure.
Enum parameters lack formal constraint definitions. paymentType, paymentProvider, paymentStatus, paymentSource, and currency are typed as 'enum' but valid values are only documented in prose (e.g., 'CARD_PAYMENT, DEPOSIT_PAYMENT, APM'). JSON Schema should enumerate allowed values.
Description exceeds 1024 characters and includes example values (2024-05-01, 2024-05-31) that LLMs may reuse literally in real calls. Descriptions should be 10 - 1024 chars and use formal constraints instead of examples.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 39 | 2026-07-28+ | v2 |
No error handling guidance. Tool accepts 22 optional parameters but provides no recovery hints if invalid values are passed, API fails, or no results match criteria. LLM has no guidance on what to do next.