@shuffleio/shuffle-mcps 0.0.5 → 0.0.7

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 CHANGED
@@ -14,14 +14,24 @@ Turn 3,000+ SaaS tools into MCP servers your agents can use. One search, one cli
14
14
  ---
15
15
 
16
16
  <table align="center">
17
+ <tr>
18
+ <td align="center" width="50%">
19
+ <img src="https://github.com/user-attachments/assets/930d7e2b-61b4-4b1c-b90b-37a55cb6a98d" alt="Easy MCP debugger" width="380" style="border-radius: 12px;" />
20
+ <br/><sub><b>1. Easy to try out</b></sub>
21
+ </td>
22
+ <td align="center" width="50%">
23
+ <img src="https://github.com/user-attachments/assets/ce7f650c-61f7-4b68-bc40-724283e684f4" alt="Easy MCP debugger" width="380" style="border-radius: 12px;" />
24
+ <br/><sub><b>2. Debugger with timeline</b></sub>
25
+ </td>
26
+ </tr>
17
27
  <tr>
18
28
  <td align="center" width="50%">
19
29
  <img src="https://security.shuffler.io/mcp/search-preview.png" alt="Search 3,000+ integrations" width="380" style="border-radius: 12px;" />
20
- <br/><sub><b>1. Search any of 3,000+ tools</b></sub>
30
+ <br/><sub><b>3. Search any of 3,000+ tools</b></sub>
21
31
  </td>
22
32
  <td align="center" width="50%">
23
33
  <img src="https://security.shuffler.io/mcp/app-detail-preview.png" alt="Authenticate and use as MCP" width="380" style="border-radius: 12px;" />
24
- <br/><sub><b>2. Authenticate — your agent uses it instantly</b></sub>
34
+ <br/><sub><b>4. Authenticate — your agent uses it instantly</b></sub>
25
35
  </td>
26
36
  </tr>
27
37
  </table>
@@ -83,15 +93,16 @@ export default function App() {
83
93
  }
84
94
  ```
85
95
 
86
- ## The three components
96
+ ## The components
87
97
 
88
- The library exports three React components — use one, two, or all three. They share state, so you can mix-and-match.
98
+ The library exports four React components — use one or all of them. They share state, so you can mix-and-match.
89
99
 
90
100
  | Component | What it does | Live demo |
91
101
  |---|---|---|
92
102
  | [`<ShuffleMCP />`](#1-shufflemcp--inline-search) | Inline search box that merges Algolia's 3,000+ public app catalog with the current user's private apps | [/shuffle-mcp-demo §1](https://security.shuffler.io/shuffle-mcp-demo) |
93
103
  | [`<AppSearchDrawer />`](#2-appsearchdrawer--full-search-drawer) | Right-side drawer wrapping `<ShuffleMCP />` plus a "Your apps" status row. This is the exact "Add Ingestion Source" drawer used in production | [/shuffle-mcp-demo §2](https://security.shuffler.io/shuffle-mcp-demo) |
94
104
  | [`<AppDetailDrawer />`](#3-appdetaildrawer--single-app-config) | Right-side drawer for a single app: list/edit/test authentications and try the MCP `tools/call` endpoint inline | [/shuffle-mcp-demo §3](https://security.shuffler.io/shuffle-mcp-demo) |
105
+ | [`<AgentUI />`](#4-agentui--start--debug-agents) | Standalone "What do you want to do?" hero prompt + live decision-by-decision debugger for `/api/v1/agent` runs. Drop-in replacement for the legacy Shuffle Core agent page | [/agents](https://security.shuffler.io/agents) |
95
106
 
96
107
  ### 1. `<ShuffleMCP />` — inline search
97
108
 
@@ -194,6 +205,51 @@ Useful props:
194
205
 
195
206
  Reference implementation in production: [`src/Shuffle-MCPs/AppSearchDrawer.tsx`](./AppSearchDrawer.tsx) and [`AppDetailDrawer.tsx`](./AppDetailDrawer.tsx).
196
207
 
208
+ ### 4. `<AgentUI />` — start + debug agents
209
+
210
+ A standalone "What do you want to do?" surface for the Shuffle agent. Two modes in one component:
211
+
212
+ 1. **Starter** — large hero prompt with attached MCP/app chips. Submits to `/api/v1/agent`.
213
+ 2. **Debugger** — compact header + live decision timeline driven by `/api/v1/streams/results`, with question/continuation forms, per-decision raw-JSON inspection, approvals, retries, and reruns.
214
+
215
+ It switches modes automatically when an execution starts, or when `?execution_id=...&authorization=...` is present in the URL.
216
+
217
+ ```tsx
218
+ import { AgentUI } from 'shuffle-mcps';
219
+
220
+ <AgentUI
221
+ apiKey={user.apiKey} // optional — falls back to session
222
+ apiBaseUrl="https://shuffler.io" // optional — falls back to default
223
+ orgId={user.orgId} // optional — sent as Org-Id header
224
+ defaultApps={[{ name: 'http' }, { name: 'shuffle_tools' }]}
225
+ onRun={({ input, success, executionId }) => {
226
+ console.log('agent run', { input, success, executionId });
227
+ }}
228
+ />
229
+ ```
230
+
231
+ Like `<ShuffleMCP />`, all three of `apiKey`, `apiBaseUrl`, and `orgId` are **optional**. When omitted, the component uses the shared browser session (cookie + `localStorage.shuffle_api_key`) — the same behavior as the rest of this library.
232
+
233
+ Useful props:
234
+
235
+ | Prop | Type | Description |
236
+ |---|---|---|
237
+ | `apiKey` | `string` | Bearer token used for every `/api/v1/*` call this instance makes |
238
+ | `apiBaseUrl` | `string` | Shuffle backend base URL (e.g. `https://shuffler.io`) |
239
+ | `orgId` | `string` | Sent as the `Org-Id` header on every call |
240
+ | `apps` | `AgentUIApp[]` | Controlled chip set. Disables auto-load |
241
+ | `defaultApps` | `AgentUIApp[]` | Initial chip set when `apps` is not provided |
242
+ | `autoLoadApps` | `boolean` | Auto-fetch the user's authenticated apps via `/api/v1/apps/authentication`. Default `true` |
243
+ | `executionId` / `authorization` | `string` | Attach to a known execution on mount and skip the starter |
244
+ | `readUrlParams` | `boolean` | Read `?execution_id` + `?authorization` from the URL. Default `true` |
245
+ | `title` / `subtitle` / `placeholder` | `string` | Hero copy |
246
+ | `defaultInput` / `autoSubmit` | `string` / `boolean` | Pre-fill and optionally submit on mount |
247
+ | `compact` / `hideHeroIcon` / `hideAppPicker` / `hideAttach` | `boolean` | Layout switches for embedding |
248
+ | `maxWidth` | `number` | Max width of the centered card. Default `900` |
249
+ | `onRun` | `(info) => void` | Fires whenever a run finishes (success or failure) |
250
+
251
+ Reference page in production: [`src/pages/dashboard/AgentsPage.tsx`](../pages/dashboard/AgentsPage.tsx) (mounted at [`/agents`](https://security.shuffler.io/agents)).
252
+
197
253
  ### Predefined search
198
254
 
199
255
  ```tsx