Search and vet SEC-registered financial advisors: profiles, disclosures, firm fees, credentials.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Quick yes/no-style verification of an advisor: is their registration active, which states they hold an investment-adviser registration in (`advisory_states`, with any broker-dealer state registrations reported separately as a labeled count in `also_registered_as_broker`), how long they have been in the industry, and their four-state disclosure status. Accepts EITHER a CRD number (all digits) OR a name — optionally narrowed by firm/state to disambiguate common names. If a name matches more than one advisor, returns the candidates with their CRD numbers instead of guessing. This tool never returns a numeric risk score — only the underlying facts (registration status, disclosure status) so you can judge for yourself.
Quick yes/no-style verification of an advisor: is their registration active, which states they hold an investment-adviser registration in (`advisory_states`, with any broker-dealer state registrations reported separately as a labeled count in `also_registered_as_broker`), how long they have been in the industry, and their four-state disclosure status. Accepts EITHER a CRD number (all digits) OR a name — optionally narrowed by firm/state to disambiguate common names. If a name matches more than one advisor, returns the candidates with their CRD numbers instead of guessing. This tool never returns a numeric risk score — only the underlying facts (registration status, disclosure status) so you can judge for yourself.
| Argument | Type | Description |
|---|---|---|
| firm | any | |
| state | any | |
| name_or_crd* | string |
{
"type": "object",
"required": [
"name_or_crd"
],
"properties": {
"firm": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"name_or_crd": {
"type": "string"
}
},
"additionalProperties": false
}Search advisors listed on AdvisorFinder's marketplace — professionals with public profiles you can view and contact directly. This searches only AdvisorFinder members (a few hundred advisors), not the full SEC roster. All filters are optional — browsing with none of them is fine, since this tool's scope is already narrow. `specialty` matches against the advisor's bio, client description, "in their own words" answers, and credential acronyms and names (case-insensitive substring; e.g. "CFP" finds CFP® holders). Returns, per member: their self-provided profile info (bio; `credentials` as [{acronym, name, status: "self-reported"}]; `education` as [{institution, degree, year}]; `pricing` as a list of {type, ...} entries such as {"type": "aum", "min": "0.50", "max": "1.00", "unit": "percent of assets"}, {"type": "flat_fee", "min", "max", "frequency"}, {"type": "hourly", "rate"}, {"type": "one_time", "cost"} or {"type": "fees_information", "link"}, with values as listed on the profile and formatting normalized (type/frequency lowercased, a trailing "%" removed, unset markers dropped; the "percent of assets" unit only when the listed values are plain numbers); minimum account size; allowed states; `member_since` as YYYY-MM-DD; and more), a link to their full AdvisorFinder profile, AND regulatory facts for their CRD. `allowed_states` and `virtual_meetings_offered` are null when the member did not fill them in: null means not stated on the profile, not "none". Members whose CRD is in our SEC dataset get their registration status and four-state disclosure status (none_reported / disclosed_no_detail / disclosed_with_detail / unknown) from that dataset — never softened. Members whose CRD is NOT in our SEC dataset (typically state-registered or BD-side advisors) get the status `not_in_regulatory_dataset` with a labeled note saying so and FINRA BrokerCheck / SEC IAPD verify links — never presented as if clean. AUM and client-count figures are self-reported by the advisor, not regulatory data, and are always labeled as such. Results are in alphabetical order by name; membership or payment has no effect on the order. `total_matches` is the number of members that match the filters. Being listed here is a business relationship with AdvisorFinder, not an endorsement, and never affects how any advisor ranks in search results. The marketplace listings can be temporarily unavailable; in that case this tool returns `available: false` with no results.
Get the full profile for an investment adviser representative (IAR) by CRD number — no need to search first if you already have it. Returns employment history (current firm first, then previous), exams passed, the states where they hold an investment-adviser registration (`advisory_states`; broker-dealer state registrations are reported separately as a labeled count in `also_registered_as_broker`, because selling securities is not the same as giving investment advice), professional designations (always labeled self-reported — none of this data is independently verified), years in the industry, and four-state disclosure status (never phrased as "clean"/"safe": none_reported / disclosed_no_detail / disclosed_with_detail / unknown). Data is derived from SEC IAPD / FINRA BrokerCheck. All dates are YYYY-MM-DD. For an advisor who is also listed on AdvisorFinder, `advisorfinder_listing.self_reported` carries the credentials and years of experience from that profile, labeled as such. Each designation has a `source` (e.g. "Form ADV Part 2B brochure supplement"). When no designations are on file but the profile lists some, `designations_coverage_note` explains that the public data covers few advisors; when both lists are present and not the same, `credential_sources_note` says so. Neither note is a finding against the advisor.
| Argument | Type | Description |
|---|---|---|
| crd* | string |
{
"type": "object",
"required": [
"crd"
],
"properties": {
"crd": {
"type": "string"
}
},
"additionalProperties": false
}Overall stats about our data: how many firms and advisors we cover, when each data source was last refreshed (vintages), and a full four-state disclosure tally — INCLUDING the 'unknown' bucket (advisors where we simply don't have disclosure detail on file; that is not the same as a clean record). Also states coverage scope explicitly: we do not claim to cover the whole US advisor population, only SEC-registered firms and their active reps.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Get the full profile for an investment adviser FIRM by CRD number: identity, address, website, AUM band, total employees, how they charge (a list), any disclosure flag, state registrations (a list of {state, date}, date YYYY-MM-DD or null), office locations (private residences are not listed: their count is in `private_residence_locations_withheld`, addresses withheld per SEC privacy rules), prior/other names, fee details from their ADV Part 2A brochure (marked as estimated when it is, and basis "not extracted" when no fee details were extracted), and `advisor_count`: how many investment adviser representatives we have on file for them (broker-dealer-only registrations are not counted; an empty roster does not necessarily mean an empty firm — see the caveat when that happens). Client types are withheld (see client_types_note). State-registered-only firms get a reduced profile.
| Argument | Type | Description |
|---|---|---|
| crd* | string |
{
"type": "object",
"required": [
"crd"
],
"properties": {
"crd": {
"type": "string"
}
},
"additionalProperties": false
}Search SEC-registered investment adviser representatives (IARs) by name, firm, city, and/or state. No CRD number needed. At least one of name/firm/city/state is required — e.g. browse by city+state alone, or search by name. Returns, per match: CRD, name, the firm(s) they're linked to (with branch city/state), a four-state disclosure status (none_reported / disclosed_no_detail / disclosed_with_detail / unknown — never "clean"), and a link to the advisor's full SEC IAPD record. Data is derived from SEC IAPD / FINRA BrokerCheck registration feeds, not real-time. Exact name matches rank first. `total_matches` is the number of advisors that match the filters; `more_results_available` appears when more advisors match than the limit returns.
| Argument | Type | Description |
|---|---|---|
| city | any | |
| firm | any | |
| name | any | |
| limit | integer | |
| state | any |
{
"type": "object",
"properties": {
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"firm": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"limit": {
"type": "integer",
"default": 20
},
"state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"additionalProperties": false
}Search SEC- and state-registered investment adviser FIRMS by name and/or state. Matches on the firm's primary name, legal name, or any "also known as" prior name on file. Returns, per match: CRD, name, city/ state, AUM band, `advisor_count` (the number of investment adviser representatives on file for the firm in our data — broker-dealer-only registrations are not counted; null for state-registered-only firms, which have no roster), and a link to the firm's SEC IAPD record. State-registered-only firms (not SEC-registered) are included but flagged — purely state-registered firms have no advisor rosters at all; state-listed firms showing rosters are dual-registered. Exact name matches rank first (the firm's own name, then an "also known as" name), then names that start with the search text (own names before "also known as" names), then other matches. Inside each group, firms with a larger SEC AUM band come first, then firms with more advisors on file (a state-registered- only firm ranks as an undisclosed band with no advisors). A result can carry `advisor_count_note` (no advisor records on file) or `unreadable_characters_note` (characters lost in the source data, shown as �). `total_matches` is the number of firms that match the filters.
| Argument | Type | Description |
|---|---|---|
| name | any | |
| limit | integer | |
| state | any |
{
"type": "object",
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"limit": {
"type": "integer",
"default": 20
},
"state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"additionalProperties": false
}| Argument | Type | Description |
|---|
| city | any | |
| limit | integer | |
| state | any | |
| specialty | any |
{
"type": "object",
"properties": {
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"limit": {
"type": "integer",
"default": 20
},
"state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"specialty": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"additionalProperties": false
}