# SoapBox Faith (remote · foyekanoxpnkydoibaas.supabase.co)

Faith tools for AI agents: cited KJV Scripture, ORA Q&A, sermons, churches, prayer & giving.

- Trust score: 75/100 (medium)
- Change this week: +5
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `foyekanoxpnkydoibaas.supabase.co`: 75/100 (this document), [markdown](https://verifymcp.io/servers/alansafahi-soapbox-faith/functions-v1-faith-mcp.md), [page](https://verifymcp.io/servers/alansafahi-soapbox-faith/functions-v1-faith-mcp)

## Channel facts

- Endpoint: `https://foyekanoxpnkydoibaas.supabase.co/functions/v1/faith-mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.1.1`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 80/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 79/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 2894 tokens (~144/item across 20 items; 19 tools + 1 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http alansafahi-soapbox-faith https://foyekanoxpnkydoibaas.supabase.co/functions/v1/faith-mcp
```

### Codex

```toml
[mcp_servers.alansafahi-soapbox-faith]
url = "https://foyekanoxpnkydoibaas.supabase.co/functions/v1/faith-mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "alansafahi-soapbox-faith": {
      "type": "remote",
      "url": "https://foyekanoxpnkydoibaas.supabase.co/functions/v1/faith-mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add alansafahi-soapbox-faith --url https://foyekanoxpnkydoibaas.supabase.co/functions/v1/faith-mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  alansafahi-soapbox-faith:
    url: "https://foyekanoxpnkydoibaas.supabase.co/functions/v1/faith-mcp"
```

### Other

```json
{
  "mcpServers": {
    "alansafahi-soapbox-faith": {
      "type": "http",
      "url": "https://foyekanoxpnkydoibaas.supabase.co/functions/v1/faith-mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 75, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-01 (score 74, +1)

No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 73, +47)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 26, −46)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-29 (score 72, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-28 (score 71, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 70, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 70)

First indexed and scored.

## MCP tools (19)

### `verify_scripture` (~112 tokens)

Verify whether a quote is real Scripture and cited correctly (anti-hallucination). Returns whether it matches a real verse, the canonical KJV reference + text, a confidence score, and — if you pass a claimed reference — whether the attribution is correct. Use this before presenting any Bible quote to avoid misquotes/fabrications.

Input parameters:

- `quote` (string, required): The exact quote to verify, as you would present it to a user.
- `reference` (string): Optional claimed reference to check the attribution against.

### `get_verse` (~88 tokens)

Look up a public-domain KJV Bible verse by book, chapter, and verse.

Input parameters:

- `book` (string, required): Canonical book name (English). Accepts common forms like 'John', 'Psalms', '1 Corinthians', 'Song of Solomon'.
- `chapter` (integer, required): Chapter number (1-based).
- `verse` (integer, required): Verse number within the chapter (1-based).

### `lookup_strongs` (~67 tokens)

Look up a Strong's Greek/Hebrew lexicon entry (lemma, transliteration, gloss, definition).

Input parameters:

- `strongs_number` (string, required): A Strong's number: 'G' + digits for Greek (New Testament) or 'H' + digits for Hebrew (Old Testament).

### `find_churches` (~153 tokens)

Find churches near a location from SoapBox's public church directory. Given latitude/longitude (and optional radius, denomination filter), returns nearby churches with name, denomination, city/state/country, website, distance in miles, and whether the church is on SoapBox (with its community id for deep-linking). Public directory data only — no personal contact info.

Input parameters:

- `denomination` (string): Optional case-insensitive denomination filter.
- `lat` (number, required): Latitude of the search center, in decimal degrees.
- `limit` (integer): Maximum number of churches to return.
- `lng` (number, required): Longitude of the search center, in decimal degrees.
- `radius_miles` (number): Search radius in miles.

### `submit_prayer_request` (~191 tokens)

Post a prayer request to SoapBox's prayer wall ON BEHALF OF A USER, so their community can pray for it. Requires the user's consent_token (which they generate in the SoapBox app and which must include the 'prayer:write' scope) — an API key alone is not enough to act for a user. Returns the new prayer_id; use check_prayer_status to see how many are praying.

Input parameters:

- `consent_token` (string, required): Opaque SoapBox consent token with the 'prayer:write' scope, generated by the user in the SoapBox app. An invalid, expired, or wrong-scope token returns an authorization error.
- `content` (string, required): The prayer request text, in the user's own words.
- `is_private` (boolean): If true, keep it private to the user; if false, share it on the community wall so others can pray.

### `check_prayer_status` (~104 tokens)

Check how many people are praying for a prayer request previously submitted for a user (and whether it's been marked answered). Requires the same user's consent_token; only returns status for that user's own prayers.

Input parameters:

- `consent_token` (string, required): The same user's SoapBox consent token (scope 'prayer:write') used when the prayer was submitted. Only returns status for that user's own prayers.
- `prayer_id` (string, required): The prayer_id returned by submit_prayer_request.

### `give_to_church` (~317 tokens)

Make a one-time donation to a church ON BEHALF OF A USER, within the spending caps they pre-authorized. Requires the user's consent_token with the 'giving:write' scope (bound to this agent) and a card they saved in the SoapBox app. The gift goes straight to the church (passthrough — SoapBox takes no cut). Rejected if the amount exceeds the per-gift or monthly cap. Pass a stable idempotency_key to avoid double-charging on retries. Amounts are in the smallest currency unit (cents).

Input parameters:

- `amount_cents` (integer, required): Gift amount in the smallest currency unit (cents). Must be within the user's per-gift and monthly caps or the call is rejected.
- `community_id` (string, required): The recipient church's SoapBox community id (e.g. the soapbox_community_id from find_churches).
- `consent_token` (string, required): Opaque SoapBox consent token with the 'giving:write' scope, bound to your agent key and carrying the user's pre-authorized per-gift and monthly caps. Generated by the user in the SoapBox app.
- `currency` (string): Optional ISO 4217 currency code (lowercase). Defaults to the church's own currency.
- `idempotency_key` (string): A stable, caller-generated key so retries don't double-charge. Reuse the same key when retrying the same intended gift.
- `note` (string): Optional short note to the church accompanying the gift.

### `ask_ora` (~133 tokens)

Ask ORA, SoapBox's Scripture study aid, a Bible or faith question. Returns a grounded answer that cites public-domain (KJV) passages, plus the citations used. ORA is a STUDY AID — not a pastor, counselor, or therapist; for personal crises or pastoral/medical needs it points to a trusted pastor or professional. Use this for explanatory/study questions ('what does Romans 8 teach about...', 'where does the Bible discuss...'); use get_verse when you just need a verse's text.

Input parameters:

- `question` (string, required): A Bible or faith study question in natural language.

### `search_sermons` (~139 tokens)

Semantically search real sermons on SoapBox that pastors have explicitly opted in to share with AI agents. Returns ranked transcript excerpts with the sermon title, church, speaker, scripture reference, and a start-time (seconds) so you can cite the exact moment. Use this to find what churches are actually preaching on a topic. Only consented, published sermons are searchable.

Input parameters:

- `church_id` (string): Optional SoapBox community id to scope the search to a single church.
- `match_count` (integer): Maximum number of ranked excerpts to return.
- `query` (string, required): A topic, phrase, or question to semantically search sermon transcripts for.

### `get_sermon` (~136 tokens)

Fetch full metadata and (optionally) the transcript for ONE sermon by its id — typically a sermon_id returned by search_sermons. Only returns sermons a pastor has opted in to share with agents; otherwise returns not-found. If the sermon is paid and you haven't purchased it, the transcript is withheld and a price is returned — call purchase_sermon first. Free sermons return the transcript directly.

Input parameters:

- `include_transcript` (boolean): Whether to include the full transcript text (only for free or already-purchased sermons).
- `sermon_id` (string, required): The sermon's id, typically the sermon_id from a search_sermons result.

### `purchase_sermon` (~174 tokens)

Buy permanent access to a paid sermon using your prepaid marketplace credits. SoapBox is the Merchant of Record: the church keeps 70% and SoapBox takes a 30% platform fee (this is a content SALE, NOT a donation — donations always go 100% directly to the church). After purchase, get_sermon returns the full transcript. Purchases are idempotent (buying the same sermon twice won't double-charge). If you have insufficient credits, check get_credit_balance and top up. No key / no credits? Pay per-call in USDC on Base via x402 instead — call pay_with_x402 with this sermon_id (agent-native, no SoapBox account).

Input parameters:

- `sermon_id` (string, required): The paid sermon to purchase, e.g. a sermon_id from search_sermons or browse_catalog.

### `purchase_bundle` (~132 tokens)

Buy a bundle (a sermon series — multiple sermons sold together at one price) using prepaid marketplace credits. Grants access to EVERY sermon in the bundle. Same terms as purchase_sermon: church keeps 70% of net, SoapBox 30% (a content sale, not a donation). Idempotent. Find bundles via browse_catalog (type: bundle). No key / no credits? Pay per-call in USDC on Base via x402 — call pay_with_x402 with this bundle_id.

Input parameters:

- `bundle_id` (string, required): The bundle's id — the product_id from browse_catalog where type=bundle.

### `pay_with_x402` (~333 tokens)

Pay for a paid sermon or bundle per-call in USDC on Base using the x402 protocol — the AGENT-NATIVE rail, no SoapBox account, API key, or prepaid credits required (https://github.com/coinbase/x402). Two-step, exactly per spec: (1) call with just the sermon_id (or bundle_id) and NO payment to get back the HTTP-402 payment requirements — the USDC amount, asset, network ('base'), and SoapBox's payTo receive address. (2) Send USDC on Base to that payTo, then call again with x_payment set to a base64-encoded JSON payload carrying your broadcast Base tx hash ({"txHash":"0x..."}) — SoapBox verifies the on-chain transfer, records the sale (church keeps 70%), and returns the transcript. Idempotent per tx hash. Gasless EIP-3009 'exact' payments via an x402 facilitator are also accepted in the same x_payment field.

Input parameters:

- `bundle_id` (string): The bundle to pay for. Provide exactly one of sermon_id or bundle_id.
- `sermon_id` (string): The sermon to pay for. Provide exactly one of sermon_id or bundle_id.
- `x_payment` (string): Step 2 only: a base64-encoded JSON x402 payment payload (e.g. base64 of {"txHash":"0x..."} for an on-chain Base USDC transfer, or an EIP-3009 authorization for a facilitator). Omit entirely on step 1…

### `get_credit_balance` (~53 tokens)

Check how many marketplace credits your API key has (in cents) for buying paid sermon access, plus your tier and daily rate limit. Top-ups are done via the topup API action or the SoapBox developer portal.

### `browse_catalog` (~112 tokens)

Browse purchasable faith-content products on SoapBox (currently consented sermons; reading-plan and devotional bundles coming). Returns products with id, title, church, and price. Then buy with purchase_sermon. Optional church_id and text filter. No key required.

Input parameters:

- `church_id` (string): Optional SoapBox community id to scope the catalog to a single church.
- `limit` (integer): Maximum number of products to return.
- `q` (string): Optional case-insensitive text filter matched against product titles.

### `score_doctrinal_fit` (~102 tokens)

Assess how well a statement aligns with a named Christian tradition's historic doctrinal positions (e.g. Reformed, Roman Catholic, Pentecostal, Eastern Orthodox). Returns an impartial alignment rating, score, summary, and the relevant doctrinal loci. Analytical, not proselytizing. No key required.

Input parameters:

- `statement` (string, required): The theological statement or claim to assess.
- `tradition` (string, required): The Christian tradition or denomination to assess alignment against.

### `get_lectionary` (~97 tokens)

Get the Western (Revised Common Lectionary / Roman) liturgical season, liturgical color, RCL year (A/B/C), and any major feast for a date (defaults to today). Useful for date-aware, season-appropriate faith content. Daily readings are not included (those tables are licensed). No key required.

Input parameters:

- `date` (string): Optional ISO date (YYYY-MM-DD). Defaults to today in UTC.

### `synthesize_speech` (~177 tokens)

Generate spoken-audio (text-to-speech) for a verse, prayer, or devotional in 50+ languages, and get back a playable audio URL. Pass BCP-47 language (e.g. en-US, es-ES, sw-KE), optional voice/gender. Results are cached. Requires an API key (audio generation has real cost).

Input parameters:

- `format` (string): Audio container/encoding of the returned URL.
- `gender` (string): Preferred voice gender when a specific voice is not named.
- `language` (string): BCP-47 language tag for the voice.
- `text` (string, required): The text to synthesize into speech (a verse, prayer, or short devotional).
- `voice` (string): Optional specific Google Cloud TTS voice name; overrides the default voice for the language.

### `get_faith_context` (~172 tokens)

Read a user's portable 'faith context' to personalize your responses — their denomination, preferred language, faith journey, and ministry interests — shared WITH THE USER'S EXPLICIT CONSENT. Requires the user's consent_token with the 'context:read' scope (bound to this agent). Use it to tailor tone, tradition, and language. It returns only the user's declared profile (never their private prayers or journal).

Input parameters:

- `consent_token` (string, required): Opaque SoapBox consent token with the 'context:read' scope, bound to your agent key. The user generates it in the SoapBox app. Returns only the user's declared profile (denomination, preferred langua…

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/alansafahi-soapbox-faith/functions-v1-faith-mcp#diagnostics

## Score history

- 2026-08-03: 75
- 2026-08-02: 74
- 2026-08-01: 74
- 2026-07-31: 73
- 2026-07-30: 26
- 2026-07-29: 72
- 2026-07-28: 71
- 2026-07-27: 70
- 2026-07-26: 70

## Links

- Remote endpoint: https://foyekanoxpnkydoibaas.supabase.co/functions/v1/faith-mcp
- Website: https://soapboxsuperapp.com/for-agents
- Changelog RSS feed: https://verifymcp.io/servers/alansafahi-soapbox-faith/functions-v1-faith-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/alansafahi-soapbox-faith/functions-v1-faith-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/alansafahi-soapbox-faith/functions-v1-faith-mcp
