Skip to main content
Glama
loader.js1.4 kB
import { protocolBufferMethodForEach, } from "./Grpc/ProtocolBuffer/ProtocolBuffer.js"; import { protoLoader } from "./Grpc/ProtocolBuffer/ProtoLoader.js"; export const loader = { async loadAsync(dir) { const proto = await protoLoader.loadAsync(dir); const result = []; for (const p of proto) { const services = []; for (const s of p.protocolBuffer.services) { services.push({ name: s.name, methods: s.methods.map(m => m.name), }); } result.push({ path: p.protocolBuffer.metadata.protoPath, services: services, }); } return result; }, async getMethodAsync(path, service, method) { const proto = await protoLoader.loadAsync(path); let result = undefined; protocolBufferMethodForEach(proto.map((p) => p.protocolBuffer), (p, s, m) => { if (s.name === service && m.name === method) { result = { name: method, request: m.requestMessageName, response: m.responseMessageName, messages: [...p.messages], enums: [...p.enums], }; } return result !== undefined; }); return result; }, };

Latest Blog Posts

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/Yuki4-dev/grpc-mcp'

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