@monsoft/mcp-github-project-manager
Version:
A Model Context Protocol GitHub Project Manager implementation
64 lines (63 loc) • 2.48 kB
TypeScript
import { CreateProjectParams, AddProjectItemParams, UpdateProjectItemParams, ListProjectItemsParams, GetProjectFieldsParams, ProjectField, GetProjectColumnsParams, ProjectColumn, AddProjectItemWithColumnParams, ListProjectsParams } from '../types/index.js';
/**
* Service for managing GitHub projects using the Projects v2 GraphQL API
*/
export declare class GitHubProjectService {
private graphqlWithAuth;
/**
* Create a new GitHub Project Service
* @param token GitHub API token with 'project' scope
*/
constructor(token: string);
/**
* Create a new project
* @param params Project creation parameters
* @returns The created project
*/
createProject(params: CreateProjectParams): Promise<any>;
/**
* List all projects for an organization or user
* @param params Parameters to list projects
* @returns List of projects
*/
listProjects(params: ListProjectsParams): Promise<any[]>;
/**
* Add an issue or pull request to a project
* @param params Project item addition parameters
* @returns The created project item
*/
addProjectItem(params: AddProjectItemParams): Promise<any>;
/**
* Update a project item (move between columns)
* @param params Project item update parameters
* @returns The updated project item
*/
updateProjectItem(params: UpdateProjectItemParams): Promise<any>;
/**
* List items in a project
* @param params Project item listing parameters
* @returns List of project items
*/
listProjectItems(params: ListProjectItemsParams): Promise<any[]>;
/**
* Get all fields for a project
* @param params Parameters to get project fields
* @returns List of project fields with their options
*/
getProjectFields(params: GetProjectFieldsParams): Promise<ProjectField[]>;
/**
* Get columns (status options) for a project
* @param params Parameters to get project columns
* @returns List of status field options (columns)
*/
getProjectColumns(params: GetProjectColumnsParams): Promise<{
statusFieldId: string;
columns: ProjectColumn[];
}>;
/**
* Add an item to a project and place it in a specific column in one operation
* @param params Parameters to add project item with column
* @returns The created project item
*/
addProjectItemWithColumn(params: AddProjectItemWithColumnParams): Promise<any>;
}