Files
probo/pkg/server/api/mcp/v1/server/server.go
Bryan Frimin d8abb230b8 Add audit mcp tools
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2025-11-24 10:23:30 +01:00

506 lines
18 KiB
Go

// Code generated by mcpgen. DO NOT EDIT.
package server
import (
"context"
"github.com/modelcontextprotocol/go-sdk/mcp"
"go.probo.inc/probo/pkg/server/api/mcp/v1/types"
)
// ResolverInterface defines the interface that must be implemented by the parent resolver
type ResolverInterface interface {
ListOrganizationsTool(ctx context.Context, req *mcp.CallToolRequest, input *types.ListOrganizationsInput) (*mcp.CallToolResult, types.ListOrganizationsOutput, error)
ListVendorsTool(ctx context.Context, req *mcp.CallToolRequest, input *types.ListVendorsInput) (*mcp.CallToolResult, types.ListVendorsOutput, error)
ListPeopleTool(ctx context.Context, req *mcp.CallToolRequest, input *types.ListPeopleInput) (*mcp.CallToolResult, types.ListPeopleOutput, error)
AddVendorTool(ctx context.Context, req *mcp.CallToolRequest, input *types.AddVendorInput) (*mcp.CallToolResult, types.AddVendorOutput, error)
UpdateVendorTool(ctx context.Context, req *mcp.CallToolRequest, input *types.UpdateVendorInput) (*mcp.CallToolResult, types.UpdateVendorOutput, error)
GetPeopleTool(ctx context.Context, req *mcp.CallToolRequest, input *types.GetPeopleInput) (*mcp.CallToolResult, types.GetPeopleOutput, error)
AddPeopleTool(ctx context.Context, req *mcp.CallToolRequest, input *types.AddPeopleInput) (*mcp.CallToolResult, types.AddPeopleOutput, error)
ListRisksTool(ctx context.Context, req *mcp.CallToolRequest, input *types.ListRisksInput) (*mcp.CallToolResult, types.ListRisksOutput, error)
GetRiskTool(ctx context.Context, req *mcp.CallToolRequest, input *types.GetRiskInput) (*mcp.CallToolResult, types.GetRiskOutput, error)
AddRiskTool(ctx context.Context, req *mcp.CallToolRequest, input *types.AddRiskInput) (*mcp.CallToolResult, types.AddRiskOutput, error)
UpdateRiskTool(ctx context.Context, req *mcp.CallToolRequest, input *types.UpdateRiskInput) (*mcp.CallToolResult, types.UpdateRiskOutput, error)
ListMeasuresTool(ctx context.Context, req *mcp.CallToolRequest, input *types.ListMeasuresInput) (*mcp.CallToolResult, types.ListMeasuresOutput, error)
GetMeasureTool(ctx context.Context, req *mcp.CallToolRequest, input *types.GetMeasureInput) (*mcp.CallToolResult, types.GetMeasureOutput, error)
AddMeasureTool(ctx context.Context, req *mcp.CallToolRequest, input *types.AddMeasureInput) (*mcp.CallToolResult, types.AddMeasureOutput, error)
UpdateMeasureTool(ctx context.Context, req *mcp.CallToolRequest, input *types.UpdateMeasureInput) (*mcp.CallToolResult, types.UpdateMeasureOutput, error)
ListFrameworksTool(ctx context.Context, req *mcp.CallToolRequest, input *types.ListFrameworksInput) (*mcp.CallToolResult, types.ListFrameworksOutput, error)
GetFrameworkTool(ctx context.Context, req *mcp.CallToolRequest, input *types.GetFrameworkInput) (*mcp.CallToolResult, types.GetFrameworkOutput, error)
AddFrameworkTool(ctx context.Context, req *mcp.CallToolRequest, input *types.AddFrameworkInput) (*mcp.CallToolResult, types.AddFrameworkOutput, error)
UpdateFrameworkTool(ctx context.Context, req *mcp.CallToolRequest, input *types.UpdateFrameworkInput) (*mcp.CallToolResult, types.UpdateFrameworkOutput, error)
ListAssetsTool(ctx context.Context, req *mcp.CallToolRequest, input *types.ListAssetsInput) (*mcp.CallToolResult, types.ListAssetsOutput, error)
GetAssetTool(ctx context.Context, req *mcp.CallToolRequest, input *types.GetAssetInput) (*mcp.CallToolResult, types.GetAssetOutput, error)
AddAssetTool(ctx context.Context, req *mcp.CallToolRequest, input *types.AddAssetInput) (*mcp.CallToolResult, types.AddAssetOutput, error)
UpdateAssetTool(ctx context.Context, req *mcp.CallToolRequest, input *types.UpdateAssetInput) (*mcp.CallToolResult, types.UpdateAssetOutput, error)
ListDataTool(ctx context.Context, req *mcp.CallToolRequest, input *types.ListDataInput) (*mcp.CallToolResult, types.ListDataOutput, error)
GetDatumTool(ctx context.Context, req *mcp.CallToolRequest, input *types.GetDatumInput) (*mcp.CallToolResult, types.GetDatumOutput, error)
AddDatumTool(ctx context.Context, req *mcp.CallToolRequest, input *types.AddDatumInput) (*mcp.CallToolResult, types.AddDatumOutput, error)
UpdateDatumTool(ctx context.Context, req *mcp.CallToolRequest, input *types.UpdateDatumInput) (*mcp.CallToolResult, types.UpdateDatumOutput, error)
ListNonconformitiesTool(ctx context.Context, req *mcp.CallToolRequest, input *types.ListNonconformitiesInput) (*mcp.CallToolResult, types.ListNonconformitiesOutput, error)
GetNonconformityTool(ctx context.Context, req *mcp.CallToolRequest, input *types.GetNonconformityInput) (*mcp.CallToolResult, types.GetNonconformityOutput, error)
AddNonconformityTool(ctx context.Context, req *mcp.CallToolRequest, input *types.AddNonconformityInput) (*mcp.CallToolResult, types.AddNonconformityOutput, error)
UpdateNonconformityTool(ctx context.Context, req *mcp.CallToolRequest, input *types.UpdateNonconformityInput) (*mcp.CallToolResult, types.UpdateNonconformityOutput, error)
ListObligationsTool(ctx context.Context, req *mcp.CallToolRequest, input *types.ListObligationsInput) (*mcp.CallToolResult, types.ListObligationsOutput, error)
GetObligationTool(ctx context.Context, req *mcp.CallToolRequest, input *types.GetObligationInput) (*mcp.CallToolResult, types.GetObligationOutput, error)
AddObligationTool(ctx context.Context, req *mcp.CallToolRequest, input *types.AddObligationInput) (*mcp.CallToolResult, types.AddObligationOutput, error)
UpdateObligationTool(ctx context.Context, req *mcp.CallToolRequest, input *types.UpdateObligationInput) (*mcp.CallToolResult, types.UpdateObligationOutput, error)
ListContinualImprovementsTool(ctx context.Context, req *mcp.CallToolRequest, input *types.ListContinualImprovementsInput) (*mcp.CallToolResult, types.ListContinualImprovementsOutput, error)
GetContinualImprovementTool(ctx context.Context, req *mcp.CallToolRequest, input *types.GetContinualImprovementInput) (*mcp.CallToolResult, types.GetContinualImprovementOutput, error)
AddContinualImprovementTool(ctx context.Context, req *mcp.CallToolRequest, input *types.AddContinualImprovementInput) (*mcp.CallToolResult, types.AddContinualImprovementOutput, error)
UpdateContinualImprovementTool(ctx context.Context, req *mcp.CallToolRequest, input *types.UpdateContinualImprovementInput) (*mcp.CallToolResult, types.UpdateContinualImprovementOutput, error)
ListAuditsTool(ctx context.Context, req *mcp.CallToolRequest, input *types.ListAuditsInput) (*mcp.CallToolResult, types.ListAuditsOutput, error)
GetAuditTool(ctx context.Context, req *mcp.CallToolRequest, input *types.GetAuditInput) (*mcp.CallToolResult, types.GetAuditOutput, error)
AddAuditTool(ctx context.Context, req *mcp.CallToolRequest, input *types.AddAuditInput) (*mcp.CallToolResult, types.AddAuditOutput, error)
UpdateAuditTool(ctx context.Context, req *mcp.CallToolRequest, input *types.UpdateAuditInput) (*mcp.CallToolResult, types.UpdateAuditOutput, error)
}
// New creates a new MCP server instance with all handlers registered.
// Returns a fully configured *mcp.Server ready to be used with any transport.
func New(resolver ResolverInterface) *mcp.Server {
server := mcp.NewServer(
&mcp.Implementation{
Name: "Probo MCP Server",
Version: "1.0.0",
},
nil,
)
registerToolHandlers(server, resolver)
return server
}
func registerToolHandlers(server *mcp.Server, resolver ResolverInterface) {
mcp.AddTool(
server,
&mcp.Tool{
Name: "listOrganizations",
Description: "List all organizations the user has access to",
InputSchema: types.ListOrganizationsToolInputSchema,
OutputSchema: types.ListOrganizationsToolOutputSchema,
},
resolver.ListOrganizationsTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "listVendors",
Description: "List all vendors for the organization",
InputSchema: types.ListVendorsToolInputSchema,
OutputSchema: types.ListVendorsToolOutputSchema,
},
resolver.ListVendorsTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "listPeople",
Description: "List all people for the organization",
InputSchema: types.ListPeopleToolInputSchema,
OutputSchema: types.ListPeopleToolOutputSchema,
},
resolver.ListPeopleTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "addVendor",
Description: "Add a new vendor to the organization",
InputSchema: types.AddVendorToolInputSchema,
OutputSchema: types.AddVendorToolOutputSchema,
},
resolver.AddVendorTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "updateVendor",
Description: "Update an existing vendor",
InputSchema: types.UpdateVendorToolInputSchema,
OutputSchema: types.UpdateVendorToolOutputSchema,
},
resolver.UpdateVendorTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "getPeople",
Description: "Get a people by ID",
InputSchema: types.GetPeopleToolInputSchema,
OutputSchema: types.GetPeopleToolOutputSchema,
},
resolver.GetPeopleTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "addPeople",
Description: "Add a new people to the organization",
InputSchema: types.AddPeopleToolInputSchema,
OutputSchema: types.AddPeopleToolOutputSchema,
},
resolver.AddPeopleTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "listRisks",
Description: "List all risks for the organization",
InputSchema: types.ListRisksToolInputSchema,
OutputSchema: types.ListRisksToolOutputSchema,
},
resolver.ListRisksTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "getRisk",
Description: "Get a risk by ID",
InputSchema: types.GetRiskToolInputSchema,
OutputSchema: types.GetRiskToolOutputSchema,
},
resolver.GetRiskTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "addRisk",
Description: "Add a new risk to the organization",
InputSchema: types.AddRiskToolInputSchema,
OutputSchema: types.AddRiskToolOutputSchema,
},
resolver.AddRiskTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "updateRisk",
Description: "Update an existing risk",
InputSchema: types.UpdateRiskToolInputSchema,
OutputSchema: types.UpdateRiskToolOutputSchema,
},
resolver.UpdateRiskTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "listMeasures",
Description: "List all measures for the organization",
InputSchema: types.ListMeasuresToolInputSchema,
OutputSchema: types.ListMeasuresToolOutputSchema,
},
resolver.ListMeasuresTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "getMeasure",
Description: "Get a measure by ID",
InputSchema: types.GetMeasureToolInputSchema,
OutputSchema: types.GetMeasureToolOutputSchema,
},
resolver.GetMeasureTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "addMeasure",
Description: "Add a new measure to the organization",
InputSchema: types.AddMeasureToolInputSchema,
OutputSchema: types.AddMeasureToolOutputSchema,
},
resolver.AddMeasureTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "updateMeasure",
Description: "Update an existing measure",
InputSchema: types.UpdateMeasureToolInputSchema,
OutputSchema: types.UpdateMeasureToolOutputSchema,
},
resolver.UpdateMeasureTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "listFrameworks",
Description: "List all frameworks for the organization",
InputSchema: types.ListFrameworksToolInputSchema,
OutputSchema: types.ListFrameworksToolOutputSchema,
},
resolver.ListFrameworksTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "getFramework",
Description: "Get a framework by ID",
InputSchema: types.GetFrameworkToolInputSchema,
OutputSchema: types.GetFrameworkToolOutputSchema,
},
resolver.GetFrameworkTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "addFramework",
Description: "Add a new framework to the organization",
InputSchema: types.AddFrameworkToolInputSchema,
OutputSchema: types.AddFrameworkToolOutputSchema,
},
resolver.AddFrameworkTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "updateFramework",
Description: "Update an existing framework",
InputSchema: types.UpdateFrameworkToolInputSchema,
OutputSchema: types.UpdateFrameworkToolOutputSchema,
},
resolver.UpdateFrameworkTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "listAssets",
Description: "List all assets for the organization",
InputSchema: types.ListAssetsToolInputSchema,
OutputSchema: types.ListAssetsToolOutputSchema,
},
resolver.ListAssetsTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "getAsset",
Description: "Get an asset by ID",
InputSchema: types.GetAssetToolInputSchema,
OutputSchema: types.GetAssetToolOutputSchema,
},
resolver.GetAssetTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "addAsset",
Description: "Add a new asset to the organization",
InputSchema: types.AddAssetToolInputSchema,
OutputSchema: types.AddAssetToolOutputSchema,
},
resolver.AddAssetTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "updateAsset",
Description: "Update an existing asset",
InputSchema: types.UpdateAssetToolInputSchema,
OutputSchema: types.UpdateAssetToolOutputSchema,
},
resolver.UpdateAssetTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "listData",
Description: "List all data for the organization",
InputSchema: types.ListDataToolInputSchema,
OutputSchema: types.ListDataToolOutputSchema,
},
resolver.ListDataTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "getDatum",
Description: "Get a datum by ID",
InputSchema: types.GetDatumToolInputSchema,
OutputSchema: types.GetDatumToolOutputSchema,
},
resolver.GetDatumTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "addDatum",
Description: "Add a new datum to the organization",
InputSchema: types.AddDatumToolInputSchema,
OutputSchema: types.AddDatumToolOutputSchema,
},
resolver.AddDatumTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "updateDatum",
Description: "Update an existing datum",
InputSchema: types.UpdateDatumToolInputSchema,
OutputSchema: types.UpdateDatumToolOutputSchema,
},
resolver.UpdateDatumTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "listNonconformities",
Description: "List all nonconformities for the organization",
InputSchema: types.ListNonconformitiesToolInputSchema,
OutputSchema: types.ListNonconformitiesToolOutputSchema,
},
resolver.ListNonconformitiesTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "getNonconformity",
Description: "Get a nonconformity by ID",
InputSchema: types.GetNonconformityToolInputSchema,
OutputSchema: types.GetNonconformityToolOutputSchema,
},
resolver.GetNonconformityTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "addNonconformity",
Description: "Add a new nonconformity to the organization",
InputSchema: types.AddNonconformityToolInputSchema,
OutputSchema: types.AddNonconformityToolOutputSchema,
},
resolver.AddNonconformityTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "updateNonconformity",
Description: "Update an existing nonconformity",
InputSchema: types.UpdateNonconformityToolInputSchema,
OutputSchema: types.UpdateNonconformityToolOutputSchema,
},
resolver.UpdateNonconformityTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "listObligations",
Description: "List all obligations for the organization",
InputSchema: types.ListObligationsToolInputSchema,
OutputSchema: types.ListObligationsToolOutputSchema,
},
resolver.ListObligationsTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "getObligation",
Description: "Get an obligation by ID",
InputSchema: types.GetObligationToolInputSchema,
OutputSchema: types.GetObligationToolOutputSchema,
},
resolver.GetObligationTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "addObligation",
Description: "Add a new obligation to the organization",
InputSchema: types.AddObligationToolInputSchema,
OutputSchema: types.AddObligationToolOutputSchema,
},
resolver.AddObligationTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "updateObligation",
Description: "Update an existing obligation",
InputSchema: types.UpdateObligationToolInputSchema,
OutputSchema: types.UpdateObligationToolOutputSchema,
},
resolver.UpdateObligationTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "listContinualImprovements",
Description: "List all continual improvements for the organization",
InputSchema: types.ListContinualImprovementsToolInputSchema,
OutputSchema: types.ListContinualImprovementsToolOutputSchema,
},
resolver.ListContinualImprovementsTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "getContinualImprovement",
Description: "Get a continual improvement by ID",
InputSchema: types.GetContinualImprovementToolInputSchema,
OutputSchema: types.GetContinualImprovementToolOutputSchema,
},
resolver.GetContinualImprovementTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "addContinualImprovement",
Description: "Add a new continual improvement to the organization",
InputSchema: types.AddContinualImprovementToolInputSchema,
OutputSchema: types.AddContinualImprovementToolOutputSchema,
},
resolver.AddContinualImprovementTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "updateContinualImprovement",
Description: "Update an existing continual improvement",
InputSchema: types.UpdateContinualImprovementToolInputSchema,
OutputSchema: types.UpdateContinualImprovementToolOutputSchema,
},
resolver.UpdateContinualImprovementTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "listAudits",
Description: "List all audits for the organization",
InputSchema: types.ListAuditsToolInputSchema,
OutputSchema: types.ListAuditsToolOutputSchema,
},
resolver.ListAuditsTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "getAudit",
Description: "Get an audit by ID",
InputSchema: types.GetAuditToolInputSchema,
OutputSchema: types.GetAuditToolOutputSchema,
},
resolver.GetAuditTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "addAudit",
Description: "Add a new audit to the organization",
InputSchema: types.AddAuditToolInputSchema,
OutputSchema: types.AddAuditToolOutputSchema,
},
resolver.AddAuditTool,
)
mcp.AddTool(
server,
&mcp.Tool{
Name: "updateAudit",
Description: "Update an existing audit",
InputSchema: types.UpdateAuditToolInputSchema,
OutputSchema: types.UpdateAuditToolOutputSchema,
},
resolver.UpdateAuditTool,
)
}