Skip to main content
Glama

mcp-google-sheets

project.ts3.17 kB
import { Static, Type } from '@sinclair/typebox' import { SAFE_STRING_PATTERN } from '../common' import { BaseModelSchema, Nullable } from '../common/base-model' import { ApId } from '../common/id-generator' import { Metadata } from '../common/metadata' export const ListProjectRequestForUserQueryParams = Type.Object({ cursor: Type.Optional(Type.String()), limit: Type.Optional(Type.Number()), displayName: Type.Optional(Type.String()), }) export type ListProjectRequestForUserQueryParams = Static<typeof ListProjectRequestForUserQueryParams> export type ProjectId = ApId export enum PiecesFilterType { NONE = 'NONE', ALLOWED = 'ALLOWED', } export enum NotificationStatus { NEVER = 'NEVER', ALWAYS = 'ALWAYS', NEW_ISSUE = 'NEW_ISSUE', } export const ProjectUsage = Type.Object({ tasks: Type.Number(), aiCredits: Type.Number(), nextLimitResetDate: Type.Number(), }) export const SwitchProjectResponse = Type.Object({ token: Type.String(), }) export type SwitchProjectResponse = Static<typeof SwitchProjectResponse> export type ProjectUsage = Static<typeof ProjectUsage> export type ProjectPlanId = string export const ProjectPlan = Type.Object({ ...BaseModelSchema, projectId: Type.String(), locked: Type.Boolean({ default: false }), name: Type.String(), piecesFilterType: Type.Enum(PiecesFilterType), pieces: Type.Array(Type.String()), tasks: Nullable(Type.Number()), aiCredits: Nullable(Type.Number()), }) export type ProjectPlan = Static<typeof ProjectPlan> export const Project = Type.Object({ ...BaseModelSchema, deleted: Nullable(Type.String()), ownerId: Type.String(), displayName: Type.String(), notifyStatus: Type.Enum(NotificationStatus), platformId: ApId, externalId: Type.Optional(Type.String()), releasesEnabled: Type.Boolean(), metadata: Nullable(Metadata), }) const projectAnalytics = Type.Object( { totalUsers: Type.Number(), activeUsers: Type.Number(), totalFlows: Type.Number(), activeFlows: Type.Number(), }, ) export type Project = Static<typeof Project> export const ProjectWithLimits = Type.Composite([ Type.Omit(Project, ['deleted']), Type.Object({ usage: ProjectUsage, plan: ProjectPlan, analytics: projectAnalytics, }), ]) export const UpdateProjectRequestInCommunity = Type.Object({ notifyStatus: Type.Optional(Type.Enum(NotificationStatus)), displayName: Type.Optional(Type.String({ pattern: SAFE_STRING_PATTERN, })), metadata: Type.Optional(Metadata), }) export type UpdateProjectRequestInCommunity = Static<typeof UpdateProjectRequestInCommunity> export type ProjectWithLimits = Static<typeof ProjectWithLimits> export const ProjectMetaData = Type.Object({ id: Type.String(), displayName: Type.String(), }) export type ProjectMetaData = Static<typeof ProjectMetaData> export const ProjectWithLimitsWithPlatform = Type.Object({ platformName: Type.String(), projects: Type.Array(ProjectWithLimits), }) export type ProjectWithLimitsWithPlatform = Static<typeof ProjectWithLimitsWithPlatform>

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/activepieces/activepieces'

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