FaithFinder — Find a Church

Find a church near you: 9,000+ US churches by city, ZIP, denomination, worship style, kids ministry

OtherTypeScriptv2.0.0

FaithFinder MCP Server: Find a Church from Any AI Assistant

npm version License: MIT Churches Install in VS Code Install in Cursor

FaithFinder is a free church finder for the United States. This Model Context Protocol (MCP) server lets ChatGPT, Claude, Gemini, Copilot, Cursor and other AI assistants answer questions like these with real, current church listings:

  • "Find me a church near Frisco, TX with a good kids ministry"
  • "We're moving to Nashville. Are there any Reformed or Presbyterian churches?"
  • "Is there an Anglican church near 30309?"
  • "What is Watermark Community Church in Dallas like? Where can I watch their sermons?"
  • "I'm not sure what kind of church fits me. Can you help?"

It searches 9,000+ Christian churches across all 50 states + DC by city, ZIP code, denomination, worship style, kids/youth ministry, size, and theology. Each result includes the church's website, latest sermon video, statement of faith, Google rating, and a link to its FaithFinder profile.

No API key, no account, and no network calls: the data ships with the package and is searched in memory.


Quick start

Claude Desktop

Add to claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\):

{
  "mcpServers": {
    "faithfinder": {
      "command": "npx",
      "args": ["-y", "faithfinder-mcp-server@latest"]
    }
  }
}

Claude Code

claude mcp add faithfinder -- npx -y faithfinder-mcp-server@latest

VS Code / GitHub Copilot

Click Install in VS Code above, or add to .vscode/mcp.json:

{ "servers": { "faithfinder": { "command": "npx", "args": ["-y", "faithfinder-mcp-server@latest"] } } }

Cursor

Click Install in Cursor above, or add the Claude Desktop JSON to ~/.cursor/mcp.json.

Windsurf

Add the Claude Desktop JSON to ~/.codeium/windsurf/mcp_config.json.

Gemini CLI

gemini mcp add faithfinder npx -y faithfinder-mcp-server@latest

ChatGPT, Claude.ai and other web or mobile apps (remote connector)

Web and mobile chat apps connect to a hosted HTTPS endpoint, not to npx. Deploy the server (see Hosting a remote endpoint), then add:

  • ChatGPT: Settings → Apps & Connectors → Developer mode → Create → URL https://<your-host>/mcp, no auth.
  • Claude.ai: Settings → Connectors → Add custom connector → https://<your-host>/mcp.
  • Custom GPT Actions: import https://<your-host>/openapi.json (or openai-action.json).

Tools

ToolWhen an assistant uses it
find_churches"Find a church near…" requests. Accepts natural language ("contemporary church with kids ministry in Plano TX") plus optional city, state, zipCode, denomination, worshipStyle, hasKidsMinistry, churchSize, theology, limit. Falls back to nearby ZIPs and says so when filters are relaxed.
get_church_detailsQuestions about one church: beliefs, sermons, website, reviews, similar churches nearby.
church_match_quizThe person isn't sure what kind of church fits them. Returns 4 short questions, 4 church archetypes, and the free Soul Signature quiz link.
list_church_coverageWhich states and cities are covered, with counts.
search / fetchChatGPT connector / deep-research compatible search and fetch (OpenAI MCP spec).

All tools are read-only (readOnlyHint: true) and have no side effects.

Resources: faithfinder://overview, faithfinder://coverage, faithfinder://theology-and-styles Prompts: find_a_church, church_search_advisor


Hosting a remote endpoint

HTTP mode turns on automatically when PORT is set (or with --http). It runs a stateless Streamable HTTP MCP endpoint plus a small REST API:

PathPurpose
POST /mcpMCP endpoint (ChatGPT, Claude.ai, any remote MCP client)
GET /api/churches/search?q=…REST search (used by Custom GPT Actions)
GET /api/churches/{id or name}REST church details
GET /api/quiz/archetypesREST quiz framework
GET /openapi.jsonOpenAPI 3.1 spec (server URL filled from PUBLIC_BASE_URL)
GET /.well-known/mcp.jsonMCP discovery card
GET /healthHealth check
# Local
PORT=8080 PUBLIC_BASE_URL=http://localhost:8080 npm start

# Google Cloud Run (from this folder; scales to zero)
gcloud run deploy faithfinder-mcp --source . --region us-central1 --allow-unauthenticated \
  --set-env-vars PUBLIC_BASE_URL=https://<service-url>

After deploying, add a remotes entry to server.json ({"type": "streamable-http", "url": "https://<host>/mcp"}) and republish to the MCP Registry.


Crawlable web pages for AI search engines (npm run build:web)

AI answer engines (ChatGPT Search, Perplexity, Google AI Overviews, Copilot) don't run JavaScript, so they can only cite pages that exist as real HTML. This command generates them from the same data:

npm run build:web          # -> ./web-kit
OutputWhat it is
us/, us/{state}/, us/{state}/{city}/National, state and city directories (ItemList + FAQPage JSON-LD)
church/{state}/{city}/{slug}/One page per church (schema.org Church JSON-LD)
llms.txt, llms-full.txtllms.txt summary and full index for LLMs
robots.txt, sitemap.xmlWelcomes GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot, Google-Extended and others; lists every page

The FaithFinder web app copies web-kit/ into dist/ during its build (scripts/copy_web_kit.js). The MCP server's profile links point at these pages.


Links

Privacy & security

  • Queries are processed in memory; nothing is logged off-machine and no telemetry is sent.
  • All outbound links are HTTPS-upgraded and screened against risky TLDs and blocked domains.
  • Listings are for discovery. Service times and details can change, so please confirm with the church.

Changelog

2.0.0

  • Breaking change: tools renamed for discoverability. search_faith_finder_churches → find_churches, get_faith_finder_church_details → get_church_details, get_soul_signature_quiz → church_match_quiz. Added list_church_coverage, search and fetch.
  • All links now go to faithfinder.armornglory.com. The old faithfinder.app links pointed to an unrelated site.
  • Natural-language search (city/state/ZIP extraction, nearby-ZIP fallback). Fixed state matching: "CA" no longer matches North Carolina, and "TX" now matches rows stored as "Texas".
  • Fixed HTTP mode, which failed after the first request. Now a stateless Streamable HTTP endpoint plus a REST API.
  • Added MCP Registry server.json, tool annotations, server instructions, and the build:web crawlable-pages generator.

License

MIT © ArmorNGlory

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y faithfinder-mcp-server

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-armornglory-faithfinder-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "faithfinder-mcp-server"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

faithfinder-mcp-servernpm

Compatible MCP Clients

FaithFinder — Find a Church works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More