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);
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