Hometeam Directory

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

Search Black-owned businesses in South Florida by category, neighborhood, or need.

已驗證SSE可網頁執行位置與生活商業與電商

概覽

AI 產生的概覽

一個遠端 MCP 伺服器,讓助理依類別、街區、郡或需求查詢南佛羅里達經社群驗證的黑人經營商家名錄。

可以做什麼
依關鍵字、類別、街區或郡搜尋商家,支援排序與結果數量限制,回傳名稱、類別、街區、評分、聯絡方式與檔案連結。依 slug 或名稱取得商家完整資料,包括營業時間、聯絡方式、社群媒體、評論、優惠與社群信任資訊。以自然語言描述需求,自動對應到類別與地點進行智慧搜尋。列出全部 14 個商家類別與涵蓋的 29 個以上街區,可依郡篩選。查看最近一期月度 Draft Class 中新加入的商家。
適用情境
適合需要回答邁阿密-戴德、布勞沃德或棕櫚灘三郡黑人經營商家相關問題的情境,例如尋找某地區的餐飲外燴、美髮店、理髮師或報稅服務,或了解最近新加入名錄的商家。
執行需求
需要一個遠端 MCP 端點;README 建議透過 npx 執行 mcp-remote 套件連線,因此用戶端需要 Node.js。免費層無需 API 金鑰。若改為本機執行,需複製儲存庫、安裝 Node.js 與 npm 相依套件,並設定指向後端資料庫的 MONGO_URI。
安裝前請注意
免費層限制為每個 IP 每天 100 次查詢。每次查詢都會記錄到使用紀錄集合,包括呼叫的工具、去識別化的輸入參數、結果中出現的商家與回應時間,並用於商家儀表板與平台趨勢報告。付費 Pro 層標示為即將推出,按月收費;說明中稱商家永不收費。伺服器只讀取商家資料,僅寫入使用紀錄。

安裝

在 SourceWeft 中

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

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

交給代理程式安裝

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

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

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

其他 MCP 客戶端

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

{
  "mcpServers": {
    "hometeam-directory": {
      "type": "sse",
      "url": "https://mcp.thehometeam.io/sse"
    }
  }
}

README

🏠 Hometeam MCP Server

Ask any AI about Black-owned businesses in South Florida. This is where the answers come from.

The Hometeam MCP server connects AI assistants to a curated, community-verified directory of Black-owned businesses across Miami-Dade, Broward, and Palm Beach counties. When someone asks Claude, "find me a Black-owned caterer in Broward County," this server provides the real, verified data behind the answer.

Built on the Model Context Protocol (MCP) — the open standard for connecting AI assistants to external data sources.


Published on the MCP Registry

This server is listed on the official MCP Registry as io.github.JajuanX/hometeam-directory.

Live endpoint: https://mcp.thehometeam.io/mcp

Connect with Claude Desktop

Add to your claude_desktop_config.json:

json
{  "mcpServers": {    "hometeam": {      "command": "npx",      "args": [        "mcp-remote@latest",        "https://mcp.thehometeam.io/mcp"      ]    }  }}

Available tools

ToolDescription
search_businessesSearch by keyword, category, neighborhood, or county
get_business_detailsGet full profile: hours, contact, reviews, specials
find_by_specialtyNatural language search ("someone to do box braids near Miramar")
list_categoriesAll 14 business categories
list_neighborhoodsNeighborhoods across Miami-Dade, Broward, Palm Beach
get_latest_draft_classNewest businesses added on Draft Day

Rate limits

TierLimitAccess
Free100 queries/dayNo API key needed
Pro10,000 queries/dayAPI key (coming soon)

Connect to the live server

Claude Desktop

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):

json
{  "mcpServers": {    "hometeam": {      "command": "npx",      "args": [        "mcp-remote@latest",        "https://mcp.thehometeam.io/mcp"      ]    }  }}

Restart Claude Desktop. Then ask:

  • "Find me a Black-owned restaurant in Lauderhill"
  • "What new businesses just joined Hometeam?"
  • "I need someone to do box braids near Miramar"

HTTP endpoints

EndpointDescription
GET https://mcp.thehometeam.io/healthHealth check
POST https://mcp.thehometeam.io/mcpMCP JSON-RPC requests (Streamable HTTP)

Rate limits

TierLimitHow to access
Free100 queries/dayNo API key required
Pro10,000 queries/dayAPI key (coming soon — join the waitlist at https://www.thehometeam.io/developers)

Quick test

bash
# Health checkcurl https://mcp.thehometeam.io/health

Verify on the registry

bash
curl "https://registry.modelcontextprotocol.io/v0/servers/io.github.JajuanX%2Fhometeam-directory/versions/latest"

Local development

If you want to run the server locally (for development or contributing):

bash
git clone https://github.com/JajuanX/hometeam-mcp-server.gitcd hometeam-mcp-servernpm installcp .env.example .env# Edit .env — set MONGO_URI to the same database as the backend
# Run with stdio transport (for Claude Desktop local testing)npm run start:local
# Run with Streamable HTTP transport (for remote access)npm start

Claude Desktop config for local:

json
{  "mcpServers": {    "hometeam": {      "command": "node",      "args": ["/absolute/path/to/hometeam-mcp-server/server.js"],      "env": {        "MONGO_URI": "your_mongodb_connection_string"      }    }  }}

Important: Use the absolute path from pwd in the mcp-server directory. console.log is redirected to console.error because stdio transport uses stdout for JSON-RPC communication.


Available tools

The MCP server exposes 6 tools that AI assistants can call:

search_businesses

Search the directory by keyword, category, neighborhood, or county.

json
{  "query": "jerk chicken",  "county": "Broward",  "limit": 5,  "sort": "most_visited"}

Returns matching businesses with name, category, neighborhood, rating, contact info, and Hometeam profile link.


get_business_details

Get everything about a specific business — hours, contact, social media, reviews, current specials.

json
{ "slug": "keishas-kitchen" }

Or search by name:

json
{ "name": "Keisha's Kitchen" }

Returns the full business profile including recent reviews, active specials, and community trust signals.


find_by_specialty

The smart search. Describe what you need in plain English.

json
{ "need": "someone to do box braids for my daughter's birthday", "location": "Miramar" }
json
{ "need": "tax preparation for my small business", "location": "Palm Beach" }
json
{ "need": "a barber who can do a fresh fade", "location": "Overtown" }

Maps natural language to categories and searches intelligently. This is the tool most AI assistants reach for first.


list_categories

Returns all business categories in the directory. No parameters needed.

Categories: Restaurants & Food, Hair & Beauty, Health & Wellness, Home Services, Professional Services, Retail & Shopping, Auto Services, Education & Tutoring, Events & Entertainment, Fitness & Training, Technology & Media, Real Estate, Childcare & Family, Arts & Creative.


list_neighborhoods

Returns South Florida neighborhoods, optionally filtered by county.

json
{ "county": "Broward" }

Covers 29+ neighborhoods across Miami-Dade, Broward, and Palm Beach counties.


get_latest_draft_class

Returns the most recent Draft Class — the newest businesses to join Hometeam. No parameters needed.

Hometeam drafts new businesses monthly through community events. This tool lets AI assistants answer "what's new?" questions with real, timely data.


How it works

User asks AI: "Find me a Black-owned caterer in Broward"         │         ▼AI assistant sees Hometeam MCP tools are available         │         ▼AI calls search_businesses({ query: "caterer", county: "Broward" })         │         ▼Hometeam MCP server queries the live MongoDB database         │         ▼Returns real business data: name, location, rating, contact, hours         │         ▼AI presents the answer to the user with Hometeam attribution         │         ▼User visits the business. Community grows.

The data is always live — not a cached snapshot. When a business updates their hours or posts a special, the MCP server reflects it immediately.


Project structure

mcp-server/├── server.js                  # Entry point (stdio transport — local/Claude Desktop)├── httpServer.js              # Streamable HTTP transport (deployed/remote access)├── config/│   └── db.js                  # MongoDB connection├── models/                    # Mongoose schemas (read-only, shared with backend DB)│   ├── Business.js│   ├── Category.js│   ├── Neighborhood.js│   ├── Review.js│   ├── Event.js│   ├── DraftClass.js│   └── McpUsage.js├── tools/                     # MCP tool definitions + handlers│   ├── searchBusinesses.js│   ├── getBusinessDetails.js│   ├── findBySpecialty.js│   ├── listCategories.js│   ├── listNeighborhoods.js│   └── getLatestDraftClass.js├── middleware/│   └── apiKeyAuth.js          # API key validation (paid tier — coming soon)├── utils/│   └── logUsage.js            # Query analytics logger├── scripts/│   └── release.js             # Semantic version release script└── .env.example

Transport modes

Stdio (local)

For Claude Desktop and local development. Communicates via stdin/stdout using JSON-RPC.

bash
npm run start:local

Critical: All logging uses console.error, not console.log. Stdout is reserved for the MCP protocol. Any console.log output corrupts the JSON-RPC stream and crashes the connection.

Streamable HTTP (deployed)

For production and remote AI agents. Express server with stateless Streamable HTTP at /mcp (also mounted at /). No API key is required. The legacy /sse and /messages routes are no longer available.

bash
npm start# Starts on PORT (default 3100, Heroku assigns dynamically)

Endpoints:

MethodPathDescription
GET/healthHealth check
POST/mcp, /MCP JSON-RPC requests
GET/mcp, /Returns 405; use POST
DELETE/mcp, /Session cleanup acknowledgment

Developer workflow

Coding conventions

Defined in AGENTS.md at the project root (shared with the backend). Key rules:

  • ES Modules — import/export with .js extensions on all relative imports
  • Async/await throughout
  • console.error only — never console.log (breaks stdio transport)
  • Models — export default, read-only versions of backend schemas
  • Tools — each tool in its own file, exports schema + handler

Adding a new MCP tool

  1. Create mcp-server/tools/myNewTool.js with a schema and handler export:

    javascript
    export const myNewToolSchema = {  description: 'What this tool does — written for an AI to understand when to use it',  inputSchema: {    type: 'object',    properties: {      param1: { type: 'string', description: 'What this parameter means' },    },    required: ['param1'],  },};
    export const myNewToolHandler = async (args) => {  // Query MongoDB, format results  return { success: true, data: { args } };};
  2. Register it in mcp-server/tools/index.js:

    javascript
    import { myNewToolHandler, myNewToolSchema } from './myNewTool.js';
    export const TOOL_DEFINITIONS = [  // existing tools...  {    name: 'my_new_tool',    description: myNewToolSchema.description,    inputSchema: myNewToolSchema.inputSchema,    handler: myNewToolHandler,  },];
  3. Restart the MCP server and test with Claude Desktop locally before deploying.

Branch strategy and commits

Same as the backend — feature branches, conventional commits:

feat: add business-hours-aware search toolfix: correct category matching in find_by_specialtychore: update @modelcontextprotocol/sdk

Versioning and releases

Version lives in package.json and is served in the MCP server info and HTTP root endpoint.

bash
# Bug fix (1.0.0 → 1.0.1)npm run release:patch
# New feature — e.g., new MCP tool (1.0.0 → 1.1.0)npm run release:minor
# Breaking change (1.0.0 → 2.0.0)npm run release:major

The script: checks for clean working tree → bumps package.json → commits → creates git tag → pushes → Heroku auto-deploys.


Deployment

Heroku

The deployed version uses httpServer.js (Streamable HTTP), not server.js (stdio).

bash
heroku loginheroku create hometeam-mcp
heroku config:set NODE_ENV=productionheroku config:set MONGO_URI="your_mongodb_atlas_uri"heroku config:set MCP_SERVER_NAME="hometeam-directory"heroku config:set CORS_ORIGIN="*"
git push heroku main
# Verifycurl https://mcp.thehometeam.io/health

Do not set PORT — Heroku assigns it. The Procfile runs node httpServer.js.

Verify tools are registered

bash
curl https://mcp.thehometeam.io/mcp \  -H 'Content-Type: application/json' \  -H 'Accept: application/json, text/event-stream' \  -H 'MCP-Protocol-Version: 2025-06-18' \  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

Response includes all 6 tool names in the result.tools array.

In Claude Desktop MCP logs, you should see:

tools/list → search_businesses, get_business_details, find_by_specialty,             list_categories, list_neighborhoods, get_latest_draft_class

Usage analytics

Every query is logged (anonymized) to the mcpusages MongoDB collection:

  • Which tool was called
  • Input parameters (sanitized)
  • Which businesses appeared in results
  • Response time

This data powers:

For business owners: Their dashboard shows "AI recommendation served via MCP" in the activity feed, with how often AI agents recommend their business.

For the platform: Aggregated trends reveal demand — "Caribbean catering queries spiked 300% in Broward this month."


API access tiers

Free tier (current)

  • 100 queries per day per IP
  • All 6 tools
  • Basic business data
  • No API key required

Pro tier (coming soon)

  • 10,000 queries per day
  • Enhanced data (full reviews, photos, specials, visit counts)
  • Usage analytics dashboard
  • Priority support
  • Starting at $99/month

Business owners are never charged. Hometeam is free for all listed businesses.

Join the Pro tier waitlist →


Environment variables

env
NODE_ENV=developmentPORT=3001MONGO_URI=mongodb://localhost:27017/hometeamMCP_SERVER_NAME=hometeam-directoryCORS_ORIGIN=*MCP_BASE_URL=https://www.thehometeam.ioMCP_PUBLIC_URL=https://mcp.thehometeam.io

MCP_BASE_URL optionally overrides the public website origin for /business/:slug and /draft-class/:slug links; it defaults to https://www.thehometeam.io. MCP_PUBLIC_URL is the MCP service origin used in health metadata, not listing links. Before deploying, check the production MCP_BASE_URL: an existing override takes precedence over the code default and must use the intended website origin.

The MONGO_URI must point to the same database as the backend. The MCP server reads from it; it does not write business data (only writes usage logs).


Scripts

CommandDescription
npm testURL regression tests (no database or credentials required)
npm startStreamable HTTP server (production, deployed)
npm run start:localStdio server (Claude Desktop, local dev)
npm run devStreamable HTTP with auto-reload
npm run dev:localStdio with auto-reload
npm run releaseShow release usage help
npm run release:patchBug fix release
npm run release:minorFeature release
npm run release:majorBreaking change release

Coverage

Miami-Dade County

Overtown · Liberty City · Little Haiti · Opa-locka · Carol City · Richmond Heights · Goulds · Florida City · Coconut Grove West · North Miami · Miami Gardens

Broward County

Lauderhill · Lauderdale Lakes · Fort Lauderdale · Plantation · Miramar · Pembroke Pines · Hollywood · Deerfield Beach · Pompano Beach · Dania Beach · Tamarac

Palm Beach County

West Palm Beach · Riviera Beach · Boynton Beach · Delray Beach · Belle Glade · Lake Worth Beach · Palm Beach Gardens


Why MCP?

Most local business directories are trapped behind websites. You have to know they exist, visit them, and search manually.

MCP makes Hometeam's data available to every AI assistant that supports the protocol. Instead of one website with one search bar, there are millions of AI assistants — each one a potential distribution channel for Black-owned businesses.

When someone asks their AI "where should I eat in Lauderhill?", the answer should include Black-owned restaurants. Not because of an algorithm, but because the community verified them and Hometeam made the data available.


Related repos

RepoDescription
hometeam-backendNode.js/Express API
hometeam-frontendReact/TypeScript directory, dashboards, map

Contributing

We welcome contributions. To add a new MCP tool, improve search relevance, or fix a bug: open an issue or submit a PR.


License

MIT


Every AI recommendation is a customer walking through a Black-owned business's door. That's the point.

來源:README.md,提交 3b40aae

工具

0
SourceWeft 尚未讀取此伺服器的工具。

版本歷史

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

評分

已滿足適用檢查項的 75%

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

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。