Skip to main content
Glama

MCP YAML API

by molavec
tools-builder.ts1.53 kB
import { getUrlParametersAndQuerys, getBodyProperties } from "./parser.js"; import type { ApiBodyProperty } from "../types/api.js"; export const buildToolsFromApiConfigArray = (apiConfigArray: any[]): any[] => apiConfigArray.map((apiConfig: any) => { // Get parameters and query from a url like http://localhost:3000/users/{id}?page={page}&limit={limit} const parametersAndQuerys = getUrlParametersAndQuerys(apiConfig.url); const method = apiConfig.method?.toUpperCase(); const body: ApiBodyProperty[] | undefined = apiConfig.options?.body; const schema = getBodyProperties(body); const properties = { ...parametersAndQuerys, ...schema } if(apiConfig.name === 'getUsers' ) { // console.error('parametersAndQuerys', parametersAndQuerys) // console.error('schema', getPropertiesFromSchema(schema)) console.error('parametersAndQuerys', parametersAndQuerys) console.error('body', body) console.error('properties', properties) } return { name: apiConfig.name, description: apiConfig.description, inputSchema: { type: "object", properties: properties, required: (body || []).filter((p: ApiBodyProperty) => p.required).map((p: ApiBodyProperty) => p.name), }, annotations: { title: apiConfig.description, readOnlyHint: method === "GET", destructiveHint: method === "DELETE", idempotentHint: method === "GET" || method === "DELETE", openWorldHint: true, }, }; });

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/molavec/mcp-yaml-api'

If you have feedback or need assistance with the MCP directory API, please join our Discord server