Documentation
¶
Overview ¶
Package tools provides MCP tool implementations for the LFX MCP server.
Package tools provides MCP tool implementations for the LFX MCP server.
Package tools provides MCP tool implementations for the LFX MCP server.
Package tools provides MCP tool implementations for the LFX MCP server.
Package tools provides MCP tool implementations for the LFX MCP server.
Package tools provides MCP tool implementations for the LFX MCP server.
Package tools provides MCP tool implementations for the LFX MCP server.
Package tools provides MCP tool implementations for the LFX MCP server.
Index ¶
- func RegisterGetCommittee(server *mcp.Server)
- func RegisterGetCommitteeMember(server *mcp.Server)
- func RegisterGetMailingList(server *mcp.Server)
- func RegisterGetMailingListMember(server *mcp.Server)
- func RegisterGetMailingListService(server *mcp.Server)
- func RegisterGetMeeting(server *mcp.Server)
- func RegisterGetMeetingRegistrant(server *mcp.Server)
- func RegisterGetMemberMembership(server *mcp.Server)
- func RegisterGetMembershipKeyContacts(server *mcp.Server)
- func RegisterGetPastMeetingParticipant(server *mcp.Server)
- func RegisterGetPastMeetingSummary(server *mcp.Server)
- func RegisterGetPastMeetingTranscript(server *mcp.Server)
- func RegisterGetProject(server *mcp.Server)
- func RegisterHelloWorld(server *mcp.Server)
- func RegisterSearchCommitteeMembers(server *mcp.Server)
- func RegisterSearchCommittees(server *mcp.Server)
- func RegisterSearchMailingListMembers(server *mcp.Server)
- func RegisterSearchMailingLists(server *mcp.Server)
- func RegisterSearchMeetingRegistrants(server *mcp.Server)
- func RegisterSearchMeetings(server *mcp.Server)
- func RegisterSearchMembers(server *mcp.Server)
- func RegisterSearchPastMeetingParticipants(server *mcp.Server)
- func RegisterSearchPastMeetingSummaries(server *mcp.Server)
- func RegisterSearchPastMeetingTranscripts(server *mcp.Server)
- func RegisterSearchProjects(server *mcp.Server)
- func RegisterUserInfo(server *mcp.Server)
- func SetCommitteeConfig(cfg *CommitteeConfig)
- func SetMailingListConfig(cfg *MailingListConfig)
- func SetMeetingConfig(cfg *MeetingConfig)
- func SetMemberConfig(cfg *MemberConfig)
- func SetProjectConfig(cfg *ProjectConfig)
- func SetUserInfoConfig(cfg *UserInfoConfig)
- type CommitteeConfig
- type GetCommitteeArgs
- type GetCommitteeMemberArgs
- type GetMailingListArgs
- type GetMailingListMemberArgs
- type GetMailingListServiceArgs
- type GetMeetingArgs
- type GetMeetingRegistrantArgs
- type GetMemberMembershipArgs
- type GetMembershipKeyContactsArgs
- type GetPastMeetingParticipantArgs
- type GetPastMeetingSummaryArgs
- type GetPastMeetingTranscriptArgs
- type GetProjectArgs
- type HelloWorldArgs
- type MailingListConfig
- type MeetingConfig
- type MemberConfig
- type ProjectConfig
- type SearchCommitteeMembersArgs
- type SearchCommitteesArgs
- type SearchMailingListMembersArgs
- type SearchMailingListsArgs
- type SearchMeetingRegistrantsArgs
- type SearchMeetingsArgs
- type SearchMembersArgs
- type SearchPastMeetingParticipantsArgs
- type SearchPastMeetingSummariesArgs
- type SearchPastMeetingTranscriptsArgs
- type SearchProjectsArgs
- type UserInfoArgs
- type UserInfoConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterGetCommittee ¶ added in v0.1.1
RegisterGetCommittee registers the get_committee tool with the MCP server.
func RegisterGetCommitteeMember ¶ added in v0.1.1
RegisterGetCommitteeMember registers the get_committee_member tool with the MCP server.
func RegisterGetMailingList ¶ added in v0.2.0
RegisterGetMailingList registers the get_mailing_list tool with the MCP server.
func RegisterGetMailingListMember ¶ added in v0.2.0
RegisterGetMailingListMember registers the get_mailing_list_member tool with the MCP server.
func RegisterGetMailingListService ¶ added in v0.2.0
RegisterGetMailingListService registers the get_mailing_list_service tool with the MCP server.
func RegisterGetMeeting ¶ added in v0.2.4
RegisterGetMeeting registers the get_meeting tool with the MCP server.
func RegisterGetMeetingRegistrant ¶ added in v0.2.4
RegisterGetMeetingRegistrant registers the get_meeting_registrant tool with the MCP server.
func RegisterGetMemberMembership ¶ added in v0.2.2
RegisterGetMemberMembership registers the get_member_membership tool with the MCP server.
func RegisterGetMembershipKeyContacts ¶ added in v0.2.2
RegisterGetMembershipKeyContacts registers the get_membership_key_contacts tool with the MCP server.
func RegisterGetPastMeetingParticipant ¶ added in v0.2.6
RegisterGetPastMeetingParticipant registers the get_past_meeting_participant tool with the MCP server.
func RegisterGetPastMeetingSummary ¶ added in v0.2.6
RegisterGetPastMeetingSummary registers the get_past_meeting_summary tool with the MCP server.
func RegisterGetPastMeetingTranscript ¶ added in v0.2.6
RegisterGetPastMeetingTranscript registers the get_past_meeting_transcript tool with the MCP server.
func RegisterGetProject ¶ added in v0.1.0
RegisterGetProject registers the get_project tool with the MCP server.
func RegisterHelloWorld ¶
RegisterHelloWorld registers the hello_world tool with the MCP server.
func RegisterSearchCommitteeMembers ¶ added in v0.1.1
RegisterSearchCommitteeMembers registers the search_committee_members tool with the MCP server.
func RegisterSearchCommittees ¶ added in v0.1.1
RegisterSearchCommittees registers the search_committees tool with the MCP server.
func RegisterSearchMailingListMembers ¶ added in v0.2.0
RegisterSearchMailingListMembers registers the search_mailing_list_members tool with the MCP server.
func RegisterSearchMailingLists ¶ added in v0.2.0
RegisterSearchMailingLists registers the search_mailing_lists tool with the MCP server.
func RegisterSearchMeetingRegistrants ¶ added in v0.2.4
RegisterSearchMeetingRegistrants registers the search_meeting_registrants tool with the MCP server.
func RegisterSearchMeetings ¶ added in v0.2.4
RegisterSearchMeetings registers the search_meetings tool with the MCP server.
func RegisterSearchMembers ¶ added in v0.2.2
RegisterSearchMembers registers the search_members tool with the MCP server.
func RegisterSearchPastMeetingParticipants ¶ added in v0.2.6
RegisterSearchPastMeetingParticipants registers the search_past_meeting_participants tool with the MCP server.
func RegisterSearchPastMeetingSummaries ¶ added in v0.2.6
RegisterSearchPastMeetingSummaries registers the search_past_meeting_summaries tool with the MCP server.
func RegisterSearchPastMeetingTranscripts ¶ added in v0.2.6
RegisterSearchPastMeetingTranscripts registers the search_past_meeting_transcripts tool with the MCP server.
func RegisterSearchProjects ¶ added in v0.1.0
RegisterSearchProjects registers the search_projects tool with the MCP server.
func RegisterUserInfo ¶
RegisterUserInfo registers the user_info tool with the MCP server.
func SetCommitteeConfig ¶ added in v0.1.1
func SetCommitteeConfig(cfg *CommitteeConfig)
SetCommitteeConfig sets the configuration for committee tools.
func SetMailingListConfig ¶ added in v0.2.0
func SetMailingListConfig(cfg *MailingListConfig)
SetMailingListConfig sets the configuration for mailing list tools.
func SetMeetingConfig ¶ added in v0.2.4
func SetMeetingConfig(cfg *MeetingConfig)
SetMeetingConfig sets the configuration for meeting tools.
func SetMemberConfig ¶ added in v0.2.2
func SetMemberConfig(cfg *MemberConfig)
SetMemberConfig sets the configuration for member tools.
func SetProjectConfig ¶ added in v0.1.0
func SetProjectConfig(cfg *ProjectConfig)
SetProjectConfig sets the configuration for project tools.
func SetUserInfoConfig ¶
func SetUserInfoConfig(cfg *UserInfoConfig)
SetUserInfoConfig sets the configuration for the user_info tool.
Types ¶
type CommitteeConfig ¶ added in v0.1.1
type CommitteeConfig struct {
LFXAPIURL string
TokenExchangeClient *lfxv2.TokenExchangeClient
DebugLogger *slog.Logger
}
CommitteeConfig holds configuration shared by committee tools.
type GetCommitteeArgs ¶ added in v0.1.1
type GetCommitteeArgs struct {
UID string `json:"uid" jsonschema:"The v2 UID of the committee to retrieve"`
}
GetCommitteeArgs defines the input parameters for the get_committee tool.
type GetCommitteeMemberArgs ¶ added in v0.1.1
type GetCommitteeMemberArgs struct {
CommitteeUID string `json:"committee_uid" jsonschema:"The v2 UID of the committee"`
MemberUID string `json:"member_uid" jsonschema:"The v2 UID of the committee member"`
}
GetCommitteeMemberArgs defines the input parameters for the get_committee_member tool.
type GetMailingListArgs ¶ added in v0.2.0
type GetMailingListArgs struct {
UID string `json:"uid" jsonschema:"The v2 UID of the mailing list to retrieve"`
}
GetMailingListArgs defines the input parameters for the get_mailing_list tool.
type GetMailingListMemberArgs ¶ added in v0.2.0
type GetMailingListMemberArgs struct {
MailingListUID string `json:"mailing_list_uid" jsonschema:"The v2 UID of the mailing list"`
MemberUID string `json:"member_uid" jsonschema:"The v2 UID of the mailing list member"`
}
GetMailingListMemberArgs defines the input parameters for the get_mailing_list_member tool.
type GetMailingListServiceArgs ¶ added in v0.2.0
type GetMailingListServiceArgs struct {
UID string `json:"uid" jsonschema:"The v2 UID of the mailing list service to retrieve"`
}
GetMailingListServiceArgs defines the input parameters for the get_mailing_list_service tool.
type GetMeetingArgs ¶ added in v0.2.4
type GetMeetingArgs struct {
UID string `json:"uid" jsonschema:"The UID of the meeting to retrieve"`
}
GetMeetingArgs defines the input parameters for the get_meeting tool.
type GetMeetingRegistrantArgs ¶ added in v0.2.4
type GetMeetingRegistrantArgs struct {
UID string `json:"uid" jsonschema:"The UID of the meeting registrant to retrieve"`
}
GetMeetingRegistrantArgs defines the input parameters for the get_meeting_registrant tool.
type GetMemberMembershipArgs ¶ added in v0.2.2
type GetMemberMembershipArgs struct {
MemberID string `json:"member_id" jsonschema:"The member UID"`
ID string `json:"id" jsonschema:"The membership UID"`
}
GetMemberMembershipArgs defines the input parameters for the get_member_membership tool.
type GetMembershipKeyContactsArgs ¶ added in v0.2.2
type GetMembershipKeyContactsArgs struct {
MemberID string `json:"member_id" jsonschema:"The member UID"`
ID string `json:"id" jsonschema:"The membership UID"`
}
GetMembershipKeyContactsArgs defines the input parameters for the get_membership_key_contacts tool.
type GetPastMeetingParticipantArgs ¶ added in v0.2.6
type GetPastMeetingParticipantArgs struct {
UID string `json:"uid" jsonschema:"The UID of the past meeting participant to retrieve"`
}
GetPastMeetingParticipantArgs defines the input parameters for the get_past_meeting_participant tool.
type GetPastMeetingSummaryArgs ¶ added in v0.2.6
type GetPastMeetingSummaryArgs struct {
UID string `json:"uid" jsonschema:"The UID of the past meeting summary to retrieve"`
}
GetPastMeetingSummaryArgs defines the input parameters for the get_past_meeting_summary tool.
type GetPastMeetingTranscriptArgs ¶ added in v0.2.6
type GetPastMeetingTranscriptArgs struct {
UID string `json:"uid" jsonschema:"The UID of the past meeting transcript to retrieve"`
}
GetPastMeetingTranscriptArgs defines the input parameters for the get_past_meeting_transcript tool.
type GetProjectArgs ¶ added in v0.1.0
type GetProjectArgs struct {
UID string `json:"uid" jsonschema:"The v2 UID of the project to retrieve"`
}
GetProjectArgs defines the input parameters for the get_project tool.
type HelloWorldArgs ¶
type HelloWorldArgs struct {
Name string `json:"name,omitempty" jsonschema:"Name to greet (optional, defaults to 'World')"`
Message string `json:"message,omitempty" jsonschema:"Custom greeting message (optional)"`
}
HelloWorldArgs defines the input parameters for the hello_world tool.
type MailingListConfig ¶ added in v0.2.0
type MailingListConfig struct {
LFXAPIURL string
TokenExchangeClient *lfxv2.TokenExchangeClient
DebugLogger *slog.Logger
}
MailingListConfig holds configuration shared by mailing list tools.
type MeetingConfig ¶ added in v0.2.4
type MeetingConfig struct {
LFXAPIURL string
TokenExchangeClient *lfxv2.TokenExchangeClient
DebugLogger *slog.Logger
}
MeetingConfig holds configuration shared by meeting tools.
type MemberConfig ¶ added in v0.2.2
type MemberConfig struct {
LFXAPIURL string
TokenExchangeClient *lfxv2.TokenExchangeClient
DebugLogger *slog.Logger
}
MemberConfig holds configuration shared by member tools.
type ProjectConfig ¶ added in v0.1.0
type ProjectConfig struct {
LFXAPIURL string
TokenExchangeClient *lfxv2.TokenExchangeClient
DebugLogger *slog.Logger
}
ProjectConfig holds configuration shared by project tools.
type SearchCommitteeMembersArgs ¶ added in v0.1.1
type SearchCommitteeMembersArgs struct {
CommitteeUID string `json:"committee_uid,omitempty" jsonschema:"Optional v2 UID of the committee to filter members by"`
ProjectUID string `` /* 148-byte string literal not displayed */
Name string `json:"name,omitempty" jsonschema:"Name or partial name of the member to search for"`
PageSize int `json:"page_size,omitempty" jsonschema:"Number of results per page (default 10, max 100)"`
PageToken string `json:"page_token,omitempty" jsonschema:"Opaque pagination token from a previous search response"`
}
SearchCommitteeMembersArgs defines the input parameters for the search_committee_members tool.
type SearchCommitteesArgs ¶ added in v0.1.1
type SearchCommitteesArgs struct {
Name string `json:"name,omitempty" jsonschema:"Name or partial name of the committee to search for"`
ProjectUID string `` /* 141-byte string literal not displayed */
PageSize int `json:"page_size,omitempty" jsonschema:"Number of results per page (default 10, max 100)"`
PageToken string `json:"page_token,omitempty" jsonschema:"Opaque pagination token from a previous search response"`
}
SearchCommitteesArgs defines the input parameters for the search_committees tool.
type SearchMailingListMembersArgs ¶ added in v0.2.0
type SearchMailingListMembersArgs struct {
MailingListUID string `json:"mailing_list_uid,omitempty" jsonschema:"Optional v2 UID of the mailing list to filter members by"`
ProjectUID string `json:"project_uid,omitempty" jsonschema:"Optional v2 project UID to filter mailing list members by project"`
Name string `json:"name,omitempty" jsonschema:"Name or partial name of the member to search for"`
PageSize int `json:"page_size,omitempty" jsonschema:"Number of results per page (default 10)"`
PageToken string `json:"page_token,omitempty" jsonschema:"Opaque pagination token from a previous search response"`
}
SearchMailingListMembersArgs defines the input parameters for the search_mailing_list_members tool.
type SearchMailingListsArgs ¶ added in v0.2.0
type SearchMailingListsArgs struct {
Name string `json:"name,omitempty" jsonschema:"Name or partial name of the mailing list to search for"`
ProjectUID string `` /* 144-byte string literal not displayed */
PageSize int `json:"page_size,omitempty" jsonschema:"Number of results per page (default 10)"`
PageToken string `json:"page_token,omitempty" jsonschema:"Opaque pagination token from a previous search response"`
}
SearchMailingListsArgs defines the input parameters for the search_mailing_lists tool.
type SearchMeetingRegistrantsArgs ¶ added in v0.2.4
type SearchMeetingRegistrantsArgs struct {
MeetingID string `json:"meeting_id,omitempty" jsonschema:"Filter registrants by meeting ID"`
CommitteeUID string `json:"committee_uid,omitempty" jsonschema:"Filter registrants by committee UID"`
ProjectUID string `json:"project_uid,omitempty" jsonschema:"Filter registrants by project UID"`
Name string `json:"name,omitempty" jsonschema:"Name or partial name of the registrant to search for"`
Filters []string `json:"filters,omitempty" jsonschema:"Direct field:value term filters (e.g. host:true or type:committee)"`
Sort string `` /* 140-byte string literal not displayed */
PageSize int `json:"page_size,omitempty" jsonschema:"Number of results per page (default 10, max 100)"`
PageToken string `json:"page_token,omitempty" jsonschema:"Opaque pagination token from a previous search response"`
}
SearchMeetingRegistrantsArgs defines the input parameters for the search_meeting_registrants tool.
type SearchMeetingsArgs ¶ added in v0.2.4
type SearchMeetingsArgs struct {
Name string `json:"name,omitempty" jsonschema:"Name or partial name of the meeting to search for"`
ProjectUID string `json:"project_uid,omitempty" jsonschema:"Filter meetings by project UID"`
CommitteeUID string `json:"committee_uid,omitempty" jsonschema:"Filter meetings by committee UID"`
DateField string `json:"date_field,omitempty" jsonschema:"Date field to filter on (default start_time when date_from or date_to is set)"`
DateFrom string `json:"date_from,omitempty" jsonschema:"Start date inclusive in ISO 8601 format (e.g. 2025-01-01)"`
DateTo string `json:"date_to,omitempty" jsonschema:"End date inclusive in ISO 8601 format (e.g. 2025-12-31)"`
Filters []string `json:"filters,omitempty" jsonschema:"Direct field:value term filters (e.g. visibility:public or status:active)"`
Sort string `` /* 140-byte string literal not displayed */
PageSize int `json:"page_size,omitempty" jsonschema:"Number of results per page (default 10, max 100)"`
PageToken string `json:"page_token,omitempty" jsonschema:"Opaque pagination token from a previous search response"`
}
SearchMeetingsArgs defines the input parameters for the search_meetings tool.
type SearchMembersArgs ¶ added in v0.2.2
type SearchMembersArgs struct {
Search string `json:"search,omitempty" jsonschema:"Free-text search across member name, project names, and tiers"`
Status string `json:"status,omitempty" jsonschema:"Filter by membership status (e.g. active, expired)"`
MembershipType string `json:"membership_type,omitempty" jsonschema:"Filter by membership type"`
AccountID string `json:"account_id,omitempty" jsonschema:"Filter by account ID"`
ProjectID string `json:"project_id,omitempty" jsonschema:"Filter by project ID"`
ProductID string `json:"product_id,omitempty" jsonschema:"Filter by product ID"`
Year string `json:"year,omitempty" jsonschema:"Filter by membership year"`
Tier string `json:"tier,omitempty" jsonschema:"Filter by membership tier"`
ContactID string `json:"contact_id,omitempty" jsonschema:"Filter by contact ID"`
AutoRenew string `json:"auto_renew,omitempty" jsonschema:"Filter by auto-renew status (true or false)"`
PageSize int `json:"page_size,omitempty" jsonschema:"Number of results per page (1-100, default 25)"`
Offset int `json:"offset,omitempty" jsonschema:"Offset into the total result list (default 0)"`
}
SearchMembersArgs defines the input parameters for the search_members tool.
type SearchPastMeetingParticipantsArgs ¶ added in v0.2.6
type SearchPastMeetingParticipantsArgs struct {
MeetingID string `json:"meeting_id,omitempty" jsonschema:"Filter participants by meeting ID"`
CommitteeUID string `json:"committee_uid,omitempty" jsonschema:"Filter participants by committee UID"`
ProjectUID string `json:"project_uid,omitempty" jsonschema:"Filter participants by project UID"`
Name string `json:"name,omitempty" jsonschema:"Name or partial name of the participant to search for"`
Filters []string `json:"filters,omitempty" jsonschema:"Direct field:value term filters"`
Sort string `` /* 140-byte string literal not displayed */
PageSize int `json:"page_size,omitempty" jsonschema:"Number of results per page (default 10, max 100)"`
PageToken string `json:"page_token,omitempty" jsonschema:"Opaque pagination token from a previous search response"`
}
SearchPastMeetingParticipantsArgs defines the input parameters for the search_past_meeting_participants tool.
type SearchPastMeetingSummariesArgs ¶ added in v0.2.6
type SearchPastMeetingSummariesArgs struct {
MeetingID string `json:"meeting_id,omitempty" jsonschema:"Filter summaries by meeting ID"`
CommitteeUID string `json:"committee_uid,omitempty" jsonschema:"Filter summaries by committee UID"`
ProjectUID string `json:"project_uid,omitempty" jsonschema:"Filter summaries by project UID"`
Name string `json:"name,omitempty" jsonschema:"Name or partial name of the summary to search for"`
Filters []string `json:"filters,omitempty" jsonschema:"Direct field:value term filters"`
Sort string `` /* 140-byte string literal not displayed */
PageSize int `json:"page_size,omitempty" jsonschema:"Number of results per page (default 10, max 100)"`
PageToken string `json:"page_token,omitempty" jsonschema:"Opaque pagination token from a previous search response"`
}
SearchPastMeetingSummariesArgs defines the input parameters for the search_past_meeting_summaries tool.
type SearchPastMeetingTranscriptsArgs ¶ added in v0.2.6
type SearchPastMeetingTranscriptsArgs struct {
MeetingID string `json:"meeting_id,omitempty" jsonschema:"Filter transcripts by meeting ID"`
CommitteeUID string `json:"committee_uid,omitempty" jsonschema:"Filter transcripts by committee UID"`
ProjectUID string `json:"project_uid,omitempty" jsonschema:"Filter transcripts by project UID"`
Name string `json:"name,omitempty" jsonschema:"Name or partial name of the transcript to search for"`
Filters []string `json:"filters,omitempty" jsonschema:"Direct field:value term filters"`
Sort string `` /* 140-byte string literal not displayed */
PageSize int `json:"page_size,omitempty" jsonschema:"Number of results per page (default 10, max 100)"`
PageToken string `json:"page_token,omitempty" jsonschema:"Opaque pagination token from a previous search response"`
}
SearchPastMeetingTranscriptsArgs defines the input parameters for the search_past_meeting_transcripts tool.
type SearchProjectsArgs ¶ added in v0.1.0
type SearchProjectsArgs struct {
Name string `json:"name" jsonschema:"Name or partial name of the project to search for"`
PageSize int `json:"page_size,omitempty" jsonschema:"Number of results per page (default 10, max 100)"`
PageToken string `json:"page_token,omitempty" jsonschema:"Opaque pagination token from a previous search response"`
}
SearchProjectsArgs defines the input parameters for the search_projects tool.
type UserInfoArgs ¶
type UserInfoArgs struct {
}
UserInfoArgs defines the input parameters for the user_info tool.
type UserInfoConfig ¶
type UserInfoConfig struct {
UserInfoEndpoint string // Full userinfo endpoint URL (e.g., https://example.auth0.com/userinfo).
HTTPClient *http.Client
}
UserInfoConfig holds configuration for the user_info tool.