Tool reference
All 29 tools the WealthAtlas 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.wealthatlas.com
Account & Access
get_access_info
any authenticated userExplain the caller's WealthAtlas MCP access level — which tool families their team's access unlocks, 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 WealthAtlas 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 WealthAtlas team admin, or contact the WealthAtlas team at team@wealthatlas.com to get set up. Once enabled, reconnect this connector and the full toolset will appear.
## Your WealthAtlas access Enabled: prospect 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 WealthAtlas 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.
Prospect 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.wealthatlas.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. 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. Contact info is reveal-based: the first request for a person starts a reveal and returns a reveal_job_id — poll by calling this tool again WITH that reveal_job_id (about a minute; never call again without it, that would start and charge a second reveal). Each newly revealed person counts against the user's monthly reveal allowance. Already-revealed people return instantly and cost nothing, so never start a reveal the user didn't ask for.
| 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)
Nothing revealed in the requested channels yet — a reveal just started (it counts against the user's monthly allowance if this person is new this month). It takes about a minute: call get_contact_info again with `reveal_job_id: job_8k2m4p` to collect the results. NEVER call again without the reveal_job_id — that would start and charge a second reveal.
Contact info is reveal-based on WealthAtlas: the first request starts an asynchronous reveal scoped to the include flags, and the model polls with the returned reveal_job_id.
## Contact information - Personal email: r.smith@vistapoint.com (verified) - Mobile phone: (312) 555-0148 (verified)
Polling with the reveal_job_id returns everything the reveal found — a person already revealed this month returns their pieces instantly at no extra cost.
The user is out of contact reveals for this month — the monthly allowance resets on the first. Tell the user; nothing was revealed.
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 WealthAtlas 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 WealthAtlas 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.wealthatlas.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 **Interests:** 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 (reveal-based; uses the monthly reveal allowance).* *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 WealthAtlas 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}. Pass `nicknames` when the user names the person by another first name ('Bob Smith, really Robert') — it widens the lookup to records filed either way rather than narrowing it, and belongs there rather than in first_name. Pass `linkedin` when you have their profile URL: a shared handle is among the strongest identity evidence there is, though it helps the live research rather than the match against existing profiles. 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. When the user asks about a person whose profile is unenhanced, starting research and sharing the preliminary info while it runs is the expected flow.
| 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 | |
| nicknames | array | no | |
| string | no | ||
| force_enrich | boolean | no | false |
Example responses (4)
## [Robert Smith](https://app.wealthatlas.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 **Interests:** 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 (reveal-based; uses the monthly reveal allowance).* *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.wealthatlas.com/donor/da_7f3k2m9x)** — Chicago, IL — age 67 — spouse: Margaret Smith — Chairman at Vista Point Capital - **[Robert A. Smith](https://app.wealthatlas.com/donor/da_2b8n4q1z)** — Evanston, IL — age 81 — Retired orthodontist - **[Rob Smith](https://app.wealthatlas.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.
WealthAtlas 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)
# WealthAtlas 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 WealthAtlas 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 WealthAtlas 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.wealthatlas.com/donor/da_7f3k2m9x)** — Chicago, IL — PE founder — net worth $9B–$14B — giving capacity $50M - **[Maria Delgado](https://app.wealthatlas.com/donor/da_4h6j8l0p)** — Chicago, IL — Hospital system trustee — net worth $40M–$80M … [Open this search in WealthAtlas](https://app.wealthatlas.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 WealthAtlas 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 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.wealthatlas.com/lists/lst_2024gala/1).
create_list
atlas:readCreate a 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.wealthatlas.com/lists/lst_9k2m4x7q/1)** `list_id: lst_9k2m4x7q` with 5 people. [Open the list in WealthAtlas](https://app.wealthatlas.com/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 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.wealthatlas.com/lists/lst_2024gala/1) `list_id: lst_2024gala` **312 people match** (page 1, 20 shown): - **[Robert Smith](https://app.wealthatlas.com/donor/da_7f3k2m9x)** — Chicago, IL — … … [Open this list in WealthAtlas](https://app.wealthatlas.com/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 lists with member counts and creators.
Example response (1)
## Donor lists (2) - **[2024 Gala Attendees](https://app.wealthatlas.com/lists/lst_2024gala/1)** `list_id: lst_2024gala` — 312 people — created by Dana Cho - **[Major Prospects Q3](https://app.wealthatlas.com/lists/lst_majorpros/1)** `list_id: lst_majorpros` — 58 people — created by Jordan Ellis
remove_from_list
atlas:readRemove people from a 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.wealthatlas.com/lists/lst_2024gala/1).
rename_list
atlas:readRename a list.
| Parameter | Type | Required | Default |
|---|---|---|---|
| list_id | string | yes | |
| new_name | string | yes |
Example response (1)
Renamed [the list](https://app.wealthatlas.com/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.wealthatlas.com/network/net_5t7y9u1i).
Adding 40 people to [the network](https://app.wealthatlas.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.wealthatlas.com/network/net_5t7y9u1i)** `network_id: net_5t7y9u1i`. [Open the network in WealthAtlas](https://app.wealthatlas.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.wealthatlas.com/donor/da_7f3k2m9x)** — Chicago, IL — … [Open this network in WealthAtlas](https://app.wealthatlas.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.wealthatlas.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.wealthatlas.com/network/net_5t7y9u1i).
Exports
export_list
exports:runExport a list to CSV or XLSX. Omitting fields exports the product's default columns: name, mailing address and location, bio, and net worth range. Every other column — giving capacity and history, education, employers, boards, family, and the list's own uploaded columns — is opt-in: add them to fields by name. Exports never include contact info (use get_contact_info per person instead). Field names are WealthAtlas 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 (2)
This export needs 44 export credits and would succeed. Default columns: Title, First, Middle, Last, Suffix, Mailing Address, City, State, Zipcode, Bio, Net Worth (Min), Net Worth (Max) Opt-in columns (request by name): WealthAtlas URL, Sex, Age, Religion, Interests, Political Giving Capacity, Total Political Giving, Nonprofit Largest Gift, Nonprofit Average Gift, Nonprofit Years Active, Predicted Annual Giving, Most Recent School, All Schools, Most Recent Employer, All Employers, Nonprofit Boards, Research Links, Notes, Private Foundations, Spouse, Parents, Children Columns uploaded with this list (opt-in): Relationship Manager, Ask Amount
check_only=true — nothing is charged. Omitting fields exports the default columns. WealthAtlas exports never include contact info; use get_contact_info per person instead.
Status: ready — [download it here](https://exports.wealthatlas.com/…(presigned)) (link valid 7 days). `export_id: exp_3f5g7h9j`
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.wealthatlas.com/…(presigned)) (link valid 7 days).