Circle MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CIRCLE_ACCOUNTS | No | Private named credential array (JSON) for multiple accounts; replaces single-account settings. Example: [{"name":"work","api_token":"YOUR_WORK_ADMIN_TOKEN","auth_scheme":"Token"},{"name":"personal","token_file":"/absolute/private/path/circle-token.txt","auth_scheme":"Bearer"}]. Labels must be unique. | |
| CIRCLE_API_TOKEN | No | Private Admin V2 token. Store it only in private shell/client settings. Never put it in issues, chats or shared configs. | |
| CIRCLE_AUDIT_LOG | No | Private guard-decision log path. Records tool, risk, surface, fixed summary and allowed/blocked decision, without account labels, arguments, tokens or private content. | |
| CIRCLE_READ_ONLY | No | Hide/refuse all writes. Set to 1 to expose only reads (66 tools) and refuse direct calls to hidden write tools. | 0 |
| CIRCLE_TOKEN_FILE | No | Regular token-only file up to 64 KB; takes precedence over CIRCLE_API_TOKEN. Save only the token text in a regular file outside the checkout and set CIRCLE_TOKEN_FILE to its absolute path. Protect POSIX files with mode 0600 and Windows files/folders with user-only ACLs. | |
| CIRCLE_AUTH_SCHEME | No | Explicit Token/Bearer scheme; no fallback. Defaults to Token, preserving the pinned OpenAPI security scheme. Set to Bearer if your account requires the quick-start prose's scheme. | Token |
| CIRCLE_MAX_RETRIES | No | GET 429 retries, 0–5. | 2 |
| CIRCLE_DEFAULT_ACCOUNT | No | Default local account label. Defaults to the first configured label. | |
| CIRCLE_ALLOW_DESTRUCTIVE | No | Set to 0 to block all writes even when confirmed. | 1 |
| CIRCLE_REQUEST_TIMEOUT_MS | No | Integer request deadline, 100–300000 ms. | 30000 |
| CIRCLE_MIN_REQUEST_INTERVAL_MS | No | Per-account/process pacing, 0–10000 ms. Not a global quota manager. | 200 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| add_to_access_groupA | Add Member to Access Group. Changes community state and requires confirm=true for the user-requested action. |
| remove_from_access_groupB | Remove Access Group Member. Changes community state and requires confirm=true for the user-requested action. |
| list_access_group_community_membersC | List Access Group Community Members. Reads community data. Supports bounded all_pages; every page counts against the API quota. |
| get_access_group_community_memberC | Show Access Group Community Member. Reads community data. |
| create_access_groupB | Create Access Group. Changes community state and requires confirm=true for the user-requested action. |
| list_access_groupsB | List Access Groups. Reads community data. Supports bounded all_pages; every page counts against the API quota. |
| archive_access_groupB | Archive Access Group. Changes community state and requires confirm=true for the user-requested action. |
| update_access_groupC | Update Access Group. Changes community state and requires confirm=true for the user-requested action. |
| unarchive_access_groupA | Unarchive Access Group. Changes community state and requires confirm=true for the user-requested action. |
| searchC | Advanced Search. Reads community data. Supports bounded all_pages; every page counts against the API quota. |
| update_chat_preferencesC | Update Chat Preferences. Changes community state and requires confirm=true for the user-requested action. |
| import_chat_room_messageC | Import Chat Room Message. Changes community state and requires confirm=true for the user-requested action. |
| create_commentC | Create Comment. Changes community state and requires confirm=true for the user-requested action. |
| list_commentsB | List Comments. Reads community data. Supports bounded all_pages; every page counts against the API quota. |
| delete_commentC | Destroy Comment. Changes community state and requires confirm=true for the user-requested action. |
| get_commentC | Show Comment. Reads community data. |
| get_communityC | Get community details. Reads community data. |
| update_communityC | Update Community. Changes community state and requires confirm=true for the user-requested action. |
| create_leadA | Create a non-member contact (lead). To add a full community member instead, use create_community_member.. Changes community state and requires confirm=true for the user-requested action. |
| delete_leadA | Delete a non-member contact (lead). To delete a full community member instead, use destroy_community_member.. Changes community state and requires confirm=true for the user-requested action. |
| export_community_member_chargesB | Export Community Member Charges. Changes community state and requires confirm=true for the user-requested action. |
| list_chargesC | Community Member Charges List. Reads community data. Supports bounded all_pages; every page counts against the API quota. |
| refund_community_member_chargeB | Refund Community Member Charge. Changes community state and requires confirm=true for the user-requested action. |
| list_member_spacesC | List Community Member Spaces. Reads community data. Supports bounded all_pages; every page counts against the API quota. |
| cancel_community_member_subscriptionB | Cancel Community Member Subscription. Changes community state and requires confirm=true for the user-requested action. |
| export_community_member_subscriptionsB | Export Community Member Subscriptions. Changes community state and requires confirm=true for the user-requested action. |
| list_subscriptionsB | Community Member Subscriptions List. Reads community data. Supports bounded all_pages; every page counts against the API quota. |
| resume_community_member_subscriptionB | Resume Community Member Subscription. Changes community state and requires confirm=true for the user-requested action. |
| list_member_access_groupsB | List Community Member's Access Groups. Reads community data. Supports bounded all_pages; every page counts against the API quota. |
| ban_community_memberC | Ban Community Member. Changes community state and requires confirm=true for the user-requested action. |
| create_memberB | Create/Invite a community member. Changes community state and requires confirm=true for the user-requested action. |
| list_membersC | List Community Members. Reads community data. Supports bounded all_pages; every page counts against the API quota. |
| delete_community_memberB | Delete Community Member. Changes community state and requires confirm=true for the user-requested action. |
| remove_memberB | Deactivate a community member. Changes community state and requires confirm=true for the user-requested action. |
| get_memberC | Show a community member. Reads community data. |
| update_memberB | Update a community member. Changes community state and requires confirm=true for the user-requested action. |
| search_memberC | Search a community member. Reads community data. |
| create_community_segmentC | Create a community segment. Changes community state and requires confirm=true for the user-requested action. |
| list_segmentsA | List Community Segments. Reads community data. Supports bounded all_pages; every page counts against the API quota. |
| delete_community_segmentA | Delete a community segment. Changes community state and requires confirm=true for the user-requested action. |
| update_community_segmentC | Update a community segment. Changes community state and requires confirm=true for the user-requested action. |
| duplicate_community_segmentB | Duplicate a community segment. Changes community state and requires confirm=true for the user-requested action. |
| create_contact_noteA | Create Contact Note. Changes community state and requires confirm=true for the user-requested action. |
| list_contact_notesC | List Contact Notes. Reads community data. |
| update_course_progressC | Update Course Lesson Progress. Changes community state and requires confirm=true for the user-requested action. |
| create_course_lessonC | Create a course lesson. Changes community state and requires confirm=true for the user-requested action. |
| list_course_lessonsB | List course lessons. Reads community data. Supports bounded all_pages; every page counts against the API quota. |
| delete_course_lessonA | Delete a course lesson. Changes community state and requires confirm=true for the user-requested action. |
| get_course_lessonB | Show a course lesson. Reads community data. |
| update_course_lessonC | Update a course lesson. Changes community state and requires confirm=true for the user-requested action. |
| reorder_course_lessonsB | Reorder course lessons. Changes community state and requires confirm=true for the user-requested action. |
| create_course_sectionB | Create a course section. Changes community state and requires confirm=true for the user-requested action. |
| list_course_sectionsB | List Course Sections. Reads community data. Supports bounded all_pages; every page counts against the API quota. |
| delete_course_sectionA | Delete a course section. Changes community state and requires confirm=true for the user-requested action. |
| get_course_sectionC | Show a course section. Reads community data. |
| update_course_sectionB | Update a course section. Changes community state and requires confirm=true for the user-requested action. |
| create_direct_uploadC | Create Direct Upload. Changes community state and requires confirm=true for the user-requested action. |
| create_embedC | Create Embed. Changes community state and requires confirm=true for the user-requested action. |
| get_embedC | Get Embed. Reads community data. |
| create_event_attendeeC | Create Event Attendee. Changes community state and requires confirm=true for the user-requested action. |
| delete_event_attendeeB | Delete Event Attendee. Changes community state and requires confirm=true for the user-requested action. |
| list_event_attendeesB | List Event Attendees. Reads community data. Supports bounded all_pages; every page counts against the API quota. |
| create_eventC | Create Event. Changes community state and requires confirm=true for the user-requested action. |
| list_eventsC | List Events. Reads community data. Supports bounded all_pages; every page counts against the API quota. |
| delete_eventB | Delete Event. Changes community state and requires confirm=true for the user-requested action. |
| get_eventC | Get Event. Reads community data. |
| update_eventC | Update Event. Changes community state and requires confirm=true for the user-requested action. |
| duplicate_eventC | Duplicate Event. Changes community state and requires confirm=true for the user-requested action. |
| get_filter_configurationB | Get the filters currently shown on the member directory or a member space. Reads community data. |
| create_filter_controlB | Create a member filter control. Changes community state and requires confirm=true for the user-requested action. |
| list_filter_controlsB | List member directory and member space filter controls. Reads community data. Supports bounded all_pages; every page counts against the API quota. |
| delete_filter_controlA | Delete a filter control. Changes community state and requires confirm=true for the user-requested action. |
| get_filter_controlB | Get a filter control. Reads community data. |
| update_filter_controlB | Update a member directory or member space filter control. Changes community state and requires confirm=true for the user-requested action. |
| report_flagged_contentC | Report Flagged Content. Changes community state and requires confirm=true for the user-requested action. |
| list_flagged_contentB | List Flagged Contents. Reads community data. Supports bounded all_pages; every page counts against the API quota. |
| delete_formA | Delete a form. Changes community state and requires confirm=true for the user-requested action. |
| get_formC | Show a form. Reads community data. |
| update_formC | Update a form. Changes community state and requires confirm=true for the user-requested action. |
| duplicate_formA | Duplicate a form. Changes community state and requires confirm=true for the user-requested action. |
| list_formsA | List Forms. Reads community data. Supports bounded all_pages; every page counts against the API quota. |
| create_form_submissionA | Create a form submission. Changes community state and requires confirm=true for the user-requested action. |
| get_form_submissionsB | List form submissions. Reads community data. Supports bounded all_pages; every page counts against the API quota. |
| get_leaderboardC | Show Leaderboard. Reads community data. |
| create_image_postC | Create Image Post. Changes community state and requires confirm=true for the user-requested action. |
| list_image_postsC | List Image Posts. Reads community data. Supports bounded all_pages; every page counts against the API quota. |
| delete_image_postA | Delete Image Post. Changes community state and requires confirm=true for the user-requested action. |
| get_image_postC | Show Image Post. Reads community data. |
| duplicate_image_postC | Duplicate Image Post. Changes community state and requires confirm=true for the user-requested action. |
| create_invitationA | Create invitation link. Changes community state and requires confirm=true for the user-requested action. |
| list_invitationsC | List Invitation Links. Reads community data. Supports bounded all_pages; every page counts against the API quota. |
| delete_invitation_linkB | Delete invitation link. Changes community state and requires confirm=true for the user-requested action. |
| update_invitation_linkC | Update invitation link. Changes community state and requires confirm=true for the user-requested action. |
| revoke_invitation_linkA | Revoke invitation link. Changes community state and requires confirm=true for the user-requested action. |
| list_live_roomsC | List Live Rooms. Reads community data. Supports bounded all_pages; every page counts against the API quota. |
| list_live_room_transcriptsC | List Live Room Transcripts. Reads community data. |
| search_locationsC | Search locations. Reads community data. |
| create_member_tagC | Create Member Tag. Changes community state and requires confirm=true for the user-requested action. |
| list_member_tagsC | Member Tags List. Reads community data. Supports bounded all_pages; every page counts against the API quota. |
| delete_member_tagA | Deletes a member tag. Changes community state and requires confirm=true for the user-requested action. |
| get_member_tagC | Shows a member tag's details. Reads community data. |
| update_member_tagC | Update member tag. Changes community state and requires confirm=true for the user-requested action. |
| send_messageC | Create Message. Changes community state and requires confirm=true for the user-requested action. |
| list_page_profile_fieldsC | Get Page Profile Fields. Reads community data. |
| get_payment_method_settingsC | Retrieves the community's payment method preferences. Reads community data. |
| export_paywall_affiliate_payoutsC | Export Paywall Affiliate Payouts. Changes community state and requires confirm=true for the user-requested action. |
| mark_paywall_affiliate_payouts_paidB | Mark Paywall Affiliate Payouts Paid. Changes community state and requires confirm=true for the user-requested action. |
| start_paywall_affiliate_payoutsB | Start Paywall Affiliate Payouts. Changes community state and requires confirm=true for the user-requested action. |
| list_paywall_affiliatesC | Paywall Affiliates List. Reads community data. Supports bounded all_pages; every page counts against the API quota. |
| invite_paywall_affiliatesC | Invite Paywall Affiliates. Changes community state and requires confirm=true for the user-requested action. |
| update_paywall_affiliateC | Update Paywall Affiliate. Changes community state and requires confirm=true for the user-requested action. |
| delete_paywall_couponB | Deletes a paywall coupon. Changes community state and requires confirm=true for the user-requested action. |
| create_paywall_groupC | Create Subscription Group. Changes community state and requires confirm=true for the user-requested action. |
| update_paywall_groupB | Update Subscription Group. Changes community state and requires confirm=true for the user-requested action. |
| search_paywallsC | Search Paywalls. Reads community data. Supports bounded all_pages; every page counts against the API quota. |
| delete_paywallB | Deletes a paywall. Changes community state and requires confirm=true for the user-requested action. |
| archive_paywallA | Archives a paywall. Changes community state and requires confirm=true for the user-requested action. |
| publish_paywallA | Publishes a paywall. Changes community state and requires confirm=true for the user-requested action. |
| unarchive_paywallB | Unarchives a paywall. Changes community state and requires confirm=true for the user-requested action. |
| unfollow_postA | Unfollow a post. Changes community state and requires confirm=true for the user-requested action. |
| create_postC | Create Basic Post. Changes community state and requires confirm=true for the user-requested action. |
| list_postsB | List Basic Posts. Reads community data. Supports bounded all_pages; every page counts against the API quota. |
| delete_postB | Delete Basic Post. Changes community state and requires confirm=true for the user-requested action. |
| get_postC | Show Basic Post. Reads community data. |
| update_postC | Update Basic Post. Changes community state and requires confirm=true for the user-requested action. |
| get_post_summaryC | Get Post Summary. Reads community data. |
| archive_profile_fieldC | Archive Profile Field. Changes community state and requires confirm=true for the user-requested action. |
| create_profile_fieldC | Create Profile Field. Changes community state and requires confirm=true for the user-requested action. |
| list_profile_fieldsC | Profile Fields List. Reads community data. Supports bounded all_pages; every page counts against the API quota. |
| delete_profile_fieldA | Delete Profile Field. Changes community state and requires confirm=true for the user-requested action. |
| update_profile_fieldC | Update Profile Field. Changes community state and requires confirm=true for the user-requested action. |
| unarchive_profile_fieldB | Unarchive Profile Field. Changes community state and requires confirm=true for the user-requested action. |
| get_connect_settingsC | Get Connect settings. Reads community data. |
| update_connect_settingsB | Update Connect settings. Changes community state and requires confirm=true for the user-requested action. |
| create_space_group_memberC | Create Space Group Member. Changes community state and requires confirm=true for the user-requested action. |
| delete_space_group_memberC | Destroy Space Group Member. Changes community state and requires confirm=true for the user-requested action. |
| list_space_group_membersC | List Space Group Members. Reads community data. Supports bounded all_pages; every page counts against the API quota. |
| get_space_group_memberC | Show Space Group Member. Reads community data. |
| create_space_groupB | Create Space Group. Changes community state and requires confirm=true for the user-requested action. |
| list_space_groupsB | List Space Groups. Reads community data. Supports bounded all_pages; every page counts against the API quota. |
| delete_space_groupB | Delete Space Group. Changes community state and requires confirm=true for the user-requested action. |
| get_space_groupC | Show Space Group. Reads community data. |
| update_space_groupC | Update Space Group. Changes community state and requires confirm=true for the user-requested action. |
| add_space_memberC | Add Space Member. Changes community state and requires confirm=true for the user-requested action. |
| remove_space_memberC | Remove Space Member. Changes community state and requires confirm=true for the user-requested action. |
| list_space_membersB | List Space Members. Reads community data. Supports bounded all_pages; every page counts against the API quota. |
| get_space_memberC | Show Space Member. Reads community data. |
| get_space_ai_summariesC | Summarize a space. Reads community data. |
| create_spaceC | Create Space. Changes community state and requires confirm=true for the user-requested action. |
| list_spacesC | List Spaces. Reads community data. Supports bounded all_pages; every page counts against the API quota. |
| delete_spaceA | Delete a space. Changes community state and requires confirm=true for the user-requested action. |
| get_spaceC | Show a space. Reads community data. |
| update_spaceC | Update Space. Changes community state and requires confirm=true for the user-requested action. |
| tag_memberC | Create Tagged Member. Changes community state and requires confirm=true for the user-requested action. |
| untag_memberB | Delete Tagged Member. Changes community state and requires confirm=true for the user-requested action. |
| list_tagged_membersC | List Tagged Members. Reads community data. Supports bounded all_pages; every page counts against the API quota. |
| get_tagged_memberC | Get Tagged Member. Reads community data. |
| get_tax_settingsC | Get tax settings. Reads community data. |
| update_tax_settingsB | Update tax settings. Changes community state and requires confirm=true for the user-requested action. |
| create_topicB | Create a topic. Changes community state and requires confirm=true for the user-requested action. |
| list_topicsB | List topics. Reads community data. Supports bounded all_pages; every page counts against the API quota. |
| delete_topicB | Delete a topic. Changes community state and requires confirm=true for the user-requested action. |
| get_topicC | Show topic details. Reads community data. |
| update_topicB | Update a topic. Changes community state and requires confirm=true for the user-requested action. |
| activate_workflowA | Activate an automation (dynamic) workflow so it starts running automatically. Changes community state and requires confirm=true for the user-requested action. |
| deactivate_workflowA | Deactivate an automation (dynamic) workflow so it stops running automatically. Changes community state and requires confirm=true for the user-requested action. |
| duplicate_workflowA | Duplicate a workflow. Changes community state and requires confirm=true for the user-requested action. |
| list_workflowsA | List a community's automations/workflows. Reads community data. Supports bounded all_pages; every page counts against the API quota. |
| get_workflowC | Get Workflow. Reads community data. |
| list_accountsA | List private account labels, default selection and configured token method. No credentials, token paths or community content; no network request. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 170 tools
Many tools map to distinct resources, but the member-management surface is crowded with overlapping actions (create_member, create_lead, remove_member, delete_community_member, ban_community_member), and post tools (create_post, create_image_post, get_post, get_post_summary) require careful reading. With 170 tools, several boundaries are ambiguous enough that an agent could easily misselect.
The set overwhelmingly follows a predictable snake_case verb_noun pattern (list_*, get_*, create_*, update_*, delete_*). Minor deviations like send_message, add_space_member, remove_space_member, tag_member, and untag_member are still readable and resource-specific.
170 tools is an extreme mismatch for a coherent MCP surface, far beyond the recommended 3-15 range and even beyond the 50+ threshold that indicates poor scoping. The sheer volume overwhelms discovery and selection.
The domain is broad, but obvious lifecycle gaps exist: no create_workflow or update_workflow, no create_paywall, no update_image_post, and live rooms/transcripts are read-only. These missing operations would cause agent dead ends despite the large tool count.