Skip to main content
Glama

mcp-gitlab

by atla-digital
ci-cd.ts10.6 kB
/** * CI/CD tool definitions */ export const cicdToolDefinitions = [ { name: 'gitlab_list_pipelines', description: 'List pipelines for a project/branch to monitor CI/CD status', inputSchema: { type: 'object', properties: { project_id: { type: 'string', description: 'The ID or URL-encoded path of the project' }, ref: { type: 'string', description: 'Filter by branch name' }, status: { type: 'string', description: 'Filter by pipeline status', enum: ['running', 'pending', 'success', 'failed', 'canceled', 'skipped', 'created', 'manual'] }, per_page: { type: 'number', description: 'Number of pipelines to return per page (max 100)' } }, required: ['project_id'] }, annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true } }, { name: 'gitlab_get_pipeline', description: 'Get pipeline status and details for monitoring', inputSchema: { type: 'object', properties: { project_id: { type: 'string', description: 'The ID or URL-encoded path of the project' }, pipeline_id: { type: 'number', description: 'The ID of the pipeline' } }, required: ['project_id', 'pipeline_id'] }, annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true } }, { name: 'gitlab_get_pipeline_jobs', description: 'Get jobs within a pipeline to identify failures', inputSchema: { type: 'object', properties: { project_id: { type: 'string', description: 'The ID or URL-encoded path of the project' }, pipeline_id: { type: 'number', description: 'The ID of the pipeline' }, scope: { type: 'string', description: 'Filter by job scope', enum: ['created', 'pending', 'running', 'failed', 'success', 'canceled', 'skipped'] } }, required: ['project_id', 'pipeline_id'] }, annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true } }, { name: 'gitlab_get_job_log', description: 'Get logs for failing jobs to debug issues', inputSchema: { type: 'object', properties: { project_id: { type: 'string', description: 'The ID or URL-encoded path of the project' }, job_id: { type: 'number', description: 'The ID of the job' }, tail: { type: 'number', description: 'Only show the last N lines of the log. If not specified, the entire log is returned.' } }, required: ['project_id', 'job_id'] }, annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true } }, { name: 'gitlab_retry_job', description: 'Retry failed jobs without retriggering entire pipeline', inputSchema: { type: 'object', properties: { project_id: { type: 'string', description: 'The ID or URL-encoded path of the project' }, job_id: { type: 'number', description: 'The ID of the job' } }, required: ['project_id', 'job_id'] }, annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false } }, { name: 'gitlab_list_trigger_tokens', description: 'List pipeline trigger tokens', inputSchema: { type: 'object', properties: { project_id: { type: 'string', description: 'The ID or URL-encoded path of the project' } }, required: ['project_id'] }, annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true } }, { name: 'gitlab_get_trigger_token', description: 'Get details of a pipeline trigger token', inputSchema: { type: 'object', properties: { project_id: { type: 'string', description: 'The ID or URL-encoded path of the project' }, trigger_id: { type: 'number', description: 'The ID of the trigger' } }, required: ['project_id', 'trigger_id'] }, annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true } }, { name: 'gitlab_create_trigger_token', description: 'Create a new pipeline trigger token', inputSchema: { type: 'object', properties: { project_id: { type: 'string', description: 'The ID or URL-encoded path of the project' }, description: { type: 'string', description: 'The trigger description' } }, required: ['project_id', 'description'] }, annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false } }, { name: 'gitlab_update_trigger_token', description: 'Update a pipeline trigger token', inputSchema: { type: 'object', properties: { project_id: { type: 'string', description: 'The ID or URL-encoded path of the project' }, trigger_id: { type: 'number', description: 'The ID of the trigger' }, description: { type: 'string', description: 'The new trigger description' } }, required: ['project_id', 'trigger_id', 'description'] }, annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: true } }, { name: 'gitlab_delete_trigger_token', description: 'Delete a pipeline trigger token', inputSchema: { type: 'object', properties: { project_id: { type: 'string', description: 'The ID or URL-encoded path of the project' }, trigger_id: { type: 'number', description: 'The ID of the trigger' } }, required: ['project_id', 'trigger_id'] }, annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: false } }, { name: 'gitlab_trigger_pipeline', description: 'Trigger a pipeline run', inputSchema: { type: 'object', properties: { project_id: { type: 'string', description: 'The ID or URL-encoded path of the project' }, ref: { type: 'string', description: 'The branch or tag name to run the pipeline for' }, token: { type: 'string', description: 'The trigger token' }, variables: { type: 'object', description: 'Variables to pass to the pipeline', additionalProperties: { type: 'string' } } }, required: ['project_id', 'ref', 'token'] }, annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false } }, { name: 'gitlab_list_cicd_variables', description: 'List CI/CD variables for a project', inputSchema: { type: 'object', properties: { project_id: { type: 'string', description: 'The ID or URL-encoded path of the project' } }, required: ['project_id'] }, annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true } }, { name: 'gitlab_get_cicd_variable', description: 'Get a specific CI/CD variable', inputSchema: { type: 'object', properties: { project_id: { type: 'string', description: 'The ID or URL-encoded path of the project' }, key: { type: 'string', description: 'The key of the variable' } }, required: ['project_id', 'key'] }, annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true } }, { name: 'gitlab_create_cicd_variable', description: 'Create a new CI/CD variable', inputSchema: { type: 'object', properties: { project_id: { type: 'string', description: 'The ID or URL-encoded path of the project' }, key: { type: 'string', description: 'The key of the variable' }, value: { type: 'string', description: 'The value of the variable' }, protected: { type: 'boolean', description: 'Whether the variable is protected' }, masked: { type: 'boolean', description: 'Whether the variable is masked' } }, required: ['project_id', 'key', 'value'] }, annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false } }, { name: 'gitlab_update_cicd_variable', description: 'Update a CI/CD variable', inputSchema: { type: 'object', properties: { project_id: { type: 'string', description: 'The ID or URL-encoded path of the project' }, key: { type: 'string', description: 'The key of the variable' }, value: { type: 'string', description: 'The value of the variable' }, protected: { type: 'boolean', description: 'Whether the variable is protected' }, masked: { type: 'boolean', description: 'Whether the variable is masked' } }, required: ['project_id', 'key', 'value'] }, annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: true } }, { name: 'gitlab_delete_cicd_variable', description: 'Delete a CI/CD variable', inputSchema: { type: 'object', properties: { project_id: { type: 'string', description: 'The ID or URL-encoded path of the project' }, key: { type: 'string', description: 'The key of the variable' } }, required: ['project_id', 'key'] }, annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: false } } ];

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/atla-digital/mcp-gitlab'

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