Skip to main content
Glama
tools.ts1.65 kB
import { z } from 'zod'; // GitLab schemas export const GitLabProject = z .object({ id: z.number(), name: z.string(), path_with_namespace: z.string().optional() }) .passthrough(); export const GitLabMergeRequest = z .object({ id: z.number(), iid: z.number().optional(), state: z.string().optional(), title: z.string().optional() }) .passthrough(); export const GitLabIssue = z .object({ id: z.number(), iid: z.number().optional(), state: z.string().optional(), title: z.string().optional() }) .passthrough(); export const GL_ListProjects_Out = z.array(GitLabProject); export const GL_ListMRs_In = z.object({ projectId: z.union([z.number(), z.string().min(1)]), state: z.enum(['opened', 'closed', 'merged']).optional() }); export const GL_ListMRs_Out = z.array(GitLabMergeRequest); export const GL_ListIssues_In = z.object({ projectId: z.union([z.number(), z.string().min(1)]) }); export const GL_ListIssues_Out = z.array(GitLabIssue); // Jira schemas export const JiraIssue = z .object({ id: z.string().optional(), key: z.string().optional(), fields: z.record(z.any()).optional() }) .passthrough(); export const JiraSearchResult = z.object({ issues: z.array(JiraIssue) }).passthrough(); export const Jira_Search_In = z.object({ jql: z.string().min(1), maxResults: z.number().int().positive().max(100).optional() }); export const Jira_GetIssue_In = z.object({ key: z.string().min(1) }); export type T_GitLabProject = z.infer<typeof GitLabProject>; export type T_GitLabMergeRequest = z.infer<typeof GitLabMergeRequest>; export type T_GitLabIssue = z.infer<typeof GitLabIssue>; export type T_JiraIssue = z.infer<typeof JiraIssue>;

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/ashabbir/multi-mcp'

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