Skip to main content
Glama

Theneo MCP Server

by atombreak
project.schema.tsβ€’3.67 kB
import { z } from "zod"; /** * Schema for creating a project */ export const CreateProjectSchema = z.object({ name: z.string().describe("Project name"), workspaceKey: z.string().optional().describe("Workspace key (slug)"), workspaceId: z.string().optional().describe("Workspace ID"), workspaceName: z.string().optional().describe("Workspace name (alternative to workspaceId/workspaceKey)"), publish: z.boolean().optional().default(false).describe("Publish immediately after creation"), isPublic: z.boolean().optional().default(false).describe("Make the project public"), descriptionGeneration: z .enum(["FILL", "OVERWRITE", "NO_GENERATION"]) .optional() .describe("AI description generation mode"), file: z.string().optional().describe("Path to OpenAPI/Swagger file"), link: z.string().url().optional().describe("URL to OpenAPI/Swagger spec"), text: z.string().optional().describe("Raw OpenAPI/Swagger spec as text"), postmanApiKey: z.string().optional().describe("Postman API key"), postmanCollectionIds: z.array(z.string()).optional().describe("Postman collection IDs"), }); export type CreateProjectInput = z.infer<typeof CreateProjectSchema>; /** * Schema for importing project documents */ export const ImportProjectDocumentSchema = z.object({ projectId: z.string().optional().describe("Project ID (provide either projectId or projectName)"), projectName: z.string().optional().describe("Project name (provide either projectId or projectName)"), workspaceId: z.string().optional().describe("Workspace ID (optional, helps when using projectName)"), workspaceKey: z.string().optional().describe("Workspace key (optional, helps when using projectName)"), workspaceName: z.string().optional().describe("Workspace name (optional, helps when using projectName)"), publish: z.boolean().default(true).describe("Publish after import"), importOption: z .enum(["ENDPOINTS_ONLY", "OVERWRITE", "MERGE"]) .optional() .describe("How to handle conflicts"), file: z.string().optional().describe("Path to OpenAPI/Swagger file"), link: z.string().url().optional().describe("URL to OpenAPI/Swagger spec"), text: z.string().optional().describe("Raw OpenAPI/Swagger spec as text"), postmanApiKey: z.string().optional().describe("Postman API key"), postmanCollectionIds: z.array(z.string()).optional().describe("Postman collection IDs"), }).refine((data) => data.projectId || data.projectName, { message: "Either projectId or projectName must be provided", }); export type ImportProjectDocumentInput = z.infer<typeof ImportProjectDocumentSchema>; /** * Schema for exporting a project */ export const ExportProjectSchema = z.object({ projectId: z.string().optional().describe("Project ID (provide either projectId or projectName)"), projectName: z.string().optional().describe("Project name (provide either projectId or projectName)"), workspaceId: z.string().optional().describe("Workspace ID (optional, helps when using projectName)"), workspaceKey: z.string().optional().describe("Workspace key/slug (optional, helps when using projectName)"), workspaceName: z.string().optional().describe("Workspace name (optional, helps when using projectName)"), versionId: z.string().optional().describe("Version ID to export"), dir: z.string().optional().describe("Directory to save export"), noGeneration: z.boolean().optional().describe("Skip AI generation"), shouldGetPublicViewData: z.boolean().optional().describe("Get public view data"), openapi: z.boolean().optional().describe("Export as OpenAPI format"), }); export type ExportProjectInput = z.infer<typeof ExportProjectSchema>;

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/atombreak/theneo-mcp'

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