Connectors · Marketing & media
Circle MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Circle and the rest of your systems. It gives your agent 172 Circle actions (65 reads, 70 writes and 37 that wait for a confirmation) and holds the Circle credential itself, so the agent never does. It paces Circle's limits and records every call.
100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.
claude mcp add --transport http actionlake https://connect.actionlake.com/mcpdo { action: "circle_so.events.list", intent: "check which Circle account is connected"}# List Events · read · 1 upstream call- 172actionsin one signed file
- 65readlook, never change
- 70writecreate and update
- 37wait for a yesdestructive, confirmed first
Set up
Connect Circle in three steps.
- 01
Add actionlake to Claude.
Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
https://connect.actionlake.com/mcp - 02
Connect Circle.
Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
access_tokenCircle Admin API v2 token
account { op: "connections.requirements", service: "circle_so" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "circle_so.events.list" }# list events · read · 1 upstream callcheck { action: "circle_so.events.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Circle at a glance
- Sign-in
- Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
- You provide
access_token- Limits we pace to
- 2,000 calls per 5 minutes, per connection
- API covered
- Circle Admin API v2 (OpenAPI 3.0.1, https://api-headless.circle.so/api/admin/v2/swagger.yaml)
app.circle.so - Built from
- Circle's documentation, read 23 October 2026api-headless.circle.soapi.circle.so
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 61 of 65 reads, for up to 5 minutes; a write clears what it affects
- Shared entities
- 6, so ask can line Circle up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Circle.
172 actions in 58 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 65readlook, never change
- 70writecreate and update
- 37destructivewait for a confirmation
Community members
83 read · 2 write · 3 destructive
List Community Members · Show a community member · Update a community member · Search a community member
Course lessons
62 read · 3 write · 1 destructive
Create a course lesson · List course lessons · Show a course lesson · Reorder course lessons
Events
62 read · 3 write · 1 destructive
List Events · Create Event · Get Event · Update Event
Profile fields
61 read · 3 write · 2 destructive
Create Profile Field · Profile Fields List · Unarchive Profile Field · Update Profile Field
Access groups
51 read · 3 write · 1 destructive
Create Access Group · List Access Groups · Unarchive Access Group · Update Access Group
Community member subscriptions
51 read · 3 write · 1 destructive
Export Community Member Subscriptions · Community Member Subscriptions List · Change a billing date or extend a genuine trial; change_billing_date requires billing_date and extend_trial r… · Resume Community Member Subscription
Community segments
51 read · 3 write · 1 destructive
List Community Segments · Create a community segment · Update a community segment · Delete a community segment
Course sections
52 read · 2 write · 1 destructive
Create a course section · List Course Sections · Show a course section · Update a course section
50 more areas · 126 actions
- Filter kit controls 5
- Forms 5
- Image posts 5
- Invitation links 5
- Member tags 5
- Paywalls 5
- Posts 5
- Space groups 5
- Spaces 5
- Topics 5
- Workflows 5
- Access group members 4
- Comments 4
- Space group members 4
- Space members 4
- Tagged members 4
- Community member charges 3
- Event attendees 3
- Paywall affiliate payouts 3
- Paywall affiliates 3
- Community 2
- Community leads 2
- Connect settings 2
- Contact notes 2
- Embeds 2
- Flagged contents 2
- Form submissions 2
- Paywall groups 2
- Tax settings 2
- Access group content 1
- Chat preferences 1
- Chat room message imports 1
- Community member access groups 1
- Community member spaces 1
- Course lesson progress 1
- Direct uploads 1
- Filter kit configuration 1
- Gamification leaderboard 1
- Live room transcripts 1
- Live rooms 1
- Locations 1
- Messages 1
- Page profile fields 1
- Payment method settings 1
- Paywall coupons 1
- Paywall member access syncs 1
- Post followers 1
- Post summaries 1
- Search 1
- Space AI summaries 1
Top actions
The Circle API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 30 of Circle's 30 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
circle_so.events.listList Events | List Events. | read | comm.event.list61 connectors |
circle_so.spaces.listList Spaces | List Spaces. | read | comm.channel.list27 connectors |
circle_so.community_members.listList Community Members | List Community Members. | read | comm.audience_member.list23 connectors |
circle_so.community_segments.listList Community Segments | List Community Segments. | read | comm.audience_segment.list22 connectors |
circle_so.member_tags.listMember Tags List | Member Tags List. | read | crm.tag.list65 connectors |
circle_so.events.createCreate Event | Create Event. | write | comm.event.create52 connectors |
circle_so.spaces.createCreate Space | Create Space. | write | comm.channel.create16 connectors |
circle_so.community_segments.createCreate a community segment | Create a community segment. | write | comm.audience_segment.create16 connectors |
circle_so.member_tags.createCreate Member Tag | Create Member Tag. | write | crm.tag.create49 connectors |
circle_so.events.deleteDelete Event | Delete Event. | destructive | comm.event.delete45 connectors |
circle_so.community_members.getShow a community member | Show a community member. | read | comm.audience_member.get17 connectors |
circle_so.messages.createCreate Message | Create Message. | write | comm.message.create25 connectors |
Try it
Prompts to paste into Claude.
Each one names the Circle actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Find the Circle contacts with no email address, so we can clean them up.
calls
circle_so.community_members.list - Writewrite
Create Event in Circle. Show me exactly what you will send before you save it.
calls
circle_so.events.create - Across systemsread
Which contacts are in both Circle and HaloPSA, and how many are in only one of them?
calls
circle_so.community_members.listhalopsa.users.list
Across your systems
Circle, joined to the rest of your business.
One ask fetches from Circle and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.
Which contacts are in both Circle and HaloPSA, and how many are in only one of them?
circle_so.community_members.list+halopsa.users.list, oncrm.contact· HaloPSAWhich contacts are in both Circle and NetSuite, and how many are in only one of them?
circle_so.community_members.list+netsuite.views.contacts, oncrm.contact· NetSuite
crm.contact 192comm.event 47crm.tag 47comm.channel 21comm.audience_segment 18comm.audience_member 16ask { intent: "which contacts are in both Circle and HaloPSA, and how many are in only one of them", steps: [ { action: "circle_so.community_members.list", as: "people", input: {}, limit: 100, max_pages: 5 }, { action: "halopsa.users.list", as: "people2", input: {}, limit: 100, max_pages: 5 }, { join: { left: "people", right: "people2", on: "crm.contact", group_by: "people.email", select: ["people.email", "count(people2.id) as in_halopsa"] } } ]}Governance for Circle
Destructive actions wait for a yes.
37 Circle actions are destructive. The first 10:
- Delete Event
circle_so.events.delete - Delete a community segment
circle_so.community_segments.delete - Delete a space
circle_so.spaces.delete - Deletes a member tag
circle_so.member_tags.delete - Delete a form
circle_so.forms.delete - Delete Basic Post
circle_so.posts.delete - Delete a topic
circle_so.topics.delete - Deletes a paywall
circle_so.paywalls.delete - Archives a paywall
circle_so.paywalls.archive - Delete Image Post
circle_so.image_posts.delete
A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.
Delete Event?
intent: the user asked me to delete Event
account { op: "keys.create", name: "circle-so-agent", allowed_actions: ["circle_so.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "circle_so.events.delete", approver: "[email protected]" }, { match: "circle_so.community_segments.delete", approver: "[email protected]" }, { match: "circle_so.spaces.delete", approver: "[email protected]" } ]}Cost
What Circle costs on actionlake.
Every Circle action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Circle refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
- 1upstream call per actionall 172 Circle actions
- 172actions pageeach page of a long list is one call
- 61reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Circle action.
172 actions by area: the id your agent calls, what it does, and its effect.
Community members8
circle_so.community_members.banBan Community Memberdestructivecircle_so.community_members.createCreate/Invite a community memberwritecircle_so.community_members.deactivateDeactivate a community memberdestructivecircle_so.community_members.deleteDelete Community Memberdestructivecircle_so.community_members.getShow a community memberreadcircle_so.community_members.listList Community Membersreadcircle_so.community_members.searchSearch a community memberreadcircle_so.community_members.updateUpdate a community memberwrite
Course lessons6
circle_so.course_lessons.createCreate a course lessonwritecircle_so.course_lessons.deleteDelete a course lessondestructivecircle_so.course_lessons.getShow a course lessonreadcircle_so.course_lessons.listList course lessonsreadcircle_so.course_lessons.reorderReorder course lessonswritecircle_so.course_lessons.updateUpdate a course lessonwrite
Events6
circle_so.events.createCreate Eventwritecircle_so.events.deleteDelete Eventdestructivecircle_so.events.duplicateDuplicate Eventwritecircle_so.events.getGet Eventreadcircle_so.events.listList Eventsreadcircle_so.events.updateUpdate Eventwrite
Profile fields6
circle_so.profile_fields.archiveArchive Profile Fielddestructivecircle_so.profile_fields.createCreate Profile Fieldwritecircle_so.profile_fields.deleteDelete Profile Fielddestructivecircle_so.profile_fields.listProfile Fields Listreadcircle_so.profile_fields.unarchiveUnarchive Profile Fieldwritecircle_so.profile_fields.updateUpdate Profile Fieldwrite
Access groups5
circle_so.access_groups.archiveArchive Access Groupdestructivecircle_so.access_groups.createCreate Access Groupwritecircle_so.access_groups.listList Access Groupsreadcircle_so.access_groups.unarchiveUnarchive Access Groupwritecircle_so.access_groups.updateUpdate Access Groupwrite
Community member subscriptions5
circle_so.community_member_subscriptions.cancelCancel Community Member Subscriptiondestructivecircle_so.community_member_subscriptions.change_billing_dateChange a billing date or extend a genuine trial; change_billing_date requires billing_date and extend_trial r…writecircle_so.community_member_subscriptions.exportExport Community Member Subscriptionswritecircle_so.community_member_subscriptions.listCommunity Member Subscriptions Listreadcircle_so.community_member_subscriptions.resumeResume Community Member Subscriptionwrite
Community segments5
circle_so.community_segments.createCreate a community segmentwritecircle_so.community_segments.deleteDelete a community segmentdestructivecircle_so.community_segments.duplicateDuplicate a community segmentwritecircle_so.community_segments.listList Community Segmentsreadcircle_so.community_segments.updateUpdate a community segmentwrite
Course sections5
circle_so.course_sections.createCreate a course sectionwritecircle_so.course_sections.deleteDelete a course sectiondestructivecircle_so.course_sections.getShow a course sectionreadcircle_so.course_sections.listList Course Sectionsreadcircle_so.course_sections.updateUpdate a course sectionwrite
Filter kit controls5
circle_so.filter_kit_controls.createCreate a member filter controlwritecircle_so.filter_kit_controls.deleteDelete a filter controldestructivecircle_so.filter_kit_controls.getGet a filter controlreadcircle_so.filter_kit_controls.listList member directory and member space filter controlsreadcircle_so.filter_kit_controls.updateUpdate a member directory or member space filter controlwrite
Forms5
circle_so.forms.deleteDelete a formdestructivecircle_so.forms.duplicateDuplicate a formwritecircle_so.forms.getShow a formreadcircle_so.forms.listList Formsreadcircle_so.forms.updateUpdate a formwrite
Image posts5
circle_so.image_posts.createCreate Image Postwritecircle_so.image_posts.deleteDelete Image Postdestructivecircle_so.image_posts.duplicateDuplicate Image Postwritecircle_so.image_posts.getShow Image Postreadcircle_so.image_posts.listList Image Postsread
Invitation links5
circle_so.invitation_links.createCreate invitation linkwritecircle_so.invitation_links.deleteDelete invitation linkdestructivecircle_so.invitation_links.listList Invitation Linksreadcircle_so.invitation_links.revokeRevoke invitation linkdestructivecircle_so.invitation_links.updateUpdate invitation linkwrite
Member tags5
circle_so.member_tags.createCreate Member Tagwritecircle_so.member_tags.deleteDeletes a member tagdestructivecircle_so.member_tags.getShows a member tag's detailsreadcircle_so.member_tags.listMember Tags Listreadcircle_so.member_tags.updateUpdate member tagwrite
Paywalls5
circle_so.paywalls.archiveArchives a paywalldestructivecircle_so.paywalls.deleteDeletes a paywalldestructivecircle_so.paywalls.publishPublishes a paywallwritecircle_so.paywalls.searchSearch Paywallsreadcircle_so.paywalls.unarchiveUnarchives a paywallwrite
Posts5
circle_so.posts.createCreate Basic Postwritecircle_so.posts.deleteDelete Basic Postdestructivecircle_so.posts.getShow Basic Postreadcircle_so.posts.listList Basic Postsreadcircle_so.posts.updateUpdate Basic Postwrite
Space groups5
circle_so.space_groups.createCreate Space Groupwritecircle_so.space_groups.deleteDelete Space Groupdestructivecircle_so.space_groups.getShow Space Groupreadcircle_so.space_groups.listList Space Groupsreadcircle_so.space_groups.updateUpdate Space Groupwrite
Spaces5
circle_so.spaces.createCreate Spacewritecircle_so.spaces.deleteDelete a spacedestructivecircle_so.spaces.getShow a spacereadcircle_so.spaces.listList Spacesreadcircle_so.spaces.updateUpdate Spacewrite
Topics5
circle_so.topics.createCreate a topicwritecircle_so.topics.deleteDelete a topicdestructivecircle_so.topics.getShow topic detailsreadcircle_so.topics.listList topicsreadcircle_so.topics.updateUpdate a topicwrite
Workflows5
circle_so.workflows.activateActivate an automation (dynamic) workflow so it starts running automaticallywritecircle_so.workflows.deactivateDeactivate an automation (dynamic) workflow so it stops running automaticallydestructivecircle_so.workflows.duplicateDuplicate a workflowwritecircle_so.workflows.getGet Workflowreadcircle_so.workflows.listList a community's automations/workflowsread
Access group members4
circle_so.access_group_members.addAdd Member to Access Groupwritecircle_so.access_group_members.getShow Access Group Community Memberreadcircle_so.access_group_members.listList Access Group Community Membersreadcircle_so.access_group_members.removeRemove Access Group Memberdestructive
Comments4
circle_so.comments.createCreate Commentwritecircle_so.comments.deleteDestroy Commentdestructivecircle_so.comments.getShow Commentreadcircle_so.comments.listList Commentsread
Space group members4
circle_so.space_group_members.addCreate Space Group Memberwritecircle_so.space_group_members.getShow Space Group Memberreadcircle_so.space_group_members.listList Space Group Membersreadcircle_so.space_group_members.removeDestroy Space Group Memberdestructive
Space members4
circle_so.space_members.addAdd Space Memberwritecircle_so.space_members.getShow Space Memberreadcircle_so.space_members.listList Space Membersreadcircle_so.space_members.removeRemove Space Memberdestructive
Tagged members4
circle_so.tagged_members.addCreate Tagged Memberwritecircle_so.tagged_members.getGet Tagged Memberreadcircle_so.tagged_members.listList Tagged Membersreadcircle_so.tagged_members.removeDelete Tagged Memberdestructive
Community member charges3
circle_so.community_member_charges.exportExport Community Member Chargeswritecircle_so.community_member_charges.listCommunity Member Charges Listreadcircle_so.community_member_charges.refundRefund Community Member Chargedestructive
Event attendees3
circle_so.event_attendees.addCreate Event Attendeewritecircle_so.event_attendees.listList Event Attendeesreadcircle_so.event_attendees.removeDelete Event Attendeedestructive
Paywall affiliate payouts3
circle_so.paywall_affiliate_payouts.exportExport Paywall Affiliate Payoutswritecircle_so.paywall_affiliate_payouts.mark_paidMark Paywall Affiliate Payouts Paiddestructivecircle_so.paywall_affiliate_payouts.startStart Paywall Affiliate Payoutsdestructive
Paywall affiliates3
circle_so.paywall_affiliates.inviteInvite Paywall Affiliateswritecircle_so.paywall_affiliates.listPaywall Affiliates Listreadcircle_so.paywall_affiliates.updateUpdate Paywall Affiliatewrite
Community2
circle_so.community.getGet community detailsreadcircle_so.community.updateUpdate Communitywrite
Community leads2
circle_so.community_leads.createCreate a non-member contact (lead)writecircle_so.community_leads.deleteDelete a non-member contact (lead)destructive
Connect settings2
circle_so.connect_settings.getGet Connect settingsreadcircle_so.connect_settings.updateUpdate Connect settingswrite
Contact notes2
circle_so.contact_notes.createCreate Contact Notewritecircle_so.contact_notes.listList Contact Notesread
Embeds2
circle_so.embeds.createCreate Embedwritecircle_so.embeds.getGet Embedread
Flagged contents2
circle_so.flagged_contents.createReport Flagged Contentwritecircle_so.flagged_contents.listList Flagged Contentsread
Form submissions2
circle_so.form_submissions.createCreate a form submissionwritecircle_so.form_submissions.listList form submissionsread
Paywall groups2
circle_so.paywall_groups.createCreate Subscription Groupwritecircle_so.paywall_groups.updateUpdate Subscription Groupwrite
Tax settings2
circle_so.tax_settings.getGet tax settingsreadcircle_so.tax_settings.updateUpdate tax settingswrite
Access group content1
circle_so.access_group_content.replaceReplace access-group contentdestructive
Chat preferences1
circle_so.chat_preferences.updateUpdate Chat Preferenceswrite
Chat room message imports1
circle_so.chat_room_message_imports.createImport Chat Room Messagewrite
Community member access groups1
circle_so.community_member_access_groups.listList Community Member's Access Groupsread
Community member spaces1
circle_so.community_member_spaces.listList Community Member Spacesread
Course lesson progress1
circle_so.course_lesson_progress.updateUpdate Course Lesson Progresswrite
Direct uploads1
circle_so.direct_uploads.createCreate Direct Uploadwrite
Filter kit configuration1
circle_so.filter_kit_configuration.getGet the filters currently shown on the member directory or a member spaceread
Gamification leaderboard1
circle_so.gamification_leaderboard.getShow Leaderboardread
Live room transcripts1
circle_so.live_room_transcripts.listList Live Room Transcriptsread
Live rooms1
circle_so.live_rooms.listList Live Roomsread
Locations1
circle_so.locations.searchSearch locationsread
Messages1
circle_so.messages.createCreate Messagewrite
Page profile fields1
circle_so.page_profile_fields.listGet Page Profile Fieldsread
Payment method settings1
circle_so.payment_method_settings.listRetrieves the community's payment method preferencesread
Paywall coupons1
circle_so.paywall_coupons.deleteDeletes a paywall coupondestructive
Paywall member access syncs1
circle_so.paywall_member_access_syncs.createSyncs a legacy paywall's member accesswrite
Post followers1
circle_so.post_followers.removeUnfollow a postdestructive
Post summaries1
circle_so.post_summaries.getGet Post Summaryread
Search1
circle_so.search.advancedAdvanced Searchread
Space AI summaries1
circle_so.space_ai_summaries.getSummarize a spaceread
Questions
The Circle MCP server, answered.
Is there a Circle MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 172 Circle actions across community members, course lessons, events and profile fields, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Circle.
What do I need to connect Circle?
Circle Admin API v2 token. The free call account { op: "connections.requirements", service: "circle_so" } lists exactly what to paste.
Can an AI agent delete or change things in Circle?
Only if its key allows it, and only with an explicit confirmation. 37 Circle actions are destructive, including delete Event, delete a community segment and delete a space. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.
Will an AI agent use up my Circle API limit?
actionlake paces every call to the limits in the Circle service file: 2,000 calls per 5 minutes per connection. Repeated reads are answered from cache (61 Circle actions can be), which never reaches Circle.
What does a Circle action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (172 Circle actions page). Cache hits, searches, dry runs and calls Circle refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
Which Circle API does it cover?
The Circle Admin API v2 (OpenAPI 3.0.1, https://api-headless.circle.so/api/admin/v2/swagger.yaml) at app.circle.so. It is built from Circle's documentation as read on 23 October 2026. 172 actions in 58 areas, each one in the signed service file (version 1.0.0).
Can I combine Circle with my other systems?
Yes. ask joins Circle to HaloPSA or NetSuite on the same customer and returns the answer rather than every row. Circle maps crm.contact, which 192 other connectors also map.
Does actionlake keep my Circle data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Circle credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.
Which AI clients can use it?
Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.
Give your agent Circle today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.