@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.
Files changed (2) hide show
  1. package/dist/index.js +15 -5
  2. 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), data (object, optional).\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.",
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: "Optional request body for POST/PUT/PATCH requests",
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: args.data,
369
+ data: bodyArg,
360
370
  }, progressToken);
361
371
  }
362
372
  if (name === "agent_register") {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentvalet/mcp-server",
3
- "version": "0.3.6",
3
+ "version": "0.3.7",
4
4
  "description": "AgentValet MCP server — lets AI agents call approved platforms via the AgentValet proxy",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",