Find a church near you: 9,000+ US churches by city, ZIP, denomination, worship style, kids ministry
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:
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.
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 mcp add faithfinder -- npx -y faithfinder-mcp-server@latest
Click Install in VS Code above, or add to .vscode/mcp.json:
{ "servers": { "faithfinder": { "command": "npx", "args": ["-y", "faithfinder-mcp-server@latest"] } } }
Click Install in Cursor above, or add the Claude Desktop JSON to ~/.cursor/mcp.json.
Add the Claude Desktop JSON to ~/.codeium/windsurf/mcp_config.json.
gemini mcp add faithfinder npx -y faithfinder-mcp-server@latest
Web and mobile chat apps connect to a hosted HTTPS endpoint, not to npx. Deploy the server (see Hosting a remote endpoint), then add:
https://<your-host>/mcp, no auth.https://<your-host>/mcp.https://<your-host>/openapi.json (or openai-action.json).| Tool | When 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_details | Questions about one church: beliefs, sermons, website, reviews, similar churches nearby. |
church_match_quiz | The 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_coverage | Which states and cities are covered, with counts. |
search / fetch | ChatGPT 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
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:
| Path | Purpose |
|---|---|
POST /mcp | MCP 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/archetypes | REST quiz framework |
GET /openapi.json | OpenAPI 3.1 spec (server URL filled from PUBLIC_BASE_URL) |
GET /.well-known/mcp.json | MCP discovery card |
GET /health | Health 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.
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
| Output | What 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.txt | llms.txt summary and full index for LLMs |
robots.txt, sitemap.xml | Welcomes 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.
io.github.ArmorNGlory/faithfinder-mcp-server2.0.0
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.faithfinder.armornglory.com. The old faithfinder.app links pointed to an unrelated site.server.json, tool annotations, server instructions, and the build:web crawlable-pages generator.MIT © ArmorNGlory
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y faithfinder-mcp-serverMerge 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.
{
"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 referencefaithfinder-mcp-servernpmFaithFinder — 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.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..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.