Skip to main content
Glama
MIT License
27,120
19,780
  • Linux
  • Apple
gitRemoteHandle.ts•1.1 kB
import { RepomixError } from '../../shared/errorHandle.js'; import { logger } from '../../shared/logger.js'; import { execLsRemote, validateGitUrl } from './gitCommand.js'; export const getRemoteRefs = async ( url: string, deps = { execLsRemote, }, ): Promise<string[]> => { validateGitUrl(url); try { const stdout = await deps.execLsRemote(url); // Extract ref names from the output // Format is: hash\tref_name const refs = stdout .split('\n') .filter(Boolean) .map((line) => { // Skip the hash part and extract only the ref name const parts = line.split('\t'); if (parts.length < 2) return ''; // Remove 'refs/heads/' or 'refs/tags/' prefix return parts[1].replace(/^refs\/(heads|tags)\//, ''); }) .filter(Boolean); logger.trace(`Found ${refs.length} refs in repository: ${url}`); return refs; } catch (error) { logger.trace('Failed to get remote refs:', (error as Error).message); throw new RepomixError(`Failed to get remote refs: ${(error as Error).message}`); } };

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/yamadashy/repomix'

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