CiviCRM MCP by usefulapi

io.usefulapi由 usefulapi.io 發布官方發布者v1.16.4更新於 Nov 7, 2026

Work with your own CiviCRM: contacts, contributions, memberships, events; log activities.

發布方自己的服務:Ably MCP by usefulapi

已驗證Streamable HTTP可網頁執行效率與工作流商業與電商

概覽

AI 產生的概覽

託管式 CiviCRM MCP 伺服器:搜尋聯絡人、檢視捐款、會員與活動,並新增 CRM 紀錄。

可以做什麼
  • 搜尋、讀取並檢視聯絡人、備註、關係與聯絡偏好
  • 依條件列出捐款、會員、活動、參與者、活動紀錄、案例與群組
  • 檢視實體與欄位定義,並對任一 CiviCRM APIv4 實體執行唯讀查詢
  • 建立與更新聯絡人、新增備註、記錄活動、登錄捐款、建立會員、加入群組、報名活動
  • 檢視用量、提出功能需求、升級或取消付費方案
適用情境
適合讓助理回答 CiviCRM 資料問題,例如捐款紀錄、即將到期的會員、活動報名與聯絡人資料,或在不開啟 CiviCRM 的情況下登錄備註、活動與捐款等日常紀錄。
執行需求
透過 streamable HTTP 連線的遠端端點,只需填寫 URL,登入使用 OAuth。首次連線需輸入 CiviCRM 網站位址,以及具備「以 API 金鑰驗證」權限之聯絡人的 API 金鑰。免費方案每月 50 次工具呼叫,付費方案依使用者計費。
安裝前請注意
寫入類工具會建立與修改真實 CRM 紀錄:聯絡人、備註、活動、捐款、會員、群組成員與活動報名。加入群組可能導致後續郵件寄送,捐款與會員紀錄會影響捐款歷程與報表。建立聯絡人不會檢查重複。CiviCRM 網站位址與 API 金鑰會提供給第三方託管服務,付費方案涉及付款連結與訂閱。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 CiviCRM MCP by usefulapi,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.usefulapi%2Fcivicrm/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "civicrm-by-usefulapi": {
      "type": "http",
      "url": "https://civicrm.usefulapi.io/mcp"
    }
  }
}

README

CiviCRM MCP by usefulapi

Work with your own CiviCRM: contacts, contributions, memberships, events; log activities.

Live endpoint: https://civicrm.usefulapi.io/mcp · Homepage: https://usefulapi.io/civicrm

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://civicrm.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http civicrm https://civicrm.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "civicrm": {      "url": "https://civicrm.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your CiviCRM credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/civicrm/

On first connect you'll enter your CiviCRM site address (e.g. https://crm.example.org) and an API key of a contact with the "authenticate with api key" permission.

Tools

ToolTypeWhat it does
civicrm_whoamireadGet current contact
civicrm_search_contactsreadSearch contacts
civicrm_get_contactreadGet contact
civicrm_list_contact_notesreadList contact notes
civicrm_list_relationshipsreadList contact relationships
civicrm_list_contributionsreadList contributions
civicrm_list_membershipsreadList memberships
civicrm_list_eventsreadList events
civicrm_list_participantsreadList event participants
civicrm_list_activitiesreadList activities
civicrm_list_casesreadList cases
civicrm_list_groupsreadList groups
civicrm_list_group_contactsreadList group members
civicrm_get_fieldsreadDescribe an entity's fields
civicrm_list_entitiesreadList API entities
civicrm_queryreadQuery any entity
civicrm_create_contactwriteCreate contact
civicrm_update_contactwriteUpdate contact
civicrm_add_contact_notewriteAdd contact note
civicrm_log_activitywriteLog activity
civicrm_record_contributionwriteRecord contribution
civicrm_create_membershipwriteCreate membership
civicrm_add_contact_to_groupwriteAdd contact to group
civicrm_register_participantwriteRegister participant
civicrm_usage_statusmetaUsage status (free-tier meter)
civicrm_request_featuremetaRequest a missing feature
civicrm_upgrademetaUpgrade to Pro or Pro+
civicrm_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per user)$9/mo or $90/yr (2 months free)Unlimited*

*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to [email protected].

Pro covers this server only. Subscribe with civicrm_upgrade (it returns a Stripe Checkout link). Cancel any time with civicrm_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running civicrm_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT © usefulapi. Not affiliated with or endorsed by CiviCRM.

來源:servers/civicrm/README.md,提交 4046075

工具

24

civicrm_whoami

Get current contact

The CiviCRM contact this API key belongs to (contact id, display name, contact type) and how it authenticated. Everything the other tools do is limited to that contact's permissions. GET /civicrm/authx/id, then APIv4 Contact.get.

無需輸入參數。

civicrm_search_contacts

Search contacts

Find contacts (people, organizations, households) by a word in their name, e-mail address or phone number, optionally of one contact type. Trashed contacts are left out. Returns id, display name, type, primary e-mail and phone. APIv4 Contact.get.

輸入參數limitqueryoffsetcontact_type

civicrm_get_contact

Get contact

One contact by id: name, type, job title, source, communication preferences (do not e-mail, opted out, ...), dates, plus all their e-mail addresses, phone numbers and postal addresses. APIv4 Contact.get, Email.get, Phone.get, Address.get.

輸入參數contact_id必填

civicrm_list_contact_notes

List contact notes

The notes recorded on one contact (subject, text, who wrote it, when), newest first. APIv4 Note.get.

輸入參數limitoffsetcontact_id必填

civicrm_list_relationships

List contact relationships

The relationships of one contact (employee of, spouse of, volunteer for, ...) with the other contact, start and end date and whether it is active. APIv4 Relationship.get.

輸入參數limitoffsetcontact_id必填active_only

civicrm_list_contributions

List contributions

Contributions (donations, membership dues, event fees) with contact, amount, currency, financial type, status, payment method, date and source, newest first. Filter by contact, status, financial type, date range and minimum amount. Test contributions are left out. APIv4 Contribution.get.

輸入參數limitoffsetstatusdate_todate_fromcontact_idmin_amountfinancial_type

civicrm_list_memberships

List memberships

Memberships with contact, membership type, status (New, Current, Grace, Expired, ...), join, start and end date. Filter by contact, status, type, or those ending before a date (renewal follow-up). Test memberships are left out. APIv4 Membership.get.

輸入參數limitoffsetstatuscontact_idends_afterends_beforemembership_type

civicrm_list_events

List events

Events with title, type, start and end date, whether active and public, maximum participants and summary. Upcoming events first when upcoming_only is set. Template events are left out. APIv4 Event.get.

輸入參數limittitleoffsetactive_onlyupcoming_only

civicrm_list_participants

List event participants

Event registrations with event, contact, status (Registered, Attended, Cancelled, ...), role, registration date and fee. Filter by event, contact or status. Test registrations are left out. APIv4 Participant.get.

輸入參數limitoffsetstatusevent_idcontact_id

civicrm_list_activities

List activities

Activities (meetings, phone calls, e-mails, follow-ups, ...) with type, subject, status, date and details, newest first. With contact_id: the activities that contact took part in, with their role (source, target or assignee). Otherwise all activities, optionally of one type or status. APIv4 ActivityContact.get / Activity.get.

輸入參數limitoffsetstatusdate_todate_fromcontact_idactivity_type

civicrm_list_cases

List cases

Cases (CiviCase) with subject, case type, status and dates. With contact_id: the cases that contact is a client of. Needs the CiviCase component to be enabled. APIv4 CaseContact.get / Case.get.

輸入參數limitoffsetstatuscontact_id

civicrm_list_groups

List groups

Contact groups (mailing lists, static groups, smart groups) with title, description, visibility and type. APIv4 Group.get.

輸入參數limittitleoffsetactive_only

civicrm_list_group_contacts

List group members

The members of one static group (or the groups one contact belongs to): contact, group and membership status (Added, Removed, Pending). Smart groups are computed by CiviCRM and not listed here. APIv4 GroupContact.get.

輸入參數limitoffsetstatusgroup_idcontact_id

civicrm_get_fields

Describe an entity's fields

The fields of one CiviCRM entity (Contact, Contribution, Event, ...) including custom fields: name, label, data type, whether required, and the allowed options for a pick-list field. Use it to find the right field names for civicrm_query and the right option names for the filters and write tools. APIv4 <Entity>.getFields.

輸入參數fieldactionentity必填

civicrm_list_entities

List API entities

The APIv4 entities this CiviCRM site offers (Contact, Contribution, Event, plus those of installed extensions), with a short description. Use the names with civicrm_get_fields and civicrm_query. APIv4 Entity.get.

輸入參數search

civicrm_query

Query any entity

Read records of ANY CiviCRM entity with APIv4 Entity.get: choose fields, filter, sort and page. Use civicrm_list_entities and civicrm_get_fields for the names. Field names may be joined (`contact_id.display_name`, `email_primary.email`) or ask for an option's text (`status_id:label`). Examples: entity Tag; entity Campaign with where [{field:'is_active',op:'=',value:true}]; entity Contribution with select ['id','total_amount'] and where [{field:'total_amount',op:'>=',value:1000}]. Read-only; credential fields and system entities (settings, payment processors, mailings, users) are refused.

輸入參數limitwhereentity必填offsetselect必填order_by

civicrm_create_contact

Create contact

WRITE: creates ONE new contact (an individual, organization or household) and optionally its first e-mail address and phone number. Does not check for duplicates: search first with civicrm_search_contacts. Sends nothing. APIv4 Contact.create, Email.create, Phone.create.

輸入參數emailphonesourcejob_titlelast_namefirst_namecontact_type必填household_nameorganization_name

civicrm_update_contact

Update contact

WRITE: changes basic fields of ONE existing contact (name, job title, source, preferred language) and/or its communication preferences (do not e-mail, do not phone, do not mail, do not SMS, opted out of bulk mail). Only the fields you give are changed. Setting a do-not flag to false re-enables contact the person may have declined, so only do that on the person's request. APIv4 Contact.update.

輸入參數sourcejob_titlelast_namecontact_id必填do_not_smsfirst_nameis_opt_outdo_not_maildo_not_emaildo_not_phonehousehold_nameorganization_name另有 1 個

civicrm_add_contact_note

Add contact note

WRITE: adds ONE note to a contact's record, written by the contact this API key belongs to. Sends nothing. APIv4 Note.create.

輸入參數note必填subjectcontact_id必填

civicrm_log_activity

Log activity

WRITE: records ONE activity (a meeting, phone call, e-mail, follow-up, ...) with one or more contacts. It only STORES the record: an activity of type Email does not send an e-mail. Added by the contact this API key belongs to unless source_contact_id is given. APIv4 Activity.create.

輸入參數statusdetailssubject必填activity_type必填with_contact_ids必填source_contact_idactivity_date_timeassignee_contact_ids

civicrm_record_contribution

Record contribution

WRITE: records ONE contribution (a donation, a payment received elsewhere) for a contact. It only STORES the financial record: no card is charged, no receipt is e-mailed, and the amount shows up in CiviCRM's reports and the contact's giving history. Check civicrm_list_contributions first to avoid a duplicate. APIv4 Contribution.create.

輸入參數sourcestatustrxn_idcurrencycontact_id必填receive_datetotal_amount必填financial_type必填payment_method

civicrm_create_membership

Create membership

WRITE: gives ONE contact a membership of a type. CiviCRM works out the dates and status from the type unless you give dates. It does NOT record a payment (use civicrm_record_contribution for that) and sends nothing. APIv4 Membership.create.

輸入參數sourceend_datejoin_datecontact_id必填start_datemembership_type必填

civicrm_add_contact_to_group

Add contact to group

WRITE: adds ONE contact to ONE static group. If the group is used as a mailing list, the contact will receive future mailings sent to it, so only add people who agreed. Sends nothing by itself. Adding a contact who is already in the group changes nothing; a contact who was removed from it (or is pending) is set back to Added. APIv4 GroupContact.save matched on group and contact.

輸入參數group_id必填contact_id必填

civicrm_register_participant

Register participant

WRITE: registers ONE contact for ONE event (a participant record). It does not check the event's capacity or fee, does not take payment and sends no confirmation e-mail. APIv4 Participant.create.

輸入參數rolesourcestatusevent_id必填contact_id必填

版本歷史

15
  1. v1.16.4最新Nov 7, 2026
  2. v1.15.3Nov 5, 2026
  3. v1.15.2Nov 5, 2026
  4. v1.15.1Nov 4, 2026
  5. v1.15.0Nov 3, 2026
  6. v1.14.1Nov 3, 2026
  7. v1.13.0Nov 1, 2026
  8. v1.11.0Oct 31, 2026
  9. v1.10.0Oct 31, 2026
  10. v1.9.2Oct 30, 2026
  11. v1.9.0Oct 30, 2026
  12. v1.4.0Oct 26, 2026
  13. v1.1.3Oct 25, 2026
  14. v1.1.0Oct 25, 2026
  15. v1.0.0Oct 24, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Usefulapi 整合