Planning Center Online MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | HTTP port (default: 3000, HTTP mode only) | 3000 |
| TRANSPORT | No | Set to http for HTTP mode (default: stdio) | stdio |
| PCO_APP_ID | Yes | Planning Center Application ID | |
| PCO_SECRET | Yes | Planning Center Secret |
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 |
|---|---|
| pco_list_peopleA | Search for and list people in Planning Center People (PCO). Supports filtering by name, status, and more. Returns person records with attributes. Args:
Returns: List of people with name, status, gender, birthdate, created/updated dates. Error: Returns "Error: ..." message if the request fails. |
| pco_get_personA | Get detailed information about a single person by their PCO ID. Args:
Returns: Full person record including all attributes (name, gender, status, birthdate, etc.). Error: Returns "Error: Resource not found" if the ID is invalid. |
| pco_create_personA | Create a new person record in Planning Center People. Args:
Returns: The newly created person record with its assigned ID. Error: Returns "Error: ..." if validation fails. |
| pco_update_personA | Update an existing person record in Planning Center People. Only the fields you provide will be updated (sparse update / PATCH semantics). Args:
Returns: Confirmation and the updated person record. Error: Returns "Error: Resource not found" if the ID is invalid. |
| pco_list_person_emailsA | Get all email addresses for a specific person in PCO. Args:
Returns: List of email addresses with location and primary status. Error: Returns "Error: Resource not found" if the person ID is invalid. |
| pco_list_person_phone_numbersA | Get all phone numbers for a specific person in PCO. Args:
Returns: List of phone numbers with carrier, location, and primary status. Error: Returns "Error: Resource not found" if the person ID is invalid. |
| pco_list_householdsB | List households in Planning Center People. Args:
Returns: List of households with name, member count, and primary contact. Error: Returns "Error: ..." if the request fails. |
| pco_list_people_listsA | List smart lists (saved filters) in Planning Center People. Args:
Returns: List of PCO Lists with name, description, status, and total count. Error: Returns "Error: ..." if the request fails. |
| pco_list_service_typesA | List all service types in Planning Center Services. Service types represent different worship services (e.g., "Sunday Morning", "Wednesday Night"). Args:
Returns: List of service types with name, frequency, and creation date. Error: Returns "Error: ..." if the request fails. |
| pco_list_plansA | List plans for a specific service type in Planning Center Services. Args:
Returns: List of plans with title, dates, people count, and items count. Error: Returns "Error: Resource not found" if service_type_id is invalid. |
| pco_get_planA | Get detailed information about a specific plan in Planning Center Services. Args:
Returns: Full plan details including title, dates, team assignments, items, and notes count. Error: Returns "Error: Resource not found" if IDs are invalid. |
| pco_list_songsA | List songs in the Planning Center Services song library. Args:
Returns: List of songs with title, author, CCLI number, and last scheduled date. Error: Returns "Error: ..." if the request fails. |
| pco_list_teamsA | List teams for a specific service type in Planning Center Services. Args:
Returns: List of teams with name, schedule type, and whether it's a rehearsal team. Error: Returns "Error: Resource not found" if service_type_id is invalid. |
| pco_list_seriesA | List sermon/service series in Planning Center Services. Args:
Returns: List of series with title, artwork, and plan count. Error: Returns "Error: Resource not found" if service_type_id is invalid. |
| pco_list_donationsB | List donations in Planning Center Giving. Args:
Returns: List of donations with amount, payment method, date, and status. Error: Returns "Error: ..." if the request fails. |
| pco_get_donationA | Get detailed information about a specific donation by ID. Args:
Returns: Full donation record including amount, payment details, fund designations, and dates. Error: Returns "Error: Resource not found" if the ID is invalid. |
| pco_list_fundsA | List giving funds in Planning Center Giving. Args:
Returns: List of funds with name, ledger code, description, visibility, and default status. Error: Returns "Error: ..." if the request fails. |
| pco_list_donation_batchesB | List donation batches in Planning Center Giving. Args:
Returns: List of batches with description, status, total, and commit date. Error: Returns "Error: ..." if the request fails. |
| pco_list_groupsA | List groups in Planning Center Groups. Args:
Returns: List of groups with name, description, location, schedule, and member count. Error: Returns "Error: ..." if the request fails. |
| pco_get_groupA | Get detailed information about a specific group by its ID. Args:
Returns: Full group record including name, description, location, schedule, member count, and Church Center URL. Error: Returns "Error: Resource not found" if the ID is invalid. |
| pco_list_group_membersA | List members of a specific group in Planning Center Groups. Args:
Returns: List of group members with their name, role, and join date. Error: Returns "Error: Resource not found" if the group ID is invalid. |
| pco_list_group_typesB | List group types in Planning Center Groups. Group types categorize groups (e.g., "Small Groups", "Bible Studies", "Recovery"). Args:
Returns: List of group types with name and group count. Error: Returns "Error: ..." if the request fails. |
| pco_list_calendar_eventsA | List events in Planning Center Calendar. Args:
Returns: List of events with name, approval status, description, and visibility. Error: Returns "Error: ..." if the request fails. |
| pco_get_calendar_eventA | Get detailed information about a specific calendar event. Args:
Returns: Full event record with name, approval status, description, visibility, and registration info. Error: Returns "Error: Resource not found" if the ID is invalid. |
| pco_list_event_instancesA | List specific instances (occurrences) of a calendar event. Args:
Returns: List of event instances with start/end times and location. Error: Returns "Error: Resource not found" if the event ID is invalid. |
| pco_list_calendar_resourcesA | List facility resources (rooms, equipment) in Planning Center Calendar. Args:
Returns: List of resources with name, kind, description, and quantity. Error: Returns "Error: ..." if the request fails. |
| pco_list_checkinsA | List check-in records in Planning Center Check-Ins. Args:
Returns: List of check-in records with name, security code, kind, and timestamps. Error: Returns "Error: ..." if the request fails. |
| pco_list_checkin_eventsB | List events (attendance tracking sessions) in Planning Center Check-Ins. Args:
Returns: List of check-in events with name, frequency, and enable settings. Error: Returns "Error: ..." if the request fails. |
| pco_list_checkin_locationsA | List locations (rooms) for a check-in event in Planning Center Check-Ins. Args:
Returns: List of locations with name, capacity, and check-in count. Error: Returns "Error: Resource not found" if the event ID is invalid. |
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 29 tools
Each tool has a clearly distinct purpose targeting specific resources and actions within the Planning Center ecosystem. For example, pco_get_person retrieves a single person, pco_list_people searches and lists people, and pco_create_person creates a new person, with no overlap in functionality. The tools are well-organized by domain (People, Groups, Giving, Services, Calendar, Check-Ins), making it easy for an agent to distinguish between them.
All tool names follow a consistent 'pco_verb_noun' pattern with snake_case throughout. Verbs like 'create', 'get', 'list', and 'update' are used predictably across resources (e.g., pco_create_person, pco_get_person, pco_list_people, pco_update_person). This uniformity enhances readability and reduces cognitive load for agents when selecting tools.
With 29 tools, the count is borderline high for a single server, though it covers multiple Planning Center modules (People, Groups, Giving, Services, Calendar, Check-Ins). While each tool serves a specific purpose, the sheer number might overwhelm agents or lead to inefficiencies in tool selection. A more modular approach with fewer tools per domain could improve manageability.
The tool set provides comprehensive coverage for read and list operations across all major Planning Center domains, with create and update for people. However, there are notable gaps in CRUD operations for other resources like groups, donations, and events (e.g., no pco_create_group or pco_update_donation). These omissions could limit agents' ability to perform full lifecycle management, though core workflows are well-supported.