loopctl-mcp-server 2.57.0 → 2.58.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/README.md +2 -2
- package/index.js +19 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -139,10 +139,10 @@ autonomous agent) can self-remediate without a human. Full agent-tenant lifecycl
|
|
|
139
139
|
|
|
140
140
|
| Tool | Description |
|
|
141
141
|
|---|---|
|
|
142
|
-
| `get_tenant` | Get current tenant info. Use to verify connectivity. |
|
|
142
|
+
| `get_tenant` | Get current tenant info. Use to verify connectivity, and to read `capabilities` — which surfaces your `trust_tier` includes — before attempting a write. |
|
|
143
143
|
| `list_projects` | List all projects in the current tenant. |
|
|
144
144
|
| `resolve_project` | Resolve a repo to its `project_id` in one cheap call — provide any of `slug`, `repo_url` (`git@github.com:owner/repo.git`, `https://github.com/owner/repo`, and bare `owner/repo` all match), or `name`. Precedence `slug > repo_url > name`, first match wins. Use the returned `id` to scope captures/recall (`memory_*`, `recall_context`). `404` `not_found` if nothing matches, `422` `no_identifier` if none supplied, `409` if a fuzzy identifier matches more than one active project. |
|
|
145
|
-
| `create_project` | Create a new project
|
|
145
|
+
| `create_project` | Create a new **work** project (epics/stories/custody). Requires orchestrator+ **and** a `human_anchored` tenant; an agent-rooted tenant gets `403 custody_tier_required` and should use `create_kb_scope`. |
|
|
146
146
|
| `delete_project` | **Requires `LOOPCTL_USER_KEY`.** Delete a project and all of its dependent resources (epics, stories, audit entries). Irreversible — orchestrator role is not sufficient. |
|
|
147
147
|
| `get_progress` | Get progress summary for a project, including story counts by status. Pass `include_cost=true` for cost data. |
|
|
148
148
|
| `import_stories` | Import stories into a project from a structured payload (Epic 12 import format). Pass `merge: true` to add stories to epics that already exist (otherwise duplicates return 409). For large payloads, use `payload_path` to read JSON from disk instead of passing it inline. |
|
package/index.js
CHANGED
|
@@ -2461,7 +2461,17 @@ const TOOLS = [
|
|
|
2461
2461
|
// Project Tools
|
|
2462
2462
|
{
|
|
2463
2463
|
name: "get_tenant",
|
|
2464
|
-
description:
|
|
2464
|
+
description:
|
|
2465
|
+
"Get current tenant info. Use to verify connectivity, AND to discover which surfaces " +
|
|
2466
|
+
"your tenant's trust_tier includes BEFORE attempting a write. The response carries " +
|
|
2467
|
+
"`capabilities`: `surfaces` (each surface -> \"allowed\" | \"requires_human_anchor\"), " +
|
|
2468
|
+
"`allowed`/`blocked` lists, `descriptions`, and `remediation` when something is blocked. " +
|
|
2469
|
+
"Read the live `allowed`/`blocked` lists from the response — they are the authoritative, " +
|
|
2470
|
+
"current split for your TIER — instead of probing for a 403 per endpoint. Two bounds, " +
|
|
2471
|
+
"restated in the payload as `scope: trust_tier_only` and `applies_to: mutating_actions`: " +
|
|
2472
|
+
"the ROLE gate is separate (an `allowed` surface can still return 403 `insufficient_role` " +
|
|
2473
|
+
"if your key's role is too low), and READS stay open on every surface, including blocked " +
|
|
2474
|
+
"ones — `blocked` means writes.",
|
|
2465
2475
|
inputSchema: {
|
|
2466
2476
|
type: "object",
|
|
2467
2477
|
properties: {},
|
|
@@ -2512,7 +2522,14 @@ const TOOLS = [
|
|
|
2512
2522
|
},
|
|
2513
2523
|
{
|
|
2514
2524
|
name: "create_project",
|
|
2515
|
-
description:
|
|
2525
|
+
description:
|
|
2526
|
+
"Create a new WORK project (kind: work) in the current tenant — the container for " +
|
|
2527
|
+
"epics/stories/dispatch and the chain-of-custody surface. Requires orchestrator+ role " +
|
|
2528
|
+
"AND a human_anchored tenant (WebAuthn signup ceremony); an agent_rooted tenant gets " +
|
|
2529
|
+
"403 custody_tier_required, by design — a tenant must not be able to open a custody " +
|
|
2530
|
+
"surface for itself. If you only need a project row to scope KNOWLEDGE to the repo you " +
|
|
2531
|
+
"are on, use create_kb_scope instead (agent role, no human anchor). Call get_tenant " +
|
|
2532
|
+
"first and read `capabilities` to see which of the two applies to your tenant.",
|
|
2516
2533
|
inputSchema: {
|
|
2517
2534
|
type: "object",
|
|
2518
2535
|
properties: {
|