Fonzip

io.github.ubaranzorluPublished by GitHub account ubaranzorluv0.1.2Updated Oct 25, 2026

Dernek ve vakiflar icin Fonzip API v2 MCP sunucusu: bagis, uye, aidat ve etkinlik verileri.

Overview

AI-generated overview

Local MCP server that connects an AI assistant to Fonzip's API v2 for nonprofit donation, member, dues, event and campaign data.

What you can do
Read and manage organization info, payment systems, bank accounts and marketing channels through fonzip_system actions, plus member and donor records, timelines, tags and lists through fonzip_users actions. Work with donations, donation categories, micro-donations, donation pages and forms, and change or cancel recurring donations. Handle membership dues subscriptions and debts, and manage events, tickets and ticket sales. Run fundraising campaigns, campaign events and teams, and manage forms and form answers, e-cards and their transactions, tags, message templates, webhooks and communication permissions.
When to use it
Useful for associations and foundations that already run on Fonzip and want an assistant to query or update donor, donation, dues, event and campaign records from a supported MCP client such as Claude Code, Claude Desktop, Cursor, VS Code or Codex.
Requirements
Runs locally via npx, so Node.js 20 or newer is needed. Requires a Fonzip API client id and client secret, created in Fonzip under Settings, Advanced, Fonzip API, supplied as FONZIP_CLIENT_ID and FONZIP_CLIENT_SECRET; alternatively a ready FONZIP_ACCESS_TOKEN. Optional settings cover base URL, schema mode, token cache path, timeout, retries and user agent. Network access to the Fonzip API is required.
Before you install
The server exposes all CRUD operations, and deletions cannot be undone; destructive tools are flagged so clients may ask for confirmation, and a read-only API key is advised for read-only use. Responses can include names, emails, phone numbers, national ID numbers and IBANs, which are passed to the MCP client and the model, so data protection obligations apply. The client secret is a credential; keep it out of shell quoting mistakes and shared configs. Fonzip issues only one token at a time, and

Installation

In SourceWeft

  1. Open Fonzip in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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
bash
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:

json
{  "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:

json
{  "mcpServers": {    "fonzip": {      "command": "npx",      "args": ["-y", "@ubaranzorlu/fonzip-mcp"],      "env": {        "FONZIP_CLIENT_ID": "...",        "FONZIP_CLIENT_SECRET": "..."      }    }  }}
VS Code / GitHub Copilot
bash
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:

json
{  "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:

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:    npxargüman:  -y @ubaranzorlu/fonzip-mcportam:    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ı:

json
{  "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

bash
git clone https://github.com/ubaranzorlu/fonzip-mcp.gitcd fonzip-mcpnpm installnpm test        # 97 testnpm 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]

Source: README.md at commit 14a32c6

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.2LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts