From 41da4bbad12b283780161cc4ef71aaebf91e7e7b Mon Sep 17 00:00:00 2001 From: Sacha Al Himdani Date: Thu, 30 Jul 2026 16:19:01 +0200 Subject: [PATCH] Default MCP third-party list to level 1 Omit level to return direct third parties; pass level to filter by hierarchy depth. Documented on the tool and filter field. Signed-off-by: Sacha Al Himdani --- pkg/server/api/mcp/v1/schema.resolvers.go | 7 ++++++- pkg/server/api/mcp/v1/specification.yaml | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/pkg/server/api/mcp/v1/schema.resolvers.go b/pkg/server/api/mcp/v1/schema.resolvers.go index ba6e28449..1ec3daec0 100644 --- a/pkg/server/api/mcp/v1/schema.resolvers.go +++ b/pkg/server/api/mcp/v1/schema.resolvers.go @@ -76,7 +76,12 @@ func (r *Resolver) ListThirdPartiesTool(ctx context.Context, req *mcp.CallToolRe cursor := types.NewCursor(input.Size, input.Cursor, pageOrderBy) - thirdPartyFilter := coredata.NewThirdPartyFilter(nil, input.Level, nil, nil, nil) + level := input.Level + if level == nil { + level = new(1) + } + + thirdPartyFilter := coredata.NewThirdPartyFilter(nil, level, nil, nil, nil) page, err := prb.ThirdParties.ListForOrganizationID(ctx, scope, input.OrganizationID, cursor, thirdPartyFilter) if err != nil { diff --git a/pkg/server/api/mcp/v1/specification.yaml b/pkg/server/api/mcp/v1/specification.yaml index 53c928d75..97c3afea3 100644 --- a/pkg/server/api/mcp/v1/specification.yaml +++ b/pkg/server/api/mcp/v1/specification.yaml @@ -663,7 +663,7 @@ components: description: Organization ID level: type: integer - description: Filter by level + description: Filter by hierarchy depth (1 = direct third party, 2+ = third party of a third party / indirect). Defaults to 1 when omitted. order_by: $ref: "#/components/schemas/ThirdPartyOrderBy" description: ThirdParty order by @@ -12606,7 +12606,7 @@ tools: $ref: "#/components/schemas/ListOrganizationsOutput" - name: listThirdParties title: List Third Parties - description: List all thirdParties for the organization + description: List thirdParties for the organization. By default only direct third parties (level 1) are returned; pass level to filter by hierarchy depth. hints: readonly: true destructive: false