Skip to content

Commit 3b60dfb

Browse files
authored
Merge branch 'main' into update-validate-search-filters-skill
2 parents a460a21 + 5a3dbe1 commit 3b60dfb

8 files changed

Lines changed: 271 additions & 741 deletions

File tree

README.md

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -235,12 +235,10 @@ Hitting **Connect** will open a browser window for LFID login.
235235

236236
| Tool | Description |
237237
|-----------------------------------|---------------------------------------------------------------------------------|
238-
| `search_members` | Search and filter members (memberships) by status, tier, organization, and more |
239-
| `get_member_membership` | Get a single member's membership details by member and membership ID |
240-
| `list_project_tiers` | List all membership tiers (e.g. Gold, Silver, Bronze) defined for a project |
241-
| `get_project_tier` | Get a single membership tier by project and tier UID |
238+
| `search_members` | Search and filter members (memberships) by project, tier, status, or B2B organization |
239+
| `get_member_membership` | Get a single membership by membership UID |
242240
| `get_membership_key_contacts` | Get key contacts (primary contacts, board members) for a membership |
243-
| `get_membership_key_contact` | Get a single key contact by project, membership, and contact UID |
241+
| `get_membership_key_contact` | Get a single key contact by membership UID and contact UID |
244242
| `create_membership_key_contact` | Add a key contact to a membership |
245243
| `update_membership_key_contact` | Update an existing key contact on a membership |
246244
| `delete_membership_key_contact` | Remove a key contact from a membership |
@@ -292,8 +290,7 @@ Hitting **Connect** will open a browser window for LFID login.
292290

293291
| Tool | Description |
294292
|----------------------------|---------------------------------------------------------------|
295-
| `search_b2b_orgs` | Search and list B2B organizations |
296-
| `list_b2b_org_memberships` | List all project memberships for a B2B organization |
293+
| `search_b2b_orgs` | Search B2B organizations by name or domain |
297294

298295
### Utility
299296

cmd/lfx-mcp-server/main.go

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -134,8 +134,6 @@ var defaultTools = []string{
134134
"get_mailing_list_member",
135135
"search_mailing_lists",
136136
"search_mailing_list_members",
137-
"list_project_tiers",
138-
"get_project_tier",
139137
"search_members",
140138
"get_member_membership",
141139
"get_membership_key_contacts",
@@ -164,7 +162,6 @@ var defaultTools = []string{
164162
"query_lfx_lens",
165163
"query_lfx_semantic_layer",
166164
"search_b2b_orgs",
167-
"list_b2b_org_memberships",
168165
}
169166

170167
var logger *slog.Logger
@@ -678,12 +675,6 @@ func newServer(cfg Config, serviceName string, callerToken *auth.TokenInfo) *mcp
678675
if enabledTools["search_mailing_list_members"] && canRead {
679676
tools.RegisterSearchMailingListMembers(server)
680677
}
681-
if enabledTools["list_project_tiers"] && canRead {
682-
tools.RegisterListProjectTiers(server)
683-
}
684-
if enabledTools["get_project_tier"] && canRead {
685-
tools.RegisterGetProjectTier(server)
686-
}
687678
if enabledTools["search_members"] && canRead {
688679
tools.RegisterSearchMembers(server)
689680
}
@@ -738,9 +729,6 @@ func newServer(cfg Config, serviceName string, callerToken *auth.TokenInfo) *mcp
738729
if enabledTools["search_b2b_orgs"] && canRead {
739730
tools.RegisterSearchB2bOrgs(server)
740731
}
741-
if enabledTools["list_b2b_org_memberships"] && canRead {
742-
tools.RegisterListB2bOrgMemberships(server)
743-
}
744732

745733
// Service API tools.
746734
// TODO: uncomment when guided onboarding flow is ready.

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ require (
1111
github.com/lestrrat-go/jwx/v2 v2.1.6
1212
github.com/linuxfoundation/lfx-v2-committee-service v0.2.35
1313
github.com/linuxfoundation/lfx-v2-mailing-list-service v0.4.13
14-
github.com/linuxfoundation/lfx-v2-member-service v0.5.3
14+
github.com/linuxfoundation/lfx-v2-member-service v0.8.0
1515
github.com/linuxfoundation/lfx-v2-project-service v0.6.11
1616
github.com/linuxfoundation/lfx-v2-query-service v0.4.21
1717
github.com/modelcontextprotocol/go-sdk v1.6.1

go.sum

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ github.com/linuxfoundation/lfx-v2-mailing-list-service v0.4.13 h1:5nNZI5mr1NquOt
6060
github.com/linuxfoundation/lfx-v2-mailing-list-service v0.4.13/go.mod h1:gz5bGYepAar5l7y61j5QV07z8n/jxhZKQBINF3oRFTQ=
6161
github.com/linuxfoundation/lfx-v2-member-service v0.5.3 h1:xotDUAs2oVpioTo6gosEdngGpgCSzncjWul0lFj7a6E=
6262
github.com/linuxfoundation/lfx-v2-member-service v0.5.3/go.mod h1:qMzCkX1KayvzmxZQhVL2+dX1jXHqU3CcRGZ/t41vbgs=
63+
github.com/linuxfoundation/lfx-v2-member-service v0.8.0 h1:b7JSXeRcgC7v5sjZ+n098arG5652tfufLqxcvodEhos=
64+
github.com/linuxfoundation/lfx-v2-member-service v0.8.0/go.mod h1:CTnF8JHXN/1+bFEbxcBMcFOdZj+CXxnKT/kJXbEX94E=
6365
github.com/linuxfoundation/lfx-v2-project-service v0.6.11 h1:ACr/XI/Io3PEWX4vJaHHTvEOhN+na4jp1kx3p4PYLsA=
6466
github.com/linuxfoundation/lfx-v2-project-service v0.6.11/go.mod h1:3ULEcvKwHWcBcMxSW3yeMPGqk5+tnu2X+FjcaAw9Fy4=
6567
github.com/linuxfoundation/lfx-v2-query-service v0.4.21 h1:FDoqt8oeC0Egbl3Z7BeqZ2XKcfm4BujFQ4mBSQd3KEs=

internal/lfxv2/client.go

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,10 @@ func NewClients(_ context.Context, cfg ClientConfig) (*Clients, error) {
273273
)
274274

275275
// Initialize member service client.
276-
memberURL, err := url.Parse(cfg.APIDomain + "/members")
276+
// The member service exposes root-level paths (/b2b_orgs/, /project_memberships/,
277+
// /key_contacts/) with no path prefix, so use cfg.APIDomain directly — identical
278+
// to how the project and committee clients are wired.
279+
memberURL, err := url.Parse(cfg.APIDomain)
277280
if err != nil {
278281
return nil, fmt.Errorf("failed to parse member service URL: %w", err)
279282
}
@@ -288,17 +291,20 @@ func NewClients(_ context.Context, cfg ClientConfig) (*Clients, error) {
288291
)
289292

290293
clients.Member = memberservice.NewClient(
291-
memberHTTPClient.ListProjectTiers(),
292-
memberHTTPClient.GetProjectTier(),
293-
memberHTTPClient.ListProjectMemberships(),
294+
memberHTTPClient.GetB2bOrg(),
295+
memberHTTPClient.CreateB2bOrg(),
296+
memberHTTPClient.UpdateB2bOrg(),
297+
memberHTTPClient.GetB2bOrgSettings(),
298+
memberHTTPClient.UpdateB2bOrgSettings(),
299+
memberHTTPClient.AddB2bOrgSettingsUser(),
300+
memberHTTPClient.UpdateB2bOrgSettingsUserRole(),
301+
memberHTTPClient.DeleteB2bOrgSettingsUser(),
294302
memberHTTPClient.GetProjectMembership(),
295-
memberHTTPClient.ListMembershipKeyContacts(),
296-
memberHTTPClient.CreateMembershipKeyContact(),
297-
memberHTTPClient.UpdateMembershipKeyContact(),
298-
memberHTTPClient.DeleteMembershipKeyContact(),
299-
memberHTTPClient.GetMembershipKeyContact(),
300-
memberHTTPClient.ListB2bOrgs(),
301-
memberHTTPClient.ListB2bOrgMemberships(),
303+
memberHTTPClient.GetKeyContact(),
304+
memberHTTPClient.CreateKeyContact(),
305+
memberHTTPClient.UpdateKeyContact(),
306+
memberHTTPClient.DeleteKeyContact(),
307+
memberHTTPClient.AdminReindex(),
302308
memberHTTPClient.Readyz(),
303309
memberHTTPClient.Livez(),
304310
memberHTTPClient.DebugVars(),

0 commit comments

Comments
 (0)