Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Foundaree

REMOTE · FOUNDAREE.COM · SCANNED OCT 2

Find and book real people by skill, city and availability: doctors, developers, plumbers and more.

Available components

+3 this week 80 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security80
Transport & Reachability100
Schema Quality & AI Usability78
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 3912 tokens (~260/item across 15 items; 14 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management43
  • Stability observed for 13 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (36% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 15 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
  • Supports UI / widget rendering.Pass
Install

How do I install the Foundaree MCP server?

Foundaree is a hosted endpoint at https://foundaree.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · foundaree.com

# add to Claude Code
claude mcp add --transport http shujahmhd-foundaree 'https://foundaree.com/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "shujahmhd-foundaree": {
      "url": "https://foundaree.com/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "shujahmhd-foundaree": {
      "type": "http",
      "url": "https://foundaree.com/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.shujahmhd-foundaree]
url = "https://foundaree.com/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "shujahmhd-foundaree": {
      "type": "remote",
      "url": "https://foundaree.com/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add shujahmhd-foundaree --url 'https://foundaree.com/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  shujahmhd-foundaree:
    url: "https://foundaree.com/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "shujahmhd-foundaree": {
      "Transport": "http",
      "Url": "https://foundaree.com/mcp"
    }
  }
}
# add to Vellum
assistant mcp add shujahmhd-foundaree -t streamable-http -u 'https://foundaree.com/mcp'
// mcp.json
{
  "mcpServers": {
    "shujahmhd-foundaree": {
      "type": "http",
      "url": "https://foundaree.com/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 1 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 37 to 40. That category is still filling its 30-day observation window: 11 days of observed history at the previous scan, 12 at this one. The score rises as the window fills, whether or not the server changes.

  • 29 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.

  • 28 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 27 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

  • 26 Sept 26 0
    • Tool “search_people” rewrote its description, which is the text the model reads security
    • “find_and_ask” added an optional parameter “language” cosmetic
    • “search_people” added an optional parameter “language” cosmetic
  • 25 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 24 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

  • 23 Sept 26 0
    • Tool “get_person” rewrote its description, which is the text the model reads security
    • Tool “search_people” rewrote its description, which is the text the model reads security
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 2 Oct 2026 · Probed https://foundaree.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=foundaree.com CN=YR2,O=Let's Encrypt,C=US 18 Sept 2026 17 Dec 2026 RSA 2048 SHA256-RSA 67b0630cb2eca30e111c56c7b855090c6bc
SANs: foundaree.com
CN=YR2,O=Let's Encrypt,C=US (CA) CN=Root YR,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 RSA 2048 SHA256-RSA 4ebd24947e24d394802d84a52fd5b319
CN=Root YR,O=ISRG,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 RSA 4096 SHA256-RSA f24b6d17f9d9ad7cb1c9fea78782699f

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of foundaree.com. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
foundaree.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=63072000; includeSubDomains
content-security-policy frame-ancestors 'none'; base-uri 'self'; form-action 'self'; object-src 'none'
x-content-type-options nosniff
x-frame-options DENY
referrer-policy strict-origin-when-cross-origin
permissions-policy camera=(), microphone=(), geolocation=(self), payment=(), usb=()

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://foundaree.com/mcp Verified 200
http (plaintext) http://foundaree.com/mcp HTTPS enforced 308 https://foundaree.com/mcp
MCP tools · 14 exposed · ~3,895 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
check_errand ~90

Check on an errand started with find_and_ask: which of the people asked have accepted, declined or not answered yet. Use it when the user asks "did anyone get back to me?". Someone who accepted will call the user on the number they gave; Foundaree does not arrange the time.

NameTypeReqDescription
errandIdstringyesThe errandId that find_and_ask returned.

No output schema declared.

No examples provided.

create_profile_draft ~452

Start a Foundaree profile for the user. Use it only when the user asks to join Foundaree, to be listed on it, or to create their own profile. Fill in only details the user gave about THEMSELVES: never about someone else, and never guess. Only `name` is required. Nothing is published: this saves a private draft and returns one link (finishUrl). The user opens it, checks the profile, signs in and taps Publish; until then nobody can find it. Show the user the link. It works once, for 7 days. Nobody is emailed or texted.

NameTypeReqDescription
area––Neighbourhood or area they work in within the city, e.g. 'Kakkanad'.
availabilitystring–available = free now; open_to_offers = open to work; not_looking = not looking right now.
bio––A few sentences about them: experience, languages, the work they take.
category––Their trade or job as a short lowercase slug, e.g. plumber, electrician, carpenter, driver, cleaner, tutor, software-engineer, designer, accountant.
githubUrl––Their GitHub page (http:// or https://).
headline––One short line about their work, in their words.
intentsarray–What they are open to.
linkedinUrl––Their LinkedIn page (http:// or https://).
location––Their city, e.g. 'Kochi' or 'Kochi, Kerala'.
lookingForarray–The kind of work they want, as short tags, e.g. ['weekend jobs'].
namestringyesThe person's own name, as they gave it.
phone––Their phone number, with the country code when they gave one. Shown only if they choose so when publishing.
portfolioUrl––Their own website (http:// or https://).
skillsarray–Skill names, e.g. ['Pipe fitting', 'Leak repair'].
whatsapp––Their WhatsApp number. Shown only if they choose so when publishing.
NameTypeReqDescription
expiresAtstringyesWhen the link stops working (ISO 8601).
finishUrlstringyesThe link to give the user: they check the profile, sign in and publish there.
summarystringyesOne line: whose draft it is, and that nothing is public yet.

No examples provided.

find_and_ask ~390

Hand the whole errand to Foundaree: "find me a plumber in Kochi for Saturday morning". Foundaree searches, ranks the way its website does (people free now first), sends a booking request to the best one to three, and reports who was asked. Use this instead of search_people + request_appointment when the user wants it sorted rather than a list to choose from. Needs the user’s OWN name and phone number, which they gave you, and their clear yes before calling: real people will be contacted. Each person asked calls the user back if they can take it; nothing is confirmed until they do, so say that. Keep the returned errandId and use check_errand later to see who said yes. No account needed.

NameTypeReqDescription
areastring–Neighbourhood, e.g. Kakkanad. Optional.
howManyinteger–How many people to ask, 1 to 3. Two is a good default: a choice without pestering.
languagestring–Only ask people who work in this language, e.g. Malayalam. Leave out if any language is fine.
locationstring–City, e.g. Kochi. Strongly recommended.
namestringyesThe user's own name, as they gave it.
needstringyesWhat the user needs done, in a sentence or two.
phonestringyesThe user's own phone number, with country code when known, e.g. +91 98470 12345. The person calls back on it.
whenstringyesWhen they would like it, in plain words, e.g. 'Saturday morning' or 'today after 5 pm'.
workTypestring–local_service for trades, repairs, driving and care; professional for office work. Leave out if unsure.

No output schema declared.

No examples provided.

get_person ~393

Retrieve the full public profile for a username, including skills, experiences, projects, `services` (what they offer with prices: name, price in whole currency units or null for "ask", currency, per job/hour/day/visit/session/month, from = starting price, note), `licence` (a registration number Foundaree's admin looked up on its public register, e.g. a doctor's NMC number: body, number, checkedAt; only once verified, and then "licence" is also in `verifiedBy`), and the phone, WhatsApp and contact email (`phone`, `whatsapp`, `contactEmail`) when the person made them public. `workProof`, when at least one kind is proven, is a count, not a score: "Proof: `proven` of `total`" over GitHub, website and LinkedIn (LinkedIn has no proof yet), with the facts of each proven one: `github` (public facts of a GitHub account they proved is theirs by signing in with it: repos, stars, followers, top languages, last push, and when Foundaree read them) and `website` (their website links back to this profile). `person.updatedAt` is when they last edited the profile. Returns structured JSON with `success`, `found` and `person` fields. Each answer has two views: the text content is the JSON described above, and the structured content is a profile-card list (`people`, `total`, `query`). In apps that support MCP Apps (ChatGPT, Claude) the cards render as Foundaree profile cards. A person with `foundareeRole` ("founder" or "team") is part of Foundaree's own team; only Foundaree sets it.

NameTypeReqDescription
usernamestringyesUsername of the person, e.g. "maya-chen"
NameTypeReqDescription
peoplearrayyes–
queryobjectyes–
totalintegeryes–

No examples provided.

match_people ~636

Rank public Foundaree profiles against a list of required skills — use when the user describes a need ("a co-founder who knows React and has sold to enterprises", "a dentist in Pune", "someone to rewire my kitchen in Kochi") rather than searching for a known person. Give the required skills as `skills` (or describe the need in `q`; skill terms are then derived from it and `q` also narrows candidates by full text). location, area, workType, category, availability and lookingFor are hard filters; the skills only score: score = matched ÷ required (0–1), where a listed skill counts 1 and a term found in the person's category or lookingFor counts ½. Someone with 3 of 5 skills still appears, below someone with 5; ties break on availability (available first), then founding members (Foundaree's first 150 members), then recency. When nobody matches a single skill, the filtered candidates come back with score 0 and `fallback: true` instead of an empty list. Returns JSON with `items` (each: `person`, `score`, `matchedSkills`, `missingSkills`, `profileUrl`), `total`, `requiredSkills` and `fallback`. Each answer has two views: the text content is the JSON described above, and the structured content is a profile-card list (`people`, `total`, `query`). In apps that support MCP Apps (ChatGPT, Claude) the cards render as Foundaree profile cards. A person with `foundareeRole` ("founder" or "team") is part of Foundaree's own team; only Foundaree sets it.

NameTypeReqDescription
areastring–Optional neighbourhood filter within the city (case-insensitive substring), e.g. "Kakkanad"
availabilitystring–Optional availability filter (exact match)
categorystring–Optional comma-separated trade/profession filter (OR semantics), e.g. "driver" or "carpenter,electrician"
limitinteger–Maximum number of ranked results. Defaults to 20.
locationstring–Optional location filter (case-insensitive substring), e.g. "Bengaluru" or "Kochi"
lookingForstring–Optional comma-separated looking-for filter (AND semantics), e.g. "cofounder" or "job,freelance"
qstring–Free-text description of the need, e.g. "someone with React and PostgreSQL experience". Used to derive skills when `skills` is absent, and as a full-text filter.
skillsarray–The required skills, e.g. ["React", "PostgreSQL", "Kubernetes"]. Required unless q is given.
workTypestring–Optional audience filter: local_service = blue-collar jobs, hands-on work (electricians, carpenters, drivers, cleaners, carers...); professional = white-collar jobs, office and professional work (dev…
NameTypeReqDescription
peoplearrayyes–
queryobjectyes–
totalintegeryes–

No examples provided.

my_bookings ~97

List the booking requests people sent to the signed-in user: who asked, what they need, when, and whether it is still waiting for an answer. Use it when the user asks what is waiting on Foundaree, who wants to book them, or what they have not answered yet. Needs the user to have connected their Foundaree account. Lead with the ones still waiting, and offer to answer them with respond_to_booking.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

my_connection_requests ~59

List the connection requests waiting for the signed-in user, and the ones they sent that are still pending. Use it when the user asks who wants to connect, or what is waiting on Foundaree. Offer to answer them with respond_to_connection.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

request_appointment ~323

Send a booking request to one person on Foundaree, for the user: "book this plumber for Saturday morning", "ask this dentist for an appointment". Use it only when the user asked to book or contact that person, and only with the user's OWN name and phone number, which they gave you: never guess or reuse another number. Before calling, tell the user what you will send and to whom, and get their yes. The person sees the request on Foundaree and by email, and calls the user back on that number if they can take it; nothing is confirmed until they do, so say that to the user. Find the username with search_people or match_people first. One open request per phone number and person; a few per number a day.

NameTypeReqDescription
areastring–Where the work is: the user's area or address hint, e.g. 'Kakkanad, near Infopark'. Optional.
namestringyesThe user's own name, as they gave it.
needstringyesWhat the user needs done, in a sentence or two.
phonestringyesThe user's own phone number, with country code when known, e.g. +91 98470 12345. The person calls back on it.
usernamestringyesUsername of the person to book, from search_people, match_people or get_person.
whenstringyesWhen they would like it, in plain words, e.g. 'Saturday morning' or 'today after 5 pm'.
NameTypeReqDescription
messagestringyesWhat to tell the user.
personobject––
sentbooleanyesTrue when the request was stored for the person.

No examples provided.

respond_to_booking ~105

Answer one booking request sent to the signed-in user. Get the id from my_bookings first. Always read the request back to the user and get a clear yes before calling this: it is their answer to a real person, not yours. Accepting does not arrange a time — the user still has to call them — so say that.

NameTypeReqDescription
answerstringyesWhat the user decided.
bookingIdstringyesThe request id, from my_bookings.

No output schema declared.

No examples provided.

respond_to_connection ~92

Answer one connection request sent to the signed-in user. Get the id from my_connection_requests first. Tell the user who it is and what they wrote, and get their yes before calling this. Declining removes the request quietly; the other person is not told they were declined.

NameTypeReqDescription
answerstringyesWhat the user decided.
requestIdstringyesThe request id, from my_connection_requests.

No output schema declared.

No examples provided.

search_opportunities ~239

Search public openings on Foundaree: jobs, freelance work, internships, projects, co-founder and advisory roles. Use it when the user is looking for work or a role ("React jobs in Bengaluru", "a co-founder role in fintech", "internships in design"), or asks what a company is hiring for. Matches the title, description, city and skills. Only open listings are returned unless `includeClosed` is true. Returns JSON with `items` (each: `username`, `title`, `type`, `companyUsername`, `location`, `description`, `skills`, `status`, `listingUrl`, `companyUrl`) and `total`. People apply on the listing page on Foundaree; this tool does not apply for anyone. Foundaree is new, so there may be few or none: say so rather than guessing.

NameTypeReqDescription
includeClosedboolean–Also return listings that are closed. Defaults to false.
limitinteger–Maximum number of results. Defaults to 10.
querystringyesRole, skill, kind of work or city, e.g. "React developer Bengaluru"

No output schema declared.

No examples provided.

search_organizations ~171

Search public company and organization pages on Foundaree by name, what they do, or city: "design studios in Kochi", "a clinic in Pune", "startups building for farmers". Use it when the user needs a company or team rather than one person. Returns JSON with `items` (each: `username`, `name`, `description`, `website`, `location`, `pageUrl`) and `total`. Foundaree is new, so there may be few or none: say so rather than guessing. A company's open roles come from search_opportunities.

NameTypeReqDescription
limitinteger–Maximum number of results. Defaults to 10.
querystringyesName, kind of company, what they do, or a city, e.g. "design studio Kochi"

No output schema declared.

No examples provided.

search_people ~746

Search public Foundaree profiles by free-text query and/or structured filters; give at least one. Free-text matches name, headline, bio, location, skills, experiences and projects. Each result carries `services` (what the person offers with prices), `languages`, `serviceAreas` (areas they cover) and `workingHours` (one entry per day, 24-hour HH:MM) when they gave them, so you can compare before booking. Each result has `updatedAt`, when the person last edited their profile: prefer recent ones when details matter, and say so when a profile is old. Among equally good matches, recently updated profiles rank a little higher. Structured filters: location (substring), area (neighbourhood substring; also matches the areas a person says they cover), language (a language they work in, e.g. Malayalam), workType (exact: local_service = blue-collar, hands-on work; professional = white-collar work), category (comma-separated trades/professions, OR semantics), availability (exact: available, open_to_offers, not_looking, unspecified), skills (comma-separated, AND semantics), lookingFor (comma-separated, AND semantics). Only the first 100 results can be paged through (offset + limit ≤ 100); add filters to narrow the search. Among people who fit equally well, founding members (Foundaree's first 150 members, `foundingMember`) come first; a better match always ranks higher. Returns JSON with a `results` array of structured people summaries. Results never include phone numbers or emails: use get_person for one profile's public contact details. Each answer has two views: the text content is the JSON described above, and the structured content is a profile-card list (`people`, `total`, `query`). In apps that support MCP Apps (ChatGPT, Claude) the cards render as Foundaree profile cards. A person with `foundareeRole` ("founder" or "team") is part of Foundaree's own team; only Foundaree sets it.

NameTypeReqDescription
areastring–Optional neighbourhood filter within the city (case-insensitive substring), e.g. "Kakkanad"
availabilitystring–Optional availability filter (exact match)
categorystring–Optional comma-separated trade/profession filter (OR semantics), e.g. "electrician" or "electrician,carpenter"
languagestring–Optional language they work in (whole name, any case), e.g. "Malayalam", "Tamil" or "Hindi"
limitinteger–Maximum number of results. Defaults to 20.
locationstring–Optional location filter (case-insensitive substring), e.g. "Bangalore" or "San Francisco"
lookingForstring–Optional comma-separated looking-for filter (AND semantics), e.g. "cofounder" or "job,freelance"
offsetinteger–Pagination offset. Defaults to 0. Paging stops after the first 100 results.
querystring–Optional free-text search query, e.g. "postgres engineer" or "technical co-founder"
skillsstring–Optional comma-separated skills filter (AND semantics), e.g. "AI,ML" or "React,TypeScript"
workTypestring–Optional audience filter: local_service = blue-collar jobs, hands-on work (electricians, carpenters, drivers, cleaners, carers...); professional = white-collar jobs, office and professional work (dev…
NameTypeReqDescription
peoplearrayyes–
queryobjectyes–
totalintegeryes–

No examples provided.

set_my_availability ~102

Change the signed-in user's availability on their Foundaree profile: available (free for work now), open_to_offers (working, but will listen), or not_looking. This is public and it changes who finds them in search, so confirm with the user before calling it. Useful when they say they have finished a job, are fully booked, or want to be found again.

NameTypeReqDescription
availabilitystringyesThe state to set on the profile.

No output schema declared.

No examples provided.

Common questions

What is the Foundaree MCP server?

Foundaree is an MCP server listed in the public MCP registry as io.github.shujahmhd/foundaree. Find and book real people by skill, city and availability: doctors, developers, plumbers and more. This page covers its hosted endpoint (https://foundaree.com/mcp).

Is the Foundaree MCP server safe to use?

Foundaree scores 80 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Foundaree MCP server expose?

Foundaree exposes 14 tools: my_bookings, respond_to_booking, my_connection_requests, respond_to_connection, set_my_availability, and 9 more. Their descriptions and schemas cost roughly 3,895 tokens of context every time the server is loaded.

Does the Foundaree MCP server require authentication?

No. We connected to Foundaree without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the Foundaree MCP server still maintained?

Foundaree is still listed as active in the MCP registry. We last reached this channel on 2 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.