@loopops/mcp-server 3.51.0 → 3.53.0
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/dist/index.js +4 -0
- package/dist/tools/account-curate.d.ts +13 -0
- package/dist/tools/account-curate.js +18 -0
- package/dist/tools/plan.d.ts +15 -0
- package/dist/tools/plan.js +23 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -17,8 +17,10 @@ import { registerPursueTools } from "./tools/pursue.js";
|
|
|
17
17
|
import { registerAccountMasterTools } from "./tools/account-master.js";
|
|
18
18
|
import { registerPeopleMasterTools } from "./tools/people-master.js";
|
|
19
19
|
import { registerScoringTools } from "./tools/scoring.js";
|
|
20
|
+
import { registerAccountCurateTools } from "./tools/account-curate.js";
|
|
20
21
|
import { registerCpqTools } from "./tools/cpq.js";
|
|
21
22
|
import { registerDealPrepTools } from "./tools/deal-prep.js";
|
|
23
|
+
import { registerPlanTools } from "./tools/plan.js";
|
|
22
24
|
import { registerSfdcSyncTools } from "./tools/sfdc-sync.js";
|
|
23
25
|
import { registerTalTools } from "./tools/tal.js";
|
|
24
26
|
import { parseSkillModesResponse } from "./skills/loader.js";
|
|
@@ -73,6 +75,8 @@ registerScoringTools(server, allowedSkills);
|
|
|
73
75
|
registerSfdcSyncTools(server, allowedSkills);
|
|
74
76
|
registerCpqTools(server, allowedSkills);
|
|
75
77
|
registerDealPrepTools(server, allowedSkills);
|
|
78
|
+
registerPlanTools(server, allowedSkills);
|
|
79
|
+
registerAccountCurateTools(server, allowedSkills);
|
|
76
80
|
// Skills framework — fetch role-visible skills from the Loop API and
|
|
77
81
|
// register each as a server-provided MCP prompt. Surfaces in the
|
|
78
82
|
// client's `/` menu and bundles (system prompt + tool emphasis +
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
/**
|
|
3
|
+
* Account-curation context tool — surface for the `/account_curate`
|
|
4
|
+
* skill (ops + eng).
|
|
5
|
+
*
|
|
6
|
+
* The skill bundles existing Account Master tools (list_pending_account_matches,
|
|
7
|
+
* account_show, walk_account_hierarchy, override_account_attribute,
|
|
8
|
+
* score_account, score_explain, evaluate_tal_now, deploy_account,
|
|
9
|
+
* approve_initial_deployment, deployment_status, drift_report,
|
|
10
|
+
* resolve_drift, export_pending_approvals, process_approvals_csv) with
|
|
11
|
+
* a system prompt + the playbook loaded by this context tool.
|
|
12
|
+
*/
|
|
13
|
+
export declare function registerAccountCurateTools(server: McpServer, allowed: Set<string>): void;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { trpcQuery } from "../api-client.js";
|
|
2
|
+
import { safeTool } from "./_helpers.js";
|
|
3
|
+
/**
|
|
4
|
+
* Account-curation context tool — surface for the `/account_curate`
|
|
5
|
+
* skill (ops + eng).
|
|
6
|
+
*
|
|
7
|
+
* The skill bundles existing Account Master tools (list_pending_account_matches,
|
|
8
|
+
* account_show, walk_account_hierarchy, override_account_attribute,
|
|
9
|
+
* score_account, score_explain, evaluate_tal_now, deploy_account,
|
|
10
|
+
* approve_initial_deployment, deployment_status, drift_report,
|
|
11
|
+
* resolve_drift, export_pending_approvals, process_approvals_csv) with
|
|
12
|
+
* a system prompt + the playbook loaded by this context tool.
|
|
13
|
+
*/
|
|
14
|
+
export function registerAccountCurateTools(server, allowed) {
|
|
15
|
+
if (allowed.has("account_curate_context")) {
|
|
16
|
+
server.tool("account_curate_context", "Loads Loop's account-curation playbook: workflow (triage → per-account curation → rescoring → TAL membership check → SFDC deployment → drift handling), override_reasons guidance, provider_conflict_resolution (priority waterfall + multi-account-per-domain), scoring_gotchas, conversation_patterns, audit_responsibility, handoff_to_other_skills. Call ONCE per account-curate conversation before doing anything else. The /account_curate skill auto-loads this on entry.", {}, safeTool(async () => trpcQuery("mcp.accountCurateContext")));
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
/**
|
|
3
|
+
* Planning-chain context tools — surface for the `/plan_design` and
|
|
4
|
+
* `/plan_deploy` skills.
|
|
5
|
+
*
|
|
6
|
+
* Each skill bundles ONE loop-side context tool (loads the playbook)
|
|
7
|
+
* with existing planning-chain tools (capacity_report, list_scenarios,
|
|
8
|
+
* review_user_assignments, edit_quota, etc. — declared in the
|
|
9
|
+
* skill's tools_emphasized).
|
|
10
|
+
*
|
|
11
|
+
* `/plan_design` — ops + leadership; strategic capacity + scenario design
|
|
12
|
+
* `/plan_deploy` — manager + leadership + ops; review + edit + approve
|
|
13
|
+
* placement chain proposals scoped to caller's subtree
|
|
14
|
+
*/
|
|
15
|
+
export declare function registerPlanTools(server: McpServer, allowed: Set<string>): void;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { trpcQuery } from "../api-client.js";
|
|
2
|
+
import { safeTool } from "./_helpers.js";
|
|
3
|
+
/**
|
|
4
|
+
* Planning-chain context tools — surface for the `/plan_design` and
|
|
5
|
+
* `/plan_deploy` skills.
|
|
6
|
+
*
|
|
7
|
+
* Each skill bundles ONE loop-side context tool (loads the playbook)
|
|
8
|
+
* with existing planning-chain tools (capacity_report, list_scenarios,
|
|
9
|
+
* review_user_assignments, edit_quota, etc. — declared in the
|
|
10
|
+
* skill's tools_emphasized).
|
|
11
|
+
*
|
|
12
|
+
* `/plan_design` — ops + leadership; strategic capacity + scenario design
|
|
13
|
+
* `/plan_deploy` — manager + leadership + ops; review + edit + approve
|
|
14
|
+
* placement chain proposals scoped to caller's subtree
|
|
15
|
+
*/
|
|
16
|
+
export function registerPlanTools(server, allowed) {
|
|
17
|
+
if (allowed.has("plan_design_context")) {
|
|
18
|
+
server.tool("plan_design_context", "Loads Loop's plan-design playbook: workflow (initial_read → scenario_iteration → promote_and_open), design heuristics (capacity_vs_target, productivity_assumptions, hire_timing, segment_mix), scenario_promotion_criteria, conversation_patterns. Call ONCE per plan-design conversation before doing anything else. The /plan_design skill auto-loads this on entry.", {}, safeTool(async () => trpcQuery("mcp.planDesignContext")));
|
|
19
|
+
}
|
|
20
|
+
if (allowed.has("plan_deploy_context")) {
|
|
21
|
+
server.tool("plan_deploy_context", "Loads Loop's plan-deploy playbook: three review tracks (user_assignments, quotas, account_assignments), anomaly_checks per track (patch sizing imbalance, manager hierarchy violations, low-confidence picks, etc.), edit_reasons guidance, conversation_patterns, audit_responsibility, and handoff to the commit chain. Call ONCE per plan-deploy conversation before doing anything else. The /plan_deploy skill auto-loads this on entry.", {}, safeTool(async () => trpcQuery("mcp.planDeployContext")));
|
|
22
|
+
}
|
|
23
|
+
}
|