ProjectsWrite returns the tool and handler for modifying GitHub Projects resources.
(t translations.TranslationHelperFunc)
| 451 | |
| 452 | // ProjectsWrite returns the tool and handler for modifying GitHub Projects resources. |
| 453 | func 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", |