
HelloAsso
io.github.edouard-claude由 GitHub 帳號 edouard-claude 發布v0.1.1更新於 Nov 2, 2026
HelloAsso for associations: members, tickets, donations, payments, refunds, checkouts.
概覽
此 MCP 伺服器封裝 HelloAsso v5 API,讓助理查詢協會的會員、票務、捐款、付款、退款與結帳資訊。
- 可以做什麼
- 讀取組織、表單、訂單、項目與付款,並依期間彙總實際收到的金額
- 在 HelloAsso 公開目錄中搜尋組織、表單與標籤
- 建立結帳意圖與付款連結,並查看其結果
- 建立活動、變更表單狀態、取消訂單與退款,皆需明確確認
- 將某筆撥款的明細匯出為 JSON、CSV 或 Excel
- 使用內建提示詞產生財務報告、查詢個人紀錄、匯出參加名單與發起退款申請
- 適用情境
- 適合協會或非營利組織的財務與營運人員,用自然語言向助理詢問收款情況、會員繳費、活動報名名單或退款事宜,資料與其對帳所用的 HelloAsso 帳戶一致。
- 執行需求
- 以本機程序執行(預先編譯的執行檔、cargo install 或已發布的容器映像),透過 stdio 通訊,也可用綁定位址與 bearer token 走 HTTP。需要協會後台取得的 HelloAsso API 用戶端 id 與密鑰,分別以 HELLOASSO_CLIENT_ID 與 HELLOASSO_CLIENT_SECRET 設定,並需能連線至 HelloAsso API。HELLOASSO_ENVIRONMENT 選擇正式或沙箱環境。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 HelloAsso,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
mcp-helloasso
Your association's HelloAsso, answered by asking.
A single Rust binary that puts the whole HelloAsso v5 API — memberships, tickets, donations, payments, refunds, checkouts — in front of any MCP client.
[Rust] [MCP] [HelloAsso API] [Transports] [CI] [Release] [License] [MCP Registry] [Glama] [Stars]
🇫🇷 Serveur MCP pour HelloAsso : adhérents, billetterie, dons, paiements et remboursements, interrogés en langage naturel depuis Claude, Cursor ou tout client MCP.
Ask your assistant "how much did we collect last month?", "is Camille Martin's membership paid?", "give me the attendee list of the gala" — and get the answer from the same HelloAsso your treasurer reconciles against.
Paste a HelloAsso URL, say last month, name a person. The server resolves the organization, the form, the period and the pagination.
Why
HelloAsso's API is a clean REST surface, but handing it raw to a language model goes wrong in predictable ways: amounts are cents, a form is a (type, slug) pair nobody remembers, date ranges are half-open, tokens expire every 30 minutes, and the one call that matters most — a refund — sends real money back with no undo.
- The whole API, nothing hidden. All 36 routes of the public v5 spec, one tool each,
plus
whoamiandsummarize_payments, which exist because the API has no "who am I" for a client and no aggregate. A test fails if that count ever drops. - URLs, words and periods, not identifiers. Every form tool takes the form's public
URL. Form types read in English, French or URL spelling (
evenements,adhésions). Periods readlast month,2026-09,last 30 days. Persons are found withsearch. - Money that adds up.
summarize_paymentswalks every page and splits what was actually collected (Authorized) per form, payment means and month, in cents and euros — no model adding up page one and calling it a total. - Fail-closed where money moves.
refund_paymentandcancel_orderrefuse to run withoutconfirm: true, and the refusal states the amount and the payer so the confirmation is an informed one.HELLOASSO_READ_ONLY=1withholds every write tool. - OAuth handled the way HelloAsso asks.
client_credentialsonce, thenrefresh_token— never a new grant while a refresh works, as the API requires. A token revoked server-side is renewed transparently. - Written for a model to read. Structured output with schemas on all 38 tools, annotations on every one, four prompts that stop and ask before touching money, and server instructions that say up front: amounts are cents.
Install
Prebuilt binary (macOS, Linux, Windows)
Download the archive for your platform from the
latest release,
check it against its .sha256, and put mcp-helloasso on your PATH:
Windows: take the x86_64-pc-windows-msvc.zip archive.
From source (any platform with Rust 1.88+)
With cargo install
With Docker
Or build it yourself with docker build -t mcp-helloasso ..
The server is listed in the official MCP registry as
io.github.edouard-claude/helloasso-mcp, so registry-aware clients offer it directly
with the variables to fill in.
The image runs unprivileged and speaks stdio by default; add --http for the HTTP
transport. See Run it over HTTP instead.
Get API credentials
In the HelloAsso back office of your association: My account → Integrations and API
(Mon compte → Intégrations et API). You get a client id and a client secret,
with the AccessPublicData, AccessTransactions and Checkout privileges, scoped to
your organization. Partners get theirs from HelloAsso's partnership team.
Then check the wiring before pointing a client at it:
Configure
Which organization. An association's client reaches exactly one organization, and the
server finds it on its own. A partner client reaching several gets the list back as
candidates; set HELLOASSO_ORGANIZATION or pass organization per call. The binary
refuses to start on a malformed variable and names the one at fault.
Connect a client
Claude Code
Claude Desktop
claude_desktop_config.json:
Start read-only; lift it once you trust the setup.
Cursor, Windsurf, Zed, and other stdio clients
Same shape: one command pointing at the binary, the credentials in env. The server
speaks the stdio transport and prints nothing but protocol on stdout — logs go to stderr.
Any client, over HTTP
Point it at http://127.0.0.1:8080/mcp after starting the server with
--http 127.0.0.1:8080. See below.
Then ask "which HelloAsso organization are you connected to?". whoami should answer
with your association's name.
Tools
38 tools in six toolsets, covering the 36 routes of the
public v5 spec.
HELLOASSO_TOOLSETS picks which ones are registered; HELLOASSO_READ_ONLY=1 keeps only
the ones that declare themselves read-only.
sales — orders, items, payments, the treasurer's view
forms — the campaigns
checkout — payment links
organization — who and what
directory — HelloAsso's public directory
partner — for HelloAsso partners
Resources and prompts
Three resources and two templates, for clients that prefer attaching context to calling a function:
Four prompts drive the workflows associations actually run:
treasury_report— totals, per-campaign split, means, refunds and what stands out, in French number formatting. Writes nothing.find_person— everything one person did: memberships, tickets, payments, what is pending. Writes nothing.attendee_list— every participant of a form with their answers, walked to the last page and checked against the form's statistics. Writes nothing.refund_request— find the payment, check eligibility, propose, stop and wait, then refund and read it back.
HelloAsso, as it actually behaves
Everything below was checked against the live API, is handled for you, and is written down because the next person integrating HelloAsso will hit the same walls.
Safety
Reading a treasury is sensitive; changing it is more so. The defaults lean careful.
- Money is fail-closed.
refund_payment,cancel_order, deleting a form and removing a webhook refuse withoutconfirm: true. A refused refund reads the payment first and says "payment 67890 (25.00 € by Camille Martin, Authorized) would be refunded in full", so the person confirms what they actually see. All four are annotateddestructiveHint. - Read-only is structural.
HELLOASSO_READ_ONLY=1drops every route that does not annotate itselfreadOnlyHint— not a list of names to keep in sync, so a new write tool is excluded by construction. A test asserts it. - Inputs are checked before HTTP. Slugs cannot escape their path segment, checkout
terms must add up to the total, URLs must be
https://, ids must be positive. - The secret never leaks. It is redacted in
Debug, sent only to the token endpoint, and never serialized into a tool answer or a log line;whoamishows the first eight characters of the client id and nothing of the secret. - No disk writes over HTTP.
export_cash_out'ssave_tois refused when the server is reached over HTTP. - The prompts ask first. The only prompt that can move money stops for explicit approval, and asks for the MFA code rather than guessing.
Run it over HTTP instead
Off loopback, the server refuses to start without HELLOASSO_HTTP_TOKEN: one API
client means one identity, and an open endpoint is an open door to an association's
payments. With the token set, every request to /mcp needs
Authorization: Bearer <token>; /healthz stays open for probes. All sessions share one
OAuth token.
Put TLS in front of it. The process speaks plain HTTP and does not pretend otherwise.
Verify
The suite includes the protocol itself: tests/mcp_stdio.rs spawns the real binary,
speaks JSON-RPC to its stdin and asserts on what comes back — the handshake, all 38 tools
with their schemas, a form named by URL, a period turned into dates, a summary that only
counts collected money, a refund refused without confirmation and sent with its MFA
header with it, read-only mode. tests/api_contract.rs holds the token lifecycle, the
retries and the error envelopes against a fake HelloAsso, and tests/mcp_http.rs checks
the HTTP transport and its bearer guard.
Releasing
Bump version in Cargo.toml, add its section to CHANGELOG.md, then
push a tag:
The release workflow checks the tag against Cargo.toml and the changelog, builds the
five binaries with their checksums, pushes ghcr.io/edouard-claude/helloasso-mcp, and
publishes the GitHub release with the changelog section as notes.
Contributing
Issues and pull requests welcome. A change is ready when cargo test,
cargo clippy --all-targets -- -D warnings and cargo fmt --all --check pass, and when a
new tool carries a description, an annotation and an output schema — three tests will
tell you if it does not.
License
MIT — see LICENSE. Not affiliated with HelloAsso; HelloAsso is a trademark of its owner.
來源:README.md,提交 d039a24
工具
0版本歷史
1- v0.1.1最新Oct 19, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分