Fonzip

io.github.ubaranzorlu由 GitHub 账号 ubaranzorlu 发布v0.1.2更新于 Oct 25, 2026

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

概览

AI 生成的概览

本地 MCP 服务器,让 AI 助手通过 Fonzip API v2 访问公益组织的捐赠、会员、会费、活动和筹款活动数据。

可以做什么
通过 fonzip_system 操作读取和管理机构信息、支付系统、银行账户与营销渠道,并通过 fonzip_users 操作处理会员与捐赠人记录、时间线、标签和名单。处理捐赠、捐赠类别、小额捐赠、捐赠页面与表单,以及定期捐赠的金额、卡片变更和取消。管理会费订阅与欠款,以及活动、门票和门票销售。管理筹款活动、活动子活动与团队,并管理表单与表单答复、电子贺卡及其交易、标签、消息模板、Webhook 和沟通许可。
适用场景
适合已在 Fonzip 上运营的协会和基金会,希望在 Claude Code、Claude Desktop、Cursor、VS Code 或 Codex 等支持 MCP 的客户端中,让助手查询或更新捐赠人、捐赠、会费、活动和筹款记录。
运行要求
通过 npx 在本地运行,需要 Node.js 20 或更高版本。需要 Fonzip API 的 client id 和 client secret,在 Fonzip 的“设置 > 高级 > Fonzip API”中创建,并以 FONZIP_CLIENT_ID 和 FONZIP_CLIENT_SECRET 提供;也可改用现成的 FONZIP_ACCESS_TOKEN。可选配置包括 API 地址、schema 模式、令牌缓存路径、超时、重试次数和 User-Agent。需要能访问 Fonzip API 的网络。
安装前请注意
服务器开放全部 CRUD 操作,删除不可撤销;含删除的工具会带破坏性标记,客户端可能要求确认,若只需读取建议使用只读权限的 API 密钥。响应可能包含姓名、邮箱、电话、身份证号和 IBAN,这些会传给 MCP 客户端和所用模型,需自行评估数据保护义务。client secret 属于凭据,注意避免 shell 引号错误和共享配置泄露。Fonzip 同一时间只签发一个令牌,关闭令牌缓存后重启可能一小时内无法获取令牌。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Fonzip,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

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]

来源:README.md,提交 14a32c6

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.2最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分