edgegate-mcp 0.4.1 → 0.8.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 +27 -3
- package/dist/client.d.ts +43 -1
- package/dist/client.js +83 -0
- package/dist/client.js.map +1 -1
- package/dist/server.js +178 -0
- package/dist/server.js.map +1 -1
- package/dist/tools/change_member_role.d.ts +18 -0
- package/dist/tools/change_member_role.js +61 -0
- package/dist/tools/change_member_role.js.map +1 -0
- package/dist/tools/check_byo_bucket.d.ts +12 -0
- package/dist/tools/check_byo_bucket.js +89 -0
- package/dist/tools/check_byo_bucket.js.map +1 -0
- package/dist/tools/check_status.d.ts +2 -2
- package/dist/tools/compare_runs.d.ts +2 -2
- package/dist/tools/connect_huggingface.d.ts +15 -0
- package/dist/tools/connect_huggingface.js +83 -0
- package/dist/tools/connect_huggingface.js.map +1 -0
- package/dist/tools/connect_qaihub.d.ts +15 -0
- package/dist/tools/connect_qaihub.js +62 -0
- package/dist/tools/connect_qaihub.js.map +1 -0
- package/dist/tools/create_api_key.d.ts +18 -0
- package/dist/tools/create_api_key.js +73 -0
- package/dist/tools/create_api_key.js.map +1 -0
- package/dist/tools/create_pipeline.d.ts +34 -4
- package/dist/tools/create_pipeline.js +31 -0
- package/dist/tools/create_pipeline.js.map +1 -1
- package/dist/tools/create_workspace.d.ts +12 -0
- package/dist/tools/create_workspace.js +51 -0
- package/dist/tools/create_workspace.js.map +1 -0
- package/dist/tools/disconnect_byo_bucket.d.ts +12 -0
- package/dist/tools/disconnect_byo_bucket.js +90 -0
- package/dist/tools/disconnect_byo_bucket.js.map +1 -0
- package/dist/tools/disconnect_huggingface.d.ts +12 -0
- package/dist/tools/disconnect_huggingface.js +44 -0
- package/dist/tools/disconnect_huggingface.js.map +1 -0
- package/dist/tools/disconnect_qaihub.d.ts +12 -0
- package/dist/tools/disconnect_qaihub.js +42 -0
- package/dist/tools/disconnect_qaihub.js.map +1 -0
- package/dist/tools/export_run_report.d.ts +2 -2
- package/dist/tools/get_audit_report.d.ts +2 -2
- package/dist/tools/get_byo_audit.d.ts +27 -0
- package/dist/tools/get_byo_audit.js +125 -0
- package/dist/tools/get_byo_audit.js.map +1 -0
- package/dist/tools/get_huggingface_integration.d.ts +12 -0
- package/dist/tools/get_huggingface_integration.js +52 -0
- package/dist/tools/get_huggingface_integration.js.map +1 -0
- package/dist/tools/get_qaihub_integration.d.ts +12 -0
- package/dist/tools/get_qaihub_integration.js +52 -0
- package/dist/tools/get_qaihub_integration.js.map +1 -0
- package/dist/tools/get_report.d.ts +1 -1
- package/dist/tools/invite_member.d.ts +18 -0
- package/dist/tools/invite_member.js +85 -0
- package/dist/tools/invite_member.js.map +1 -0
- package/dist/tools/list_api_keys.d.ts +12 -0
- package/dist/tools/list_api_keys.js +51 -0
- package/dist/tools/list_api_keys.js.map +1 -0
- package/dist/tools/list_members.d.ts +12 -0
- package/dist/tools/list_members.js +43 -0
- package/dist/tools/list_members.js.map +1 -0
- package/dist/tools/register_byo_artifact.d.ts +27 -0
- package/dist/tools/register_byo_artifact.js +122 -0
- package/dist/tools/register_byo_artifact.js.map +1 -0
- package/dist/tools/register_byo_bucket.d.ts +24 -0
- package/dist/tools/register_byo_bucket.js +143 -0
- package/dist/tools/register_byo_bucket.js.map +1 -0
- package/dist/tools/remove_member.d.ts +15 -0
- package/dist/tools/remove_member.js +64 -0
- package/dist/tools/remove_member.js.map +1 -0
- package/dist/tools/revoke_api_key.d.ts +15 -0
- package/dist/tools/revoke_api_key.js +49 -0
- package/dist/tools/revoke_api_key.js.map +1 -0
- package/dist/types.d.ts +169 -0
- package/dist/version.d.ts +2 -2
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/plugin.json +7 -2
- package/skills/edgegate-byo-storage.md +148 -0
- package/skills/edgegate-connect-huggingface.md +64 -0
- package/skills/edgegate-connect-qaihub.md +56 -0
- package/skills/edgegate-import.md +2 -2
- package/skills/edgegate-init.md +17 -0
- package/skills/edgegate-members.md +51 -0
- package/skills/edgegate-workspace-setup.md +74 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: edgegate-members
|
|
3
|
+
description: List, invite, change role of, or remove EdgeGate workspace members. Use for any "add Alice as admin", "show me who's on this workspace", "Bob left the team", or similar membership management.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /edgegate-members
|
|
7
|
+
|
|
8
|
+
Composes the four member tools into a single skill the LLM can route any
|
|
9
|
+
membership-management request through.
|
|
10
|
+
|
|
11
|
+
## Roles
|
|
12
|
+
|
|
13
|
+
| Role | Can do | Can NOT do |
|
|
14
|
+
|---|---|---|
|
|
15
|
+
| `owner` | Everything: members, billing, delete workspace, AI Hub connect, pipelines, runs | (nothing — full power) |
|
|
16
|
+
| `admin` | Pipelines, runs, integrations, members (except adding owners) | Billing, delete workspace, downgrade self |
|
|
17
|
+
| `viewer` | Read pipelines, runs, reports, members | Anything write |
|
|
18
|
+
|
|
19
|
+
## Steps by intent
|
|
20
|
+
|
|
21
|
+
### "Show me the members" / "Who's on this workspace?"
|
|
22
|
+
Call `edgegate_list_members({ workspace_id })`. Returns email + role + user_id.
|
|
23
|
+
|
|
24
|
+
### "Add Alice as admin"
|
|
25
|
+
1. Call `edgegate_invite_member({ workspace_id, user_email, role })`.
|
|
26
|
+
2. If the response is 404, Alice doesn't have an EdgeGate account yet — tell
|
|
27
|
+
the user Alice needs to register at <https://edgegate.frozo.ai/register>
|
|
28
|
+
first, then re-run.
|
|
29
|
+
3. If 409, Alice is already a member — offer to update her role with
|
|
30
|
+
`/edgegate-members → change role` instead.
|
|
31
|
+
|
|
32
|
+
### "Make Bob an owner" / "Downgrade Carol to viewer"
|
|
33
|
+
1. Get Bob's user_id from `edgegate_list_members` if not already known.
|
|
34
|
+
2. Call `edgegate_change_member_role({ workspace_id, user_id, role })`.
|
|
35
|
+
3. If the response is 400 with "Cannot remove the last owner", explain to
|
|
36
|
+
the user: they need to promote another member to owner first, then come
|
|
37
|
+
back to downgrade the original owner.
|
|
38
|
+
|
|
39
|
+
### "Remove Dave"
|
|
40
|
+
1. Get Dave's user_id.
|
|
41
|
+
2. Confirm with the user (this is destructive — Dave loses access
|
|
42
|
+
immediately). Mention that Dave's pipelines and runs are preserved.
|
|
43
|
+
3. Call `edgegate_remove_member({ workspace_id, user_id })`.
|
|
44
|
+
4. Same last-owner guard as above applies.
|
|
45
|
+
|
|
46
|
+
## Failure modes
|
|
47
|
+
|
|
48
|
+
- **403** on invite / change / remove — the caller's own role is too low. The
|
|
49
|
+
detail message names the required role.
|
|
50
|
+
- **404** on user lookup — the email or user_id doesn't exist in EdgeGate.
|
|
51
|
+
- **plan_limit_exceeded** on invite — workspace seat cap; direct to pricing.
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: edgegate-workspace-setup
|
|
3
|
+
description: Bootstrap a new EdgeGate workspace end-to-end — create the workspace, connect Qualcomm AI Hub, mint an API key, and (optionally) invite teammates. Use this when the user has registered but hasn't yet set up a workspace, or wants a parallel one for a new project.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /edgegate-workspace-setup
|
|
7
|
+
|
|
8
|
+
This is the **zero-to-runnable workspace** flow. It composes the other
|
|
9
|
+
single-purpose tools into a single guided onboarding sequence so the user can
|
|
10
|
+
go from "I just signed up" to "EdgeGate is running my model on a Snapdragon
|
|
11
|
+
device" without leaving the chat.
|
|
12
|
+
|
|
13
|
+
## When to use
|
|
14
|
+
|
|
15
|
+
- User just signed up at <https://edgegate.frozo.ai/register> and wants to
|
|
16
|
+
start using the MCP
|
|
17
|
+
- User is creating a parallel workspace for a new project / customer / branch
|
|
18
|
+
- User says "set up EdgeGate for me", "create a new workspace and wire it up",
|
|
19
|
+
or similar
|
|
20
|
+
|
|
21
|
+
If they already have a usable workspace and just need to connect AI Hub or
|
|
22
|
+
add members, send them to `/edgegate-connect-qaihub` or
|
|
23
|
+
`/edgegate-invite-member` directly instead.
|
|
24
|
+
|
|
25
|
+
## Steps
|
|
26
|
+
|
|
27
|
+
1. **Create the workspace.** Ask for a name (e.g. "MobileNet Production",
|
|
28
|
+
"Customer Pilot — Bosch"). Call `edgegate_create_workspace({ name })` and
|
|
29
|
+
capture the returned `workspace_id`. Pass that id to every subsequent call.
|
|
30
|
+
|
|
31
|
+
2. **Connect Qualcomm AI Hub.** Without this, runs will fail with
|
|
32
|
+
`NO_AIHUB_TOKEN`. Either:
|
|
33
|
+
- Run the `/edgegate-connect-qaihub` sub-flow, **or**
|
|
34
|
+
- If the user has their AI Hub token at hand, call
|
|
35
|
+
`edgegate_connect_qaihub({ workspace_id, token })` directly.
|
|
36
|
+
|
|
37
|
+
Pause here until the integration is **active**.
|
|
38
|
+
|
|
39
|
+
3. **(Optional) Mint a CI API key.** If the user plans to wire EdgeGate into
|
|
40
|
+
GitHub Actions / GitLab CI / similar, call `edgegate_create_api_key` with
|
|
41
|
+
a descriptive name (e.g. "GitHub Actions — production"). **Tell them the
|
|
42
|
+
plaintext is returned exactly once** and they MUST copy it now into their
|
|
43
|
+
CI secrets manager. Re-show the value, then move on. If they want to
|
|
44
|
+
actually wire the GitHub Action immediately, follow up with
|
|
45
|
+
`edgegate_setup_github_action`.
|
|
46
|
+
|
|
47
|
+
4. **(Optional) Invite teammates.** If the user mentions teammates, run the
|
|
48
|
+
`/edgegate-invite-member` sub-flow or call `edgegate_invite_member`
|
|
49
|
+
directly per teammate. Roles: `owner` (full control, billing), `admin`
|
|
50
|
+
(pipelines + runs, no billing or workspace delete), `viewer` (read-only).
|
|
51
|
+
|
|
52
|
+
5. **Confirm + suggest next.** Recap what's set up:
|
|
53
|
+
- workspace name + id
|
|
54
|
+
- AI Hub: connected (token `****xxxx`)
|
|
55
|
+
- API keys: how many active
|
|
56
|
+
- members: count + roles
|
|
57
|
+
|
|
58
|
+
Then suggest the next concrete action:
|
|
59
|
+
- "Import a model from HuggingFace: `edgegate_import_huggingface_model`"
|
|
60
|
+
- "Create the first regression pipeline: `edgegate_create_pipeline`"
|
|
61
|
+
|
|
62
|
+
## Failure modes
|
|
63
|
+
|
|
64
|
+
- **Create workspace → 403 plan_limit_exceeded.** They've hit their plan's
|
|
65
|
+
workspace cap. Direct them to <https://edgegate.frozo.ai/pricing> to
|
|
66
|
+
upgrade, or to remove an unused workspace via the dashboard first.
|
|
67
|
+
- **Connect AI Hub → 401 from Hub.** The token they pasted is wrong or
|
|
68
|
+
revoked. Send them back to
|
|
69
|
+
<https://app.aihub.qualcomm.com/account/api-token> for a fresh one.
|
|
70
|
+
- **Create API key → 402.** Their plan doesn't include API access. Pro tier
|
|
71
|
+
or above is required; direct them to pricing.
|
|
72
|
+
- **Invite member → 404.** The email doesn't belong to an existing EdgeGate
|
|
73
|
+
account. v1 doesn't send invitation emails — the teammate has to register
|
|
74
|
+
first at <https://edgegate.frozo.ai/register>.
|