@agentvalet/mcp-server 0.3.6 → 0.3.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/dist/index.js +15 -5
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -74,17 +74,17 @@ const LIST_PLATFORMS_TOOL = {
|
|
|
74
74
|
};
|
|
75
75
|
const USE_PLATFORM_TOOL = {
|
|
76
76
|
name: "use_platform",
|
|
77
|
-
description: "use_platform: Call an external platform API (Airtable, GitHub, Slack, etc.) through the AgentValet proxy.\nInput: platform (string), endpoint (string), method (GET|POST|PUT|PATCH|DELETE), scope (string),
|
|
77
|
+
description: "use_platform: Call an external platform API (Airtable, GitHub, Slack, Metabase, etc.) through the AgentValet proxy.\nInput: platform (string), endpoint (string), method (GET|POST|PUT|PATCH|DELETE), scope (string), body (object, optional — JSON request body for POST/PUT/PATCH/DELETE).\nReturns: upstream API response body. May take up to 50 seconds when the action requires owner approval — the call will block while we wait, then return the approved result transparently. If approval doesn't land in time, returns a `pending_approval` envelope and the action runs asynchronously; the user is notified when it completes.\nAuth: Bearer JWT.\nNote: legacy clients passing `data` instead of `body` are still accepted for backwards compatibility, but `body` is the canonical name.",
|
|
78
78
|
inputSchema: {
|
|
79
79
|
type: "object",
|
|
80
80
|
properties: {
|
|
81
81
|
platform: {
|
|
82
82
|
type: "string",
|
|
83
|
-
description: "Platform ID (e.g. airtable, github, slack)",
|
|
83
|
+
description: "Platform ID (e.g. airtable, github, slack, metabase)",
|
|
84
84
|
},
|
|
85
85
|
endpoint: {
|
|
86
86
|
type: "string",
|
|
87
|
-
description: "API path on the target platform (e.g. /v0/meta/bases)",
|
|
87
|
+
description: "API path on the target platform (e.g. /v0/meta/bases or /api/dataset)",
|
|
88
88
|
},
|
|
89
89
|
method: {
|
|
90
90
|
type: "string",
|
|
@@ -95,9 +95,13 @@ const USE_PLATFORM_TOOL = {
|
|
|
95
95
|
type: "string",
|
|
96
96
|
description: "Permission scope required for this action (e.g. records:read)",
|
|
97
97
|
},
|
|
98
|
+
body: {
|
|
99
|
+
type: "object",
|
|
100
|
+
description: "JSON request body for POST/PUT/PATCH/DELETE. Optional. Forwarded verbatim to the upstream API.",
|
|
101
|
+
},
|
|
98
102
|
data: {
|
|
99
103
|
type: "object",
|
|
100
|
-
description: "
|
|
104
|
+
description: "Deprecated alias for `body` — prefer `body`. Kept for backwards compatibility.",
|
|
101
105
|
},
|
|
102
106
|
},
|
|
103
107
|
required: ["platform", "endpoint", "method", "scope"],
|
|
@@ -351,12 +355,18 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
351
355
|
};
|
|
352
356
|
}
|
|
353
357
|
const progressToken = request.params._meta?.progressToken;
|
|
358
|
+
// Accept either `body` (canonical) or `data` (legacy alias). `body` wins
|
|
359
|
+
// when both are supplied. This matters because Claude (and other LLM
|
|
360
|
+
// hosts) reach for `body` as the natural HTTP terminology — the prior
|
|
361
|
+
// schema only declared `data` which made every POST get silently
|
|
362
|
+
// dropped to an empty body. See the use_platform tool description.
|
|
363
|
+
const bodyArg = (args.body ?? args.data);
|
|
354
364
|
return await handleUsePlatform({
|
|
355
365
|
platform: args.platform,
|
|
356
366
|
endpoint: args.endpoint,
|
|
357
367
|
method: args.method,
|
|
358
368
|
scope: args.scope,
|
|
359
|
-
data:
|
|
369
|
+
data: bodyArg,
|
|
360
370
|
}, progressToken);
|
|
361
371
|
}
|
|
362
372
|
if (name === "agent_register") {
|