Signed Angel Investor Directory
Search Signed's public angel investor directory by sector, check size, or keyword. No login needed.
Hosted MCP Server
npx add-mcp 'https://mcp.signed.com/investors'Installs into Claude Code, Codex, Cursor and more
Documentation
Find angel investors from any AI assistant.
A public MCP server over Signed's angel investor listing. No account. No token. Read-only.
Server address
https://mcp.signed.com/investors
Works with Claude, ChatGPT, Claude Code, Cursor and any other client that speaks MCP. Nothing to sign in to: it reads what signed.com/investors already shows anyone. Signed's account server has these tools too, plus your own portfolio.
Claude connected to Signed Investors signed-investors mcp
Tell me about @holman.
- get_investor
Zach Holman writes $10K–$25K checks through Tifo, his angel fund: hundreds of early-stage companies, mostly developer tools and sports tech. Pinned to his profile: WorkOS (2019), Lambda (2021), Knock (2021), Oakland Roots and Cagliari. Founders can pitch Tifo straight from the profile.
- 7 tools
- No account needed
- Read-only
- Claude, ChatGPT, Cursor
- Every public profile on Signed
One address. No sign-in.
Give your client the address and it's connected. There is no OAuth step and no token to mint, because nothing here belongs to an account: the server is the public investor directory, and the directory is public.
- Open Settings → Connectors in claude.ai or Claude Desktop and choose Add custom connector. One added in either shows up in both.
- Name it Signed Investors and paste the address. Leave the OAuth fields empty.
https://mcp.signed.com/investors - Click Add. It connects straight away; there is nothing to approve. Ask about investors in any chat.
Nothing to revoke, because nothing was granted. To leave the directory, turn your public profile off in Settings on Signed.
7 tools. The whole directory.
Two ways in (a keyword, or a facet), one profile, the network around it, and the two facets themselves. Every tool is read-only, every list paginates, and every result carries the login that get_investor takes and the signed.com page it came from.
Arguments are read from each tool's schema, so this sheet is what the server accepts.
-
Browse the directory read-only
Browse Signed's public angel investor directory: every investor with a public profile, most complete profiles first, optionally narrowed to one sector or one check size. Each result carries the investor's login (for get_investor), what they invest in, the checks they write, their pinned portfolio companies, and whether they take pitches. Use search_investors when you have a name or a keyword. ArgumentsName Type Meaning sectorstring Only investors who list this sector. Takes the slug (devtools, fintech, health); list_sectors has the full set with names. check_sizestring Only investors writing checks in this range. Takes the slug (10k-25k) or the label ($10K-$25K); list_check_sizes has both. pageinteger 1-indexed page number (default 1). per_pageinteger Results per page (default 30, max 100). Returns The same investors cards as search_investors, most complete profiles first, with pagination and the web_url of the matching directory page. Request body { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "list_investors", "arguments": { "sector": "devtools", "per_page": 10 } } } -
One profile read-only
One angel investor's public Signed profile by login: bio, investment description, sectors, check size, links, the portfolio companies they've pinned, whether (and where) they take pitches from founders, follower counts, and a few similar investors. Logins come from search_investors or list_investors, or from a signed.com/@login URL. Private profiles are indistinguishable from nonexistent ones. ArgumentsName Type Meaning loginrequiredstring The investor's login, with or without the leading @. Returns The card plus links (LinkedIn, X, Threads, Bluesky), pitch_inboxes with a submit_url for each entity taking pitches, followers_count, following_count and three similar_investors. Request body { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "get_investor", "arguments": { "login": "holman" } } } -
Who they follow read-only
Public Signed investors the given investor follows, alphabetically by name. Only public profiles appear on either side, the same as signed.com/@login/following. ArgumentsName Type Meaning loginrequiredstring The investor's login, with or without the leading @. pageinteger 1-indexed page number (default 1). per_pageinteger Results per page (default 30, max 100). Returns investor, following as cards, alphabetical, and pagination. Request body { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "list_investor_following", "arguments": { "login": "holman" } } } -
The sector facet read-only
The sectors an investor can list on their Signed profile — the valid values for the sector filter on list_investors and search_investors — with how many public investors list each, a one-line description, and example companies. Busiest sectors first. Arguments None. Call it with an empty arguments object. Returns sectors, busiest first: slug, name, a one-line description, example_companies, how many public investors list it, and the directory page for it. Request body{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "list_sectors", "arguments": {} } } -
The check-size facet read-only
The check-size ranges an investor can list on their Signed profile — the valid values for the check_size filter on list_investors and search_investors — smallest to largest, with how many public investors write each. Arguments None. Call it with an empty arguments object. Returns check_sizes, smallest first: slug, label, how many public investors write it, and the directory page for it. Request body{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "list_check_sizes", "arguments": {} } }
On the wire. Plain JSON-RPC.
The transport is MCP's Streamable HTTP with no session: every request stands alone, so a script can skip initialize and go straight to a tool call. Results come back as JSON in the first content block. Cross-origin requests are allowed.
Request
curl -X POST https://mcp.signed.com/investors \ -H "Content-Type: application/json" \ -d '{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "search_investors", "arguments": { "q": "platform engineer" } } }'
result.content[0].text
{ "query": "platform engineer", "investors": [ { "login": "rae", "name": "Rae Okafor", "bio": "Pre-seed checks into developer tools and data infrastructure. Former platform engineer.", "check_size": "$10K-$25K", "sectors": [ { "slug": "devtools", "name": "Developer Tools" }, { "slug": "data", "name": "Data / Analytics" } ], "portfolio_highlights": [ { "name": "Kettle", "domain": "kettle.dev", "invested_year": 2022 } ], "accepting_pitches": true, "web_url": "https://signed.com/@rae" } ], "pagination": { "page": 1, "per_page": 30, "total": 1, "total_pages": 1 }, "web_url": "https://signed.com/investors" }
Questions. Short answers.
What it can see, what it can't, and how to be in it.
Do I need a Signed account to use it?
No. There is no sign-in, no OAuth step, and no token. Give your client the address and it can call the tools straight away. The server reads only what signed.com/investors already shows to anyone.
What can it see?
Investors who made their Signed profile public: name, bio, what they invest in, the sectors and check size they list, their links, the companies they've pinned to their profile, whether they take pitches, and who follows whom among public profiles. Never a portfolio, a position, an amount, a note, or a private profile.
Can it change anything?
No. Every tool is read-only and says so in its annotations, so clients that gate writes behind a confirmation never need to ask. There is nothing to write to: no account is behind the call.
How do I show up in it?
Make your Signed profile public. In Settings, turn on your public investor profile and fill in your bio, sectors, and check size. Profiles with more filled in sort first, here and on the web. Turning the profile off removes you from both at once.
Is there a rate limit?
Yes, per address: 600 tool calls and 2000 handshake or discovery requests every 5 minutes. Past that the server answers 429 with a Retry-After header. A shared egress like claude.ai's counts as one address, so the ceilings are set with that in mind.
Can I call it without an MCP client?
Yes. It is plain JSON-RPC 2.0 over HTTPS, the MCP Streamable HTTP transport with no session state: POST a tools/call body to the address with a JSON content type and read the result. The reference above has a body for every tool, and cross-origin requests are allowed, so it works from a page too.
Is there a server for my own portfolio?
Yes: mcp.signed.com, without the /investors path. It reads and writes a signed-in investor's own portfolio, pipeline, notes, and documents, and needs an OAuth sign-in or a personal access token. The two are separate servers; add both if you want both.
Your own portfolio? That's the other door.
Signed's account server, at the same host without the path, has every tool here plus your positions, performance, transactions, pipeline, notes and documents, and it can write as well as read. It signs you in with OAuth or takes a personal access token. If you have a Signed account, connect that one and you have both.
Account server address
Want to be found? Make your profile public.
Signed tracks your angel investments. A public profile on it is a page founders can pitch through, a card in the directory, and, from here on, an answer any AI assistant can give when someone asks who invests in what you invest in.