Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Estevao MCP

by dodopokversion 0.3.0i★ –iComputer or cloud
Registry nameio.github.dodopok/estevao-mcp

Install

Overview

Description from the maker (original English)

Anglican liturgical calendar, lectionary and Daily Office (Book of Common Prayer) via Estêvão API

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Computer or cloud
  • Transport: stdio, Streamable HTTP
  • Category: Docs, sheets & office work
  • You need to fill in: ESTEVAO_API_KEY

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on the maker’s server: what you ask it goes through their server.
  • You fill in yourself: ESTEVAO_API_KEY

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • Runs in the cloudNothing to install; it connects over the internet
  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Works in Claude on the web, desktop and mobile:

  1. Open Settings → Connectors
  2. Press Add custom connector
  3. Paste the address below and press Add
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Add2https://…3
https://mcp.caminhoanglicano.com.br/mcp

Or run it on your computer

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "estevao": {
      "command": "npx",
      "args": [
        "-y",
        "estevao-mcp"
      ],
      "env": {
        "ESTEVAO_API_KEY": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add --transport http estevao https://mcp.caminhoanglicano.com.br/mcp

Or run it on your computer

claude mcp add estevao --env ESTEVAO_API_KEY=your-value -- npx -y estevao-mcp

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "estevao": {
      "url": "https://mcp.caminhoanglicano.com.br/mcp"
    }
  }
}

Or run it on your computer

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "estevao": {
      "command": "npx",
      "args": [
        "-y",
        "estevao-mcp"
      ],
      "env": {
        "ESTEVAO_API_KEY": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "estevao": {
      "type": "http",
      "url": "https://mcp.caminhoanglicano.com.br/mcp"
    }
  }
}

Or run it on your computer

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "estevao": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "estevao-mcp"
      ],
      "env": {
        "ESTEVAO_API_KEY": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

ChatGPT connects only to servers on the internet:

  1. Open ChatGPT on the web → Settings → Connectors (Apps)
  2. Press Create or Add (some plans need Developer mode under Advanced first)
  3. Paste the address below, give it a name and save
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Create2https://…3
https://mcp.caminhoanglicano.com.br/mcp

Menu names can differ slightly by plan and over time.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • ESTEVAO_API_KEY secret required env
    Estêvão API key (estevao_ prefix)

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

We have not read this server’s tool list yet; we check endpoints in rotation.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account dodopok, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • … Not checked yet

    Endpoint responds

    Not checked yet; we check endpoints in rotation

  • … Not checked yet

    Sign-in with OAuth

    Not checked yet; we check endpoints in rotation

  • … Not checked yet

    No hidden instructions in tool descriptions

    Not checked yet; we read the tool list when we check the endpoint

Compared with others in Docs, sheets & office worki

  • More stars than 0% of the other 3538 servers in this category
  • Published to the registry more recently than 30% of the other 3538 servers in this category
  • Basic checks equal to or better than 100% of the other 3538 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Estevao MCP safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: ESTEVAO_API_KEY

Does it run on my computer or in the cloud?

Either way works: install it on your computer or connect to the cloud version.

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.3.0) reached the registry 2 months ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

What can I use instead?

In the same category: Agent-Native Calendar, Excel MCP Server, MCP Server for Excel

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Agent-Native Google Calendar - manage events, sync, and public booking

Runs in the cloud★ 7,620MITUpdated 2 months ago
Install

Excel MCP Server

by haris-musa

Lets AI create and edit Excel files itself, including formulas, charts and PivotTables, without Excel installed.

Runs on your computer★ 4,276MITUpdated 7 days ago
Install

Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.

Runs on your computer★ 847MITUpdated 4 days ago
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

estevao-mcp

MCP (Model Context Protocol) server for the Estêvão API — the liturgical engine behind the Ordo app. Gives Claude and any MCP client accurate Anglican liturgical data: calendar (with real precedence rules), lectionary readings, and the fully assembled Daily Office across multiple editions of the Book of Common Prayer / Livro de Oração Comum.

Quick start

Hosted (no key to manage) — sign in with your Google/e-mail account when the browser opens:

claude mcp add --transport http estevao https://mcp.caminhoanglicano.com.br/mcp   # Claude Code

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

Other clients: see Connecting any MCP client.

Local (stdio) — you need an Estêvão API key (estevao_…):

claude mcp add estevao --env ESTEVAO_API_KEY=estevao_your_key -- npx -y estevao-mcp

Or in .mcp.json / Claude Desktop config:

{

"mcpServers": { "estevao": { "command": "npx", "args": ["-y", "estevao-mcp"], "env": { "ESTEVAO_API_KEY": "estevao_your_key" } } } }

Then ask things like *"what are the readings for next Sunday?"*, *"assemble tonight's Compline"* or *"compare Christmas in the 1662 and 2019 prayer books"*.

Tools

Dates accept YYYY-MM-DD, today or next-sunday. Every tool takes an optional prayer_book (default loc_2015); all tools are read-only. Prayer book codes are validated by the API rather than pinned in this server, so editions added upstream work without a release here — list_prayer_books always shows the current catalogue.

ToolWhat it does
get_liturgical_daySeason, color, liturgical year, celebration/saint, collect and readings for a date
get_calendar_monthMonth grid: color, celebration and week per day
get_year_overviewYear structure: seasons, movable feasts and key dates
get_readingsLectionary readings (first, psalm, second, gospel), optionally per service
get_lectionary_cycleSunday (A/B/C) and weekday (1/2) cycles for a year
get_daily_officeThe complete Daily Office (morning/midday/evening/compline) as markdown or structured JSON
search_celebrationsFull-text search of feasts, saints and holy days
list_celebrationsBrowse the sanctoral calendar with filters (type, movable, year)
get_celebrationOne celebration in detail: transfer rules, calculation, collects, readings
list_prayer_booksAvailable prayer books (20+ editions, pt-BR/en/es/cy) and Bible versions
get_prayer_book_preferencesWhich preferences a book accepts (psalm translation, canticles, cycles) plus its office-level options
explain_liturgical_dayThe reasoning behind a date: precedence, transfers, colour and how each reading was chosen
compare_prayer_booksSide-by-side comparison of 2–4 prayer books for the same day or office

Resources & prompts

  • Resources: ordo://prayer-books, ordo://bible-versions, ordo://today, plus templates ordo://day/{date}, ordo://explain/{date} (the decision trail), ordo://office/{date}/{office_type} (markdown) and ordo://calendar/{year}/key-dates.
  • Prompts (strictly factual): build_liturgy_sheet (print-ready boletim), explain_feast (history, precedence, color), explain_why (why this reading/saint/colour, answered from the engine's decision trail rather than inferred), compare_traditions (side-by-side across editions).

Editorial note: this server intentionally exposes only factual liturgical data and faithful document assembly. It does not (and will not) ship prompts that generate sermons, homilies or devotional reflections.

Environment variables

VariableDefaultPurpose
ESTEVAO_API_KEY— (required for stdio)API key for the Estêvão API
ESTEVAO_BASE_URLhttps://api.caminhoanglicano.com.brOverride for local/staging
ESTEVAO_DEFAULT_PRAYER_BOOKloc_2015Default prayer book code
ESTEVAO_TIMEZONEsystemIANA timezone used to resolve today
ESTEVAO_LANGUAGE—Default label language (pt-BR, en, es) and upstream preferences[language]
Per-book preferences

The date-scoped tools take a preferences object forwarded to the API, which unlocks the per-edition options the Ordo app exposes — the Coverdale psalter on the English books ({ "psalm_translation": "coverdale" }), monthly vs appointed psalm cycles, canticle and opening-sentence choices, family-rite variants. The accepted keys differ per book, so call get_prayer_book_preferences first rather than guessing.

Languages

Liturgical content always stays in the prayer book's own language (a 1662 office is English, LOC 2015 is Portuguese). Labels generated by the server — office titles, Season/Tempo/Tiempo, comparison headings — automatically follow the book's language, and can be overridden per call (language param) or globally (ESTEVAO_LANGUAGE).

Remote server (Streamable HTTP + OAuth)

The same server runs as a remote MCP endpoint (POST /mcp, stateless Streamable HTTP). Deployed with OAuth enabled, users connect with a browser sign-in instead of pasting a key:

claude mcp add --transport http estevao https://mcp.caminhoanglicano.com.br/mcp

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

The client discovers the authorization server, registers itself, opens the consent screen, and the user signs in with the same Google/e-mail account they use in the developer portal. The server then provisions an Estêvão API key for that account, encrypts it at rest and uses it for every upstream call — the user never sees or handles a key, and the client's token is never forwarded upstream.

Auth modes

The mode is chosen by environment, and resolved per request in this order:

  1. Single-key (personal deployment): ESTEVAO_API_KEY set on the server. Optionally set ESTEVAO_MCP_TOKEN to require Authorization: Bearer from clients.
  2. API key (unchanged, for existing integrations): the caller sends its own key in X-API-Key (or Authorization: Bearer estevao_…). Disable with ESTEVAO_MCP_ALLOW_API_KEY_HEADER=false.
  3. OAuth 2.1 (recommended for public deployments): the caller sends an access token issued by this server. Enabled when the OAuth variables below are all set.
OAuth configuration
VariableRequiredPurpose
MCP_PUBLIC_URLyesPublic origin, e.g. https://mcp.caminhoanglicano.com.br. Also the OAuth issuer
MCP_ENCRYPTION_KEYyes32 bytes (openssl rand -hex 32) — encrypts stored API keys
DEVELOPER_FIREBASE_PROJECT_IDyesFirebase project of the developer portal (not the mobile app)
FIREBASE_API_KEY / FIREBASE_AUTH_DOMAINyesWeb config used by the consent screen
DATABASE_URLstrongly recommendedPostgres for clients, codes, tokens and the key vault. Without it, state is in memory and lost on restart
MCP_DATABASE_SSLnoForce TLS on the database connection (auto-detected)
ESTEVAO_PORTAL_URLnoDeveloper portal link shown on the consent screen
MCP_ALLOW_CLIENT_ID_METADATA_DOCUMENTSnoAccept URL-shaped client_ids (default true)
MCP_FIREBASE_AUTH_PROXYnoServe Firebase's sign-in helper from this origin (default true, see below)
MCP_TRUST_PROXYnoExpress trust proxy (default 1, one edge hop). Rate limits key off the real client IP

Setting only some of these is a configuration error and the server refuses to start, rather than silently falling back to key-only mode. The Postgres schema is created on boot.

Same-origin sign-in (required on mobile and Safari)

By default the Firebase Web SDK runs its sign-in helper on .firebaseapp.com, a different origin from this server. Safari's ITP (16.1+), Firefox and the in-app browsers used by mobile assistants block the cross-origin round trip that flow needs: the user picks a Google account and then nothing happens. So this server reverse-proxies /__/auth/* to the Firebase helper and points the consent screen at its own origin, which is the fix Firebase documents for it. Sign-in uses a full-page redirect rather than a popup, for the same reason.

Two one-time console steps make this work:

  1. Firebase Console → Authentication → Settings → Authorized domains: add the MCP host.
  2. Google Cloud Console → APIs & Services → Credentials → the Web OAuth 2.0 client used by Firebase: add https:// /__/auth/handler to *Authorized redirect URIs*.

Set MCP_FIREBASE_AUTH_PROXY=false to go back to the stock cross-origin behaviour.

Diagnosing a failed sign-in

Sign-in runs in the user's browser, so a failure there reaches no log by itself. The consent screen posts beacons to /oauth/diagnostics, which the server writes to stderr:

[consent] rendered request=… client=Claude

[consent] stage=loaded pending=false storage=true ua=… [consent] stage=redirect-start request=… ua=… [consent] stage=redirect-lost request=… ua=… ← came back from Google, state was lost [consent] stage=redirect-error code=auth/… ← Firebase rejected the sign-in [consent] approve failed request=… error=… ← sign-in worked, key provisioning did not

Only error codes and flags are reported — never tokens or credentials.

Endpoints: /.well-known/oauth-protected-resource (also under /mcp), /.well-known/oauth-authorization-server, /authorize, /token, /register, /revoke, and the consent screen at /oauth/consent. GET /healthz reports the active mode.

Security properties: PKCE S256 is mandatory, authorization codes are single-use and expire in 60s, refresh tokens rotate on use, access tokens are opaque and stored only as digests, tokens are bound to this server's resource identifier (RFC 8707) and rejected otherwise, and the Estêvão API key is AES-256-GCM encrypted at rest.

Connecting any MCP client

The endpoint is standard Streamable HTTP with OAuth 2.1 discovery, so any spec-compliant client can connect. Concretely:

ClientHow
Claude Codeclaude mcp add --transport http estevao https://mcp.caminhoanglicano.com.br/mcp
Claude Code plugin/plugin marketplace add dodopok/estevao-mcp then /plugin install estevao@estevao
Claude Desktop / claude.aiSettings → Connectors → Add custom connector → paste the URL
Codex CLIcodex mcp add estevao --url …/mcp then codex mcp login estevao
Gemini CLI~/.gemini/settings.json: {"mcpServers":{"estevao":{"httpUrl":"…/mcp","oauth":{"enabled":true}}}}
VS Code / Cursor / WindsurfAdd an MCP server of type http with the URL; the editor runs the OAuth flow
MCP Inspectornpx @modelcontextprotocol/inspector, transport "Streamable HTTP", paste the URL
Anything else{"type":"http","url":"https://mcp.caminhoanglicano.com.br/mcp"}

Interoperability details that make this work across clients:

  • Discovery everywhere clients look. Protected resource metadata is served both at the root and under /mcp; authorization server metadata is served at /.well-known/oauth-authorization-server, its /mcp path-inserted variant, and both OpenID Connect discovery spellings.
  • Registration. Dynamic Client Registration (RFC 7591) *and* Client ID Metad

Only the beginning is shown; read the rest in the repo

Ask PopNx