mcp server
advisorscope
SEC-registered advisor and firm search: profiles, disclosure status, fees and database statistics.
Set up
Runs on your computer. Pick your agent and operating system.
Before you start
- Node.js 20 or newer
{
"mcpServers": {
"advisorscope": {
"command": "npx",
"args": [
"-y",
"@reneturcios/advisorscope"
]
}
}
}same format Cursor, GitHub Copilot CLI, Junie, JetBrains AI Assistant, Augment (Auggie CLI), Factory Droid, Kiro, Devin CLI +12
Values in angle brackets are placeholders. Restart Claude Desktop after editing its config.Claude Desktop docs
README
synced Nov 5, 2026advisorscope
Look up the people and firms behind investment advice. advisorscope is a keyless forwarding client for the hosted AdvisorFinder MCP endpoint, which serves SEC registration data: individual adviser representatives, the firms they work for, marketplace-listed advisors you can actually book, and statistics across the whole database.
There is nothing local to configure and no account to create. This package holds the tool definitions and a small set of guard rails; every lookup is forwarded to the hosted endpoint and the answer comes back exactly as the remote server produced it, serialized as JSON text.
How forwarding works
Each tool call opens a fresh session with the remote MCP server and closes the loop in three steps:
- An
initializeJSON-RPC POST (protocol version2025-03-26, clientadvisorscope/0.1.0); themcp-session-idresponse header is captured. - A
notifications/initializedPOST carrying that session header. - A
tools/callPOST with the tool name and your arguments, forwarded verbatim — nothing is added, renamed or dropped.
Responses in plain JSON and in SSE framing are both
understood. A remote JSON-RPC error surfaces as an error
result carrying the remote message; a non-2xx reply fails
with advisorfinder error: HTTP <status>; an unreachable
endpoint fails with advisorfinder unreachable. There are
no retries.
Configuration
- No API key, no account, and no
Authorizationheader is ever sent. ADVISORFINDER_MCP_URL(optional) — the remote MCP endpoint. Defaults tohttps://mcp.advisorfinder.com/mcp.
Tools
search_advisors— adviser representatives matching aname,firm,cityand/orstate. Each match carries a CRD, the linked firm(s), a four-state disclosure status, and an SEC IAPD link.get_advisor— the full profile for onecrd: employment history, exams passed, states of registration, self-reported designations, years in the industry, and disclosure status.check_advisor— a fast registration check bycrdorname, optionally narrowed byfirmand/orstate: active or not, which states, how long in the industry, disclosure status. Facts only — never a numeric risk score.find_bookable_advisors— advisors listed on the AdvisorFinder marketplace, filtered byspecialty,cityand/orstate, with self-provided profile details and the regulatory facts behind their CRD (or a labelled note when a listing is not in the SEC dataset).search_firms— registered firms matching anameand/orstate, with CRD, city/state, AUM band, advisor headcount, and an SEC IAPD link.get_firm— the full profile for one firmcrd: locations, other and prior names, the fee schedule from Form ADV Part 2A where available, disciplinary flags, and advisor roster count.get_database_stats— totals for firms and advisors, the data vintage of each upstream source, and the full four-state disclosure tally. Takes no arguments.
Local guards
Two checks run locally, before anything is sent:
get_advisorandget_firmneed a non-emptycrd; without one they fail withcrd must be a non-empty stringand no request is made.check_advisorneeds at least one ofcrdorname; with neither it fails withcheck_advisor requires crd or nameand no request is made.
Everything else is forwarded as given — validation of the remaining arguments is the remote server's job.
Provenance
The tool list and each tool's meaning come from the upstream package's published description. Two parts are reconstructions, labelled as such: the per-tool argument sets follow the description's documented parameter semantics rather than a tabulated schema, and the Streamable HTTP session handshake follows the standard session pattern for hosted MCP endpoints.
CLI
Each tool is a subcommand taking one JSON argument string:
npx @reneturcios/advisorscope search_advisors '{"state":"CA","city":"San Francisco"}'
npx @reneturcios/advisorscope get_advisor '{"crd":"123456"}'
npx @reneturcios/advisorscope check_advisor '{"name":"Jane Doe","state":"NY"}'
npx @reneturcios/advisorscope find_bookable_advisors '{"specialty":"retirement","state":"TX"}'
npx @reneturcios/advisorscope search_firms '{"name":"Acme","state":"DE"}'
npx @reneturcios/advisorscope get_firm '{"crd":"789012"}'
npx @reneturcios/advisorscope get_database_stats '{}'
npx @reneturcios/advisorscope --version
Output is the tool's result text (the remote result,
serialized as JSON, on success). Exit codes: 0 on
success, 1 on an error result (including a guard,
remote or transport failure), 2 on a usage error.
MCP server
npx -y @reneturcios/advisorscope mcp
MCP client config:
{
"mcpServers": {
"advisorscope": {
"command": "npx",
"args": ["-y", "@reneturcios/advisorscope", "mcp"]
}
}
}
Docker
docker run -i ghcr.io/cloudcorprecords/advisorscope
docker run --rm ghcr.io/cloudcorprecords/advisorscope get_database_stats '{}'
Development
npm install
npm run build # tsc -> dist/
npm test # tsx --test test/*.test.ts (fake fetch only, no network)
npm run dev # run the CLI from source
License
MIT — Copyright (c) 2026 Rene Turcios