riveter-mcp-server 0.1.1 → 0.2.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 CHANGED
@@ -26,7 +26,7 @@ Add the Riveter server:
26
26
  "mcpServers": {
27
27
  "riveter": {
28
28
  "command": "npx",
29
- "args": ["-y", "riveter-mcp-server"],
29
+ "args": ["-y", "--prefer-online", "riveter-mcp-server@latest"],
30
30
  "env": {
31
31
  "RIVETER_API_KEY": "sk_riv_your_key_here"
32
32
  }
package/dist/index.js CHANGED
@@ -13,7 +13,7 @@ async function fetchSpec() {
13
13
  }
14
14
  return res.text();
15
15
  }
16
- async function callApi(method, path, queryParams, body) {
16
+ async function callApi(method, path, queryParams, body, headerParams) {
17
17
  const url = new URL(`${API_BASE_URL}${path}`);
18
18
  if (queryParams) {
19
19
  for (const [key, value] of Object.entries(queryParams)) {
@@ -26,6 +26,7 @@ async function callApi(method, path, queryParams, body) {
26
26
  Authorization: `Bearer ${API_KEY}`,
27
27
  "Content-Type": "application/json",
28
28
  Accept: "application/json",
29
+ ...headerParams,
29
30
  };
30
31
  const fetchOptions = { method: method.toUpperCase(), headers };
31
32
  if (body && (method === "post" || method === "put" || method === "patch")) {
@@ -129,13 +130,44 @@ function buildZodShape(params, bodyProps) {
129
130
  break;
130
131
  case "array": {
131
132
  const itemType = prop.items?.type;
132
- const inner = itemType === "string"
133
- ? z.string()
134
- : itemType === "integer"
135
- ? z.number().int()
136
- : itemType === "number"
137
- ? z.number()
138
- : z.any();
133
+ let inner;
134
+ if (itemType === "object" && prop.items?.objectProperties) {
135
+ const itemShape = {};
136
+ for (const [itemPropName, itemProp] of Object.entries(prop.items.objectProperties)) {
137
+ let itemField;
138
+ if (itemProp.enum && itemProp.enum.length > 0) {
139
+ itemField = z.enum(itemProp.enum);
140
+ }
141
+ else {
142
+ switch (itemProp.type) {
143
+ case "integer":
144
+ itemField = z.number().int();
145
+ break;
146
+ case "number":
147
+ itemField = z.number();
148
+ break;
149
+ case "boolean":
150
+ itemField = z.boolean();
151
+ break;
152
+ default:
153
+ itemField = z.string();
154
+ }
155
+ }
156
+ itemField = itemField.describe(itemProp.description || itemPropName);
157
+ itemShape[itemPropName] = itemProp.required ? itemField : itemField.optional();
158
+ }
159
+ inner = z.object(itemShape);
160
+ }
161
+ else {
162
+ inner =
163
+ itemType === "string"
164
+ ? z.string()
165
+ : itemType === "integer"
166
+ ? z.number().int()
167
+ : itemType === "number"
168
+ ? z.number()
169
+ : z.any();
170
+ }
139
171
  fieldSchema = z.array(inner).describe(prop.description || name);
140
172
  break;
141
173
  }
@@ -171,7 +203,7 @@ async function main() {
171
203
  const { operations, apiOverview } = parseOpenApiSpec(specText);
172
204
  const server = new McpServer({
173
205
  name: "riveter",
174
- version: "1.0.1",
206
+ version: "0.2.0",
175
207
  }, {
176
208
  instructions: apiOverview +
177
209
  "\n\nNote: Authentication is handled automatically by this MCP server. You do not need to manage API keys or headers.",
@@ -181,24 +213,46 @@ async function main() {
181
213
  const hint = WORKFLOW_HINTS[op.operationId] || "";
182
214
  const description = (op.summary ? `${op.summary}\n\n` : "") + op.description + hint;
183
215
  const shape = buildZodShape(op.parameters, op.requestBodyProperties);
184
- const queryParamNames = new Set(op.parameters.map((p) => p.name));
216
+ const pathParamNames = new Set(op.parameters.filter((p) => p.in === "path").map((p) => p.name));
217
+ const queryParamNames = new Set(op.parameters.filter((p) => p.in === "query").map((p) => p.name));
218
+ const headerParamNames = new Set(op.parameters.filter((p) => p.in === "header").map((p) => p.name));
185
219
  const method = op.method;
186
220
  const path = op.path;
187
221
  server.tool(toolName, description, shape, async (args) => {
222
+ let resolvedPath = path;
188
223
  const queryParams = {};
189
224
  const bodyParams = {};
225
+ const headerParams = {};
190
226
  for (const [key, value] of Object.entries(args)) {
191
227
  if (value === undefined)
192
228
  continue;
193
- if (queryParamNames.has(key)) {
229
+ if (pathParamNames.has(key)) {
230
+ resolvedPath = resolvedPath.replaceAll(`{${key}}`, encodeURIComponent(String(value)));
231
+ }
232
+ else if (queryParamNames.has(key)) {
194
233
  queryParams[key] = String(value);
195
234
  }
235
+ else if (headerParamNames.has(key)) {
236
+ headerParams[key] = String(value);
237
+ }
196
238
  else {
197
239
  bodyParams[key] = value;
198
240
  }
199
241
  }
242
+ const unresolvedPlaceholder = resolvedPath.match(/\{[^}]+\}/);
243
+ if (unresolvedPlaceholder) {
244
+ return {
245
+ content: [
246
+ {
247
+ type: "text",
248
+ text: `Missing required path parameter ${unresolvedPlaceholder[0]} for ${path}`,
249
+ },
250
+ ],
251
+ isError: true,
252
+ };
253
+ }
200
254
  try {
201
- const result = await callApi(method, path, Object.keys(queryParams).length > 0 ? queryParams : undefined, Object.keys(bodyParams).length > 0 ? bodyParams : undefined);
255
+ const result = await callApi(method, resolvedPath, Object.keys(queryParams).length > 0 ? queryParams : undefined, Object.keys(bodyParams).length > 0 ? bodyParams : undefined, Object.keys(headerParams).length > 0 ? headerParams : undefined);
202
256
  return {
203
257
  content: [
204
258
  {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAChF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,gBAAgB,EAAyB,MAAM,qBAAqB,CAAA;AAE7E,MAAM,gBAAgB,GACpB,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,yCAAyC,CAAA;AAE9E,MAAM,YAAY,GAChB,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,8BAA8B,CAAA;AAEpE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAA;AAEjD,KAAK,UAAU,SAAS;IACtB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,gBAAgB,CAAC,CAAA;IACzC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,qCAAqC,gBAAgB,KAAK,GAAG,CAAC,MAAM,EAAE,CACvE,CAAA;IACH,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,EAAE,CAAA;AACnB,CAAC;AAED,KAAK,UAAU,OAAO,CACpB,MAAc,EACd,IAAY,EACZ,WAAoC,EACpC,IAA8B;IAE9B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,YAAY,GAAG,IAAI,EAAE,CAAC,CAAA;IAC7C,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YACvD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBACxC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAA2B;QACtC,aAAa,EAAE,UAAU,OAAO,EAAE;QAClC,cAAc,EAAE,kBAAkB;QAClC,MAAM,EAAE,kBAAkB;KAC3B,CAAA;IAED,MAAM,YAAY,GAAgB,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,CAAA;IAC3E,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,OAAO,CAAC,EAAE,CAAC;QAC1E,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,YAAY,CAAC,CAAA;IACrD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;IAE7B,IAAI,IAAa,CAAA;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,CAAA;IACxD,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,OAAO;YACL,KAAK,EAAE,IAAI;YACX,WAAW,EAAE,GAAG,CAAC,MAAM;YACvB,GAAG,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;SAC1E,CAAA;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,kFAAkF;AAClF,MAAM,cAAc,GAA2B;IAC7C,kBAAkB;IAClB,gBAAgB,EACd,0KAA0K;IAC5K,qBAAqB,EACnB,0KAA0K;IAC5K,YAAY,EACV,2IAA2I;IAC7I,UAAU,EACR,6FAA6F;IAC/F,OAAO,EACL,yFAAyF;IAC3F,WAAW;IACX,iBAAiB,EACf,0JAA0J;IAC5J,gBAAgB,EACd,qFAAqF;IACvF,uBAAuB,EACrB,2EAA2E;IAC7E,kBAAkB;IAClB,YAAY,EACV,uSAAuS;IACzS,qBAAqB,EACnB,6IAA6I;IAC/I,mBAAmB,EACjB,iHAAiH;IACnH,gBAAgB,EAAE,sDAAsD;IACxE,2BAA2B,EACzB,uJAAuJ;IACzJ,wBAAwB,EACtB,2MAA2M;CAC9M,CAAA;AAED,SAAS,qBAAqB,CAAC,WAAmB;IAChD,OAAO,WAAW;SACf,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC;SACnC,OAAO,CAAC,uBAAuB,EAAE,OAAO,CAAC;SACzC,WAAW,EAAE,CAAA;AAClB,CAAC;AAED,SAAS,aAAa,CACpB,MAAsC,EACtC,SAAoD;IAEpD,MAAM,KAAK,GAAiC,EAAE,CAAA;IAE9C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,WAAyB,CAAA;QAC7B,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtD,WAAW,GAAG,CAAC;iBACZ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAA6B,CAAC;iBAChD,QAAQ,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,CAAA;QAC9C,CAAC;aAAM,CAAC;YACN,QAAQ,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC1B,KAAK,SAAS;oBACZ,WAAW,GAAG,CAAC;yBACZ,MAAM,EAAE;yBACR,GAAG,EAAE;yBACL,QAAQ,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,CAAA;oBAC5C,MAAK;gBACP,KAAK,SAAS;oBACZ,WAAW,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,CAAA;oBACnE,MAAK;gBACP;oBACE,WAAW,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,CAAA;YACtE,CAAC;QACH,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpB,WAAW,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAA;QACtC,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAA;IACjC,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,IAAI,KAAK,CAAC,IAAI,CAAC;YAAE,SAAQ;QACzB,IAAI,WAAyB,CAAA;QAC7B,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,WAAW,GAAG,CAAC;iBACZ,IAAI,CAAC,IAAI,CAAC,IAA6B,CAAC;iBACxC,QAAQ,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,CAAA;QACvC,CAAC;aAAM,CAAC;YACN,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,SAAS;oBACZ,WAAW,GAAG,CAAC;yBACZ,MAAM,EAAE;yBACR,GAAG,EAAE;yBACL,QAAQ,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,CAAA;oBACrC,MAAK;gBACP,KAAK,QAAQ;oBACX,WAAW,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,CAAA;oBAC3D,MAAK;gBACP,KAAK,SAAS;oBACZ,WAAW,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,CAAA;oBAC5D,MAAK;gBACP,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAA;oBACjC,MAAM,KAAK,GACT,QAAQ,KAAK,QAAQ;wBACnB,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;wBACZ,CAAC,CAAC,QAAQ,KAAK,SAAS;4BACtB,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;4BAClB,CAAC,CAAC,QAAQ,KAAK,QAAQ;gCACrB,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;gCACZ,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;oBACjB,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,CAAA;oBAC/D,MAAK;gBACP,CAAC;gBACD,KAAK,QAAQ;oBACX,WAAW,GAAG,CAAC;yBACZ,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;yBAC3B,QAAQ,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,CAAA;oBACrC,MAAK;gBACP;oBACE,WAAW,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,CAAA;YAC/D,CAAC;QACH,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,WAAW,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAA;QACtC,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAA;IAC3B,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACX,qGAAqG,CACtG,CAAA;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,IAAI,QAAgB,CAAA;IACpB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,SAAS,EAAE,CAAA;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAA;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAE9D,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B;QACE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,OAAO;KACjB,EACD;QACE,YAAY,EACV,WAAW;YACX,sHAAsH;KACzH,CACF,CAAA;IAED,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,qBAAqB,CAAC,EAAE,CAAC,WAAW,CAAC,CAAA;QACtD,MAAM,IAAI,GAAG,cAAc,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;QACjD,MAAM,WAAW,GACf,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,GAAG,IAAI,CAAA;QAEjE,MAAM,KAAK,GAAG,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAA;QAEpE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QACjE,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAA;QACxB,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAA;QAEpB,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACvD,MAAM,WAAW,GAA2B,EAAE,CAAA;YAC9C,MAAM,UAAU,GAA4B,EAAE,CAAA;YAE9C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,IAAI,KAAK,KAAK,SAAS;oBAAE,SAAQ;gBACjC,IAAI,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7B,WAAW,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;gBAClC,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;gBACzB,CAAC;YACH,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B,MAAM,EACN,IAAI,EACJ,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EAC7D,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAC5D,CAAA;gBAED,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;yBACtC;qBACF;iBACF,CAAA;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,uBAAuB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;yBAChF;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAA;YACH,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAA;IAC5C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;AACjC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAA;IAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,12 @@ export interface OpenApiParameter {
8
8
  enum?: string[];
9
9
  };
10
10
  }
11
+ export interface OpenApiArrayItemProperty {
12
+ type: string;
13
+ description: string;
14
+ required: boolean;
15
+ enum?: string[];
16
+ }
11
17
  export interface OpenApiBodyProperty {
12
18
  type: string;
13
19
  description: string;
@@ -15,6 +21,7 @@ export interface OpenApiBodyProperty {
15
21
  enum?: string[];
16
22
  items?: {
17
23
  type: string;
24
+ objectProperties?: Record<string, OpenApiArrayItemProperty>;
18
25
  };
19
26
  }
20
27
  export interface OpenApiOperation {
@@ -1,4 +1,15 @@
1
1
  import { parse as parseYaml } from "yaml";
2
+ // Anthropic (and other providers) reject tool schemas whose property names
3
+ // don't match this pattern — and one bad name poisons the entire toolset.
4
+ // Skip any offending keys so a bad spec can never break consumers' requests.
5
+ const TOOL_PROPERTY_NAME_PATTERN = /^[a-zA-Z0-9_.-]{1,64}$/;
6
+ function isValidToolPropertyName(name) {
7
+ return TOOL_PROPERTY_NAME_PATTERN.test(name);
8
+ }
9
+ function warnInvalidPropertyName(operationId, propertyName) {
10
+ console.error(`riveter-mcp-server: skipping property ${JSON.stringify(propertyName)} on ${operationId} — ` +
11
+ `property names must match ${TOOL_PROPERTY_NAME_PATTERN} to be accepted by AI provider APIs`);
12
+ }
2
13
  function cleanDescription(desc) {
3
14
  if (!desc)
4
15
  return "";
@@ -46,6 +57,9 @@ export function parseOpenApiSpec(specText) {
46
57
  const operations = [];
47
58
  const httpMethods = ["get", "post", "put", "patch", "delete"];
48
59
  for (const [path, pathItem] of Object.entries(paths)) {
60
+ // Shared parameters declared on the path item apply to every operation;
61
+ // operation-level parameters override them by matching name + in.
62
+ const pathLevelParams = pathItem.parameters || [];
49
63
  for (const method of httpMethods) {
50
64
  const operation = pathItem[method];
51
65
  if (!operation)
@@ -54,7 +68,16 @@ export function parseOpenApiSpec(specText) {
54
68
  if (!operationId)
55
69
  continue;
56
70
  // Parse parameters
57
- const rawParams = operation.parameters || [];
71
+ const operationParams = operation.parameters || [];
72
+ const inheritedParams = pathLevelParams.filter((shared) => !operationParams.some((p) => p.name === shared.name && p.in === shared.in));
73
+ const rawParams = [...inheritedParams, ...operationParams].filter((p) => {
74
+ const paramName = p.name;
75
+ if (!isValidToolPropertyName(paramName)) {
76
+ warnInvalidPropertyName(operationId, paramName);
77
+ return false;
78
+ }
79
+ return true;
80
+ });
58
81
  const parameters = rawParams.map((p) => {
59
82
  let paramSchema = p.schema;
60
83
  if (paramSchema && "$ref" in paramSchema) {
@@ -87,14 +110,42 @@ export function parseOpenApiSpec(specText) {
87
110
  const requiredFields = extractRequiredFields(schema);
88
111
  const properties = schema.properties || {};
89
112
  for (const [propName, propSchema] of Object.entries(properties)) {
113
+ if (!isValidToolPropertyName(propName)) {
114
+ warnInvalidPropertyName(operationId, propName);
115
+ continue;
116
+ }
90
117
  let resolved = propSchema;
91
118
  if ("$ref" in resolved) {
92
119
  resolved = resolveRef(spec, resolved.$ref) || resolved;
93
120
  }
94
121
  let itemsInfo;
95
122
  if (resolved.type === "array" && resolved.items) {
96
- const items = resolved.items;
97
- if (items.type) {
123
+ let items = resolved.items;
124
+ if ("$ref" in items) {
125
+ items = resolveRef(spec, items.$ref) || items;
126
+ }
127
+ if (items.type === "object" && items.properties) {
128
+ const itemRequired = extractRequiredFields(items);
129
+ const objectProperties = {};
130
+ for (const [itemPropName, rawItemProp] of Object.entries(items.properties)) {
131
+ if (!isValidToolPropertyName(itemPropName)) {
132
+ warnInvalidPropertyName(operationId, itemPropName);
133
+ continue;
134
+ }
135
+ let itemProp = rawItemProp;
136
+ if ("$ref" in itemProp) {
137
+ itemProp = resolveRef(spec, itemProp.$ref) || itemProp;
138
+ }
139
+ objectProperties[itemPropName] = {
140
+ type: itemProp.type || "string",
141
+ description: cleanDescription(itemProp.description),
142
+ required: itemRequired.includes(itemPropName),
143
+ enum: itemProp.enum,
144
+ };
145
+ }
146
+ itemsInfo = { type: "object", objectProperties };
147
+ }
148
+ else if (items.type) {
98
149
  itemsInfo = { type: items.type };
99
150
  }
100
151
  }
@@ -1 +1 @@
1
- {"version":3,"file":"openapi-parser.js","sourceRoot":"","sources":["../src/openapi-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openapi-parser.js","sourceRoot":"","sources":["../src/openapi-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAwC1C,2EAA2E;AAC3E,0EAA0E;AAC1E,6EAA6E;AAC7E,MAAM,0BAA0B,GAAG,wBAAwB,CAAC;AAE5D,SAAS,uBAAuB,CAAC,IAAY;IAC3C,OAAO,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,uBAAuB,CAAC,WAAmB,EAAE,YAAoB;IACxE,OAAO,CAAC,KAAK,CACX,yCAAyC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,WAAW,KAAK;QAC1F,6BAA6B,0BAA0B,qCAAqC,CAC/F,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAwB;IAChD,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,OAAO,IAAI;SACR,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;SAC1B,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,UAAU,CAAC,IAA6B,EAAE,GAAW;IAC5D,+CAA+C;IAC/C,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjD,IAAI,OAAO,GAAY,IAAI,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC;QACtE,OAAO,GAAI,OAAmC,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,OAA8C,CAAC;AACxD,CAAC;AAED,SAAS,qBAAqB,CAAC,MAA+B;IAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC,QAAoB,CAAC;IACrC,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,cAAc,CAAC,QAA6D;IACnF,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IACzB,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnD,MAAM,OAAO,GAAI,OAAO,CAAC,OAAkB,IAAI,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,IAAI,gBAAgB,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACjG,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAA4B,CAAC;IAE5D,MAAM,IAAI,GAAG,IAAI,CAAC,IAA2C,CAAC;IAC9D,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,EAAE,WAAiC,CAAC,CAAC;IAE9E,MAAM,KAAK,GAAG,IAAI,CAAC,KAA4D,CAAC;IAChF,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC;IAEnD,MAAM,UAAU,GAAuB,EAAE,CAAC;IAC1C,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAE9D,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACrD,wEAAwE;QACxE,kEAAkE;QAClE,MAAM,eAAe,GAAI,QAAQ,CAAC,UAAoD,IAAI,EAAE,CAAC;QAE7F,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;YACjC,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAwC,CAAC;YAC1E,IAAI,CAAC,SAAS;gBAAE,SAAS;YAEzB,MAAM,WAAW,GAAG,SAAS,CAAC,WAAiC,CAAC;YAChE,IAAI,CAAC,WAAW;gBAAE,SAAS;YAE3B,mBAAmB;YACnB,MAAM,eAAe,GAAI,SAAS,CAAC,UAAoD,IAAI,EAAE,CAAC;YAC9F,MAAM,eAAe,GAAG,eAAe,CAAC,MAAM,CAC5C,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CACvF,CAAC;YACF,MAAM,SAAS,GAAG,CAAC,GAAG,eAAe,EAAE,GAAG,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBACtE,MAAM,SAAS,GAAG,CAAC,CAAC,IAAc,CAAC;gBACnC,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,EAAE,CAAC;oBACxC,uBAAuB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;oBAChD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YACH,MAAM,UAAU,GAAuB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACzD,IAAI,WAAW,GAAG,CAAC,CAAC,MAA6C,CAAC;gBAClE,IAAI,WAAW,IAAI,MAAM,IAAI,WAAW,EAAE,CAAC;oBACzC,WAAW,GAAG,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,IAAc,CAAC,IAAI,WAAW,CAAC;gBAC5E,CAAC;gBACD,OAAO;oBACL,IAAI,EAAE,CAAC,CAAC,IAAc;oBACtB,EAAE,EAAE,CAAC,CAAC,EAAiC;oBACvC,QAAQ,EAAG,CAAC,CAAC,QAAoB,IAAI,KAAK;oBAC1C,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,WAAiC,CAAC;oBAClE,MAAM,EAAE;wBACN,IAAI,EAAG,WAAW,EAAE,IAAe,IAAI,QAAQ;wBAC/C,IAAI,EAAE,WAAW,EAAE,IAA4B;qBAChD;iBACF,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,6CAA6C;YAC7C,MAAM,qBAAqB,GAAwC,EAAE,CAAC;YACtE,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,MAAM,WAAW,GAAG,SAAS,CAAC,WAAkD,CAAC;YACjF,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,OAAO,GAAG,WAAW,CAAC,OAA8D,CAAC;gBAC3F,MAAM,WAAW,GAAG,OAAO,EAAE,CAAC,kBAAkB,CAAC,CAAC;gBAClD,IAAI,WAAW,EAAE,CAAC;oBAChB,IAAI,MAAM,GAAG,WAAW,CAAC,MAA6C,CAAC;oBACvE,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;wBAC/B,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,IAAc,CAAC,IAAI,MAAM,CAAC;oBAC7D,CAAC;oBACD,IAAI,MAAM,EAAE,CAAC;wBACX,MAAM,cAAc,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;wBACrD,MAAM,UAAU,GAAI,MAAM,CAAC,UAAsD,IAAI,EAAE,CAAC;wBACxF,KAAK,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;4BAChE,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC;gCACvC,uBAAuB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gCAC/C,SAAS;4BACX,CAAC;4BACD,IAAI,QAAQ,GAAG,UAAU,CAAC;4BAC1B,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;gCACvB,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAc,CAAC,IAAI,QAAQ,CAAC;4BACnE,CAAC;4BAED,IAAI,SAAuC,CAAC;4BAC5C,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gCAChD,IAAI,KAAK,GAAG,QAAQ,CAAC,KAAgC,CAAC;gCACtD,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;oCACpB,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,IAAc,CAAC,IAAI,KAAK,CAAC;gCAC1D,CAAC;gCACD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;oCAChD,MAAM,YAAY,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;oCAClD,MAAM,gBAAgB,GAA6C,EAAE,CAAC;oCACtE,KAAK,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CACtD,KAAK,CAAC,UAAqD,CAC5D,EAAE,CAAC;wCACF,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,EAAE,CAAC;4CAC3C,uBAAuB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;4CACnD,SAAS;wCACX,CAAC;wCACD,IAAI,QAAQ,GAAG,WAAW,CAAC;wCAC3B,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;4CACvB,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAc,CAAC,IAAI,QAAQ,CAAC;wCACnE,CAAC;wCACD,gBAAgB,CAAC,YAAY,CAAC,GAAG;4CAC/B,IAAI,EAAG,QAAQ,CAAC,IAAe,IAAI,QAAQ;4CAC3C,WAAW,EAAE,gBAAgB,CAAC,QAAQ,CAAC,WAAiC,CAAC;4CACzE,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC;4CAC7C,IAAI,EAAE,QAAQ,CAAC,IAA4B;yCAC5C,CAAC;oCACJ,CAAC;oCACD,SAAS,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;gCACnD,CAAC;qCAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oCACtB,SAAS,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,IAAc,EAAE,CAAC;gCAC7C,CAAC;4BACH,CAAC;4BAED,qBAAqB,CAAC,QAAQ,CAAC,GAAG;gCAChC,IAAI,EAAG,QAAQ,CAAC,IAAe,IAAI,QAAQ;gCAC3C,WAAW,EAAE,gBAAgB,CAAC,QAAQ,CAAC,WAAiC,CAAC;gCACzE,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC;gCAC3C,IAAI,EAAE,QAAQ,CAAC,IAA4B;gCAC3C,KAAK,EAAE,SAAS;6BACjB,CAAC;wBACJ,CAAC;oBACH,CAAC;oBAED,MAAM,QAAQ,GAAG,WAAW,CAAC,QAA+D,CAAC;oBAC7F,YAAY,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;YAED,UAAU,CAAC,IAAI,CAAC;gBACd,WAAW;gBACX,MAAM;gBACN,IAAI;gBACJ,OAAO,EAAG,SAAS,CAAC,OAAkB,IAAI,EAAE;gBAC5C,WAAW,EAAE,gBAAgB,CAAC,SAAS,CAAC,WAAiC,CAAC,GAAG,YAAY;gBACzF,UAAU;gBACV,qBAAqB;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;AACrC,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "riveter-mcp-server",
3
- "version": "0.1.1",
4
- "mcpName": "io.github.codywatters/riveter",
3
+ "version": "0.2.0",
4
+ "mcpName": "io.github.CodyWatters/riveter",
5
5
  "description": "MCP server for the Riveter API — connects Claude to Riveter's enrichment, scraping, and monitoring tools",
6
6
  "repository": {
7
7
  "type": "git",
@@ -16,7 +16,8 @@
16
16
  "dev": "tsx watch src/index.ts",
17
17
  "build": "tsc",
18
18
  "start": "node dist/index.js",
19
- "typecheck": "tsc --noEmit"
19
+ "typecheck": "tsc --noEmit",
20
+ "test": "npm run build && node --test test/*.test.mjs"
20
21
  },
21
22
  "dependencies": {
22
23
  "@modelcontextprotocol/sdk": "^1.12.1",