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 分

    请在仓库或注册中心条目中声明许可证。