Factory discovery over MCP
Read-only Model Context Protocol for ChatGPT and Claude. Match Portuguese apparel factories from a brief, then open a public profile on NovaSupplier.
Endpoint
Use the www host. Apex redirects can break MCP clients that do not follow POST redirects.
| Field | Value |
|---|---|
| URL | https://www.novasupplier.com/mcp |
| Transport | Streamable HTTP (JSON-RPC over POST) |
| Protocol | 2026-07-28 (stateless; also answers legacy initialize) |
| Authentication | None for v1 (public discovery only) |
https://www.novasupplier.com/mcpConnect in ChatGPT
- Open Settings and enable Developer Mode if required.
- Add a custom MCP connector / app.
- Paste the server URL above.
- Set authentication to None.
- Allow tools:
match_factories,search_factories,get_factory.
In chat, a founder only needs a normal sourcing prompt. ChatGPT fills tool arguments. The only hard required field is brief on match_factories.
Connect in Claude
Add a remote MCP / connector pointing at the same URL. Use Streamable HTTP (not stdio, not legacy SSE-only). No OAuth client is required for v1 public tools.
OpenAI Responses API
Pass an MCP tool with server_url and allowed_tools. Keep tool definitions in conversation context so the host does not re-list tools every turn.
{
"tools": [
{
"type": "mcp",
"server_url": "https://www.novasupplier.com/mcp",
"allowed_tools": [
"match_factories",
"search_factories",
"get_factory"
]
}
]
}Tools
All tools are read-only. Results include schema_version, public profile links with ?ref=mcp, and a CTA back to NovaSupplier. Private emails and phone numbers are never returned.
match_factories
Flagship tool. Send a free-text sourcing brief. The shared brief match engine ranks factories with grounded why_matched copy. Use this when the founder describes a product story (materials, MOQ, certs, markets), not when they already know exact filters.
Example prompts
- Merino baselayers for Denmark, low MOQ, GOTS preferred, flatlock seams
- Padel performance tops with bonded seams, first order under 300 units, selling in Spain
- Budget streetwear hoodies in Portugal, organic cotton preferred
{
"name": "match_factories",
"arguments": {
"brief": "Merino baselayers for Denmark, low MOQ, GOTS preferred, flatlock seams",
"product_category": "activewear_technical",
"target_moq": 300,
"certifications_preferred": ["GOTS"],
"brand_market": "Europe",
"budget_sensitivity": "medium",
"limit": 5
}
}Responses may set partial_match: true with a guidance string when MOQ, certifications, or category fit are incomplete. Treat that as honesty, not failure.
search_factories
Directory filter when the user already knows category, certs, or keywords. Categories use MCP ids: knitwear, cut_and_sew_wovens, denim, activewear_technical, swimwear, lingerie, tailoring, outerwear, streetwear_basics.
Example prompts
- Portuguese knitwear with GOTS, MOQ under 300
- Denim factories in Portugal, low MOQ
- Activewear / technical knits, organic fibres
{
"name": "search_factories",
"arguments": {
"category": "knitwear",
"certifications": ["GOTS"],
"max_moq": 300,
"region": "Portugal",
"keywords": "jersey organic",
"limit": 8
}
}get_factory
Load one public profile by slug (preferred) or name after the user picks a factory from match or search. factory_id equals the public slug.
{
"name": "get_factory",
"arguments": {
"factory_id": "smsenra"
}
}What a good result looks like
Match and search return a list of factories. Each item is public discovery data only.
{
"schema_version": "1",
"partial_match": true,
"guidance": "These are partial matches: MOQ, certifications, or category fit may not fully meet the brief.",
"factories": [
{
"factory_id": "jfv-texteis",
"name": "JFV Texteis",
"slug": "jfv-texteis",
"location": "Portugal",
"categories": ["Cut & sew", "Organic certified fibres (GOTS path)"],
"certifications": ["GOTS: Global Organic Textile Standard"],
"moq_range": "Quoted per project",
"summary": "Circular knit garment manufacturer in Barcelos since 1984.",
"why_matched": "Fits technical knits; shows GOTS you prefer; MOQ may need negotiation.",
"match_score": 74,
"profile_url": "https://www.novasupplier.com/jfv-texteis?ref=mcp",
"cta": "Open the factory profile on NovaSupplier to start a conversation."
}
],
"cta": "Start a sourcing project on NovaSupplier or book a concierge call for hands-on matching."
}Always send the founder to profile_url (or NovaSupplier) to message a factory. MCP cannot send messages or open RFQs.
What this is not
- No messaging, quotes, or purchase orders through MCP
- No payments or Stripe Connect
- No tech-pack upload or file storage
- No authenticated writes or account mutation
- No private contact email or phone in tool payloads (start a project on NovaSupplier for that)
Matching sends brief text to the NovaSupplier API for ranking only. The same brief-match engine powers in-product activation and workspace matching.
Privacy, auth, and limits
- v1 is intentionally unauthenticated for public discovery. OAuth is a later stage.
- Edge rate limits apply per client. Heavy automation may receive soft degradation instead of a full shortlist.
- Origin checks protect the Streamable HTTP endpoint. Server-side hosts such as ChatGPT connectors are supported without a browser Origin header.
- Tool inputs, match process metadata, and outputs may be retained for quality and demand study (retention window, not long-term marketing profiles).
- Full policy: Privacy. Support: .
Schema version
Every tool payload includes schema_version (currently 1). Breaking changes to field names or meaning bump that version and are noted in the changelog.
Changelog
2026-08 (schema 1): Public /mcp with match_factories, search_factories, and get_factory. Streamable HTTP 2026-07-28, ChatGPT connector handshake compat, honest partial_match / guidance, certifications on search cards, English summaries when translations are ready.
Try it as a founder
After the assistant returns factories, open a profile link or start a project on NovaSupplier to message the factory with your brief, MOQ, and tech pack.
- Discover suppliers
- llms.txt for machine-readable pointers
- specification