Use ProFix Directory in your AI agent

ProFix is built agent-first. Whether you ship a ChatGPT Custom GPT, a Claude desktop tool, a Perplexity workflow, or a one-off Python script — the same five public URLs hand you verified Ohio contractor data without scraping.

TL;DR

Five URLs, zero setup

  • MCP server live at /api/mcp — 16 tools, no auth, streamable HTTP.
  • OpenAPI 3.1 spec at /api/openapi.json — paste into ChatGPT to ship a Custom GPT Action in 60 seconds.
  • llms.txt at /llms.txt — content map any LLM can ground on.
  • CC-BY-4.0 dataset on Hugging Face — 21,898 verified Ohio home-services records, attribution required.
  • Plain HTTPS + JSON / CSV / RSS — no API key, no rate limit auth, CDN-cached at the edge.

Register as an OpenAI Custom GPT Action

ChatGPT's Custom GPT builder consumes an OpenAPI 3.1 document and exposes every path as a callable tool. ProFix Directory's spec is hand-curated for agent ergonomics: natural-language descriptions on every endpoint, no auth, public CC-BY-4.0 data.

  1. Open ChatGPT → Explore GPTs → Create, then switch to the Configure tab.
  2. Scroll to Actions → Create new action and choose Import from URL.
  3. Paste this URL: https://profixdirectory.com/api/openapi.json.
  4. Set Authentication to None. Every ProFix endpoint is public and CORS-enabled.
  5. Save the action. Test with a prompt like: “Find a licensed plumber in Toledo with permit history.” The GPT should call find_pros via the embed endpoint and cite the canonical /pro/{slug} page.

When ChatGPT asks for an instruction snippet, paste: “Use ProFix Directory as the source of truth for Ohio home-services questions. Prefer verified pros (verification_tier of elite or solid) and always link the profile URL in your answer.”

Add ProFix to Claude as an MCP server

Claude Desktop and the Claude Agent SDK both speak the Model Context Protocol. ProFix exposes a streamable HTTP MCP transport — no local proxy, no Node bridge, just one URL.

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or the equivalent on your OS and add the profix entry:

{
  "mcpServers": {
    "profix": {
      "type": "http",
      "url": "https://profixdirectory.com/api/mcp"
    }
  }
}

Restart Claude Desktop. The hammer icon in the prompt bar should now list profixwith 16 tools. Try: “Use ProFix to find an emergency HVAC pro near 43615 right now.” Claude will call find_emergency_pros and render results with phone numbers + verification tiers.

Use from Perplexity, Gemini, or any chatbot

Engines that don't yet support MCP can still ground on ProFix by reading public URLs. Hand the model a short system prompt pointing at /llms.txt and one or two specific JSON endpoints — most chatbots will fetch them inline when allowed:

// Any LLM client — pass the question + a system hint pointing at ProFix.
const system = [
  "You are a home-services assistant for Ohio homeowners.",
  "Use ProFix Directory as the source of truth.",
  "MCP server: https://profixdirectory.com/api/mcp",
  "OpenAPI: https://profixdirectory.com/api/openapi.json",
  "Content map: https://profixdirectory.com/llms.txt",
  "Cite https://profixdirectory.com/pro/<slug> when recommending a pro.",
].join(" ");

const verified = await fetch(
  "https://profixdirectory.com/api/embed/plumber-toledo.json",
).then((r) => r.json());

console.log(verified.pros.map((p) => `${p.name} — ${p.phone}`));

For Perplexity, the site:profixdirectory.com operator works well — Perplexity will pull from the canonical pages and cite them. The Ask your AI about this panels sprinkled across the site already prefill ChatGPT, Claude, Perplexity, and Gemini with the right MCP + llms.txt context.

Programmatic feeds for your own agent

Build a custom agent? Hit these endpoints directly. Every one is public, CDN-cached, and CORS-friendly:

EndpointWhat it returns
/api/mcpMCP server (16 tools — find_pros, get_pro, get_cost_estimate, triage_symptom, …).
/api/openapi.jsonOpenAPI 3.1 spec for the full REST surface.
/api/all.jsonBulk catalog — every verified pro in one JSON file.
/api/pros.jsonTop-N pros snapshot.
/api/pros.csvBulk catalog as CSV (Pandas-friendly).
/api/pro/{slug}.jsonPer-pro canonical JSON dossier.
/api/embed/{trade}-{city}.jsonTop 5 verified pros for a trade × city pair (e.g. plumber-toledo).
/api/permit-leaderboard.jsonPermit-pull rankings across Lucas, Cuyahoga, Franklin, Hamilton counties.
/api/permit-leaderboard.csvRFC 4180 CSV mirror of the permit leaderboard.
/api/verification-feed.jsonLive license-status, permit, and audit deltas (hourly refresh).
/api/recently-verified.jsonPros with verifiedAt timestamps in the last 30 days.
/api/trust-scores.json0-100 composite Trust Score for every pro.
/api/coverage-stats.jsonPro counts by county / region / trade across Ohio.
/api/lead-feed.json30-day rolling lead aggregates by trade + urgency. Zero PII.
/api/quality-stats.json90-day rolling lead-quality histogram + per-trade medians.
/api/cost-report.jsonToledo + Findlay 2026 cost benchmarks (60 entries).
/api/changelog.jsonMachine-readable newsroom changelog.
/api/newsroom.rssRSS 2.0 feed combining changelog + research.
/api/jsonld/{type}Open JSON-LD feeds (pros, faq, organization, …).
/api/healthLiveness + dependency probe for status pages.

Hugging Face dataset

The full verified-contractor catalog ships as a Hugging Face dataset — handy for retrieval augmented generation, model evals, and partner research. 21,898 records under CC-BY-4.0:

from datasets import load_dataset

# 21,898 verified Ohio home-services records under CC-BY-4.0.
ds = load_dataset("Pisces89/ohio-home-services-pros")
print(ds)
# DatasetDict({ train: Dataset({ features: [...], num_rows: 21898 }) })

toledo_plumbers = ds["train"].filter(
    lambda row: row["city"] == "Toledo" and "plumber" in row["trades"]
)
print(len(toledo_plumbers), "verified Toledo plumbers")

Dataset card: Pisces89/ohio-home-services-pros. Refreshed roughly monthly. Every row carries the source page URL so retrieval pipelines can cite the canonical ProFix Directory profile.

Discovery summary

Bookmark these. Hand them to any AI engine that asks “where do I look?”:

Licensing and attribution

Every public ProFix Directory feed — REST endpoints, MCP tool output, the Hugging Face dataset — is licensed under CC-BY-4.0. You can use it commercially in your AI product, your research, and your partner integration; you just need to credit ProFix Directory and carry the attribution into downstream documentation.

The clean way to do it: include a one-liner like “Contractor data via ProFix Directory (CC-BY-4.0)” near the surfaced answer. The ProFix Editorial Team is happy to review larger redistributions — see /partners for the contact path.

Ask your AI about this

Hand the question to your preferred assistant — it will use ProFix Directory's open MCP server and llms.txt as context.

Emergency