Opening the portal

An API by Caminho Anglicano

Check status
Integrations / MCP

Query the liturgy from your assistant

The MCP server gives Codex, Claude and other clients read access to the calendar, the lectionary and the Daily Office. Sign-in happens in the browser; no key is ever pasted into the conversation.

Hosted server

The API, inside your MCP client.

The tools query the calendar, the lectionary and the Daily Office and return the same structured data as the API.

Read-onlyOAuth 2.1Streamable HTTP
MCP endpoint
https://mcp.caminhoanglicano.com.br/mcp

On the first connection the browser opens for you to sign in with your portal account. The server creates an API key and stores it encrypted.

Installation

Choose your client

Terminal

Claude Code

Plugin

Install the plugin from the repository marketplace and let Claude discover the tools on its own.

/plugin marketplace add dodopok/estevao-mcp
/plugin install estevao@estevao

Authentication happens in the browser when Claude makes its first call.

Terminal

Codex CLI

MCP

Add the hosted endpoint to Codex and finish the OAuth flow with a single login command.

codex mcp add estevao --url https://mcp.caminhoanglicano.com.br/mcp
codex mcp login estevao

The package also ships the universal .codex-plugin manifest for installing it as a plugin.

Other clients

The endpoint follows the Streamable HTTP standard with OAuth 2.1, including automatic discovery and dynamic client registration. Any compatible MCP client connects with the same URL.

ClientHow to connect
Claude Code
claude mcp add --transport http estevao https://mcp.caminhoanglicano.com.br/mcp
Claude Code (plugin)
/plugin marketplace add dodopok/estevao-mcp
/plugin install estevao@estevao
Claude Desktop / claude.ai

Settings → Connectors → custom connector

https://mcp.caminhoanglicano.com.br/mcp
Codex CLI
codex mcp add estevao --url https://mcp.caminhoanglicano.com.br/mcp
codex mcp login estevao
Gemini CLI

~/.gemini/settings.json

{"mcpServers":{"estevao":{"httpUrl":"https://mcp.caminhoanglicano.com.br/mcp","oauth":{"enabled":true}}}}
VS Code, Cursor, Windsurf
{"servers":{"estevao":{"type":"http","url":"https://mcp.caminhoanglicano.com.br/mcp"}}}
MCP Inspector

Select the “Streamable HTTP” transport after opening the Inspector.

npx @modelcontextprotocol/inspector
https://mcp.caminhoanglicano.com.br/mcp
MCP
{"type":"http","url":"https://mcp.caminhoanglicano.com.br/mcp"}

Interoperability details

Discovery metadata is published at every path clients usually look for (the root and under /mcp, in the OAuth and OpenID Connect variants). Registration accepts both Dynamic Client Registration and Client ID Metadata Documents. The token endpoint accepts public clients, client_secret_post and client_secret_basic. There is a single, read-only scope, and clients asking for other scopes keep working. CORS exposes the authentication challenge, so connectors running in the browser can start the flow too.

How authentication works

  1. 01

    The MCP client discovers the authorization server from the endpoint itself and registers on its own.

  2. 02

    The browser opens Estêvão's consent screen, where you sign in with Google or email — the same account as this portal.

  3. 03

    On authorization, the server creates (or reuses) an API key on your account and stores it encrypted.

  4. 04

    The client receives a token of its own, short-lived and automatically renewed, valid only for this server.

  5. 05

    On every call the server uses the stored key. The client's token never reaches the Estêvão API.

The connection needs a plan

Connecting an MCP client creates an API key, so the connection needs an active plan — or the lifetime account of someone who was already using the portal. Without one, the consent screen says so instead of authorizing. If the subscription lapses, the stored key stops answering and the next authorization asks for a plan again. Plans

The key is managed for you

The connection creates a key named MCP — YYYY-MM-DD on your account and stores it encrypted on the server. It shows up in the keys panel, takes one slot of your plan's limit and records its usage. Delete that key and the connection stops working until you authorize again.

Running it with your own key

Would rather run it locally? The same server works over stdio with a key you created in the dashboard — no OAuth, no dependency on the hosted endpoint.

Local (stdio)
claude mcp add estevao --env ESTEVAO_API_KEY=estevao_sua_chave -- npx -y estevao-mcp

Tools and resources

ToolWhat it does
get_liturgical_daySeason, colour, liturgical year, celebration, collect and readings for a date.
get_calendar_monthThe month's grid: colour, celebration and week for each day.
get_year_overviewThe year's shape: seasons, movable feasts and key dates.
get_readingsLectionary readings (first, psalm, second, gospel), by service if you want.
get_lectionary_cycleA year's Sunday (A/B/C) and weekday (1/2) cycles.
get_daily_officeThe full Daily Office in markdown or structured JSON.
search_celebrationsText search across feasts, saints and holy days.
list_celebrationsThe sanctoral, filtered by type, mobility and year.
get_celebrationOne celebration in detail: transfer, calculation, collects and readings.
list_prayer_booksThe available prayer books; optionally, Bible versions.
get_prayer_book_preferencesThe preferences each book accepts, including psalms, canticles, cycles and office options.
explain_liturgical_dayThe decision trail: precedence, transfers, colour and the choice of each reading.
compare_prayer_booksA side-by-side comparison of 2 to 4 editions on the same day or office.

Beyond the tools, the server publishes resources (ordo://prayer-books, ordo://bible-versions, ordo://today, ordo://day/, ordo://explain/, ordo://office// and ordo://calendar//key-dates) and four factual prompts: a bulletin, a feast explanation, a decision explanation, and a comparison between traditions. Every tool is read-only, and the server writes no sermons or devotional reflections.