mcpField
F
fonzip

fonzip

Local
github.com/ubaranzorluBusiness & Marketing0Updated 9w ago

About fonzip

fonzip is an open-source MCP server for associations and foundations that need AI agents to access Fonzip API v2 data. Its grouped tools cover donations, members, dues, events, and campaigns, with operations generated from the OpenAPI specification.

Key features

  1. 01Group 113 API operations into 13 tools
  2. 02Access donation and donor records
  3. 03Manage membership dues and events
  4. 04Use OAuth2 client credentials with token caching
  5. 05Choose full or compact tool schemas
  6. 06Retry rate-limited and server errors

Use cases

  1. 01Query donation activity for a date range
  2. 02Review membership and dues records
  3. 03Retrieve event and ticket-sale data
  4. 04Let an AI agent access Fonzip organizational data

MCP support

The MCP server exposes Fonzip API v2 operations through 13 topic-based tools for MCP clients. It handles OAuth2 authentication and token caching; the API includes both read and write operations.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"ubaranzorlu-fonzip": {
"command": "npx",
"args": [
"-y",
"@ubaranzorlu/fonzip-mcp"
],
"env": {
"FONZIP_CLIENT_ID": "<FONZIP_CLIENT_ID>",
"FONZIP_CLIENT_SECRET": "<FONZIP_CLIENT_SECRET>",
"FONZIP_SCHEMA_MODE": "<FONZIP_SCHEMA_MODE>",
"FONZIP_BASE_URL": "<FONZIP_BASE_URL>"
}
}
}
}
Run commandnpx -y @ubaranzorlu/fonzip-mcp
Environment variables to set
FONZIP_CLIENT_IDSecretFonzip API client id. Fonzip > Ayarlar > Gelismis > Fonzip API menusunden olusturulur.
FONZIP_CLIENT_SECRETSecretFonzip API client secret.
FONZIP_SCHEMA_MODETool semasi ayrintisi: full (varsayilan) veya compact.
FONZIP_BASE_URLFonzip API adresi.

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@ubaranzorlu/fonzip-mcp0.1.2

Tools

13

Saved tool list · updated 3w ago

ParameterTypeRequiredDescription
actionenumYesYapilacak islem. Her action'in kendi zorunlu alanlari vardir; asagidaki aciklamalarda hangi alanin hangi action'a ait oldugu koseli parantez icinde belirtilir.list_bank_accounts | list_marketing_channel_filter_values | list_marketing_channels | list_payment_systems | me
how_manyintegerNo[list_bank_accounts, list_marketing_channels, list_payment_systems] How many records should be listed
start_pageintegerNo[list_bank_accounts, list_marketing_channels, list_payment_systems] start page of records

Details

From the project README

fonzip-mcp

Fonzip API v2 için Model Context Protocol sunucusu

Dernek ve vakıfların bağış, üye, aidat, etkinlik ve kampanya verilerine AI ajanlarından erişim.

npm CI License: MIT MCP Registry


Bağımsız bir açık kaynak projesidir; Fonzip Yazılım A.Ş. tarafından geliştirilmemiş, desteklenmemekte ve onaylanmamaktadır.

Claude Code, Claude Desktop, Cursor, VS Code, Codex ve MCP destekleyen diğer istemcilerin Fonzip verilerinize doğrudan erişmesini sağlar.

Sen:    Bu ay kaç düzenli bağışçı kaydolmuş, toplam ne kadar?
Ajan:   [fonzip_donations / list çağrılır]
        Ağustos'ta 34 yeni düzenli bağışçı, aylık toplam 41.250 TL.
  • 13 tool, Fonzip API v2'nin 113 operasyonunu kapsar
  • Tool tanımları OpenAPI spec'inden otomatik üretilir — elle senkron tutulmaz
  • OAuth2 client_credentials, token'ı süreçler arası saklama dahil
  • Türkçe hata mesajları; hatalı çağrıda beklenen şema modele geri döner

Kurulum

Node.js 20 veya üstü gerekir. Önce Fonzip'te Ayarlar > Gelişmiş > Fonzip API menüsünden API anahtarı oluşturun; size bir client_id ve client_secret verilir.

Important

Fonzip anahtarları $2b$12$... ile başlar. Kabukta tek tırnak kullanın — çift tırnak veya tırnaksız yazarsanız kabuk $2b ve $12 kısımlarını değişken sanıp siler ve HTTP 403 alırsınız. JSON dosyalarında bu sorun yoktur.

Claude Code
claude mcp add fonzip \
  -e FONZIP_CLIENT_ID='...' \
  -e FONZIP_CLIENT_SECRET='...' \
  -- npx -y @ubaranzorlu/fonzip-mcp

Sadece bulunduğunuz projeye ekler. Tüm projelerde kullanmak için -s user, ekiple paylaşmak için -s project ekleyin.

Claude Desktop

Ayarlar > Developer > Edit Config ile claude_desktop_config.json dosyasını açın:

{
  "mcpServers": {
    "fonzip": {
      "command": "npx",
      "args": ["-y", "@ubaranzorlu/fonzip-mcp"],
      "env": {
        "FONZIP_CLIENT_ID": "...",
        "FONZIP_CLIENT_SECRET": "..."
      }
    }
  }
}

Claude Desktop'ı yeniden başlatın.

Cursor

~/.cursor/mcp.json (global) veya proje kökünde .cursor/mcp.json:

{
  "mcpServers": {
    "fonzip": {
      "command": "npx",
      "args": ["-y", "@ubaranzorlu/fonzip-mcp"],
      "env": {
        "FONZIP_CLIENT_ID": "...",
        "FONZIP_CLIENT_SECRET": "..."
      }
    }
  }
}
VS Code / GitHub Copilot
code --add-mcp '{"name":"fonzip","command":"npx","args":["-y","@ubaranzorlu/fonzip-mcp"],"env":{"FONZIP_CLIENT_ID":"...","FONZIP_CLIENT_SECRET":"..."}}'

Ya da .vscode/mcp.json dosyasına yazıp anahtarları girdi olarak sorun:

{
  "inputs": [
    { "type": "promptString", "id": "fonzip-id", "description": "Fonzip client id", "password": true },
    { "type": "promptString", "id": "fonzip-secret", "description": "Fonzip client secret", "password": true }
  ],
  "servers": {
    "fonzip": {
      "command": "npx",
      "args": ["-y", "@ubaranzorlu/fonzip-mcp"],
      "env": {
        "FONZIP_CLIENT_ID": "${input:fonzip-id}",
        "FONZIP_CLIENT_SECRET": "${input:fonzip-secret}"
      }
    }
  }
}
Codex CLI

~/.codex/config.toml:

[mcp_servers.fonzip]
command = "npx"
args = ["-y", "@ubaranzorlu/fonzip-mcp"]
env = { FONZIP_CLIENT_ID = "...", FONZIP_CLIENT_SECRET = "..." }
Zed, Windsurf, Continue ve diğerleri

Standart stdio MCP sunucusudur. İstemcinizin yapılandırmasına şunu tanıtın:

komut:    npx
argüman:  -y @ubaranzorlu/fonzip-mcp
ortam:    FONZIP_CLIENT_ID, FONZIP_CLIENT_SECRET

Sunucu MCP Registry'de io.github.ubaranzorlu/fonzip adıyla kayıtlıdır; registry'den kurulum destekleyen istemciler doğrudan bulabilir.

Doğrulama

İstemcinize sorun: "Fonzip hesabımın bilgilerini göster" — sunucu fonzip_system / me çağrısıyla kurum adınızı döndürmeli.

Ortam değişkenleri

DeğişkenZorunluVarsayılanAçıklama
FONZIP_CLIENT_IDevet¹—Fonzip API client id
FONZIP_CLIENT_SECRETevet¹—Fonzip API client secret
FONZIP_ACCESS_TOKENhayır—Hazır token. Verilirse client_credentials akışı atlanır
FONZIP_BASE_URLhayırhttps://fonzip.com/api/v2API adresi
FONZIP_SCHEMA_MODEhayırfullfull veya compact — şema modu
FONZIP_TOKEN_CACHEhayır~/.cache/fonzip-mcp/tokens.jsonToken önbelleği yolu. off ile kapatılır
FONZIP_TIMEOUT_MShayır30000İstek zaman aşımı
FONZIP_MAX_RETRIEShayır3429 ve 5xx için yeniden deneme sayısı
FONZIP_USER_AGENThayırfonzip-mcp/<sürüm>Boş bırakmayın — neden

¹ FONZIP_ACCESS_TOKEN verilmediyse zorunlu.

Tool'lar

Fonzip API v2'de 115 operasyon var. Her biri ayrı bir tool olsaydı istemcinin tool listesi şişerdi; bunun yerine operasyonlar konu başlığına göre 13 tool'da gruplandı. Her tool zorunlu bir action parametresi alır.

ToolActionKapsam
fonzip_system5Kurum bilgisi (me), ödeme sistemleri, banka hesapları, pazarlama kanalları
fonzip_users18Üye/bağışçı kayıtları, zaman tüneli, etiketler, kişiye bağlı listeler
fonzip_donations14Bağışlar, bağış kategorileri, mikro bağışlar, bağış sayfaları ve formları
fonzip_monthly_donations5Düzenli bağış tutar/kart değişikliği ve iptal
fonzip_membership_dues9Aidat abonelikleri ve borçlar
fonzip_events12Etkinlikler, biletler, bilet satışları
fonzip_fundraising19Bağış kampanyaları, kampanya etkinlikleri, takımlar
fonzip_forms4Formlar ve form cevapları
fonzip_ecards9E-kartlar, kategoriler, satış işlemleri
fonzip_tags4Etiket yönetimi
fonzip_templates5Mesaj şablonları
fonzip_webhooks6Webhook yönetimi ve test bildirimi
fonzip_communication_permissions3E-posta/SMS/telefon izinleri

/token ve /authorize uçları tool olarak sunulmaz; kimlik doğrulama sunucunun kendi işidir.

Örnek çağrı:

{
  "name": "fonzip_donations",
  "arguments": {
    "action": "list",
    "status": "paid",
    "start_date": "2026-01-01T00:00:00+03:00",
    "end_date": "2026-01-31T23:59:59+03:00"
  }
}
Şema modu

full (varsayılan) modda her tool'un tüm parametreleri JSON Schema olarak istemciye gönderilir. 13 tool'un toplam şeması yaklaşık 70 KB (~19 bin token) tutar; model tek turda doğru çağrıyı kurabilir.

Bağlam bütçesi darsa FONZIP_SCHEMA_MODE=compact kullanın: şemalar yalnızca action ve serbest bir params objesine iner, alan adları ise tool açıklamasında özetlenir. Toplam yaklaşık 22 KB (~6 bin token), yani full modun üçte biri. Eksik alan gönderildiğinde hata mesajı o action'ın tam şemasını geri döndürür, böylece model kendini düzeltir.

Her iki modda da hem düz ({"action": "get", "user_id": 1}) hem sarmalanmış ({"action": "get", "params": {"user_id": 1}}) biçim kabul edilir.

Bilinmesi gerekenler

Fonzip aynı anda tek token verir. Geçerli bir token varken /token çağrısı HTTP 409 "Token already created" döner. MCP sunucuları sık yeniden başlatıldığından, token varsayılan olarak ~/.cache/fonzip-mcp/tokens.json dosyasına (0600 izniyle, client id yazılmadan) kaydedilir ve yeniden başlatmada tekrar kullanılır. Bu önbelleği kapatırsanız sunucu yeniden başladığında bir saate kadar token alamayabilir.

User-Agent zorunludur. Fonzip'in önündeki Cloudflare, User-Agent başlığı olmayan istekleri HTTP 403 (error code 1010) ile reddeder. FONZIP_USER_AGENT değerini boş bırakmayın.

Hız sınırı dakikada 240 istektir. HTTP 429 alındığında Retry-After başlığına uyularak yeniden denenir.

İşlem listeleri tarih aralığı ister. start_date ve end_date şu action'larda zorunludur; eksikse istek Fonzip'e gitmeden reddedilir:

fonzip_donations → list, list_micro, report · fonzip_membership_dues → list · fonzip_events → list_ticket_sales · fonzip_forms → list_answers · fonzip_ecards → list_transactions

Sayfalama (start_page, varsayılan 1) ve sayfa boyutu (how_many, varsayılan 10, en fazla 100) göndermezseniz varsayılanları otomatik eklenir. Aynı şekilde fonzip_donations / list için status varsayılan olarak paid gider.

Yazma işlemleri açıktır. Sunucu tüm CRUD operasyonlarını sunar; silme işlemleri geri alınamaz. Silme içeren tool'lar MCP destructiveHint ile işaretlenir, istemciniz bunlar için onay isteyebilir. Yalnızca okuma istiyorsanız Fonzip'te salt okunur yetkili bir API anahtarı oluşturun.

Kişisel veri modele gider. Fonzip yanıtları ad, e-posta, telefon, TC kimlik no ve IBAN içerebilir; bunlar MCP istemcinize ve kullandığınız modele aktarılır. KVKK yükümlülükleriniz açısından değerlendirin. Ayrıntı için SECURITY.md.

Büyük yanıtlar kırpılır. 100.000 karakteri aşan yanıtlar kesilir ve sayfalama önerilir.

Geliştirme

git clone https://github.com/ubaranzorlu/fonzip-mcp.git
cd fonzip-mcp
npm install
npm test        # 97 test
npm run build

Depoda .mcp.json var; npm run build sonrası Claude Code bu projede sunucuyu yerel dist/ üzerinden çalıştırır. Kabuğunuzda FONZIP_CLIENT_ID ve FONZIP_CLIENT_SECRET tanımlı olmalıdır.

Tool tanımları elle yazılmaz — scripts/generate.ts, openapi/fonzip-v2.yaml dosyasından src/generated/operations.ts üretir. Ayrıntılar ve sürüm çıkarma adımları için CONTRIBUTING.md.

Katkı

Katkılar memnuniyetle karşılanır. Başlamadan önce CONTRIBUTING.md ve CODE_OF_CONDUCT.md dosyalarına göz atın. Güvenlik açıkları için SECURITY.md.

Lisans

Bu depodaki kod MIT © Umut Baran Zorlu.

openapi/fonzip-v2.yaml Fonzip Yazılım A.Ş.'nin kendi API dokümanıdır ve MIT kapsamı dışındadır; depoda yalnızca tool tanımlarının üretilmesi için referans olarak bulunur. Aynı istisna, spec'ten türeyen src/generated/operations.ts ve yayınlanan dist/ içeriği için de geçerlidir. "Fonzip" adı yalnızca sunucunun hangi servise bağlandığını belirtmek için kullanılır. Ayrıntı: NOTICE.

API ile ilgili sorular için: [email protected]

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.