@ourholylife/mcp-server
v1.0.1
Published
MCP server for OurHolyLife church management — connect Claude, Cursor, Perplexity, or any MCP client to your church data
Maintainers
Readme
@ourholylife/mcp-server
Connect Claude, Cursor, Perplexity, or any AI assistant to your church data.
OurHolyLife MCP server for the Model Context Protocol. Manage your church — members, events, announcements, prayers, groups, worship, and giving — through natural language with any AI assistant.
Quick Start
OURHOLYLIFE_TOKEN=ohlmcp_YOUR_TOKEN npx -y @ourholylife/mcp-serverSetup
Prerequisites
- OurHolyLife Kingdom Plan subscription
- MCP Token — create in OurHolyLife for Churches app → Settings → API Tokens
- Node.js 18+ installed
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"ourholylife": {
"command": "npx",
"args": ["-y", "@ourholylife/mcp-server", "--token", "ohlmcp_YOUR_TOKEN"]
}
}
}Restart Claude Desktop. Your church tools appear in the 🔧 menu.
Cursor IDE
Settings → MCP Servers → Add:
{
"ourholylife": {
"command": "npx",
"args": ["-y", "@ourholylife/mcp-server", "--token", "ohlmcp_YOUR_TOKEN"]
}
}Claude Code
Add to .claude/mcp.json:
{
"mcpServers": {
"ourholylife": {
"command": "npx",
"args": ["-y", "@ourholylife/mcp-server", "--token", "ohlmcp_YOUR_TOKEN"]
}
}
}Perplexity
Settings → Connectors → Add Connector:
- Server Name: OurHolyLife
- Command:
OURHOLYLIFE_TOKEN=ohlmcp_YOUR_TOKEN npx -y @ourholylife/mcp-server
Environment Variables
Instead of --token, you can use environment variables:
export OURHOLYLIFE_TOKEN=ohlmcp_YOUR_TOKEN
npx -y @ourholylife/mcp-serverAvailable Tools (26)
What You Can Ask
| Category | Example Questions | |----------|------------------| | Dashboard | "How's our church doing?" "How many members?" | | Members | "Who are our members?" "Anyone waiting to join?" "Approve pending members" | | Events | "What's coming up?" "Who registered for worship night?" "Create a prayer meeting" | | Groups | "Who's in the worship team?" "How many groups?" "List prayer circle members" | | Announcements | "Post an update about Sunday" "What have we announced?" | | Prayers | "How many active prayers?" "Any flagged prayers?" | | Worship | "What songs are in our library?" | | Giving | "How is giving set up?" | | Visitors | "Any new visitor cards?" "Who wants to volunteer?" |
Full Tool List
| Tool | Method | Description |
|------|--------|-------------|
| get_dashboard | GET | Church overview — members, events, plan |
| list_members | GET | All church members with contact info |
| list_pending_members | GET | Members waiting for approval |
| approve_member | POST | Approve a pending member |
| reject_member | POST | Reject a pending request |
| list_announcements | GET | Recent announcements |
| create_announcement | POST | Post new announcement (optional push notification) |
| delete_announcement | DELETE | Remove an announcement |
| list_events | GET | Upcoming events |
| create_event | POST | Schedule a new event |
| list_event_registrations | GET | Who registered for an event |
| list_groups | GET | Church groups (ministries, small groups, prayer circles) |
| get_group | GET | Details of a specific group |
| list_group_members | GET | Members in a group |
| list_reported_prayers | GET | Flagged/reported prayers |
| prayer_stats | GET | Prayer activity stats |
| moderate_prayer | DELETE | Remove inappropriate prayer |
| list_worship_songs | GET | Song library |
| list_connect_submissions | GET | Visitor connect cards |
| list_volunteer_submissions | GET | Volunteer signups |
| update_submission_status | PUT | Update visitor/volunteer status |
| add_submission_note | POST | Add note to a submission |
| get_giving_config | GET | Giving/donation configuration |
| list_global_events | GET | Platform-wide events |
| create_global_event | POST | Create global event |
| list_global_event_attendees | GET | Global event attendees |
Security
- Token auth — SHA-256 hashed, never stored in plaintext
- IP binding — token auto-binds to first IP used
- Rate limiting — 60 requests per minute
- Token expiry — 1-7 days, auto-expires
- Tenant isolation — one church per token
- E2E chat privacy — group messages are encrypted, API cannot read them
- Input sanitization — HTML stripped, SSRF blocked, fields whitelisted
REST API
For non-MCP integrations (ChatGPT, Zapier, custom apps), use the REST API:
- Swagger UI: https://api.ourholylife.com/api/v1/church/docs
- OpenAPI Spec: https://api.ourholylife.com/api/v1/church/openapi.json
curl -H "Authorization: Bearer ohlmcp_YOUR_TOKEN" \
https://api.ourholylife.com/api/v1/church/dashboardLinks
- Website: https://www.ourholylife.com
- Download Apps: https://www.ourholylife.com/download
- Compare: https://www.ourholylife.com/compare
- Support: [email protected]
License
MIT
