Hometeam Directory

io.github.JajuanXPublished by GitHub account JajuanXv1.2.0Updated Oct 24, 2026

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

Overview

AI-generated overview

A remote MCP server that lets an assistant search a community-verified directory of Black-owned businesses in South Florida by category, neighborhood, county or

What you can do
Search businesses by keyword, category, neighborhood or county, with sorting and result limits, returning name, category, neighborhood, rating, contact info and profile link. Retrieve a full business profile by slug or name, including hours, contact, social media, reviews, specials and trust signals. Run natural-language need searches that map plain descriptions to categories and locations. List all 14 business categories and the 29+ covered neighborhoods, optionally filtered by county. Show the newest businesses added in the latest monthly Draft Class.
When to use it
Useful when an assistant should answer questions about Black-owned businesses in Miami-Dade, Broward or Palm Beach counties, such as finding a caterer, salon, barber or tax preparer in a given area, or reporting what businesses recently joined the directory.
Requirements
A remote MCP endpoint; the README suggests connecting through the mcp-remote package with npx, so Node.js is needed on the client side. No API key is required for the free tier. Running it locally instead requires cloning the repository, Node.js, npm install and a MONGO_URI pointing at the backend database.
Before you install
The free tier is limited to 100 queries per day per IP. Every query is logged to a usage collection, including which tool was called, sanitized input parameters, which businesses appeared in results and response time, and this feeds business dashboards and platform trend reports. A paid Pro tier is described as coming soon at a monthly price; business owners are said never to be charged. The server reads business data and writes only usage logs.

Installation

In SourceWeft

  1. Open Hometeam Directory in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via SSE. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.JajuanX%2Fhometeam-directory/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "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.

Source: README.md at commit 3b40aae

Tools

0
SourceWeft has not read this server's tools yet.

Version history

1
  1. v1.2.0LatestSep 16, 2026

Score

75% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.