What is this?
This is an internal Model Context Protocol (MCP) server for Paul's Council. AI assistants (Claude Desktop, Cursor, ChatGPT Desktop, and others) call this server to answer questions about council services, look up staff, and manage cases.
Access is gated by Paul's Council SSO via Cloudflare Access. When your AI client connects for the first time, you will be redirected to sign in. Every tool call is scoped to your role and audited.
Endpoints
AUTH https://mcp.paulscouncil.com/mcp - Streamable HTTP transport (requires SSO)
AUTH https://mcp.paulscouncil.com/sse - Server-Sent Events (legacy clients, requires SSO)
PUBLIC https://mcp.paulscouncil.com/healthz - Liveness probe
Tools exposed
Knowledge base (read, all roles): search_policies, get_policy, list_categories
Staff directory (read, all roles): find_employee, get_team, who_is_on_leave
Case management (read + write, role-scoped): list_open_cases, get_case, create_case, close_case (supervisor/admin)
Roles: staff sees only own cases; supervisor sees own department and may close; admin sees everything.
Client configuration
Claude Desktop - Settings > Connectors > Add custom connector:
Server URL: https://mcp.paulscouncil.com/mcp
Cursor - Settings > MCP:
{
"mcpServers": {
"paulscouncil": {
"url": "https://mcp.paulscouncil.com/mcp"
}
}
}
Both clients will prompt for SSO on first connect via Cloudflare Access.