From 4d4f4fa526eef6fb48e6b3ec8978171981461b3b Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Thu, 28 May 2026 00:25:19 +0000 Subject: [PATCH] Expose profile source in MCP users Add a ProfileSource schema to the MCP specification and include source\nin the Profile response schema so MCP clients can distinguish\nmanual and SCIM-managed users.\n\nWire the source field in the Profile mapper so list, get, and\ncreate user responses return the persisted profile source. Signed-off-by: Cursor Agent --- pkg/server/api/mcp/v1/specification.yaml | 12 ++++++++++++ pkg/server/api/mcp/v1/types/profile.go | 1 + 2 files changed, 13 insertions(+) diff --git a/pkg/server/api/mcp/v1/specification.yaml b/pkg/server/api/mcp/v1/specification.yaml index 4b7174278..c386d2cee 100644 --- a/pkg/server/api/mcp/v1/specification.yaml +++ b/pkg/server/api/mcp/v1/specification.yaml @@ -187,6 +187,14 @@ components: - INACTIVE go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.ProfileState + ProfileSource: + type: string + enum: + - MANUAL + - SCIM + - SAML + go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.ProfileSource + Regulation: type: string enum: @@ -470,6 +478,7 @@ components: - email_address - additional_email_addresses - kind + - source - state - created_at - updated_at @@ -496,6 +505,9 @@ components: - string - "null" description: Profile kind + source: + $ref: "#/components/schemas/ProfileSource" + description: Profile source (MANUAL, SCIM, or SAML) state: $ref: "#/components/schemas/ProfileState" description: Profile state (ACTIVE or INACTIVE) diff --git a/pkg/server/api/mcp/v1/types/profile.go b/pkg/server/api/mcp/v1/types/profile.go index a6e8fb1c2..ba3c04339 100644 --- a/pkg/server/api/mcp/v1/types/profile.go +++ b/pkg/server/api/mcp/v1/types/profile.go @@ -24,6 +24,7 @@ func NewProfile(p *coredata.MembershipProfile) *Profile { EmailAddress: p.EmailAddress, AdditionalEmailAddresses: p.AdditionalEmailAddresses, Kind: p.Kind, + Source: p.Source, State: p.State, Position: p.Position, ContractStartDate: p.ContractStartDate,