MCPcopy Index your code
hub / github.com/github/github-mcp-server / ProjectsWrite

Function ProjectsWrite

pkg/github/projects.go:453–700  ·  view source on GitHub ↗

ProjectsWrite returns the tool and handler for modifying GitHub Projects resources.

(t translations.TranslationHelperFunc)

Source from the content-addressed store, hash-verified

451
452// ProjectsWrite returns the tool and handler for modifying GitHub Projects resources.
453func ProjectsWrite(t translations.TranslationHelperFunc) inventory.ServerTool {
454 tool := NewTool(
455 ToolsetMetadataProjects,
456 mcp.Tool{
457 Name: "projects_write",
458 Description: t("TOOL_PROJECTS_WRITE_DESCRIPTION", "Create and manage GitHub Projects: create projects, add/update/delete items, create status updates, and add iteration fields."),
459 Annotations: &mcp.ToolAnnotations{
460 Title: t("TOOL_PROJECTS_WRITE_USER_TITLE", "Manage GitHub Projects"),
461 ReadOnlyHint: false,
462 DestructiveHint: jsonschema.Ptr(true),
463 },
464 InputSchema: &jsonschema.Schema{
465 Type: "object",
466 Properties: map[string]*jsonschema.Schema{
467 "method": {
468 Type: "string",
469 Description: "The method to execute",
470 Enum: []any{
471 projectsMethodAddProjectItem,
472 projectsMethodUpdateProjectItem,
473 projectsMethodDeleteProjectItem,
474 projectsMethodCreateProjectStatusUpdate,
475 projectsMethodCreateProject,
476 projectsMethodCreateIterationField,
477 },
478 },
479 "owner_type": {
480 Type: "string",
481 Description: "Owner type (user or org). Required for 'create_project' method. If not provided for other methods, will be automatically detected.",
482 Enum: []any{"user", "org"},
483 },
484 "owner": {
485 Type: "string",
486 Description: "The project owner (user or organization login). The name is not case sensitive.",
487 },
488 "project_number": {
489 Type: "number",
490 Description: "The project's number. Required for all methods except 'create_project'.",
491 },
492 "title": {
493 Type: "string",
494 Description: "The project title. Required for 'create_project' method.",
495 },
496 "item_id": {
497 Type: "number",
498 Description: "The project item ID. Required for 'update_project_item' and 'delete_project_item' methods.",
499 },
500 "item_type": {
501 Type: "string",
502 Description: "The item's type, either issue or pull_request. Required for 'add_project_item' method.",
503 Enum: []any{"issue", "pull_request"},
504 },
505 "item_owner": {
506 Type: "string",
507 Description: "The owner (user or organization) of the repository containing the issue or pull request. Required for 'add_project_item' method.",
508 },
509 "item_repo": {
510 Type: "string",

Calls 14

NewToolResultErrorFunction · 0.92
NewToolFunction · 0.85
createProjectFunction · 0.85
RequiredIntFunction · 0.85
detectOwnerTypeFunction · 0.85
addProjectItemFunction · 0.85
RequiredBigIntFunction · 0.85
updateProjectItemFunction · 0.85
deleteProjectItemFunction · 0.85
createIterationFieldFunction · 0.85
GetGQLClientMethod · 0.65