Skip to main content
Glama

Model Context Protocol Server

by hyen43
run-sync.js1.35 kB
// Duplicate the code from `run-async.js` but as synchronous functions export const pushChunksSync = (getChunksSync, getChunksArguments, transformStream, done) => { try { for (const chunk of getChunksSync(...getChunksArguments)) { transformStream.push(chunk); } done(); } catch (error) { done(error); } }; // Run synchronous generators with `execaSync()` export const runTransformSync = (generators, chunks) => [ ...chunks.flatMap(chunk => [...transformChunkSync(chunk, generators, 0)]), ...finalChunksSync(generators), ]; export const transformChunkSync = function * (chunk, generators, index) { if (index === generators.length) { yield chunk; return; } const {transform = identityGenerator} = generators[index]; for (const transformedChunk of transform(chunk)) { yield * transformChunkSync(transformedChunk, generators, index + 1); } }; export const finalChunksSync = function * (generators) { for (const [index, {final}] of Object.entries(generators)) { yield * generatorFinalChunksSync(final, Number(index), generators); } }; const generatorFinalChunksSync = function * (final, index, generators) { if (final === undefined) { return; } for (const finalChunk of final()) { yield * transformChunkSync(finalChunk, generators, index + 1); } }; const identityGenerator = function * (chunk) { yield chunk; };

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/hyen43/mcpServer'

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