@muxoai/sdk 1.2.3 → 1.3.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/.agents/plugins/marketplace.json +22 -0
- package/.claude-plugin/marketplace.json +17 -0
- package/.codex/config.toml +5 -0
- package/ARCHITECTURE.md +111 -0
- package/README.md +21 -12
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +894 -0
- package/dist/config.d.ts +20 -0
- package/dist/config.js +89 -0
- package/dist/engine.d.ts +156 -0
- package/dist/engine.js +876 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +7 -0
- package/dist/mcp.d.ts +45 -0
- package/dist/mcp.js +914 -0
- package/dist/nl.d.ts +34 -0
- package/dist/nl.js +577 -0
- package/dist/providers/composio-instant.d.ts +14 -0
- package/dist/providers/composio-instant.js +814 -0
- package/dist/providers/composio-sdk.d.ts +41 -0
- package/dist/providers/composio-sdk.js +572 -0
- package/dist/providers/microsoft-governance.d.ts +66 -0
- package/dist/providers/microsoft-governance.js +415 -0
- package/dist/providers/stripe-billing.d.ts +41 -0
- package/dist/providers/stripe-billing.js +372 -0
- package/dist/providers/stripe-projects.d.ts +53 -0
- package/dist/providers/stripe-projects.js +636 -0
- package/dist/providers/supermemory.d.ts +64 -0
- package/dist/providers/supermemory.js +224 -0
- package/{index.d.ts → dist/sdk.d.ts} +77 -1
- package/dist/sdk.js +270 -0
- package/dist/server.d.ts +10 -0
- package/dist/server.js +1277 -0
- package/dist/store.d.ts +216 -0
- package/dist/store.js +1449 -0
- package/dist/types.d.ts +285 -0
- package/dist/types.js +1 -0
- package/dist/ui/console-html.d.ts +2 -0
- package/dist/ui/console-html.js +2343 -0
- package/package.json +66 -6
- package/plugins/muxo/.app.json +8 -0
- package/plugins/muxo/.claude-plugin/plugin.json +16 -0
- package/plugins/muxo/.codex-plugin/plugin.json +55 -0
- package/plugins/muxo/.mcp.json +40 -0
- package/plugins/muxo/assets/logo.png +0 -0
- package/plugins/muxo/assets/logo.svg +6 -0
- package/plugins/muxo/hooks/hooks.json +27 -0
- package/plugins/muxo/hooks/session-start.sh +85 -0
- package/plugins/muxo/hooks/user-prompt-submit.sh +45 -0
- package/plugins/muxo/mcp.json +38 -0
- package/plugins/muxo/plugin.json +59 -0
- package/plugins/muxo/skills/muxo/SKILL.md +25 -0
- package/plugins/muxo/skills/muxo/references/cli.md +57 -0
- package/plugins/muxo/skills/muxo/references/mcp.md +25 -0
- package/plugins/muxo/skills/setup/SKILL.md +28 -0
- package/src/catalogues/stripe-projects-catalog.json +9832 -0
- package/vendor/microsoft-governance/README.md +363 -0
- package/vendor/microsoft-governance/dist/audit.d.ts +26 -0
- package/vendor/microsoft-governance/dist/audit.d.ts.map +1 -0
- package/vendor/microsoft-governance/dist/audit.js +107 -0
- package/vendor/microsoft-governance/dist/audit.js.map +1 -0
- package/vendor/microsoft-governance/dist/cascade-containment.d.ts +84 -0
- package/vendor/microsoft-governance/dist/cascade-containment.d.ts.map +1 -0
- package/vendor/microsoft-governance/dist/cascade-containment.js +387 -0
- package/vendor/microsoft-governance/dist/cascade-containment.js.map +1 -0
- package/vendor/microsoft-governance/dist/client.d.ts +34 -0
- package/vendor/microsoft-governance/dist/client.d.ts.map +1 -0
- package/vendor/microsoft-governance/dist/client.js +112 -0
- package/vendor/microsoft-governance/dist/client.js.map +1 -0
- package/vendor/microsoft-governance/dist/context-poisoning.d.ts +58 -0
- package/vendor/microsoft-governance/dist/context-poisoning.d.ts.map +1 -0
- package/vendor/microsoft-governance/dist/context-poisoning.js +410 -0
- package/vendor/microsoft-governance/dist/context-poisoning.js.map +1 -0
- package/vendor/microsoft-governance/dist/credential-vault.d.ts +213 -0
- package/vendor/microsoft-governance/dist/credential-vault.d.ts.map +1 -0
- package/vendor/microsoft-governance/dist/credential-vault.js +567 -0
- package/vendor/microsoft-governance/dist/credential-vault.js.map +1 -0
- package/vendor/microsoft-governance/dist/discovery.d.ts +80 -0
- package/vendor/microsoft-governance/dist/discovery.d.ts.map +1 -0
- package/vendor/microsoft-governance/dist/discovery.js +404 -0
- package/vendor/microsoft-governance/dist/discovery.js.map +1 -0
- package/vendor/microsoft-governance/dist/encryption/channel.d.ts +29 -0
- package/vendor/microsoft-governance/dist/encryption/channel.d.ts.map +1 -0
- package/vendor/microsoft-governance/dist/encryption/channel.js +78 -0
- package/vendor/microsoft-governance/dist/encryption/channel.js.map +1 -0
- package/vendor/microsoft-governance/dist/encryption/index.d.ts +9 -0
- package/vendor/microsoft-governance/dist/encryption/index.d.ts.map +1 -0
- package/vendor/microsoft-governance/dist/encryption/index.js +23 -0
- package/vendor/microsoft-governance/dist/encryption/index.js.map +1 -0
- package/vendor/microsoft-governance/dist/encryption/mesh-client.d.ts +267 -0
- package/vendor/microsoft-governance/dist/encryption/mesh-client.d.ts.map +1 -0
- package/vendor/microsoft-governance/dist/encryption/mesh-client.js +1001 -0
- package/vendor/microsoft-governance/dist/encryption/mesh-client.js.map +1 -0
- package/vendor/microsoft-governance/dist/encryption/ratchet.d.ts +38 -0
- package/vendor/microsoft-governance/dist/encryption/ratchet.d.ts.map +1 -0
- package/vendor/microsoft-governance/dist/encryption/ratchet.js +223 -0
- package/vendor/microsoft-governance/dist/encryption/ratchet.js.map +1 -0
- package/vendor/microsoft-governance/dist/encryption/registry-client.d.ts +136 -0
- package/vendor/microsoft-governance/dist/encryption/registry-client.d.ts.map +1 -0
- package/vendor/microsoft-governance/dist/encryption/registry-client.js +369 -0
- package/vendor/microsoft-governance/dist/encryption/registry-client.js.map +1 -0
- package/vendor/microsoft-governance/dist/encryption/x3dh.d.ts +80 -0
- package/vendor/microsoft-governance/dist/encryption/x3dh.d.ts.map +1 -0
- package/vendor/microsoft-governance/dist/encryption/x3dh.js +238 -0
- package/vendor/microsoft-governance/dist/encryption/x3dh.js.map +1 -0
- package/vendor/microsoft-governance/dist/framework-adapter.d.ts +63 -0
- package/vendor/microsoft-governance/dist/framework-adapter.d.ts.map +1 -0
- package/vendor/microsoft-governance/dist/framework-adapter.js +253 -0
- package/vendor/microsoft-governance/dist/framework-adapter.js.map +1 -0
- package/vendor/microsoft-governance/dist/identity.d.ts +124 -0
- package/vendor/microsoft-governance/dist/identity.d.ts.map +1 -0
- package/vendor/microsoft-governance/dist/identity.js +446 -0
- package/vendor/microsoft-governance/dist/identity.js.map +1 -0
- package/vendor/microsoft-governance/dist/index.d.ts +39 -0
- package/vendor/microsoft-governance/dist/index.d.ts.map +1 -0
- package/vendor/microsoft-governance/dist/index.js +95 -0
- package/vendor/microsoft-governance/dist/index.js.map +1 -0
- package/vendor/microsoft-governance/dist/kill-switch.d.ts +22 -0
- package/vendor/microsoft-governance/dist/kill-switch.d.ts.map +1 -0
- package/vendor/microsoft-governance/dist/kill-switch.js +60 -0
- package/vendor/microsoft-governance/dist/kill-switch.js.map +1 -0
- package/vendor/microsoft-governance/dist/lifecycle.d.ts +50 -0
- package/vendor/microsoft-governance/dist/lifecycle.d.ts.map +1 -0
- package/vendor/microsoft-governance/dist/lifecycle.js +113 -0
- package/vendor/microsoft-governance/dist/lifecycle.js.map +1 -0
- package/vendor/microsoft-governance/dist/mcp.d.ts +41 -0
- package/vendor/microsoft-governance/dist/mcp.d.ts.map +1 -0
- package/vendor/microsoft-governance/dist/mcp.js +233 -0
- package/vendor/microsoft-governance/dist/mcp.js.map +1 -0
- package/vendor/microsoft-governance/dist/metrics.d.ts +123 -0
- package/vendor/microsoft-governance/dist/metrics.d.ts.map +1 -0
- package/vendor/microsoft-governance/dist/metrics.js +289 -0
- package/vendor/microsoft-governance/dist/metrics.js.map +1 -0
- package/vendor/microsoft-governance/dist/oci-manifest.d.ts +49 -0
- package/vendor/microsoft-governance/dist/oci-manifest.d.ts.map +1 -0
- package/vendor/microsoft-governance/dist/oci-manifest.js +182 -0
- package/vendor/microsoft-governance/dist/oci-manifest.js.map +1 -0
- package/vendor/microsoft-governance/dist/policy-backends/cedar.d.ts +15 -0
- package/vendor/microsoft-governance/dist/policy-backends/cedar.d.ts.map +1 -0
- package/vendor/microsoft-governance/dist/policy-backends/cedar.js +88 -0
- package/vendor/microsoft-governance/dist/policy-backends/cedar.js.map +1 -0
- package/vendor/microsoft-governance/dist/policy-backends/opa.d.ts +17 -0
- package/vendor/microsoft-governance/dist/policy-backends/opa.d.ts.map +1 -0
- package/vendor/microsoft-governance/dist/policy-backends/opa.js +74 -0
- package/vendor/microsoft-governance/dist/policy-backends/opa.js.map +1 -0
- package/vendor/microsoft-governance/dist/policy.d.ts +77 -0
- package/vendor/microsoft-governance/dist/policy.d.ts.map +1 -0
- package/vendor/microsoft-governance/dist/policy.js +760 -0
- package/vendor/microsoft-governance/dist/policy.js.map +1 -0
- package/vendor/microsoft-governance/dist/prompt-defense.d.ts +37 -0
- package/vendor/microsoft-governance/dist/prompt-defense.d.ts.map +1 -0
- package/vendor/microsoft-governance/dist/prompt-defense.js +229 -0
- package/vendor/microsoft-governance/dist/prompt-defense.js.map +1 -0
- package/vendor/microsoft-governance/dist/protocol-facets.d.ts +87 -0
- package/vendor/microsoft-governance/dist/protocol-facets.d.ts.map +1 -0
- package/vendor/microsoft-governance/dist/protocol-facets.js +728 -0
- package/vendor/microsoft-governance/dist/protocol-facets.js.map +1 -0
- package/vendor/microsoft-governance/dist/rings.d.ts +17 -0
- package/vendor/microsoft-governance/dist/rings.d.ts.map +1 -0
- package/vendor/microsoft-governance/dist/rings.js +61 -0
- package/vendor/microsoft-governance/dist/rings.js.map +1 -0
- package/vendor/microsoft-governance/dist/sandbox.d.ts +61 -0
- package/vendor/microsoft-governance/dist/sandbox.d.ts.map +1 -0
- package/vendor/microsoft-governance/dist/sandbox.js +199 -0
- package/vendor/microsoft-governance/dist/sandbox.js.map +1 -0
- package/vendor/microsoft-governance/dist/surface-parity.d.ts +45 -0
- package/vendor/microsoft-governance/dist/surface-parity.d.ts.map +1 -0
- package/vendor/microsoft-governance/dist/surface-parity.js +216 -0
- package/vendor/microsoft-governance/dist/surface-parity.js.map +1 -0
- package/vendor/microsoft-governance/dist/trust.d.ts +28 -0
- package/vendor/microsoft-governance/dist/trust.d.ts.map +1 -0
- package/vendor/microsoft-governance/dist/trust.js +209 -0
- package/vendor/microsoft-governance/dist/trust.js.map +1 -0
- package/vendor/microsoft-governance/dist/types.d.ts +422 -0
- package/vendor/microsoft-governance/dist/types.d.ts.map +1 -0
- package/vendor/microsoft-governance/dist/types.js +29 -0
- package/vendor/microsoft-governance/dist/types.js.map +1 -0
- package/vendor/microsoft-governance/dist/verify.d.ts +135 -0
- package/vendor/microsoft-governance/dist/verify.d.ts.map +1 -0
- package/vendor/microsoft-governance/dist/verify.js +356 -0
- package/vendor/microsoft-governance/dist/verify.js.map +1 -0
- package/vendor/microsoft-governance/package.json +64 -0
- package/index.js +0 -1
package/package.json
CHANGED
|
@@ -1,20 +1,80 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@muxoai/sdk",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "Muxo
|
|
3
|
+
"version": "1.3.0",
|
|
4
|
+
"description": "Muxo — Unified Execution, Provisioning & Governance Platform over Composio, Stripe Projects, Microsoft Agent Governance & Supermemory",
|
|
5
|
+
"private": false,
|
|
5
6
|
"license": "MIT",
|
|
6
7
|
"homepage": "https://muxo.ai",
|
|
7
8
|
"repository": {
|
|
8
9
|
"type": "git",
|
|
9
10
|
"url": "git+https://github.com/muxoai/muxo.git"
|
|
10
11
|
},
|
|
12
|
+
"keywords": [
|
|
13
|
+
"muxo",
|
|
14
|
+
"agents",
|
|
15
|
+
"mcp",
|
|
16
|
+
"cli",
|
|
17
|
+
"sdk",
|
|
18
|
+
"composio",
|
|
19
|
+
"stripe",
|
|
20
|
+
"governance",
|
|
21
|
+
"supermemory"
|
|
22
|
+
],
|
|
11
23
|
"publishConfig": {
|
|
12
24
|
"access": "public"
|
|
13
25
|
},
|
|
14
26
|
"type": "module",
|
|
15
|
-
"main": "./index.js",
|
|
16
|
-
"types": "./index.d.ts",
|
|
27
|
+
"main": "./dist/index.js",
|
|
28
|
+
"types": "./dist/index.d.ts",
|
|
29
|
+
"exports": {
|
|
30
|
+
".": {
|
|
31
|
+
"types": "./dist/index.d.ts",
|
|
32
|
+
"default": "./dist/index.js"
|
|
33
|
+
},
|
|
34
|
+
"./sdk": {
|
|
35
|
+
"types": "./dist/sdk.d.ts",
|
|
36
|
+
"default": "./dist/sdk.js"
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"bin": {
|
|
40
|
+
"muxo": "dist/cli.js"
|
|
41
|
+
},
|
|
42
|
+
"files": [
|
|
43
|
+
"dist",
|
|
44
|
+
"src/catalogues",
|
|
45
|
+
"vendor/microsoft-governance/package.json",
|
|
46
|
+
"vendor/microsoft-governance/dist",
|
|
47
|
+
"plugins",
|
|
48
|
+
".agents",
|
|
49
|
+
".claude-plugin",
|
|
50
|
+
".codex",
|
|
51
|
+
"README.md",
|
|
52
|
+
"ARCHITECTURE.md"
|
|
53
|
+
],
|
|
54
|
+
"scripts": {
|
|
55
|
+
"build": "tsc",
|
|
56
|
+
"start": "node --no-warnings dist/server.js",
|
|
57
|
+
"dev": "tsx watch src/server.ts",
|
|
58
|
+
"cli": "tsx src/cli.ts",
|
|
59
|
+
"mcp": "tsx src/cli.ts mcp",
|
|
60
|
+
"test": "node --no-warnings --import tsx --test tests/*.test.ts"
|
|
61
|
+
},
|
|
62
|
+
"engines": {
|
|
63
|
+
"node": ">=22.0.0"
|
|
64
|
+
},
|
|
17
65
|
"dependencies": {
|
|
18
|
-
"@
|
|
66
|
+
"@composio/core": "^0.6.4",
|
|
67
|
+
"@noble/ciphers": "^2.0.1",
|
|
68
|
+
"@noble/curves": "^1.8.1",
|
|
69
|
+
"@noble/ed25519": "^2.2.3",
|
|
70
|
+
"@noble/hashes": "^1.7.1",
|
|
71
|
+
"js-yaml": "^4.1.1",
|
|
72
|
+
"supermemory": "^5.0.2",
|
|
73
|
+
"zod": "^3.24.2"
|
|
74
|
+
},
|
|
75
|
+
"devDependencies": {
|
|
76
|
+
"@types/node": "^22.13.0",
|
|
77
|
+
"tsx": "^4.19.3",
|
|
78
|
+
"typescript": "^5.8.2"
|
|
19
79
|
}
|
|
20
|
-
}
|
|
80
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "muxo",
|
|
3
|
+
"version": "1.2.3",
|
|
4
|
+
"description": "Governed agent execution across 1,000+ Connected Apps (managed OAuth handoff), Instant Tools (search, scrape, crawl, SEO audit), live Cloud Infrastructure provisioning, Supermemory v5 recall, and Microsoft Agent Governance Ed25519 receipts.",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Muxo",
|
|
7
|
+
"email": "founders@muxo.ai",
|
|
8
|
+
"url": "https://muxo.ai"
|
|
9
|
+
},
|
|
10
|
+
"homepage": "https://muxo.ai",
|
|
11
|
+
"repository": "https://github.com/muxo-ai/muxo",
|
|
12
|
+
"license": "MIT",
|
|
13
|
+
"skills": "./skills/",
|
|
14
|
+
"hooks": "./hooks/hooks.json",
|
|
15
|
+
"mcpServers": "./.mcp.json"
|
|
16
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "muxo",
|
|
3
|
+
"version": "1.2.3",
|
|
4
|
+
"description": "Your agent decides what to do — Muxo governs, provisions, remembers, and executes it. Unified access to 1,000+ SaaS apps (managed OAuth handoff), Instant Tools (search, scrape, crawl, SEO audit), live Cloud Infrastructure provisioning (Postgres, Redis, SQLite, Storage), Supermemory v5 contextual recall, and Ed25519-signed Microsoft Agent Governance receipts through the hosted app or local CLI.",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Muxo",
|
|
7
|
+
"email": "founders@muxo.ai",
|
|
8
|
+
"url": "https://muxo.ai"
|
|
9
|
+
},
|
|
10
|
+
"homepage": "https://muxo.ai",
|
|
11
|
+
"repository": "https://github.com/muxo-ai/muxo",
|
|
12
|
+
"license": "MIT",
|
|
13
|
+
"keywords": [
|
|
14
|
+
"muxo",
|
|
15
|
+
"openai",
|
|
16
|
+
"chatgpt",
|
|
17
|
+
"codex",
|
|
18
|
+
"app",
|
|
19
|
+
"mcp",
|
|
20
|
+
"cli",
|
|
21
|
+
"oauth",
|
|
22
|
+
"infrastructure",
|
|
23
|
+
"governance",
|
|
24
|
+
"supermemory",
|
|
25
|
+
"integrations",
|
|
26
|
+
"automation",
|
|
27
|
+
"productivity"
|
|
28
|
+
],
|
|
29
|
+
"skills": "./skills/",
|
|
30
|
+
"mcpServers": "./.mcp.json",
|
|
31
|
+
"apps": "./.app.json",
|
|
32
|
+
"onboardingSkill": "./skills/setup/SKILL.md",
|
|
33
|
+
"interface": {
|
|
34
|
+
"displayName": "Muxo",
|
|
35
|
+
"shortDescription": "Governed SaaS apps, cloud infra, instant web/SEO tools & memory",
|
|
36
|
+
"longDescription": "Discover, plan, authorize via OAuth handoff, and execute governed actions across 1,000+ Connected Apps (GitHub, Gmail, Slack, Notion, Linear), Instant Tools (web search, scrape, multi-page crawl, technical SEO audit), and live Cloud Infrastructure (Neon Postgres, Turso SQLite, Supabase, Cloudflare, Vercel) with Supermemory v5 workspace recall and Ed25519 cryptographic receipts.",
|
|
37
|
+
"developerName": "Muxo",
|
|
38
|
+
"category": "Productivity",
|
|
39
|
+
"capabilities": [
|
|
40
|
+
"Interactive",
|
|
41
|
+
"Write"
|
|
42
|
+
],
|
|
43
|
+
"websiteURL": "https://muxo.ai",
|
|
44
|
+
"privacyPolicyURL": "https://muxo.ai/privacy",
|
|
45
|
+
"termsOfServiceURL": "https://muxo.ai/terms",
|
|
46
|
+
"defaultPrompt": [
|
|
47
|
+
"Audit https://muxo.ai for technical SEO and crawl its top pages.",
|
|
48
|
+
"Connect my GitHub or Gmail account and open a tracking issue for our next release.",
|
|
49
|
+
"Provision a free Turso SQLite database and pull the credentials into .env.muxo."
|
|
50
|
+
],
|
|
51
|
+
"composerIcon": "./assets/logo.png",
|
|
52
|
+
"logo": "./assets/logo.png",
|
|
53
|
+
"brandColor": "#6366F1"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://agent-plugins.org/schemas/1.0.0/mcp.schema.json",
|
|
3
|
+
"mcpServers": {
|
|
4
|
+
"muxo": {
|
|
5
|
+
"type": "streamable-http",
|
|
6
|
+
"url": "https://api.muxo.ai/mcp",
|
|
7
|
+
"command": "npx",
|
|
8
|
+
"args": ["-y", "@muxoai/platform@latest", "mcp"],
|
|
9
|
+
"oauth": {
|
|
10
|
+
"clientId": "muxo-openai-plugin",
|
|
11
|
+
"callbackPort": 3118,
|
|
12
|
+
"scopes": [
|
|
13
|
+
"muxo:mcp",
|
|
14
|
+
"muxo:read",
|
|
15
|
+
"muxo:execute",
|
|
16
|
+
"muxo:provision"
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
"extensions": {
|
|
20
|
+
"com.openai": {
|
|
21
|
+
"auth": {
|
|
22
|
+
"type": "mixed",
|
|
23
|
+
"client": {
|
|
24
|
+
"mode": "dcr"
|
|
25
|
+
},
|
|
26
|
+
"authorizationUrl": "https://api.muxo.ai/oauth/authorize",
|
|
27
|
+
"tokenUrl": "https://api.muxo.ai/oauth/token",
|
|
28
|
+
"registrationUrl": "https://api.muxo.ai/oauth/register",
|
|
29
|
+
"baseScopes": [
|
|
30
|
+
"muxo:mcp",
|
|
31
|
+
"muxo:read",
|
|
32
|
+
"muxo:execute",
|
|
33
|
+
"muxo:provision"
|
|
34
|
+
]
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" width="128" height="128">
|
|
2
|
+
<rect width="128" height="128" rx="28" fill="#090A0F"/>
|
|
3
|
+
<rect x="8" y="8" width="112" height="112" rx="22" fill="none" stroke="#6366F1" stroke-width="4"/>
|
|
4
|
+
<path d="M32 88V40L64 68L96 40V88" fill="none" stroke="#F4F4F6" stroke-width="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
5
|
+
<circle cx="64" cy="92" r="7" fill="#34D399"/>
|
|
6
|
+
</svg>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hooks": {
|
|
3
|
+
"SessionStart": [
|
|
4
|
+
{
|
|
5
|
+
"matcher": "startup|resume|clear|compact",
|
|
6
|
+
"hooks": [
|
|
7
|
+
{
|
|
8
|
+
"type": "command",
|
|
9
|
+
"command": "\"${PLUGIN_ROOT}/hooks/session-start.sh\"",
|
|
10
|
+
"timeout": 8
|
|
11
|
+
}
|
|
12
|
+
]
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"UserPromptSubmit": [
|
|
16
|
+
{
|
|
17
|
+
"hooks": [
|
|
18
|
+
{
|
|
19
|
+
"type": "command",
|
|
20
|
+
"command": "\"${PLUGIN_ROOT}/hooks/user-prompt-submit.sh\"",
|
|
21
|
+
"timeout": 5
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
}
|
|
25
|
+
]
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -u
|
|
3
|
+
|
|
4
|
+
cat >/dev/null 2>&1 || true
|
|
5
|
+
|
|
6
|
+
CACHE="${TMPDIR:-/tmp}/muxo-plugin-toolkits.cache"
|
|
7
|
+
REPO_CLI="$(cd "$(dirname "$0")/../../.." 2>/dev/null && pwd)/dist/cli.js"
|
|
8
|
+
|
|
9
|
+
run_muxo() {
|
|
10
|
+
if [ -n "${MUXO_CLI_BIN:-}" ] && [ -x "${MUXO_CLI_BIN}" ]; then
|
|
11
|
+
"${MUXO_CLI_BIN}" "$@"
|
|
12
|
+
elif [ -f "$REPO_CLI" ] && command -v node >/dev/null 2>&1; then
|
|
13
|
+
node "$REPO_CLI" "$@"
|
|
14
|
+
elif command -v muxo >/dev/null 2>&1; then
|
|
15
|
+
muxo "$@"
|
|
16
|
+
else
|
|
17
|
+
return 127
|
|
18
|
+
fi
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
cache_pid=""
|
|
22
|
+
if (command -v muxo >/dev/null 2>&1 || [ -f "$REPO_CLI" ]); then
|
|
23
|
+
(
|
|
24
|
+
tmp="$(mktemp "${CACHE}.XXXXXX" 2>/dev/null)" || exit 0
|
|
25
|
+
printf '%s\n' \
|
|
26
|
+
github gmail slack notion linear jira hubspot calendar stripe \
|
|
27
|
+
neon supabase turso upstash cloudflare vercel prisma mongodb \
|
|
28
|
+
hackernews dns supermemory governance >"$tmp" 2>/dev/null
|
|
29
|
+
if [ -s "$tmp" ]; then
|
|
30
|
+
mv -f "$tmp" "$CACHE" 2>/dev/null || rm -f "$tmp" 2>/dev/null
|
|
31
|
+
else
|
|
32
|
+
rm -f "$tmp" 2>/dev/null
|
|
33
|
+
fi
|
|
34
|
+
) &
|
|
35
|
+
cache_pid=$!
|
|
36
|
+
fi
|
|
37
|
+
|
|
38
|
+
# Detached 24h self-update check for Codex marketplace installs
|
|
39
|
+
SELF_UPDATE_STATE="${HOME:-}/.muxo/plugin-codex-self-update.json"
|
|
40
|
+
if [ -n "${HOME:-}" ] && command -v codex >/dev/null 2>&1; then
|
|
41
|
+
now="$(date +%s)"
|
|
42
|
+
last="$(sed -n 's/.*"lastAttempt"[[:space:]]*:[[:space:]]*\([0-9]\{1,\}\).*/\1/p' "$SELF_UPDATE_STATE" 2>/dev/null | head -n 1)"
|
|
43
|
+
if [ -z "$last" ] || [ "$((now - last))" -ge 86400 ]; then
|
|
44
|
+
own_version="$(sed -n 's/.*"version"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p' \
|
|
45
|
+
"$(dirname "$0")/../.codex-plugin/plugin.json" 2>/dev/null | head -n 1)"
|
|
46
|
+
(
|
|
47
|
+
mkdir -p "${SELF_UPDATE_STATE%/*}" || exit 0
|
|
48
|
+
printf '{"lastAttempt":%s,"lastResult":"running"}\n' "$now" >"$SELF_UPDATE_STATE" || exit 0
|
|
49
|
+
result="error"
|
|
50
|
+
if codex plugin marketplace upgrade muxo; then
|
|
51
|
+
added="$(codex plugin add muxo@muxo --json 2>/dev/null \
|
|
52
|
+
| sed -n 's/.*"version"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p' | head -n 1)"
|
|
53
|
+
if [ -n "$added" ]; then
|
|
54
|
+
if [ "$added" = "$own_version" ]; then result="current"; else result="updated"; fi
|
|
55
|
+
fi
|
|
56
|
+
fi
|
|
57
|
+
printf '{"lastAttempt":%s,"lastResult":"%s"}\n' "$now" "$result" >"$SELF_UPDATE_STATE"
|
|
58
|
+
) >/dev/null 2>&1 </dev/null &
|
|
59
|
+
fi
|
|
60
|
+
fi
|
|
61
|
+
|
|
62
|
+
if ! command -v muxo >/dev/null 2>&1 && [ ! -f "$REPO_CLI" ]; then
|
|
63
|
+
cli_status="The local Muxo CLI is not installed. Run \`npm install -g muxo-platform && muxo login\` to enable local CLI workflows. Until it is available, use callable hosted Muxo MCP tools."
|
|
64
|
+
else
|
|
65
|
+
cli_status="The local Muxo CLI is available but is not signed in; run \`muxo login\` before choosing it."
|
|
66
|
+
if whoami_output="$(run_muxo whoami 2>&1)" \
|
|
67
|
+
&& [ -n "$(printf '%s' "$whoami_output" | tr -d '[:space:]')" ] \
|
|
68
|
+
&& ! printf '%s' "$whoami_output" | grep -Eiq '"authenticated"[[:space:]]*:[[:space:]]*false|not[[:space:]-]+logged[[:space:]-]+in'; then
|
|
69
|
+
cli_status="The local Muxo CLI is available and signed in (governed Ed25519 identity + Supermemory v5 recall active)."
|
|
70
|
+
fi
|
|
71
|
+
fi
|
|
72
|
+
|
|
73
|
+
[ -n "$cache_pid" ] && wait "$cache_pid" 2>/dev/null
|
|
74
|
+
|
|
75
|
+
line="This is a terminal/Codex/Droid session with the Muxo plugin. Prefer the local Muxo CLI (\`muxo\`) for governed SaaS actions (\`app.*\`), zero-auth Instant tools (\`instant.*\`), live cloud infrastructure provisioning (\`resource.*\`), OAuth handoff (\`muxo link <provider> --wait\`), and \`.env\` credential pulls (\`muxo env pull\`). ${cli_status} Use callable hosted Muxo MCP tools when the CLI is unavailable or the user explicitly requests MCP. Never automatically replay an uncertain write or provisioning action through the other surface."
|
|
76
|
+
|
|
77
|
+
if command -v jq >/dev/null 2>&1; then
|
|
78
|
+
jq -n --arg c "$line" \
|
|
79
|
+
'{hookSpecificOutput:{hookEventName:"SessionStart",additionalContext:$c}}'
|
|
80
|
+
else
|
|
81
|
+
esc="$(printf '%s' "$line" | sed -e 's/\\/\\\\/g' -e 's/"/\\"/g')"
|
|
82
|
+
printf '{"hookSpecificOutput":{"hookEventName":"SessionStart","additionalContext":"%s"}}\n' "$esc"
|
|
83
|
+
fi
|
|
84
|
+
|
|
85
|
+
exit 0
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -u
|
|
3
|
+
|
|
4
|
+
CACHE="${TMPDIR:-/tmp}/muxo-plugin-toolkits.cache"
|
|
5
|
+
[ -f "$CACHE" ] && [ -s "$CACHE" ] || exit 0
|
|
6
|
+
|
|
7
|
+
REPO_CLI="$(cd "$(dirname "$0")/../../.." 2>/dev/null && pwd)/dist/cli.js"
|
|
8
|
+
if ! command -v muxo >/dev/null 2>&1 && [ ! -f "$REPO_CLI" ]; then
|
|
9
|
+
exit 0
|
|
10
|
+
fi
|
|
11
|
+
|
|
12
|
+
payload="$(cat)"
|
|
13
|
+
if command -v jq >/dev/null 2>&1; then
|
|
14
|
+
prompt="$(printf '%s' "$payload" | jq -r '.prompt // empty' 2>/dev/null)"
|
|
15
|
+
else
|
|
16
|
+
prompt=""
|
|
17
|
+
fi
|
|
18
|
+
[ -n "$prompt" ] || prompt="$payload"
|
|
19
|
+
|
|
20
|
+
norm="$(printf '%s' "$prompt" \
|
|
21
|
+
| tr '[:upper:]' '[:lower:]' \
|
|
22
|
+
| tr -c 'a-z0-9' ' ')"
|
|
23
|
+
norm=" $norm "
|
|
24
|
+
|
|
25
|
+
matched=0
|
|
26
|
+
while IFS= read -r kw; do
|
|
27
|
+
[ -n "$kw" ] || continue
|
|
28
|
+
case "$norm" in
|
|
29
|
+
*" $kw "*) matched=1; break ;;
|
|
30
|
+
esac
|
|
31
|
+
done <"$CACHE"
|
|
32
|
+
|
|
33
|
+
[ "$matched" -eq 1 ] || exit 0
|
|
34
|
+
|
|
35
|
+
line="You mentioned a SaaS app, cloud infrastructure provider, or memory/governance operation that Muxo governs. Prefer the local Muxo CLI (\`muxo search\`, \`muxo link <provider> --wait\`, \`muxo exec\`, \`muxo env pull\`) in terminal sessions, or use callable hosted Muxo MCP tools (\`search_tools\`, \`plan_action\`, \`start_connection\`, \`wait_for_connection\`, \`execute_*\`) when in hosted mode. Never replay an uncertain write or provisioning call through the other surface."
|
|
36
|
+
|
|
37
|
+
if command -v jq >/dev/null 2>&1; then
|
|
38
|
+
jq -n --arg c "$line" \
|
|
39
|
+
'{hookSpecificOutput:{hookEventName:"UserPromptSubmit",additionalContext:$c}}'
|
|
40
|
+
else
|
|
41
|
+
esc="$(printf '%s' "$line" | sed -e 's/\\/\\\\/g' -e 's/"/\\"/g')"
|
|
42
|
+
printf '{"hookSpecificOutput":{"hookEventName":"UserPromptSubmit","additionalContext":"%s"}}\n' "$esc"
|
|
43
|
+
fi
|
|
44
|
+
|
|
45
|
+
exit 0
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://agent-plugins.org/schemas/1.0.0/mcp.schema.json",
|
|
3
|
+
"mcpServers": {
|
|
4
|
+
"muxo": {
|
|
5
|
+
"type": "streamable-http",
|
|
6
|
+
"url": "https://api.muxo.ai/mcp",
|
|
7
|
+
"oauth": {
|
|
8
|
+
"clientId": "muxo-openai-plugin",
|
|
9
|
+
"callbackPort": 3118,
|
|
10
|
+
"scopes": [
|
|
11
|
+
"muxo:mcp",
|
|
12
|
+
"muxo:read",
|
|
13
|
+
"muxo:execute",
|
|
14
|
+
"muxo:provision"
|
|
15
|
+
]
|
|
16
|
+
},
|
|
17
|
+
"extensions": {
|
|
18
|
+
"com.openai": {
|
|
19
|
+
"auth": {
|
|
20
|
+
"type": "mixed",
|
|
21
|
+
"client": {
|
|
22
|
+
"mode": "dcr"
|
|
23
|
+
},
|
|
24
|
+
"authorizationUrl": "https://api.muxo.ai/oauth/authorize",
|
|
25
|
+
"tokenUrl": "https://api.muxo.ai/oauth/token",
|
|
26
|
+
"registrationUrl": "https://api.muxo.ai/oauth/register",
|
|
27
|
+
"baseScopes": [
|
|
28
|
+
"muxo:mcp",
|
|
29
|
+
"muxo:read",
|
|
30
|
+
"muxo:execute",
|
|
31
|
+
"muxo:provision"
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
|
|
3
|
+
"name": "muxo",
|
|
4
|
+
"version": "1.2.3",
|
|
5
|
+
"description": "Your agent decides what to do — Muxo governs, provisions, remembers, and executes it. Unified access to 1,000+ SaaS apps (managed OAuth handoff), Instant Tools (search, scrape, crawl, SEO audit), live Cloud Infrastructure provisioning (Postgres, Redis, SQLite, Storage), Supermemory v5 contextual recall, and Ed25519-signed Microsoft Agent Governance receipts.",
|
|
6
|
+
"author": {
|
|
7
|
+
"name": "Muxo",
|
|
8
|
+
"email": "founders@muxo.ai",
|
|
9
|
+
"url": "https://muxo.ai"
|
|
10
|
+
},
|
|
11
|
+
"homepage": "https://muxo.ai",
|
|
12
|
+
"repository": "https://github.com/muxo-ai/muxo",
|
|
13
|
+
"license": "MIT",
|
|
14
|
+
"keywords": [
|
|
15
|
+
"muxo",
|
|
16
|
+
"openai",
|
|
17
|
+
"chatgpt",
|
|
18
|
+
"codex",
|
|
19
|
+
"mcp",
|
|
20
|
+
"cli",
|
|
21
|
+
"oauth",
|
|
22
|
+
"infrastructure",
|
|
23
|
+
"governance",
|
|
24
|
+
"supermemory",
|
|
25
|
+
"integrations",
|
|
26
|
+
"automation",
|
|
27
|
+
"productivity"
|
|
28
|
+
],
|
|
29
|
+
"skills": "./skills/",
|
|
30
|
+
"mcpServers": "./mcp.json",
|
|
31
|
+
"extensions": {
|
|
32
|
+
"com.openai": {
|
|
33
|
+
"apps": "./.app.json",
|
|
34
|
+
"onboardingSkill": "./skills/setup/SKILL.md",
|
|
35
|
+
"interface": {
|
|
36
|
+
"displayName": "Muxo",
|
|
37
|
+
"shortDescription": "Governed SaaS apps, cloud infra, instant web/SEO tools & memory",
|
|
38
|
+
"longDescription": "Discover, plan, authorize via OAuth handoff, and execute governed actions across 1,000+ Connected Apps (GitHub, Gmail, Slack, Notion, Linear), Instant Tools (web search, scrape, multi-page crawl, technical SEO audit), and live Cloud Infrastructure (Turso SQLite, Neon Postgres, Supabase, Upstash Redis, Resend) with Supermemory v5 workspace recall and Ed25519 cryptographic receipts.",
|
|
39
|
+
"developerName": "Muxo",
|
|
40
|
+
"category": "Productivity",
|
|
41
|
+
"capabilities": [
|
|
42
|
+
"Interactive",
|
|
43
|
+
"Write"
|
|
44
|
+
],
|
|
45
|
+
"websiteURL": "https://muxo.ai",
|
|
46
|
+
"privacyPolicyURL": "https://muxo.ai/privacy",
|
|
47
|
+
"termsOfServiceURL": "https://muxo.ai/terms",
|
|
48
|
+
"defaultPrompt": [
|
|
49
|
+
"Audit https://muxo.ai for technical SEO and crawl its top pages.",
|
|
50
|
+
"Connect my Gmail or GitHub account via OAuth handoff and fetch recent items.",
|
|
51
|
+
"Provision a Turso SQLite database and store its connection secrets in the Muxo Vault."
|
|
52
|
+
],
|
|
53
|
+
"composerIcon": "./assets/logo.png",
|
|
54
|
+
"logo": "./assets/logo.png",
|
|
55
|
+
"brandColor": "#6366F1"
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: muxo
|
|
3
|
+
description: Route governed Muxo work between the hosted MCP-backed app and the local Muxo CLI. Use when a user wants to read or act on external SaaS services (GitHub, Gmail, Slack, Notion, Linear, Jira, HubSpot), run zero-OAuth Instant tools (web search, scrape, DNS, Hacker News), provision cloud infrastructure (Neon Postgres, Turso SQLite, Supabase, Cloudflare, Vercel, Prisma), recover a missing OAuth connection via handoff, recall workspace context from Supermemory v5, or verify Ed25519-signed Microsoft Agent Governance receipts.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Muxo
|
|
7
|
+
|
|
8
|
+
Choose a surface from the capabilities available in the current task, then keep the workflow on that surface unless the task itself requires the other one.
|
|
9
|
+
|
|
10
|
+
## Choose the surface
|
|
11
|
+
|
|
12
|
+
1. In a terminal, Codex, Claude Code, or Droid environment, prefer the local Muxo CLI (`muxo`) for Muxo work, especially when pulling `.env` credentials (`muxo env pull`), scripting workflows, or running interactive OAuth handoffs (`muxo link <provider> --wait`). If `muxo` is missing, explain how to install or sign in (`muxo login`) before choosing it; do not install software without user approval. Read [references/cli.md](references/cli.md) before using that surface.
|
|
13
|
+
2. In ChatGPT web/app or another environment without a usable terminal, use callable, authorized hosted Muxo MCP tools. Read [references/mcp.md](references/mcp.md) before using that surface.
|
|
14
|
+
3. If both surfaces are available in a terminal environment, use the CLI unless the user explicitly requests the hosted MCP surface or the required capability exists only there.
|
|
15
|
+
4. If neither surface is available, explain both setup paths: authorize or enable the hosted Muxo MCP server (`POST /mcp` or autonomous signup at `POST /api/v1/agents/signup`), or sign in to the CLI (`muxo login`).
|
|
16
|
+
|
|
17
|
+
Do not tell a user in ChatGPT web/app or another hosted-only environment to install the CLI before using callable hosted MCP tools.
|
|
18
|
+
|
|
19
|
+
## Execute safely across Muxo's 4 pillars
|
|
20
|
+
|
|
21
|
+
- **Discover & Inspect**: For an unknown capability across Instant Tools (`instant.*`), Connected Apps (`app.*`), or Cloud Infrastructure (`resource.*`), discover the tool first (`search_tools` / `muxo search`), inspect its schema (`inspect_tool` / `muxo inspect`), and then plan it.
|
|
22
|
+
- **External User OAuth Handoff**: When `plan_action` returns `authHandoff.required: true` (or a tool reports a missing connection), present `authHandoff.redirectUrl` to the user, poll `wait_for_connection` (or `muxo wait <provider>`), and resume the original plan once `status === "active"`.
|
|
23
|
+
- **Single-Execution & Governance**: Every mutation or provisioning call creates a governed `plan_*` evaluated by Microsoft Agent Governance (`McpSecurityScanner ──► PolicyEngine ──► AgentIdentity Ed25519 DID ──► DecisionRecord`). Execute each confirmed plan exactly once on its matching risk lane (`execute_read`, `execute_write`, `execute_admin`, `execute_financial`, `execute_provisioning`, `execute_destructive`).
|
|
24
|
+
- **Uncertain Write Boundary**: After a timeout or unclear write/provisioning result, check `get_run` or `get_receipt` before doing anything else. Never automatically retry an uncertain write through the other surface.
|
|
25
|
+
- **Secret Custody**: Provisioned infrastructure credentials are encrypted in the Muxo AES-256-GCM Vault and redacted from Supermemory v5. Never expose raw tokens, connection secrets, or authentication material in chat responses.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Local Muxo CLI
|
|
2
|
+
|
|
3
|
+
Prefer this path in terminal, Codex, Claude Code, and Droid environments when the `muxo` command is available. It supports governed SaaS actions (`app.*`), zero-OAuth Instant tools (`instant.*`), live cloud infrastructure provisioning (`resource.*`), interactive OAuth handoffs, and local `.env` credential pulls.
|
|
4
|
+
|
|
5
|
+
## Workflow
|
|
6
|
+
|
|
7
|
+
1. **Check or initialize external user authentication**:
|
|
8
|
+
```bash
|
|
9
|
+
muxo whoami
|
|
10
|
+
# Create an isolated autonomous workspace & save credentials to ~/.muxo/config.json:
|
|
11
|
+
muxo login --signup --name "MyAgent"
|
|
12
|
+
# Or sign in with an existing mk_live_* key:
|
|
13
|
+
muxo login --api-key mk_live_<your_key>
|
|
14
|
+
# Optional: generate a human owner claim link for the workspace:
|
|
15
|
+
muxo claim founder@company.com
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
2. **Discover and inspect tools across all 3 lanes**:
|
|
19
|
+
```bash
|
|
20
|
+
muxo search "github issue" --lane composio_sdk
|
|
21
|
+
muxo search "turso" --lane stripe_projects
|
|
22
|
+
muxo inspect app.github.create_issue
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
3. **External user OAuth handoff (`muxo link`)**:
|
|
26
|
+
- If a toolkit is not connected, start the OAuth handoff and optionally poll until the user completes browser authorization:
|
|
27
|
+
```bash
|
|
28
|
+
muxo link github --wait --timeout 60
|
|
29
|
+
# Or poll an existing pending connection handoff:
|
|
30
|
+
muxo wait github --timeout 30
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
4. **Plan and execute governed operations**:
|
|
34
|
+
```bash
|
|
35
|
+
# One-step governed plan + execute (pass --approve for high-risk/provisioning):
|
|
36
|
+
muxo exec instant.hackernews.top_stories --input '{"limit":5}'
|
|
37
|
+
muxo exec resource.turso.database --input '{"resource_name":"app-db"}' --approve
|
|
38
|
+
|
|
39
|
+
# Or explicit two-step plan -> approve -> run:
|
|
40
|
+
muxo plan app.github.create_issue --input '{"owner":"acme","repo":"app","title":"Bug"}'
|
|
41
|
+
muxo approve plan_<id>
|
|
42
|
+
muxo run plan_<id>
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
5. **Pull encrypted cloud infrastructure credentials into local `.env`**:
|
|
46
|
+
```bash
|
|
47
|
+
muxo env pull --out .env.muxo
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
6. **Recall Supermemory v5 context & verify Ed25519 governance receipts**:
|
|
51
|
+
```bash
|
|
52
|
+
muxo memory "database provisioning"
|
|
53
|
+
muxo governance
|
|
54
|
+
muxo receipts <rcpt_id>
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
If a write or provisioning call's result is uncertain, inspect `muxo receipts` or `muxo resources` before retrying. Do not replay an uncertain write through the hosted MCP surface.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Hosted Muxo MCP App
|
|
2
|
+
|
|
3
|
+
Use this path in ChatGPT web/app, when no usable terminal exists, or when the user explicitly requests the hosted MCP surface. The runtime's tool descriptions and schemas are the source of truth.
|
|
4
|
+
|
|
5
|
+
## Workflow
|
|
6
|
+
|
|
7
|
+
1. **Context & Memory Recall**: Call `get_run_context({ query })` when workspace facts, prior execution history (Supermemory v5), provisioned resources, or Microsoft Agent Governance status are relevant to the task.
|
|
8
|
+
2. **Discovery & Schema Inspection**:
|
|
9
|
+
- Call `search_tools({ query, lane })` across `composio_instant` (`instant.*`), `composio_sdk` (`app.*`), or `stripe_projects` (`resource.*`).
|
|
10
|
+
- Call `inspect_tool({ tool_slug })` to inspect the JSON input schema, `riskLevel`, and `creditCost`.
|
|
11
|
+
3. **Governed Planning**:
|
|
12
|
+
- Call `plan_action({ tool_slug, input, reason })` to evaluate policy, scan for prompt injection (`McpSecurityScanner`), sign an Ed25519 `DecisionRecord`, and receive `plan.id`.
|
|
13
|
+
4. **External User OAuth Handoff & Recovery**:
|
|
14
|
+
- If `plan_action` returns `authHandoff.required: true` (or a connection is missing), share `authHandoff.redirectUrl` (or call `start_connection({ provider })`) so the user can authorize in their browser.
|
|
15
|
+
- Poll `wait_for_connection({ provider, timeout_seconds: 15 })` until `connected: true` (`status: "active"`), then resume the original `plan.id`.
|
|
16
|
+
5. **Risk-Scoped Execution & Receipts**:
|
|
17
|
+
- Call the matching execution tool (`execute_read`, `execute_write`, `execute_admin`, `execute_financial`, `execute_provisioning`, or `execute_destructive`) with `{ plan_id }`.
|
|
18
|
+
- Call `get_receipt({ receipt_id })` to verify the dual HMAC-SHA256 + Ed25519 cryptographic receipt when audit proof is needed.
|
|
19
|
+
|
|
20
|
+
## Failure boundaries
|
|
21
|
+
|
|
22
|
+
- If a read fails safely, correct its inputs or select a better tool and try again.
|
|
23
|
+
- If a write or infrastructure provisioning call times out or returns an unclear result, call `get_run({ run_id })` or `get_receipt({ receipt_id })` to verify the outcome.
|
|
24
|
+
- Do not replay an uncertain hosted write through the CLI.
|
|
25
|
+
- Do not request CLI installation when the hosted MCP surface can complete the task.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: setup
|
|
3
|
+
description: Guided onboarding skill for setting up the Muxo plugin in OpenAI ChatGPT and Codex. Helps users verify workspace authorization, connect external SaaS apps via OAuth handoff, provision cloud infrastructure, or install the local Muxo CLI.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Muxo Onboarding & Setup
|
|
7
|
+
|
|
8
|
+
Welcome to **Muxo** — the unified execution, cloud provisioning, contextual memory, and governance platform for OpenAI ChatGPT and Codex.
|
|
9
|
+
|
|
10
|
+
## Step 1: Verify your Muxo connection
|
|
11
|
+
|
|
12
|
+
1. If you are in **ChatGPT** or **Codex** with the hosted Muxo MCP server (`https://api.muxo.ai/mcp`) enabled:
|
|
13
|
+
- Call `get_profile` and `get_organization` to confirm your workspace ID, credit balance (`fundingMode: "muxo_funded"`), and active governance policy.
|
|
14
|
+
2. If you are in a terminal environment and prefer the local CLI:
|
|
15
|
+
```bash
|
|
16
|
+
npx -y @muxoai/cli@latest login --signup --name "my-agent"
|
|
17
|
+
muxo whoami
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Step 2: Connect your first SaaS app or run an Instant tool
|
|
21
|
+
|
|
22
|
+
- **Zero-OAuth Instant Tools (`instant.*`)** work immediately with no setup:
|
|
23
|
+
- Web search (`instant.web.search`), page scraping (`instant.web.scrape`), multi-page crawling (`instant.web.crawl`), technical SEO audits (`instant.seo.audit`), Hacker News (`instant.hackernews.top_stories`), and DNS lookups (`instant.dns.lookup`).
|
|
24
|
+
- **Connected Apps (`app.*`)** use automatic OAuth handoff:
|
|
25
|
+
- Plan any action (e.g., `app.github.create_issue` or `app.gmail.fetch_emails`) via `plan_action`.
|
|
26
|
+
- If the app is not connected yet, `plan_action` returns `authHandoff.redirectUrl`. Open that link to authorize, then call `wait_for_connection({ provider })` to resume.
|
|
27
|
+
- **Cloud Infrastructure (`resource.*`)** provisions live databases and services via Stripe Projects:
|
|
28
|
+
- Provision Turso SQLite (`resource.turso.database`), Neon Postgres (`resource.neon.postgres`), Supabase (`resource.supabase.project`), or Upstash Redis (`resource.upstash.redis`) and pull encrypted `.env` credentials via `muxo env pull`.
|