fonzip について
fonzipは、団体や財団がAIエージェントからFonzip API v2のデータにアクセスするためのオープンソースMCPサーバーです。寄付、会員、会費、イベント、キャンペーンを扱うツールは、OpenAPI仕様から生成されます。
主な機能
- 01113件のAPI操作を13個のツールに集約
- 02寄付と寄付者の記録へのアクセス
- 03会費とイベントデータの管理
- 04OAuth2クライアント認証とトークンキャッシュ
- 05完全またはコンパクトなツールスキーマ
- 06レート制限とサーバーエラーの再試行
活用シーン
- 01期間を指定した寄付状況の照会
- 02会員と会費の記録の確認
- 03イベントとチケット販売データの取得
- 04AIエージェントによるFonzip組織データへのアクセス
MCP 対応
MCPサーバーとして、13個の分野別ツールからFonzip API v2の操作をMCPクライアントに提供します。OAuth2認証とトークンキャッシュを処理し、APIには読み取りと書き込みの両方の操作があります。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @ubaranzorlu/fonzip-mcpFONZIP_CLIENT_IDシークレットFonzip API client id. Fonzip > Ayarlar > Gelismis > Fonzip API menusunden olusturulur.FONZIP_CLIENT_SECRETシークレットFonzip API client secret.FONZIP_SCHEMA_MODETool semasi ayrintisi: full (varsayilan) veya compact.FONZIP_BASE_URLFonzip API adresi.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
13掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| action | enum | はい | Yapilacak 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_many | integer | いいえ | [list_bank_accounts, list_marketing_channels, list_payment_systems] 一覧表示するレコード数 |
| start_page | integer | いいえ | [list_bank_accounts, list_marketing_channels, list_payment_systems] レコードの開始ページ |
詳細
fonzip-mcp
Fonzip API v2 用 Model Context Protocol サーバー
AI エージェントから、協会や財団の寄付、会員、会費、イベント、キャンペーンのデータにアクセスできます。
独立したオープンソースプロジェクトです。Fonzip Yazılım A.Ş. による開発、サポート、承認は受けていません。
Claude Code、Claude Desktop、Cursor、VS Code、Codex、およびMCPに対応するその他のクライアントから、Fonzip のデータに直接アクセスできます。
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 個のツールで、Fonzip API v2 の113 個の操作をカバーします
- ツール定義は OpenAPI spec から自動生成されるため、手動で同期する必要はありません
- OAuth2
client_credentialsに対応し、プロセス間でトークンを保存します - エラーメッセージはトルコ語です。呼び出しに不備がある場合は、期待されるスキーマがモデルに返されます
インストール
Node.js 20 以降が必要です。まず Fonzip の Ayarlar > Gelişmiş > Fonzip API メニューからAPI キーを作成します。client_id と client_secret が発行されます。
重要
Fonzip のキーは
$2b$12$...で始まります。シェルでは単一引用符を使用してください。二重引用符または引用符なしで入力すると、シェルが$2bと$12を変数とみなして削除するため、HTTP 403が発生します。JSON ファイルではこの問題は起きません。
Claude Code
claude mcp add fonzip \
-e FONZIP_CLIENT_ID='...' \
-e FONZIP_CLIENT_SECRET='...' \
-- npx -y @ubaranzorlu/fonzip-mcp
現在のプロジェクトにのみ追加されます。すべてのプロジェクトで使う場合は -s user、チームで共有する場合は -s project を追加してください。
Claude Desktop
Ayarlar > Developer > Edit Config から claude_desktop_config.json ファイルを開きます。
{
"mcpServers": {
"fonzip": {
"command": "npx",
"args": ["-y", "@ubaranzorlu/fonzip-mcp"],
"env": {
"FONZIP_CLIENT_ID": "...",
"FONZIP_CLIENT_SECRET": "..."
}
}
}
}
Claude Desktop を再起動してください。
Cursor
~/.cursor/mcp.json(グローバル)またはプロジェクトのルートにある .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":"..."}}'
または .vscode/mcp.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:
[mcp_servers.fonzip]
command = "npx"
args = ["-y", "@ubaranzorlu/fonzip-mcp"]
env = { FONZIP_CLIENT_ID = "...", FONZIP_CLIENT_SECRET = "..." }
Zed、Windsurf、Continue など
標準的な stdio MCP サーバーです。お使いのクライアントの設定に次の内容を登録してください。
komut: npx
argüman: -y @ubaranzorlu/fonzip-mcp
ortam: FONZIP_CLIENT_ID, FONZIP_CLIENT_SECRET
サーバーは MCP Registry に io.github.ubaranzorlu/fonzip という名前で登録されています。レジストリからのインストールに対応するクライアントであれば、直接見つけることができます。
動作確認
クライアントに 「Fonzip アカウントの情報を表示して」 と尋ねてください。サーバーが fonzip_system / me を呼び出し、組織名を返せば正常です。
環境変数
| 変数 | 必須 | デフォルト | 説明 |
|---|---|---|---|
FONZIP_CLIENT_ID | はい¹ | — | Fonzip API のクライアント ID |
FONZIP_CLIENT_SECRET | はい¹ | — | Fonzip API のクライアントシークレット |
FONZIP_ACCESS_TOKEN | いいえ | — | 事前に取得したトークン。指定すると client_credentials フローをスキップします |
FONZIP_BASE_URL | いいえ | https://fonzip.com/api/v2 | API アドレス |
FONZIP_SCHEMA_MODE | いいえ | full | full または compact — スキーマモード |
FONZIP_TOKEN_CACHE | いいえ | ~/.cache/fonzip-mcp/tokens.json | トークンキャッシュのパス。off で無効化します |
FONZIP_TIMEOUT_MS | いいえ | 30000 | リクエストのタイムアウト |
FONZIP_MAX_RETRIES | いいえ | 3 | 429 および 5xx に対する再試行回数 |
FONZIP_USER_AGENT | いいえ | fonzip-mcp/<sürüm> | 空欄にしないでください — 理由 |
¹ FONZIP_ACCESS_TOKEN が指定されていない場合は必須です。
ツール
Fonzip API v2には115個の操作があります。各操作を個別のツールにすると、クライアントのツール一覧が膨れ上がるため、操作はトピックごとに13個のツールにまとめられています。各ツールは必須のactionパラメーターを受け取ります。
| ツール | Action | 範囲 |
|---|---|---|
fonzip_system | 5 | 組織情報(me)、決済システム、銀行口座、マーケティングチャネル |
fonzip_users | 18 | 会員/寄付者の記録、タイムライン、タグ、個人に紐づくリスト |
fonzip_donations | 14 | 寄付、寄付カテゴリ、マイクロ寄付、寄付ページおよびフォーム |
fonzip_monthly_donations | 5 | 定期寄付の金額/カードの変更とキャンセル |
fonzip_membership_dues | 9 | 会費のサブスクリプションと未払い金 |
fonzip_events | 12 | イベント、チケット、チケット販売 |
fonzip_fundraising | 19 | 寄付キャンペーン、キャンペーンイベント、チーム |
fonzip_forms | 4 | フォームとフォームの回答 |
fonzip_ecards | 9 | Eカード、カテゴリ、販売取引 |
fonzip_tags | 4 | タグ管理 |
fonzip_templates | 5 | メッセージテンプレート |
fonzip_webhooks | 6 | Webhookの管理とテスト通知 |
fonzip_communication_permissions | 3 | メール/SMS/電話の許可 |
/tokenと/authorizeエンドポイントはツールとして公開されません。認証はサーバー自体が処理します。
呼び出し例:
{
"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"
}
}
スキーマモード
full(デフォルト)モードでは、各ツールのすべてのパラメーターがJSON Schemaとしてクライアントに送信されます。13個のツールのスキーマは合計で約70 KB(約1万9千トークン)となり、モデルは1回のターンで適切な呼び出しを組み立てられます。
コンテキストの予算が限られている場合は、FONZIP_SCHEMA_MODE=compactを使用してください。スキーマはactionと自由形式のparamsオブジェクトのみになり、フィールド名はツールの説明にまとめられます。合計で約22 KB(約6千トークン)となり、fullモードの3分の1です。必須フィールドが不足している場合、エラーメッセージにそのactionの完全なスキーマが返されるため、モデルは自分で修正できます。
どちらのモードでも、フラット形式({"action": "get", "user_id": 1})とラップ形式({"action": "get", "params": {"user_id": 1}})の両方を受け付けます。
知っておくべきこと
Fonzipは同時に1つのトークンしか発行しません。 有効なトークンがある状態で/tokenを呼び出すと、HTTP 409 "Token already created"が返されます。MCPサーバーは頻繁に再起動されるため、トークンはデフォルトで~/.cache/fonzip-mcp/tokens.jsonに(0600の権限で、client idを記録せずに)保存され、再起動後も再利用されます。このキャッシュを無効にすると、サーバーの再起動後、最大1時間トークンを取得できない場合があります。
User-Agentは必須です。 Fonzipの前段にあるCloudflareは、User-AgentヘッダーのないリクエストをHTTP 403 (error code 1010)で拒否します。FONZIP_USER_AGENTを空のままにしないでください。
レート制限は1分あたり240リクエストです。 HTTP 429を受け取った場合は、Retry-Afterヘッダーに従って再試行します。
取引リストには日付範囲が必要です。 次のactionではstart_dateとend_dateが必須です。不足している場合、リクエストはFonzipに送信される前に拒否されます。
fonzip_donations → list、list_micro、report · fonzip_membership_dues → list · fonzip_events → list_ticket_sales · fonzip_forms → list_answers · fonzip_ecards → list_transactions
ページネーション(start_page、デフォルトは1)とページサイズ(how_many、デフォルトは10、最大100)を指定しない場合、デフォルト値が自動的に追加されます。同様に、fonzip_donations / listでは、statusのデフォルト値としてpaidが指定されます。
書き込み操作が有効です。 サーバーはすべてのCRUD操作を提供します。削除操作は元に戻せません。削除を含むツールにはMCPのdestructiveHintが設定されているため、クライアントが確認を求める場合があります。読み取り専用で使用する場合は、Fonzipで読み取り専用権限のAPIキーを作成してください。
個人データがモデルに送信されます。 Fonzipの応答には、氏名、メールアドレス、電話番号、トルコ共和国身分証番号、IBANが含まれる場合があります。これらはMCPクライアントおよび使用するモデルに転送されます。KVKKに基づく義務を考慮してください。詳細はSECURITY.mdを参照してください。
大きな応答は切り詰められます。 100,000文字を超える応答は切り詰められ、ページネーションが推奨されます。
開発
git clone https://github.com/ubaranzorlu/fonzip-mcp.git
cd fonzip-mcp
npm install
npm test # 97 test
npm run build
リポジトリには .mcp.json があります。npm run build の実行後、Claude Code はこのプロジェクトのサーバーをローカルの dist/ から起動します。シェルで FONZIP_CLIENT_ID と FONZIP_CLIENT_SECRET が定義されている必要があります。
ツールの定義は手作業では作成しません。scripts/generate.ts が openapi/fonzip-v2.yaml から src/generated/operations.ts を生成します。詳細とリリース手順については、CONTRIBUTING.md をご覧ください。
貢献
貢献を歓迎します。始める前に、CONTRIBUTING.md と CODE_OF_CONDUCT.md をご確認ください。セキュリティ上の脆弱性については、SECURITY.md をご覧ください。
ライセンス
このリポジトリ内のコードは MIT © Umut Baran Zorlu です。
openapi/fonzip-v2.yaml は Fonzip Yazılım A.Ş. 独自の API ドキュメントであり、MIT ライセンスの適用対象外です。リポジトリ内では、ツール定義の生成に使用する参照資料としてのみ含まれています。同じ例外は、仕様から生成された src/generated/operations.ts と公開される dist/ の内容にも適用されます。「Fonzip」という名称は、サーバーが接続するサービスを示す目的でのみ使用しています。詳細については、NOTICE をご覧ください。
API に関するお問い合わせ:[email protected]
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。