Foundaree

Search real people by skill, city and availability: plumbers, developers, co-founders and more.

Rate this Server

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "foundaree": {
      "url": "https://foundaree.com/mcp"
    }
  }
}

Remote endpoints

https://foundaree.com/mcpstreamable-http

Tool inventory

Tools (5)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_people(query, location, area, workType, category, ...)

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. Structured filters: location (substring), area (neighbourhood substring), 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.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Optional free-text search query, e.g. \"postgres engineer\" or \"technical co-founder\"",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "location": {
      "description": "Optional location filter (case-insensitive substring), e.g. \"Bangalore\" or \"San Francisco\"",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "area": {
      "description": "Optional neighbourhood filter within the city (case-insensitive substring), e.g. \"Kakkanad\"",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "workType": {
      "description": "Optional audience filter: local_service = blue-collar jobs, hands-on work (electricians, carpenters, drivers, cleaners, carers...); professional = white-collar jobs, office and professional work (developers, designers, accountants...)",
      "type": "string",
      "enum": [
        "local_service",
        "professional"
      ]
    },
    "category": {
      "description": "Optional comma-separated trade/profession filter (OR semantics), e.g. \"electrician\" or \"electrician,carpenter\"",
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "availability": {
      "description": "Optional availability filter (exact match)",
      "type": "string",
      "enum": [
        "available",
        "open_to_offers",
        "not_looking",
        "unspecified"
      ]
    },
    "skills": {
      "description": "Optional comma-separated skills filter (AND semantics), e.g. \"AI,ML\" or \"React,TypeScript\"",
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "lookingFor": {
      "description": "Optional comma-separated looking-for filter (AND semantics), e.g. \"cofounder\" or \"job,freelance\"",
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "limit": {
      "default": 20,
      "description": "Maximum number of results. Defaults to 20.",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "offset": {
      "default": 0,
      "description": "Pagination offset. Defaults to 0. Paging stops after the first 100 results.",
      "type": "integer",
      "minimum": 0,
      "maximum": 99
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "people": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "username": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "headline": {
            "type": "string"
          },
          "trade": {
            "type": "string"
          },
          "area": {
            "type": "string"
          },
          "location": {
            "type": "string"
          },
          "availability": {
            "type": "string",
            "enum": [
              "available",
              "open_to_offers",
              "not_looking",
              "unspecified"
            ]
          },
          "workType": {
            "type": "string",
            "enum": [
              "local_service",
              "professional"
            ]
          },
          "skills": {
            "maxItems": 4,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "photoUrl": {
            "type": "string",
            "format": "uri"
          },
          "profileUrl": {
            "type": "string",
            "format": "uri"
          },
          "phone": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "verifiedBy": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "phone",
                "github",
                "google"
              ]
            }
          },
          "foundareeRole": {
            "type": "string",
            "enum": [
              "founder",
              "team"
            ]
          },
          "workProof": {
            "type": "object",
            "properties": {
              "proven": {
                "type": "integer",
                "minimum": 1,
                "maximum": 9007199254740991
              },
              "total": {
                "type": "integer",
                "minimum": 1,
                "maximum": 9007199254740991
              },
              "github": {
                "type": "object",
                "properties": {
                  "login": {
                    "type": "string"
                  },
                  "url": {
                    "type": "string",
                    "format": "uri"
                  },
                  "publicRepos": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  "followers": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  "stars": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  "languages": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "lastPushAt": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "fetchedAt": {
                    "type": "string"
                  }
                },
                "required": [
                  "login",
                  "url",
                  "publicRepos",
                  "followers",
                  "stars",
                  "languages",
                  "lastPushAt",
                  "fetchedAt"
                ],
                "additionalProperties": false
              },
              "website": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string"
                  },
                  "host": {
                    "type": "string"
                  },
                  "verifiedAt": {
                    "type": "string"
                  }
                },
                "required": [
                  "url",
                  "host",
                  "verifiedAt"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "proven",
              "total"
            ],
            "additionalProperties": false
          },
          "score": {
            "type": "number",
            "minimum": 0,
            "maximum": 1
          },
          "matchedSkills": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "missingSkills": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "username",
          "name",
          "availability",
          "workType",
          "skills",
          "profileUrl"
        ],
        "additionalProperties": false
      }
    },
    "total": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "query": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "required": [
    "people",
    "total",
    "query"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢match_people(skills, q, location, area, availability, ...)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "skills": {
      "description": "The required skills, e.g. [\"React\", \"PostgreSQL\", \"Kubernetes\"]. Required unless q is given.",
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      }
    },
    "q": {
      "description": "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.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "location": {
      "description": "Optional location filter (case-insensitive substring), e.g. \"Bengaluru\" or \"Kochi\"",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "area": {
      "description": "Optional neighbourhood filter within the city (case-insensitive substring), e.g. \"Kakkanad\"",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "availability": {
      "description": "Optional availability filter (exact match)",
      "type": "string",
      "enum": [
        "available",
        "open_to_offers",
        "not_looking",
        "unspecified"
      ]
    },
    "workType": {
      "description": "Optional audience filter: local_service = blue-collar jobs, hands-on work (electricians, carpenters, drivers, cleaners, carers...); professional = white-collar jobs, office and professional work (developers, designers, accountants...)",
      "type": "string",
      "enum": [
        "local_service",
        "professional"
      ]
    },
    "category": {
      "description": "Optional comma-separated trade/profession filter (OR semantics), e.g. \"driver\" or \"carpenter,electrician\"",
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "lookingFor": {
      "description": "Optional comma-separated looking-for filter (AND semantics), e.g. \"cofounder\" or \"job,freelance\"",
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "limit": {
      "default": 20,
      "description": "Maximum number of ranked results. Defaults to 20.",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "people": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "username": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "headline": {
            "type": "string"
          },
          "trade": {
            "type": "string"
          },
          "area": {
            "type": "string"
          },
          "location": {
            "type": "string"
          },
          "availability": {
            "type": "string",
            "enum": [
              "available",
              "open_to_offers",
              "not_looking",
              "unspecified"
            ]
          },
          "workType": {
            "type": "string",
            "enum": [
              "local_service",
              "professional"
            ]
          },
          "skills": {
            "maxItems": 4,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "photoUrl": {
            "type": "string",
            "format": "uri"
          },
          "profileUrl": {
            "type": "string",
            "format": "uri"
          },
          "phone": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "verifiedBy": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "phone",
                "github",
                "google"
              ]
            }
          },
          "foundareeRole": {
            "type": "string",
            "enum": [
              "founder",
              "team"
            ]
          },
          "workProof": {
            "type": "object",
            "properties": {
              "proven": {
                "type": "integer",
                "minimum": 1,
                "maximum": 9007199254740991
              },
              "total": {
                "type": "integer",
                "minimum": 1,
                "maximum": 9007199254740991
              },
              "github": {
                "type": "object",
                "properties": {
                  "login": {
                    "type": "string"
                  },
                  "url": {
                    "type": "string",
                    "format": "uri"
                  },
                  "publicRepos": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  "followers": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  "stars": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  "languages": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "lastPushAt": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "fetchedAt": {
                    "type": "string"
                  }
                },
                "required": [
                  "login",
                  "url",
                  "publicRepos",
                  "followers",
                  "stars",
                  "languages",
                  "lastPushAt",
                  "fetchedAt"
                ],
                "additionalProperties": false
              },
              "website": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string"
                  },
                  "host": {
                    "type": "string"
                  },
                  "verifiedAt": {
                    "type": "string"
                  }
                },
                "required": [
                  "url",
                  "host",
                  "verifiedAt"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "proven",
              "total"
            ],
            "additionalProperties": false
          },
          "score": {
            "type": "number",
            "minimum": 0,
            "maximum": 1
          },
          "matchedSkills": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "missingSkills": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "username",
          "name",
          "availability",
          "workType",
          "skills",
          "profileUrl"
        ],
        "additionalProperties": false
      }
    },
    "total": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "query": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "required": [
    "people",
    "total",
    "query"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢get_person(username)

Retrieve the full public profile for a username, including skills, experiences and projects, 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). 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.

Input Schema

{
  "type": "object",
  "properties": {
    "username": {
      "type": "string",
      "minLength": 1,
      "maxLength": 48,
      "description": "Username of the person, e.g. \"maya-chen\""
    }
  },
  "required": [
    "username"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "people": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "username": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "headline": {
            "type": "string"
          },
          "trade": {
            "type": "string"
          },
          "area": {
            "type": "string"
          },
          "location": {
            "type": "string"
          },
          "availability": {
            "type": "string",
            "enum": [
              "available",
              "open_to_offers",
              "not_looking",
              "unspecified"
            ]
          },
          "workType": {
            "type": "string",
            "enum": [
              "local_service",
              "professional"
            ]
          },
          "skills": {
            "maxItems": 4,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "photoUrl": {
            "type": "string",
            "format": "uri"
          },
          "profileUrl": {
            "type": "string",
            "format": "uri"
          },
          "phone": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "verifiedBy": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "phone",
                "github",
                "google"
              ]
            }
          },
          "foundareeRole": {
            "type": "string",
            "enum": [
              "founder",
              "team"
            ]
          },
          "workProof": {
            "type": "object",
            "properties": {
              "proven": {
                "type": "integer",
                "minimum": 1,
                "maximum": 9007199254740991
              },
              "total": {
                "type": "integer",
                "minimum": 1,
                "maximum": 9007199254740991
              },
              "github": {
                "type": "object",
                "properties": {
                  "login": {
                    "type": "string"
                  },
                  "url": {
                    "type": "string",
                    "format": "uri"
                  },
                  "publicRepos": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  "followers": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  "stars": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  "languages": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "lastPushAt": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "fetchedAt": {
                    "type": "string"
                  }
                },
                "required": [
                  "login",
                  "url",
                  "publicRepos",
                  "followers",
                  "stars",
                  "languages",
                  "lastPushAt",
                  "fetchedAt"
                ],
                "additionalProperties": false
              },
              "website": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string"
                  },
                  "host": {
                    "type": "string"
                  },
                  "verifiedAt": {
                    "type": "string"
                  }
                },
                "required": [
                  "url",
                  "host",
                  "verifiedAt"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "proven",
              "total"
            ],
            "additionalProperties": false
          },
          "score": {
            "type": "number",
            "minimum": 0,
            "maximum": 1
          },
          "matchedSkills": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "missingSkills": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "username",
          "name",
          "availability",
          "workType",
          "skills",
          "profileUrl"
        ],
        "additionalProperties": false
      }
    },
    "total": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "query": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "required": [
    "people",
    "total",
    "query"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟡create_profile_draft(name, category, headline, bio, location, ...)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "The person's own name, as they gave it."
    },
    "category": {
      "description": "Their trade or job as a short lowercase slug, e.g. plumber, electrician, carpenter, driver, cleaner, tutor, software-engineer, designer, accountant.",
      "anyOf": [
        {
          "type": "string",
          "maxLength": 60
        },
        {
          "type": "null"
        }
      ]
    },
    "headline": {
      "description": "One short line about their work, in their words.",
      "anyOf": [
        {
          "type": "string",
          "maxLength": 300
        },
        {
          "type": "null"
        }
      ]
    },
    "bio": {
      "description": "A few sentences about them: experience, languages, the work they take.",
      "anyOf": [
        {
          "type": "string",
          "maxLength": 10000
        },
        {
          "type": "null"
        }
      ]
    },
    "location": {
      "description": "Their city, e.g. 'Kochi' or 'Kochi, Kerala'.",
      "anyOf": [
        {
          "type": "string",
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ]
    },
    "area": {
      "description": "Neighbourhood or area they work in within the city, e.g. 'Kakkanad'.",
      "anyOf": [
        {
          "type": "string",
          "maxLength": 120
        },
        {
          "type": "null"
        }
      ]
    },
    "skills": {
      "description": "Skill names, e.g. ['Pipe fitting', 'Leak repair'].",
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      }
    },
    "availability": {
      "description": "available = free now; open_to_offers = open to work; not_looking = not looking right now.",
      "type": "string",
      "enum": [
        "available",
        "open_to_offers",
        "not_looking",
        "unspecified"
      ]
    },
    "lookingFor": {
      "description": "The kind of work they want, as short tags, e.g. ['weekend jobs'].",
      "default": [],
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      }
    },
    "intents": {
      "description": "What they are open to.",
      "default": [],
      "maxItems": 7,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "job",
          "cofounder",
          "freelance",
          "internship",
          "project",
          "advisory",
          "other"
        ]
      }
    },
    "linkedinUrl": {
      "description": "Their LinkedIn page (http:// or https://).",
      "anyOf": [
        {
          "type": "string",
          "format": "uri"
        },
        {
          "type": "null"
        }
      ]
    },
    "githubUrl": {
      "description": "Their GitHub page (http:// or https://).",
      "anyOf": [
        {
          "type": "string",
          "format": "uri"
        },
        {
          "type": "null"
        }
      ]
    },
    "portfolioUrl": {
      "description": "Their own website (http:// or https://).",
      "anyOf": [
        {
          "type": "string",
          "format": "uri"
        },
        {
          "type": "null"
        }
      ]
    },
    "phone": {
      "description": "Their phone number, with the country code when they gave one. Shown only if they choose so when publishing.",
      "anyOf": [
        {
          "type": "string",
          "maxLength": 20,
          "pattern": "^[0-9+\\s-]+$"
        },
        {
          "type": "null"
        }
      ]
    },
    "whatsapp": {
      "description": "Their WhatsApp number. Shown only if they choose so when publishing.",
      "anyOf": [
        {
          "type": "string",
          "maxLength": 20,
          "pattern": "^[0-9+\\s-]+$"
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "name"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "finishUrl": {
      "type": "string",
      "description": "The link to give the user: they check the profile, sign in and publish there."
    },
    "expiresAt": {
      "type": "string",
      "description": "When the link stops working (ISO 8601)."
    },
    "summary": {
      "type": "string",
      "description": "One line: whose draft it is, and that nothing is public yet."
    }
  },
  "required": [
    "finishUrl",
    "expiresAt",
    "summary"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟡request_appointment(name, phone, need, when, area, ...)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "description": "The user's own name, as they gave it.",
      "type": "string"
    },
    "phone": {
      "type": "string",
      "maxLength": 20,
      "pattern": "^[0-9+\\s-]+$",
      "description": "The user's own phone number, with country code when known, e.g. +91 98470 12345. The person calls back on it."
    },
    "need": {
      "description": "What the user needs done, in a sentence or two.",
      "type": "string"
    },
    "when": {
      "description": "When they would like it, in plain words, e.g. 'Saturday morning' or 'today after 5 pm'.",
      "type": "string"
    },
    "area": {
      "description": "Where the work is: the user's area or address hint, e.g. 'Kakkanad, near Infopark'. Optional.",
      "type": "string"
    },
    "username": {
      "type": "string",
      "minLength": 1,
      "maxLength": 48,
      "description": "Username of the person to book, from search_people, match_people or get_person."
    }
  },
  "required": [
    "name",
    "phone",
    "need",
    "when",
    "username"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "sent": {
      "type": "boolean",
      "description": "True when the request was stored for the person."
    },
    "person": {
      "type": "object",
      "properties": {
        "username": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "profileUrl": {
          "type": "string"
        }
      },
      "required": [
        "username",
        "name",
        "profileUrl"
      ],
      "additionalProperties": false
    },
    "message": {
      "type": "string",
      "description": "What to tell the user."
    }
  },
  "required": [
    "sent",
    "message"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Recent observations

verifiedversion not recorded5 tools