riveter-mcp-server 0.1.2 → 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 +1 -1
- package/dist/index.js +66 -12
- package/dist/index.js.map +1 -1
- package/dist/openapi-parser.d.ts +7 -0
- package/dist/openapi-parser.js +54 -3
- package/dist/openapi-parser.js.map +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
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
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
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: "
|
|
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
|
|
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 (
|
|
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,
|
|
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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"}
|
package/dist/openapi-parser.d.ts
CHANGED
|
@@ -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 {
|
package/dist/openapi-parser.js
CHANGED
|
@@ -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
|
|
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
|
-
|
|
97
|
-
if (items
|
|
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":"AAAA,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"openapi-parser.js","sourceRoot":"","sources":["../src/openapi-parser.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "riveter-mcp-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
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": {
|
|
@@ -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",
|