Skip to main content
Glama
kunwarVivek

mcp-github-project-manager

create_project

Create a new GitHub project by specifying title, owner, and visibility settings to organize tasks and sprints.

Instructions

Create a new GitHub project

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
titleYes
shortDescriptionNo
ownerYes
visibilityYes

Implementation Reference

  • Core handler function that executes the create_project tool logic by preparing CreateProject data and calling the GitHubProjectRepository.create method.
    async createProject(data: {
      title: string;
      shortDescription?: string;
      visibility?: 'private' | 'public';
    }): Promise<Project> {
      try {
        const projectData: CreateProject = {
          title: data.title,
          shortDescription: data.shortDescription,
          owner: this.factory.getConfig().owner,
          visibility: data.visibility || 'private',
        };
    
        return await this.projectRepo.create(projectData);
      } catch (error) {
        throw this.mapErrorToMCPError(error);
      }
    }
  • Tool definition including name 'create_project', description, Zod input schema (createProjectSchema), and examples. This is used for MCP tool listing and validation.
    export const createProjectTool: ToolDefinition<CreateProjectArgs> = {
      name: "create_project",
      description: "Create a new GitHub project",
      schema: createProjectSchema as unknown as ToolSchema<CreateProjectArgs>,
      examples: [
        {
          name: "Create private project",
          description: "Create a new private GitHub project",
          args: {
            title: "Backend API Development",
            shortDescription: "Project for tracking backend API development tasks",
            owner: "example-owner",
            visibility: "private"
          }
        }
      ]
    };
  • Registration of the create_project tool in the central ToolRegistry during server initialization.
    this.registerTool(createProjectTool);
    this.registerTool(listProjectsTool);
  • Zod input validation schema for create_project tool parameters.
    export const createProjectSchema = z.object({
      title: z.string().min(1, "Project title is required"),
      shortDescription: z.string().optional(),
      owner: z.string().min(1, "Project owner is required"),
      visibility: z.enum(["private", "public"]).default("private"),
    });
    
    export type CreateProjectArgs = z.infer<typeof createProjectSchema>;
  • Tool dispatch handler in executeToolHandler switch statement that routes create_project calls to ProjectManagementService.createProject.
    case "create_project":
      return await this.service.createProject(args);

Tool Definition Quality

Score is being calculated. Check back soon.

Install Server

Other Tools

Latest Blog Posts

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/kunwarVivek/mcp-github-project-manager'

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