@@ -817,30 +817,40 @@ func CreateDraftIssue(getClient GetGQLClientFn, t translations.TranslationHelper
817817// DeleteProjectItem removes an item from a project.
818818func DeleteProjectItem (getClient GetGQLClientFn , t translations.TranslationHelperFunc ) (mcp.Tool , server.ToolHandlerFunc ) {
819819 return mcp .NewTool ("delete_project_item" ,
820- mcp .WithDescription (t ("TOOL_DELETE_PROJECT_ITEM_DESCRIPTION" , "Delete a project item" )),
821- mcp .WithToolAnnotation (mcp.ToolAnnotation {Title : t ("TOOL_DELETE_PROJECT_ITEM_USER_TITLE" , "Delete project item" ), ReadOnlyHint : ToBoolPtr (false )}),
822- mcp .WithString ("project_id" , mcp .Required (), mcp .Description ("Project ID" )),
823- mcp .WithString ("item_id" , mcp .Required (), mcp .Description ("Item ID" )),
824- ), func (ctx context.Context , req mcp.CallToolRequest ) (* mcp.CallToolResult , error ) {
825- projectID , err := RequiredParam [string ](req , "project_id" )
826- if err != nil {
827- return mcp .NewToolResultError (err .Error ()), nil
828- }
829- itemID , err := RequiredParam [string ](req , "item_id" )
830- if err != nil {
831- return mcp .NewToolResultError (err .Error ()), nil
832- }
833- client , err := getClient (ctx )
834- if err != nil {
835- return mcp .NewToolResultError (err .Error ()), nil
836- }
837- var mut struct {
838- DeleteProjectV2Item struct { Typename githubv4.String } `graphql:"deleteProjectV2Item(input: $input)"`
839- }
840- input := githubv4.DeleteProjectV2ItemInput {ProjectID : githubv4 .ID (projectID ), ItemID : githubv4 .ID (itemID )}
841- if err := client .Mutate (ctx , & mut , input , nil ); err != nil {
842- return mcp .NewToolResultError (err .Error ()), nil
843- }
844- return MarshalledTextResult (mut ), nil
820+ mcp .WithDescription (t ("TOOL_DELETE_PROJECT_ITEM_DESCRIPTION" , "Delete a project item" )),
821+ mcp .WithToolAnnotation (mcp.ToolAnnotation {Title : t ("TOOL_DELETE_PROJECT_ITEM_USER_TITLE" , "Delete project item" ), ReadOnlyHint : ToBoolPtr (false )}),
822+ mcp .WithString ("project_id" , mcp .Required (), mcp .Description ("Project ID" )),
823+ mcp .WithString ("item_id" , mcp .Required (), mcp .Description ("Item ID" )),
824+ ), func (ctx context.Context , req mcp.CallToolRequest ) (* mcp.CallToolResult , error ) {
825+ projectID , err := RequiredParam [string ](req , "project_id" )
826+ if err != nil {
827+ return mcp .NewToolResultError (err .Error ()), nil
828+ }
829+ itemID , err := RequiredParam [string ](req , "item_id" )
830+ if err != nil {
831+ return mcp .NewToolResultError (err .Error ()), nil
845832 }
833+ client , err := getClient (ctx )
834+ if err != nil {
835+ return mcp .NewToolResultError (err .Error ()), nil
836+ }
837+
838+ var mut struct {
839+ DeleteProjectV2Item struct {
840+ DeletedItemID githubv4.ID `graphql:"deletedItemId"`
841+ } `graphql:"deleteProjectV2Item(input: $input)"`
842+ }
843+
844+ input := githubv4.DeleteProjectV2ItemInput {
845+ ProjectID : githubv4 .ID (projectID ),
846+ ItemID : githubv4 .ID (itemID ),
847+ }
848+
849+ if err := client .Mutate (ctx , & mut , input , nil ); err != nil {
850+ return mcp .NewToolResultError (err .Error ()), nil
851+ }
852+
853+ return MarshalledTextResult (mut .DeleteProjectV2Item ), nil
854+ }
846855}
856+
0 commit comments