Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Authorization not required, issuer https://foundaree.com
Authorization not required, issuer https://foundaree.com
Authorization not required, issuer https://foundaree.com
Authorization not required, issuer https://foundaree.com
Authorization not required, issuer https://foundaree.com
Changed the definition of "get_person", "match_people" and "search_people"
⟨147 unchanged words⟩ their website links back to this profile). `person.updatedAt` is when they last edited the profile. Returns structured JSON with `success`, `found` and `person` ⟨58 unchanged words⟩
⟨19 unchanged words⟩ ,"unspecified"],"type":"string"},"backed":{"items":{"maxLength":160,"type":"string"},"maxItems":12,"type":"array"},"email":{"type":"string"},"foundareeRole" ⟨75 unchanged words⟩ ,"trade":{"type":"string"},"updatedAt":{"type":"string"},"username":{"type":"string"},"verifiedBy" ⟨24 unchanged words⟩ "minimum":0,"type":"integer"},"languageRepos":{"items":{"additionalProperties":false,"properties":{"name":{"type":"string"},"repos":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["name","repos"],"type":"object"},"type":"array"},"
Changed the definition of "find_and_ask", "get_person", "match_people" and 1 more
⟨41 unchanged words⟩ "minimum":1,"type":"integer"},"language":{"description":"Only ask people who work in this language, e.g. Malayalam. Leave out if any language is fine.","maxLength":40,"minLength":1,"type":"string"},"location":{"description":"City, e.g. Kochi. ⟨113 unchanged words⟩
⟨31 unchanged words⟩ ,"headline":{"type":"string"},"languages":{"items":{"type":"string"},"maxItems":5,"type":"array"},"location":{"type":"string"},"matchedSkills" ⟨34 unchanged words⟩ ":1,"minimum":0,"type":"number"},"serviceAreas":{"items":{"type":"string"},"maxItems":5,"type":"array
Authorization not required, issuer https://foundaree.com
Authorization not required, issuer https://foundaree.com
Changed the definition of "get_person", "match_people" and "search_people"
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, andprojectsthen "licence" is also in `verifiedBy`), and the phone, WhatsApp and contact email ⟨148 unchanged words⟩
⟨57 unchanged words⟩ ":"uri","type":"string"},"priceLine":{"maxLength":200,"type":"string"},"profileUrl":{"format":"uri","type": ⟨24 unchanged words⟩ {"enum":["phone","github","google","licence
Added "check_errand", "find_and_ask", "my_bookings" and 4 more (7 tools before, 14 now)
See who answered an errand — 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.
Find the right people and ask them, in one go — 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…
The user's own booking requests — 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.
Added "request_appointment", "search_opportunities" and "search_organizations" (4 tools before, 7 now)
Ask to book a person — 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 jobs and openings — 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 p…
Search companies — 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.
Changed the definition of "match_people"
⟨22 unchanged words⟩ React and has sold to enterprises", "a dentist in Pune", "someone to rewire my kitchen in Kochi") ⟨193 unchanged words⟩
Certificate recorded, valid to 2026-12-17
Authorization not required
Unknown → Live
First tool surface recorded: 4 tools (server version 1.0.0)
https://foundaree.com/mcp (mcp_streamable_http) — from mcp_registry, with the record
Showing the latest 18 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨19 unchanged words⟩ ,"unspecified"],"type":"string"},"backed":{"items":{"maxLength":160,"type":"string"},"maxItems":12,"type":"array"},"email":{"type":"string"},"foundareeRole" ⟨75 unchanged words⟩ ,"trade":{"type":"string"},"updatedAt":{"type":"string"},"username":{"type":"string"},"verifiedBy" ⟨24 unchanged words⟩ "minimum":0,"type":"integer"},"languageRepos":{"items":{"additionalProperties":false,"properties":{"name":{"type":"string"},"repos":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["name","repos"],"type":"object"},"type":"array"},"languages":{"items":{"type":"string" ⟨20 unchanged words⟩ ":9007199254740991,"minimum":0,"type":"integer"},"topics":{"items":{"additionalProperties":false,"properties":{"name":{"type":"string"},"repos":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["name","repos"],"type":"object"},"type":"array"},"url":{"format":"uri", ⟨88 unchanged words⟩
⟨51 unchanged words⟩ 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 ⟨173 unchanged words⟩
⟨19 unchanged words⟩ ,"unspecified"],"type":"string"},"backed":{"items":{"maxLength":160,"type":"string"},"maxItems":12,"type":"array"},"email":{"type":"string"},"foundareeRole" ⟨75 unchanged words⟩ ,"trade":{"type":"string"},"updatedAt":{"type":"string"},"username":{"type":"string"},"verifiedBy" ⟨24 unchanged words⟩ "minimum":0,"type":"integer"},"languageRepos":{"items":{"additionalProperties":false,"properties":{"name":{"type":"string"},"repos":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["name","repos"],"type":"object"},"type":"array"},"languages":{"items":{"type":"string" ⟨20 unchanged words⟩ ":9007199254740991,"minimum":0,"type":"integer"},"topics":{"items":{"additionalProperties":false,"properties":{"name":{"type":"string"},"repos":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["name","repos"],"type":"object"},"type":"array"},"url":{"format":"uri", ⟨88 unchanged words⟩
⟨31 unchanged words⟩ ,"headline":{"type":"string"},"languages":{"items":{"type":"string"},"maxItems":5,"type":"array"},"location":{"type":"string"},"matchedSkills" ⟨34 unchanged words⟩ ":1,"minimum":0,"type":"number"},"serviceAreas":{"items":{"type":"string"},"maxItems":5,"type":"array"},"skills":{"items":{"type" ⟨160 unchanged words⟩
⟨27 unchanged words⟩ `services` (what the person offers with prices), `languages`, `serviceAreas` (areas they cover) and `workingHours` (one entry per day, 24-hour HH:MM) when theylistedgaveanythem, so you can compare before booking. Structured filters: location (substring), area (neighbourhoodsubstringsubstring; also matches the areas a person says they cover), language (a language they work in, e.g. Malayalam), workType (exact: local_service = blue-collar, ⟨150 unchanged words⟩
⟨54 unchanged words⟩ "minLength":1,"type":"string"},"language":{"description":"Optional language they work in (whole name, any case), e.g. \"Malayalam\", \"Tamil\" or \"Hindi\"","maxLength":40,"minLength":1,"type":"string"},"limit":{"default":20,"description":"Maximum ⟨152 unchanged words⟩
⟨31 unchanged words⟩ ,"headline":{"type":"string"},"languages":{"items":{"type":"string"},"maxItems":5,"type":"array"},"location":{"type":"string"},"matchedSkills" ⟨34 unchanged words⟩ ":1,"minimum":0,"type":"number"},"serviceAreas":{"items":{"type":"string"},"maxItems":5,"type":"array"},"skills":{"items":{"type" ⟨160 unchanged words⟩
⟨57 unchanged words⟩ ":"uri","type":"string"},"priceLine":{"maxLength":200,"type":"string"},"profileUrl":{"format":"uri","type": ⟨24 unchanged words⟩ {"enum":["phone","github","google","licence"],"type":"string"},"type": ⟨139 unchanged words⟩
⟨18 unchanged words⟩ bio, location, skills, experiences and projects. Each result carries `services` (what the person offers with prices) when they listed any, so you can compare before booking. Structured filters: location (substring), area (neighbourhood ⟨156 unchanged words⟩
⟨57 unchanged words⟩ ":"uri","type":"string"},"priceLine":{"maxLength":200,"type":"string"},"profileUrl":{"format":"uri","type": ⟨24 unchanged words⟩ {"enum":["phone","github","google","licence"],"type":"string"},"type": ⟨139 unchanged words⟩
People waiting to connect with the user — 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.
Accept or decline a booking request — 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.
Accept or decline a connection request — 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.
Set whether the user is free for work — 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.