Skip to main content
Glama

MCP Specification Server

by MCPJam
23
6
  • Apple
node.js•1.25 kB
import {promisify} from 'node:util'; import {execFile as execFileCallback, execFileSync as execFileSyncOriginal} from 'node:child_process'; import path from 'node:path'; import {fileURLToPath} from 'node:url'; const execFileOriginal = promisify(execFileCallback); export function toPath(urlOrPath) { return urlOrPath instanceof URL ? fileURLToPath(urlOrPath) : urlOrPath; } export function rootDirectory(pathInput) { return path.parse(toPath(pathInput)).root; } export function traversePathUp(startPath) { return { * [Symbol.iterator]() { let currentPath = path.resolve(toPath(startPath)); let previousPath; while (previousPath !== currentPath) { yield currentPath; previousPath = currentPath; currentPath = path.resolve(currentPath, '..'); } }, }; } const TEN_MEGABYTES_IN_BYTES = 10 * 1024 * 1024; export async function execFile(file, arguments_, options = {}) { return execFileOriginal(file, arguments_, { maxBuffer: TEN_MEGABYTES_IN_BYTES, ...options, }); } export function execFileSync(file, arguments_ = [], options = {}) { return execFileSyncOriginal(file, arguments_, { maxBuffer: TEN_MEGABYTES_IN_BYTES, encoding: 'utf8', stdio: 'pipe', ...options, }); } export * from './default.js';

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/MCPJam/mcp-spec'

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