Tool reference
All 29 tools the DonorAtlas MCP server exposes to AI assistants. A tool is available to a user only when their account carries all of its required permissions. This page is generated from the live server, so it always matches deployed behavior.
Server endpoint: https://mcp.donoratlas.com
Account & Access
get_access_info
any authenticated userExplain the caller's DonorAtlas MCP access level — which tool families their permissions unlock, or how to get access if none. Call this when the user asks why tools are missing or how to get set up.
Example responses (2)
Your DonorAtlas account is connected, but it isn't enabled for Claude access yet — that's why no research tools are available. Access is enabled per team: ask your DonorAtlas team admin, or contact the DonorAtlas team at team@donoratlas.com to get set up. Once enabled, reconnect this connector and the full toolset will appear.
## Your DonorAtlas access Enabled: donor research (lookup, profiles, giving, contact info, search, lists, networks); team info; live research of new people; exports.
get_my_account
any authenticated userGet the calling user's DonorAtlas account: name, email, team, and their role on that team. Useful to confirm which account and team subsequent tools operate on.
Example response (1)
## Jordan Ellis - Email: jordan@example.org - Team: Acme Philanthropy Advisors - Plan: Enterprise - Role on team: ADMIN
whoami
any authenticated userReturn the authenticated caller's identity and granted permissions.
Example response (1)
## MCP identity - Subject: `auth0|000000000000000000000000` - Client: `https://claude.ai/oauth/mcp-oauth-client-metadata` - Permissions: `atlas:read`, `team:read`, `team:write`, `imports:run`, `exports:run` - Token expires: 2026-08-15 03:45 UTC (epoch 1786669516)
For CIMD clients (Claude), the client is the client's metadata URL.
Donor Research
check_lookup
atlas:readCheck on a live research job started by lookup_person. Returns progress while running, and the person's profile once complete. Poll every ~30 seconds.
| Parameter | Type | Required | Default |
|---|---|---|---|
| job_id | string | yes |
Example responses (3)
Status: still researching (62% done, Analyzing wealth signals). Check again in ~30 seconds with `job_id: job_a81f42c7`.
Status: research complete. ## [Jane Doe](https://app.donoratlas.com/donor/da_5w8y2e6r) Portland, OR · age 54 …full basic profile…
Status: research finished but no confident profile emerged. The person may have little public presence — try lookup_person again with any additional details you have.
get_board_memberships
atlas:readNonprofit board service for a person: organizations, titles, and years.
| Parameter | Type | Required | Default |
|---|---|---|---|
| person_id | string | yes | |
| page | integer | no | 1 |
Example response (1)
## Board service — 5 organizations - Art Institute of Chicago — Trustee (2015–2025) - Field Museum — Director (2012–2023) - Northwestern University — Trustee (2018–2024)
Rows are grouped by organization — ten years on one board is one line, not ten.
get_contact_info
atlas:readGet a person's contact information (emails and phone numbers). Request only the channels the user's task needs: include_work_email and include_personal_email default true, include_mobile_phone defaults false — set it true only when the user wants a phone number. Triggers a contact reveal if none is on file yet, which can take a few seconds. reveal_job_id is unused.
| Parameter | Type | Required | Default |
|---|---|---|---|
| person_id | string | yes | |
| reveal_job_id | string | no | |
| include_work_email | boolean | no | true |
| include_personal_email | boolean | no | true |
| include_mobile_phone | boolean | no | false |
Example responses (3)
## Contact information - Personal email: r.smith@vistapoint.com (verified) - Work email: rsmith@corp.com (unverified — catch-all domain)
Emails are included by default; phones only with include_mobile_phone=true. Triggers a live reveal when nothing is on file yet — that call can take a few seconds.
No contact info in the requested channels. This person does have contact info in other channels — call again with include_mobile_phone=true to include it.
No contact information could be found for this person.
get_giving_history
atlas:readItemized charitable (nonprofit) giving for a person, grouped by organization with deduplicated totals and each gift's year and amount. Paginated by organization.
| Parameter | Type | Required | Default |
|---|---|---|---|
| person_id | string | yes | |
| page | integer | no | 1 |
Example response (1)
## Charitable giving — Robert Smith **Art Institute of Chicago** — $5M–$8M across 9 gifts - 2025 — $1M–$2.5M (donates_to) - 2023 — $500K–$1M (donates_to) - 2021 — $2.5M (donates_to) **Northwestern University** — $4M–$6M across 7 gifts - 2024 — $500K–$1M (donates_to) - 2022 — amount undisclosed (gala_honoree) … *Page 1 of 2 (19 organizations total).*
Grouped per organization: the deduplicated total first, then each gift's year and amount.
get_person_profile
atlas:readGet a person's profile by their DonorAtlas person ID. Default: the one-screen summary (demographics, bio, wealth, giving snapshot, boards, employment, education) with pointers to the drill-down tools. Set full=true for the exhaustive profile — every charitable gift, political donation, board record, and wealth detail in one response (large; only when the user wants everything). When telling the user about a person, share the DonorAtlas profile link from the markdown, never a raw ID.
| Parameter | Type | Required | Default |
|---|---|---|---|
| person_id | string | yes | |
| full | boolean | no | false |
Example response (1)
## [Robert Smith](https://app.donoratlas.com/donor/da_7f3k2m9x) Chicago, IL · age 67 · spouse: Margaret Smith Founder and chairman of Vista Point Capital… **Wealth:** net worth $9B–$14B (est. $11B); liquidity $1B–$2B **Giving:** predicted annual giving $4.2M; 48 public gifts across 19 organizations totalling $22M–$31M; largest gift $2.5M; average gift $550K **Political:** 112 donations, avg $8.4K **Family foundations:** Smith Family Foundation **Top issues:** arts_culture, higher_education, health **Current boards:** Art Institute of Chicago, Field Museum **Current role:** Chairman at Vista Point Capital **Education:** Harvard Business School, MBA, 1985 --- *More detail: get_person_profile — this summary; get_giving_history — all 73 charitable gifts, itemized; get_political_giving — all 112 political donations; get_board_memberships — all 22 board records; get_wealth_details — 12 researched assets, income, real estate; get_contact_info — emails and phones.* *Profile last updated: 2026-08-02*
The one-screen summary: every itemized section appears as a count + pointer to its drill-down tool.
get_political_giving
atlas:readItemized political donations for a person (FEC and state records), paginated.
| Parameter | Type | Required | Default |
|---|---|---|---|
| person_id | string | yes | |
| page | integer | no | 1 |
Example response (1)
## Political giving — 112 donations, $940K total - 2026-03-14 — $50K → Growth PAC (REP), IL - 2025-11-02 — $6.6K → Friends of J. Alvarez (DEM), IL … *Page 1 of 3 (112 rows total).*
get_wealth_details
atlas:readFull wealth picture for a person: net worth estimate with reasoning, researched assets, income records, and real estate.
| Parameter | Type | Required | Default |
|---|---|---|---|
| person_id | string | yes |
Example response (1)
## Wealth — Robert Smith **Net worth:** $9B–$14B (est. $11B) Primary driver is his ~35% stake in Vista Point Capital… **Researched assets (12):** - [private_equity] Vista Point Capital stake — $7B–$10B — Retains control post-2019 recap - [real_estate] Lake Forest estate — $22M–$30M - [public_equity] MDW holdings — $400M–$600M **Income records (4):** - [fund_carry] Vista Point Fund VII carry — $80M–$120M **Real estate:** 4 properties on record
lookup_person
atlas:readFind a specific person in DonorAtlas and get their profile — ALWAYS use this, never search_people, when the user wants one particular person. Provide EVERY identifying detail you know — distinguishing details are what make matches confident. Locations, employers, occupations, schools, and nonprofit affiliations all accept multiple values; locations can be strings ('Chicago, IL', '330 7th Ave, New York') or structured {street_address, city, state, zip_code}. Returns the profile directly on a confident match; a shortlist of candidates when several people fit (pick one, or retry with more detail); or starts live research (a 1–2 minute background job) when nobody matches. Set force_enrich=true to skip matching and research the person fresh — use it when a returned shortlist contained none of the right people, or to research someone whose existing profile is still basic (unresearched); with full identifying details the research lands on the right person.
| Parameter | Type | Required | Default |
|---|---|---|---|
| first_name | string | yes | |
| last_name | string | yes | |
| middle_name | string | no | |
| locations | array | no | |
| employers | array | no | |
| occupations | array | no | |
| schools | array | no | |
| affiliated_nonprofits | array | no | |
| spouse_first | string | no | |
| spouse_last | string | no | |
| force_enrich | boolean | no | false |
Example responses (4)
## [Robert Smith](https://app.donoratlas.com/donor/da_7f3k2m9x) Chicago, IL · age 67 · spouse: Margaret Smith Founder and chairman of Vista Point Capital… **Wealth:** net worth $9B–$14B (est. $11B); liquidity $1B–$2B **Giving:** predicted annual giving $4.2M; 48 public gifts across 19 organizations totalling $22M–$31M; largest gift $2.5M; average gift $550K **Political:** 112 donations, avg $8.4K **Family foundations:** Smith Family Foundation **Top issues:** arts_culture, higher_education, health **Current boards:** Art Institute of Chicago, Field Museum **Current role:** Chairman at Vista Point Capital **Education:** Harvard Business School, MBA, 1985 --- *More detail: get_person_profile — this summary; get_giving_history — all 73 charitable gifts, itemized; get_political_giving — all 112 political donations; get_board_memberships — all 22 board records; get_wealth_details — 12 researched assets, income, real estate; get_contact_info — emails and phones.* *Profile last updated: 2026-08-02*
Exactly one person matched the details — the basic profile comes back immediately.
Found 3 possible matches — pick one or refine: - **[Robert Smith](https://app.donoratlas.com/donor/da_7f3k2m9x)** — Chicago, IL — age 67 — spouse: Margaret Smith — Chairman at Vista Point Capital - **[Robert A. Smith](https://app.donoratlas.com/donor/da_2b8n4q1z)** — Evanston, IL — age 81 — Retired orthodontist - **[Rob Smith](https://app.donoratlas.com/donor/da_9c5r7t3v)** — Chicago, IL — age 44 — spouse: Dana Smith — Partner at Baker & Daniels LLP Call get_person_profile with the chosen person's ID (the ID at the end of their profile link). If none of these are the person, call lookup_person again with more distinguishing details, or with force_enrich=true…
Slim rows on purpose — enough to tell people apart (name, location, age, spouse, current role); each carries the profile-link ID to pass to get_person_profile.
DonorAtlas is researching Jane Doe live — building their profile from public records and the open web. This typically takes 1–2 minutes. Tell the user research is underway, then poll check_lookup with `job_id: job_a81f42c7` (wait ~30s between checks). (3/100 daily live lookups used.)
Nobody matched (or force_enrich=true) — live research starts in the background, gated by the per-user daily cap.
No matching person found, and your daily live-research limit (100) is used up — it resets at midnight UTC. Try again with more distinguishing details, or tomorrow.
Prospecting Search
get_search_schema
atlas:readThe search schema reference for search_people. Call this FIRST, once per conversation, before your first search — the schema is the only search language, and it covers location, work, wealth, liquidity, giving, boards, interests, political giving, property, districts, family, list/network scoping (including people CONNECTED to a network's members), and OR/AND combinations of any field.
Example response (1)
# DonorAtlas search schema
`search_people`'s `schema` parameter is the dict described here. Read this once per conversation, then build searches directly.
## Top level (every key optional)
`target_person_description`, `scope_list_ids`, `network_ids` with `only_in_network` / `only_connections`, `sort_fields`, …
## target_person_description
- `age`: `{"type":"age","value":<number range>}`
- `residence`: `{"type":"residence","location":<place>,"tense":"current"|"ever"}`
- combinators: `{"type":"or","children":[…]}` …Returns markdown documentation (truncated here): every filter, its exact shape, and the exact strings each enum accepts. Call once per conversation before the first search.
search_people
atlas:readSearch DonorAtlas for people — the prospecting workhorse. NOT for finding one specific person: use lookup_person for that (it tolerates an imperfect detail, where search excludes anyone who fails any criterion, and it returns a shortlist anyway when several people fit). Takes the full search schema: call get_search_schema first (once per conversation) to learn it rather than guessing. Results are compact linked rows (a person's ID is at the end of their profile link); use get_person_profile for detail, and share the DonorAtlas search link with the user. page_size tiers: 0 = just the match count and search link; up to 25 = full rows with details and explanations; 26-99 = name and ID only; 100-500 = IDs only (for bulk list/network building). 10-20 is a good start for browsing.
| Parameter | Type | Required | Default |
|---|---|---|---|
| schema | object | yes | |
| page | integer | no | 1 |
| page_size | integer | no | 10 |
Example response (1)
**1,847 people match** (page 1, 10 shown): - **[Robert Smith](https://app.donoratlas.com/donor/da_7f3k2m9x)** — Chicago, IL — PE founder — net worth $9B–$14B — giving capacity $50M - **[Maria Delgado](https://app.donoratlas.com/donor/da_4h6j8l0p)** — Chicago, IL — Hospital system trustee — net worth $40M–$80M … [Open this search in DonorAtlas](https://app.donoratlas.com/search/1?schema=eyJ0YXJnZXRf…) — include this link in your reply; it's the fastest way for the user to explore further.
Compact rows by design — get_person_profile is the drill-down. page_size tiers: up to 25 full rows, 26-99 name+ID, 100-500 IDs only.
Team
get_team_info
team:readGet the caller's DonorAtlas team: name, plan, remaining export/import credits, and members by role.
Example response (1)
## Acme Philanthropy Advisors (`team_8f2c41`) Plan: Enterprise · Exports remaining: 4,120/5,000 · Imports remaining: 880/1,000 **Members:** - ADMIN: Jordan Ellis - MEMBER: Dana Cho, Luis Ortega
Lists
add_to_list
atlas:readAdd people to a donor list by person IDs.
| Parameter | Type | Required | Default |
|---|---|---|---|
| list_id | string | yes | |
| person_ids | array of string | yes |
Example response (1)
Added 5 people to [the list](https://app.donoratlas.com/donor_lists/lst_2024gala/1).
create_list
atlas:readCreate a donor list, optionally seeded with people. Fails if the name is taken.
| Parameter | Type | Required | Default |
|---|---|---|---|
| name | string | yes | |
| person_ids | array | no |
Example response (1)
Created list **[Gala Trend Prospects](https://app.donoratlas.com/donor_lists/lst_9k2m4x7q/1)** `list_id: lst_9k2m4x7q` with 5 people. [Open the list in DonorAtlas](https://app.donoratlas.com/donor_lists/lst_9k2m4x7q/1) — include this link in your reply; it's the fastest way for the user to explore further.
Fails with a clear error if the name is already taken.
delete_list
atlas:readDelete a donor list permanently. Confirm with the user before calling.
| Parameter | Type | Required | Default |
|---|---|---|---|
| list_id | string | yes |
Example response (1)
Deleted list `lst_9k2m4x7q`.
get_list
atlas:readA list's members, paginated. Rows are compact; use get_person_profile for detail.
| Parameter | Type | Required | Default |
|---|---|---|---|
| list_id | string | yes | |
| page | integer | no | 1 |
Example response (1)
## [List: 2024 Gala Attendees](https://app.donoratlas.com/donor_lists/lst_2024gala/1) `list_id: lst_2024gala` **312 people match** (page 1, 20 shown): - **[Robert Smith](https://app.donoratlas.com/donor/da_7f3k2m9x)** — Chicago, IL — … … [Open this list in DonorAtlas](https://app.donoratlas.com/donor_lists/lst_2024gala/1) — include this link in your reply; it's the fastest way for the user to explore further.
Members come back a page (20) at a time.
list_lists
atlas:readAll of the team's donor lists with member counts and creators.
Example response (1)
## Donor lists (2) - **[2024 Gala Attendees](https://app.donoratlas.com/donor_lists/lst_2024gala/1)** `list_id: lst_2024gala` — 312 people — created by Dana Cho - **[Major Prospects Q3](https://app.donoratlas.com/donor_lists/lst_majorpros/1)** `list_id: lst_majorpros` — 58 people — created by Jordan Ellis
remove_from_list
atlas:readRemove people from a donor list by person IDs.
| Parameter | Type | Required | Default |
|---|---|---|---|
| list_id | string | yes | |
| person_ids | array of string | yes |
Example response (1)
Removed 2 people from [the list](https://app.donoratlas.com/donor_lists/lst_2024gala/1).
rename_list
atlas:readRename a donor list.
| Parameter | Type | Required | Default |
|---|---|---|---|
| list_id | string | yes | |
| new_name | string | yes |
Example response (1)
Renamed [the list](https://app.donoratlas.com/donor_lists/lst_9k2m4x7q/1) to **Gala Prospects 2026**.
Networks
add_to_network
atlas:readAdd people to a network. Adding more than ~5 people runs as a background job — the additions appear over the following minutes.
| Parameter | Type | Required | Default |
|---|---|---|---|
| network_id | string | yes | |
| person_ids | array of string | yes | |
| from_list_id | string | no |
Example responses (2)
Adding 3 people to [the network](https://app.donoratlas.com/network/net_5t7y9u1i).
Adding 40 people to [the network](https://app.donoratlas.com/network/net_5t7y9u1i) (processing in the background — connections appear over the next minutes). Background jobs: `job_c92d51e8`, `job_d03e62f9`
Above ~5 people the backend chunks the add into background jobs; connection discovery lands over the following minutes.
create_network
atlas:readCreate a network. Color is one of: blue, indigo, violet, rose, orange, amber, green, teal.
| Parameter | Type | Required | Default |
|---|---|---|---|
| name | string | yes | |
| color | string | no | "blue" |
Example response (1)
Created network **[Gala Connections](https://app.donoratlas.com/network/net_5t7y9u1i)** `network_id: net_5t7y9u1i`. [Open the network in DonorAtlas](https://app.donoratlas.com/network/net_5t7y9u1i) — include this link in your reply; it's the fastest way for the user to explore further.
delete_network
atlas:readDelete a network permanently. Confirm with the user before calling.
| Parameter | Type | Required | Default |
|---|---|---|---|
| network_id | string | yes |
Example response (1)
Deleted network `net_5t7y9u1i`.
get_network
atlas:readA network's members, paginated.
| Parameter | Type | Required | Default |
|---|---|---|---|
| network_id | string | yes | |
| page | integer | no | 1 |
Example response (1)
## Network `network_id: net_boardmap` **74 people match** (page 1, 20 shown): - **[Robert Smith](https://app.donoratlas.com/donor/da_7f3k2m9x)** — Chicago, IL — … [Open this network in DonorAtlas](https://app.donoratlas.com/network/net_boardmap) — include this link in your reply; it's the fastest way for the user to explore further.
list_networks
atlas:readAll of the team's networks with member counts.
Example response (1)
## Networks (1) - **[Museum Board Map](https://app.donoratlas.com/network/net_boardmap)** `network_id: net_boardmap` — 74 people
remove_from_network
atlas:readRemove people from a network.
| Parameter | Type | Required | Default |
|---|---|---|---|
| network_id | string | yes | |
| person_ids | array of string | yes |
Example response (1)
Removed 3 people from [the network](https://app.donoratlas.com/network/net_5t7y9u1i).
Exports
export_list
exports:runExport a donor list to CSV or XLSX. Omitting fields exports the product's default columns: name, mailing address and location, demographics, bio, giving capacity and history, net worth, education, employers, boards, and family. Contact-info columns ('Verified Mobile Phone', 'Best Verified Email', 'Verified Personal Emails', 'Verified Work Emails', 'Other Emails', 'Other Phones'), 'Research Links', 'All Schools', and the list's own uploaded columns are NOT included by default — add them to fields by name; note the contact columns reveal contact info for everyone in the export. Field names are DonorAtlas display names (e.g. 'First', 'Net Worth (Min)') — run with check_only=true to see every field available for this list plus the credit cost. Charges team export credits only for people the team has never exported. Large exports run in the background; use get_export_status to fetch the download link.
| Parameter | Type | Required | Default |
|---|---|---|---|
| list_id | string | yes | |
| name | string | yes | |
| file_format | string | no | "csv" |
| fields | array | no | |
| check_only | boolean | no | false |
Example responses (4)
This export needs 44 export credits and would succeed. Default columns: DonorAtlas URL, Title, First, Middle, Last, …, Net Worth (Min), Net Worth (Max), Nonprofit Boards, Spouse, … Opt-in columns (request by name; contact columns reveal contact info for everyone exported): Research Links, Verified Mobile Phone, Best Verified Email, Verified Personal Emails, Verified Work Emails, Other Emails, Other Phones, All Schools Columns uploaded with this list (opt-in): Gift Officer, Ask Amount
check_only=true — nothing is charged. Omitting fields exports the default columns; contact columns and uploaded columns must be requested by name.
Status: ready — [download it here](https://exports.donoratlas.com/…(presigned)) (link valid 7 days). `export_id: exp_3f5g7h9j`
Status: processing in the background (the user is also emailed a link when it finishes). Poll get_export_status with `export_id: exp_3f5g7h9j` for the download link.
Exports above 10 rows always run in the background — size decides, not the caller.
Not enough export credits: this export needs 4400 credits. Ask a team admin about adding credits.
get_export_status
exports:runCheck a background export and get its download link when ready.
| Parameter | Type | Required | Default |
|---|---|---|---|
| export_id | string | yes |
Example responses (2)
Status: still processing — check again shortly with `export_id: exp_3f5g7h9j`.
Status: ready — [download it here](https://exports.donoratlas.com/…(presigned)) (link valid 7 days).