@seldonframe/mcp 1.46.0 → 1.46.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/tools.js +12 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seldonframe/mcp",
|
|
3
|
-
"version": "1.46.
|
|
3
|
+
"version": "1.46.1",
|
|
4
4
|
"mcpName": "io.github.seldonframe/seldonframe-mcp",
|
|
5
5
|
"description": "Open-source GoHighLevel alternative for agencies. 146+ MCP tools that let Claude Code spin up white-labeled client workspaces — CRM, booking, intake forms, landing pages, AI chatbot, and pre-wired agent archetypes (speed-to-lead, missed-call-text-back, review-requester) — in minutes. AGPL-3.0.",
|
|
6
6
|
"license": "AGPL-3.0-or-later",
|
package/src/tools.js
CHANGED
|
@@ -60,7 +60,8 @@ export const TOOLS = [
|
|
|
60
60
|
{
|
|
61
61
|
name: "create_full_workspace",
|
|
62
62
|
description:
|
|
63
|
-
"
|
|
63
|
+
"⛔ DO NOT USE WHEN A URL IS PROVIDED — use `create_workspace_from_url` instead. THIS tool is for STRUCTURED, PRE-EXTRACTED business info ONLY (manual paste, operator-typed fields, etc.). " +
|
|
64
|
+
"PREFERRED for new workspaces FROM STRUCTURED INPUT. Atomic, server-side workspace creation: takes structured business info and creates everything in ONE call — workspace, business profile, CRM with industry-specific pipeline stages, booking page with availability, intake form, themed landing page, all deployed with live URLs. " +
|
|
64
65
|
"Use this instead of create_workspace + a long sequence of customization tools. The pipeline runs server-side with a fixed order — same input always produces same output, no retries, no 404s. " +
|
|
65
66
|
"MANDATORY FOLLOW-UP: After this returns `status: 'ready'`, ask the operator verbatim 'What email should I use for your account? This is where you'll get your login link and notifications.' Then call `finalize_workspace({ workspace_id, email })`. The admin dashboard URL is ONLY created by finalize_workspace — it does not exist in this response (so there's nothing for you to display prematurely). " +
|
|
66
67
|
"Example: create_full_workspace({ business_name: 'Summit Air Comfort', city: 'Phoenix', state: 'AZ', phone: '(480) 555-2100', services: ['AC repair', 'heating installation', 'duct cleaning'], business_description: 'Residential and commercial HVAC in Phoenix', review_count: 950, review_rating: 4.7, trust_signals: ['licensed', 'bonded', 'insured'], emergency_service: true, same_day: true, service_area: ['Scottsdale', 'Tempe', 'Mesa'] })",
|
|
@@ -477,7 +478,14 @@ export const TOOLS = [
|
|
|
477
478
|
{
|
|
478
479
|
name: "create_workspace_from_url",
|
|
479
480
|
description:
|
|
480
|
-
"
|
|
481
|
+
"⚡ MUST USE WHEN A URL IS PROVIDED — this is the atomic URL-input path for agency client workspace creation. " +
|
|
482
|
+
"PATTERNS THAT ROUTE HERE (do not even consider other workspace-creation tools when input matches): " +
|
|
483
|
+
"'create a workspace for <URL>', 'set up <client> at <URL>', 'spin up <URL>', '<URL>' alone, or any operator message containing http://, https://, or a recognizable domain (.com/.io/.net/.co/.app/.dev/.us etc). " +
|
|
484
|
+
"WHAT THIS TOOL ALONE DOES: backend crawls the URL → soul-extracts business info → creates CRM + booking + intake + landing + eval-gated AI chatbot wired to FAQs auto-pulled from the site + the booking calendar. " +
|
|
485
|
+
"DO NOT use create_workspace_v2 or create_full_workspace when a URL is available. Those tools require PRE-EXTRACTED structured fields (business_name, services[], phone) and will produce INFERIOR results for URL input because they skip the URL crawler, the FAQ extractor, and the auto-chatbot build. " +
|
|
486
|
+
"DO NOT manually WebFetch the URL first — the SeldonFrame backend's soul-compiler is already wired to scrape + extract. Forwarding pre-fetched HTML wastes a round-trip and bypasses the FAQ-from-URL pipeline. " +
|
|
487
|
+
"Eval gate: chatbot must pass ≥10 of 11 safety + behavior scenarios to ship 'live'. White-label-ready under partner-agency attachment. " +
|
|
488
|
+
"Returns: workspace + agent + embed_url + faq_summary. MANDATORY FOLLOW-UP: ask the operator verbatim 'What email should I use for your account?' then call finalize_workspace({ workspace_id, email }) — the admin dashboard URL is ONLY created by finalize_workspace.",
|
|
481
489
|
inputSchema: obj(
|
|
482
490
|
{
|
|
483
491
|
url: str("Business website URL, e.g. https://dallasplumbing.com"),
|
|
@@ -2966,7 +2974,8 @@ export const TOOLS = [
|
|
|
2966
2974
|
{
|
|
2967
2975
|
name: "create_workspace_v2",
|
|
2968
2976
|
description:
|
|
2969
|
-
"
|
|
2977
|
+
"⛔ DO NOT USE WHEN A URL IS PROVIDED — use `create_workspace_from_url` instead. THIS tool is for STRUCTURED, PRE-EXTRACTED business info ONLY (typically a Google Maps paste the operator already parsed into fields). " +
|
|
2978
|
+
"PREFERRED for STRUCTURED-INPUT workspaces (v1.4+) when no URL is available. MCP-native workspace creation: bootstraps the workspace via the v1 orchestrator (CRM, booking, intake, theme, pipeline) AND returns a list of v2 page blocks the IDE agent will now generate using its own LLM. " +
|
|
2970
2979
|
"Flow: 1) call this tool with the operator's business info; 2) for each block in `v2.recommended_blocks`, call get_block_skill(name) and use your LLM to generate props matching the SKILL.md prompt + schema; 3) call persist_block({ workspace_id, block_name, generation_prompt, props }) for each; 4) call complete_workspace_v2({ workspace_id }). " +
|
|
2971
2980
|
"MANDATORY FOLLOW-UP: After this returns `status: 'ready'` AND after all blocks land via persist_block + complete_workspace_v2, ask the operator verbatim 'What email should I use for your account?' Then call finalize_workspace({ workspace_id, email }). The admin dashboard URL is created by finalize_workspace, not here. " +
|
|
2972
2981
|
"Why v2: v1 generated all copy server-side from a hardcoded personality system, which produced layer-mismatch bugs every time a new niche was tested. v2 puts the LLM in your context (the IDE agent), reads from one SKILL.md per block, and the generated copy is naturally niche-aware. The operator can later say 'change the hero' and you customize it via persist_block with a customization payload.",
|