Lgl MCP server
io.github.WillHeadlee/lgl-mcp-server·v1.0.0·1 starsMCP server for Little Green Light CRM. Search donors, log gifts, manage groups and contacts.
1 stars30 downloads/wk
Reviews
Write oneNobody has reviewed Lgl yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Lgl tools (100, 59 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
add_constituent_to_groupAdd a constituent to a group (creates a group membership)
create_addresswrite actionAdd a street address to a constituent
create_appealwrite actionCreate a new appeal
create_appeal_requestwrite actionCreate a new appeal request, either linked to an appeal or constituent
create_campaignwrite actionCreate a new fundraising campaign
create_class_affiliationwrite actionAdd a class affiliation to a constituent
create_constituentwrite actionCreate a new constituent in LGL
create_contact_reportwrite actionCreate a new contact report nested under a constituent
create_email_addresswrite actionAdd an email address to a constituent
create_eventwrite actionCreate a new event
create_fundwrite actionCreate a new fund
create_groupwrite actionCreate a new constituent group
create_membershipwrite actionAdd a membership record to a constituent
create_membership_levelwrite actionCreate a new membership level
create_notewrite actionLog a new note nested under a specific constituent
create_phone_numberwrite actionAdd a phone number to a constituent
create_relationshipwrite actionCreate a relationship between two constituents (nested under the parent constituent)
create_volunteer_timewrite actionRecord volunteer hours nested under a constituent
create_web_addresswrite actionAdd a web address to a constituent
delete_addresswrite actionDelete a street address record by Address ID
delete_appealwrite actionDelete an appeal by ID
delete_appeal_requestwrite actionDelete an appeal request by ID
delete_campaignwrite actionDelete a campaign by ID
delete_class_affiliationwrite actionDelete a class affiliation record by ID
delete_constituentwrite actionDelete an existing constituent by ID
delete_contact_reportwrite actionDelete a contact report by ID
delete_email_addresswrite actionDelete an email address record by Email ID
delete_eventwrite actionDelete an event by ID
delete_fundwrite actionDelete a fund by ID
delete_giftwrite actionDelete a specific gift record by Gift ID
delete_groupwrite actionDelete a constituent group
delete_membershipwrite actionDelete a membership record by ID
delete_membership_levelwrite actionDelete membership level by ID
delete_notewrite actionDelete a note record by Note ID
delete_phone_numberwrite actionDelete a phone number record by Phone ID
delete_relationshipwrite actionDelete a constituent relationship by Relationship ID
delete_volunteer_timewrite actionDelete a volunteer time record by ID
delete_web_addresswrite actionDelete a web address record by Web Address ID
get_appealGet appeal details by ID
get_appeal_requestGet details for an appeal request by ID
get_campaignGet fundraising campaign details by ID
get_class_affiliationGet class affiliation details by ID
get_constituentGet full details for a single constituent by ID
get_contact_reportGet full details of a contact report by ID
get_eventGet fundraising event details by ID
get_fundGet fund details by ID
get_giftGet full details for a specific gift record by ID
get_groupGet details for a single group by ID
get_group_membershipGet details for a group membership record by ID
get_membershipGet membership record details by ID
get_membership_levelGet membership level details by ID
get_noteGet full details of a note by ID
get_relationshipGet details for a constituent relationship by Relationship ID
get_volunteer_timeGet volunteer time record details by ID
list_addressesList street addresses for a specific constituent
list_appeal_requestsFetch appeal requests, either for a specific appeal or for a specific constituent
list_appealsList all appeals
list_campaignsList all campaigns
list_class_affiliation_typesList all available class affiliation types
list_class_affiliationsList class affiliations for a constituent
list_constituentsList all constituents with optional pagination
list_contact_reportsList contact reports, optionally filtered by constituent, or fetch all
list_email_addresseswrite actionList email addresses for a specific constituent
list_eventsList all fundraising events
list_fundsList all funds
list_giftsList gifts, either for a specific constituent (nested) or across the account (search)
list_group_membershipsList group memberships for a specific constituent
list_groupsList all constituent groups defined in LGL
list_membership_levelsList all membership levels defined in LGL
list_membershipsList membership program enrollments for a specific constituent
list_notesList notes, optionally filtered by constituent, or fetch all notes
list_phone_numbersList phone numbers for a specific constituent
list_relationshipsList constituent relationships for a specific constituent
list_volunteer_timesList volunteer times, optionally filtered by constituent, or fetch all
list_web_addressesList web addresses (websites/social profiles) for a specific constituent
record_giftRecord a new gift nested under a specific constituent
remove_constituent_from_groupwrite actionRemove a constituent from a group (deletes the group membership record by ID)
search_constituentsSearch for constituents by name, email, phone, or other keyword
search_contact_reportsSearch across contact reports
search_volunteer_timesSearch for volunteer times
update_addresswrite actionUpdate an existing street address record by Address ID
update_appealwrite actionUpdate appeal details
update_appeal_requestwrite actionUpdate an appeal request details
update_campaignwrite actionUpdate an existing campaign details
update_class_affiliationwrite actionUpdate a class affiliation record
update_constituentwrite actionUpdate an existing constituent's core information
update_contact_reportwrite actionUpdate an existing contact report by ID
update_email_addresswrite actionUpdate an existing email address record by Email ID
update_eventwrite actionUpdate event details
update_fundwrite actionUpdate fund details
update_giftwrite actionUpdate an existing gift record by Gift ID
update_groupwrite actionUpdate constituent group details
update_group_membershipwrite actionUpdate a group membership record
update_membershipwrite actionUpdate a membership record by ID
update_membership_levelwrite actionUpdate membership level details
update_notewrite actionUpdate an existing note record by Note ID
update_phone_numberwrite actionUpdate an existing phone number record by Phone ID
update_relationshipwrite actionUpdate relationship type between two constituents by Relationship ID
update_volunteer_timewrite actionUpdate an existing volunteer hours record
update_web_addresswrite actionUpdate an existing web address record by Web Address ID
Public scan report
scanner v0.1.9 · 2026-09-27 · same rubric, same numbers if you re-run it
- Code scan3 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 44 days ago12/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How Lgl compares
Against every graded Sales and outbound MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 78/100
- higher than 66% of 876 Sales and outbound servers
- Tools
- 100
- the typical Sales and outbound server has 8
- Tools that change things
- 59%
- typical: 11%. Fewer write tools means less an agent can break
- GitHub stars
- 1
- more than 70% of 420 Sales and outbound servers
- Downloads a week
- 30
- more than 20% of 156 Sales and outbound servers with a package
What its tools let an agent do: 40 read · 19 create · 21 change · 20 delete
Install Lgl in Claude Code, Cursor or VS Code
Runs npx -y lgl-mcp-server on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add lgl-mcp-server -- npx -y lgl-mcp-server
What the publisher says
From the Lgl repository's README, as published. We do not edit it. Read it on GitHub
Little Green Light (LGL) MCP Server
A direct, secure, and high-fidelity Model Context Protocol (MCP) Server for the Little Green Light CRM database. This server allows AI coding assistants and chat applications (like Claude Desktop, LibreChat, or Open WebUI) to securely interact with your donor database to search constituents, log gifts, categorize taxonomic groups, and generate reports locally without any third-party middleware (like Zapier).
Features
- Constituents & Core Management: Search, retrieve, create, update, and delete constituent records. createconstituent rejects a fully blank identity (needs organizationname, or at least one of firstname/lastname) rather than silently creating an empty record. Bulk name-resolution helpers (used to label aggregate reports like top_donors) distinguish a genuine "constituent doesn't exist" from any other lookup failure (rate limit, network, auth) instead of masking both as the same fallback.
- Advanced Server-Side Search: searchconstituentsadvanced filters constituents directly through LGL's own query engine — custom attributes (contains/equals/starts-with/blank/not-blank), keyword, location, membership status/level, groups, lists, and updated date — all AND'd together and referenced by friendly display name rather than internal LGL IDs. Attribute values are only included in results when explicitly requested (includecustomattrs), keeping ordinary filtered lookups lightweight. constituentsnevertouchedattribute finds records that have never had a given custom attribute set at all — a state LGL's own blank/not-blank operators can't distinguish from "set but empty." constituentsmissing_info walks the full constituent list (not just the first page) to find records missing an email, phone, or address, and returns count separately from the limit-sliced results, flagging truncated if the account is large enough to hit the underlying scan's page cap.
- Fundraising & Gifts: Record new gifts, list transactions (with date-range filters), search payments, and view campaigns, funds, appeals, and events. Gift/donor-lookup tools surface each record's gift type and pledge/installment linkage, and giving-total reports exclude pledges from cash totals to avoid double-counting — see Gift Types & Pledge Linkage below.
- Contact Sub-Resources: Fully manage street addresses, phone numbers, email addresses, and web addresses for constituents.
- Activities & Notes: Log notes, write contact reports, and track volunteer hours.
- Groups & Memberships: Organize constituents into customizable groups and membership levels.
- One-Shot Donor Lookup: getdonorcontext returns profile + recent gifts + group memberships + recent notes in a single call (resolves by name or ID).
- Full Profile Export: exportconstituentprofile mirrors LGL's own "Export Profile" button — full record, complete gift history, relationships, class/school affiliations, memberships, volunteer time, contact reports, appeal requests, event invitations, group memberships, and notes, fetched in parallel in one call.
- Document Links: logdocumentlink records a note pointing at a file hosted elsewhere (OneDrive/SharePoint/etc.) — LGL's API has no file-upload endpoint, so this is a reference, not a real attachment. See API Gaps & Workarounds below.
- Groups as Saved Lists: creategroupwith_members creates a group and adds constituents to it in one call — the closest API-native substitute for LGL's UI-only dynamic Lists, which have no create/edit endpoint. Membership writes are batched (20 at a time) rather than fired all at once, so a large constituent list doesn't blast the API with unbounded concurrent requests. See API Gaps & Workarounds below.
- Three Permission Levels: strictly read-only, assisted (read-only plus notes and human-reviewed webhook writes), and
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Lgl: common questions
- Is Lgl MCP server safe?
- Mostly: it is graded B (78/100). Read the Lgl safety report
- How do I install Lgl?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Lgl need an API key?
- Yes. The registry entry asks for
LGL_API_KEY. - Is Lgl maintained?
- The last commit was 82 days ago (2026-08-14). The latest release is v1.0.0.
- What can I use instead of Lgl?
- Servers from other publishers that do the same job: Ictcrm MCP server, Customermates MCP server and Salesforce MCP server.
- How does Lgl compare with other Sales and outbound MCP servers?
- safety score 78/100 (higher than 66% of 876 Sales and outbound servers); tools 100 (the typical Sales and outbound server has 8); tools that change things 59% (typical: 11%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to Lgl
Same job from other publishers: the closest match first, then the best rated.
- IctcrmRead CRM contact groups and manage contacts on ICTCRM (ICTContact backend).not reviewedGrowingA
- CustomermatesNative MCP access to CRM contacts, organizations, deals and tasks with user permissions.not reviewedEstablishedA
- SalesforceSalesforce CRM MCP server: accounts, contacts, opportunities, leads, tasks, and custom objectsnot reviewedGrowingA
- PipedriveComplete Pipedrive CRM integration with 254 MCP tools for deals, contacts, and pipelinesnot reviewedGrowingB
- PinlyxPinlyx CRM for AI assistants: contacts, deals, social inbox and posts, email and Google Ads.not reviewedGrowingA