GospelChannel Church Finder

io.github.Ac0AI由 GitHub 帳號 Ac0AI 發布v1.0.0更新於 Oct 24, 2026

Find a Christian church by worship style, denomination, language, and location. Read-only.

發布方自己的服務:Finder Jobs

已驗證Streamable HTTP可網頁執行位置與生活知識與記憶

概覽

AI 產生的概覽

唯讀的遠端 MCP 伺服器,讓助理依地點、宗派、敬拜風格與語言尋找基督教教會,並查看教會資料。

可以做什麼
  • 依距離尋找使用者附近的教會,僅使用粗略位置資訊
  • 依目錄品質排序尋找指定城市中的教會
  • 依敬拜風格、宗派或語言篩選結果
  • 依 slug 讀取單一教會的完整資料:敬拜風格、宗派、語言、簡介、熱門敬拜歌曲、聯絡方式及已記錄的聚會時間
適用情境
適合在第一次拜訪前尋找或比較基督教教會,或需要了解某間教會的宗派、語言、敬拜風格、聚會時間等細節時使用。
執行需求
需連線至 gospelchannel.com 上的遠端 streamable HTTP 端點;未宣告任何套件、帳號、API 金鑰或請求標頭。助理需能存取該端點。
安裝前請注意
僅提供唯讀查詢,未宣告寫入操作。依位置的搜尋依賴用戶端提供的粗略位置資訊,結果可能不夠精確。教會資料來自第三方目錄,可能不完整或已過時。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 GospelChannel Church Finder,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.Ac0AI%2Fgospelchannel-church-finder/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "gospelchannel-church-finder": {
      "type": "http",
      "url": "https://gospelchannel.com/mcp"
    }
  }
}

README

GospelChannel — The Church Guide

Find the right church before your first visit.

Free global church guide with worship-aware profiles, built with Next.js 16, OpenNext on Cloudflare Workers, Cloudflare D1, Spotify, and YouTube.

Solo-maintained project, and my first open source project. This repository is public so people can report bugs, suggest improvements, and send small focused pull requests. I am still learning the open source side of things, so patience and clarity help a lot.

Status

  • Production site: https://gospelchannel.com
  • Contributor language: English or Swedish is fine
  • Project direction is maintainer-led

What the app does

  • Find and compare churches by location, tradition, language, worship style, and service details
  • Browse curated worship and gospel music connected to church profiles
  • Explore church pages with Spotify embeds and YouTube video grids
  • Submit church suggestions and ownership claims
  • Run scheduled content refresh jobs
  • Generate SEO assets such as sitemap.xml, robots.txt, and structured data

Stack

  • Next.js 16 (App Router)
  • OpenNext + Cloudflare Workers
  • Cloudflare D1 + Drizzle
  • Better Auth
  • Spotify Web API
  • YouTube Data API
  • Cloudflare R2 for media
  • PostHog for analytics

Local setup

Prerequisites:

  • Node 22.x
  • npm

If you use nvm, run:

bash
nvm use

Install and start:

bash
pnpm installcp .env.example .env.localpnpm dev

Helpful commands:

bash
pnpm lintpnpm buildpnpm smokepnpm check:env

Database (Cloudflare D1)

Cloudflare D1 is the canonical database. The Worker uses the GOSPEL_D1 binding in wrangler.jsonc; it does not need a database URL or API token. Local development uses an isolated local D1 database by default.

bash
pnpm db:migrate:localpnpm dev

Node maintenance jobs use GOSPEL_D1_DATABASE_ID, CLOUDFLARE_ACCOUNT_ID, and GOSPEL_D1_API_TOKEN (or the existing CLOUDFLARE_API_TOKEN). The token needs Account / D1 / Edit for jobs that write. Missing credentials fail closed. For local jobs, an existing wrangler login can supply a refreshed token without saving a second secret:

bash
node scripts/with-d1-wrangler-auth.mjs node scripts/check-d1-access.mjs

Create a versioned SQL migration with pnpm db:new-migration -- descriptive_name, keep the Drizzle models in src/db/d1-schema in sync, and apply with pnpm db:migrate after checking the configured remote database. Production imports must apply 0000_initial.sql, load data, then apply the remaining migrations so derived search triggers do not rewrite imported source rows.

All active maintenance/import scripts use D1, including the Supabase-export importer. Node scripts use the same D1 account, database ID and token as scheduled jobs; there is no Postgres driver or fallback. Run local commands through with-d1-wrangler-auth.mjs when using the Wrangler login. Use pnpm exec tsx for scripts which import TypeScript modules.

After a schema change, regenerate the Node field codecs with pnpm db:script-types; the test suite checks that they match the Drizzle schema. Live integration tests require GOSPEL_D1_VERIFY_REMOTE=1 in addition to D1 credentials, so ordinary tests never query production implicitly.

Environment variables

You do not need every external integration to read the code or work on docs and UI.

Typical local development:

  • NEXT_PUBLIC_SITE_URL
  • NEXT_PUBLIC_MEDIA_BASE_URL
  • BETTER_AUTH_URL
  • BETTER_AUTH_SECRET
  • Local D1 initialized with pnpm db:migrate:local

Needed for specific integrations and production-like flows:

  • YOUTUBE_API_KEY
  • SPOTIFY_CLIENT_ID
  • SPOTIFY_CLIENT_SECRET
  • APIFY_TOKEN
  • ANTHROPIC_API_KEY
  • BREVO_API_KEY
  • CRON_SECRET

Admin access is database-backed. Promote an account to admin with:

bash
pnpm db:seed -- [email protected]

Notes:

  • pnpm build uses offline mode for the content pipeline.
  • Full admin, mail, sync, and deployment flows need real service credentials.
  • Keep secrets in .env.local. Do not commit them.

Contributing

Ideas, bug reports, and small PRs are welcome.

If you want to help, the easiest path is:

  • open an issue
  • keep the idea or fix small
  • explain the problem in plain language

Best ways to help:

  • Open an issue for bugs or feature ideas
  • Send focused PRs that solve one problem at a time
  • Include screenshots when changing UI
  • Update docs if behavior changes

See CONTRIBUTING.md for the short version of how this repo is run.

Security

Please do not post security issues publicly. See SECURITY.md.

Deployment

The production app is deployed on Cloudflare Workers via OpenNext. Contributors usually do not need deployment access.

Maintainer deploy command:

bash
pnpm deploy

Project notes

  • Spotify can require Extended Quota Mode for some external playlist access.
  • The app has manual data fallbacks in src/data/manual/ for cases where API data is limited or unavailable.

License

MIT. See LICENSE.

來源:README.md,提交 949c406

工具

3

find_churches_near

Find churches near a place

Find Christian worship churches near the user, ranked by distance. Uses only the coarse location metadata ChatGPT shares, never raw location input fields. If the metadata includes only a city, it searches that city. Filter by worship style, denomination, or language.

輸入參數limitlanguageradius_kmdenominationworship_style

find_churches_in_city

Find churches in a city

Find Christian worship churches in a named city, ranked by directory quality. Filter by worship style, denomination, or language.

輸入參數city必填limitlanguagedenominationworship_style

get_church

Get a church profile

Get the full profile for one church by its slug (the last path segment of its gospelchannel.com/church/<slug> URL): worship styles, denomination, language, summary, top worship songs, contact, and recorded service times if available.

輸入參數slug必填

版本歷史

1
  1. v1.0.0最新Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Finder 整合