← WebMCP Directory

Tool tree

mysoci-agent-city-webmcp.vercel.app

Media & PersonalTools verified
Website
Find an event, privacy-safe friends and a meetup place with native WebMCP tools. One shared plan, with human approval. A standalone WebMCP prototype for MySoci’s future agent layer.
Explore capabilities
    search_eventsAnswer

    Search the app's deterministic New York weekend events by words, interests, day, and maximum ticket price. Returns event ids for later planning. Does not change the saved plan.

    View tool JSON
    {
      "name": "search_events",
      "kind": "answer",
      "impl": "imperative",
      "description": "Search the app's deterministic New York weekend events by words, interests, day, and maximum ticket price. Returns event ids for later planning. Does not change the saved plan.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "maxLength": 80,
            "description": "Optional words matched against event, venue, and neighborhood."
          },
          "interests": {
            "type": "array",
            "maxItems": 3,
            "uniqueItems": true,
            "items": {
              "enum": [
                "ai",
                "electronic-music",
                "photography"
              ]
            },
            "description": "Any interests that may match an event."
          },
          "day": {
            "enum": [
              "saturday",
              "sunday"
            ],
            "description": "Weekend day to search."
          },
          "maxPrice": {
            "type": "integer",
            "minimum": 0,
            "maximum": 200,
            "description": "Maximum ticket price in USD."
          }
        },
        "additionalProperties": false
      }
    }
    save_event_to_planAction

    Save one seeded event to the shared Saturday plan. Call with confirmed=false to request visible human approval. Call again with confirmed=true only after the human explicitly approves. The UI can remove the event afterward.

    View tool JSON
    {
      "name": "save_event_to_plan",
      "kind": "act",
      "impl": "imperative",
      "description": "Save one seeded event to the shared Saturday plan. Call with confirmed=false to request visible human approval. Call again with confirmed=true only after the human explicitly approves. The UI can remove the event afterward.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "eventId": {
            "type": "string",
            "pattern": "^[a-z0-9-]{1,64}$",
            "description": "Exact event id returned by search_events."
          },
          "confirmed": {
            "type": "boolean",
            "description": "True only after the human explicitly approves saving this event."
          }
        },
        "required": [
          "eventId",
          "confirmed"
        ],
        "additionalProperties": false
      }
    }
    search_peopleAnswer

    Search deterministic fictional profiles by interests, availability, words, or privacy visibility. Hidden presence is never converted into a location.

    View tool JSON
    {
      "name": "search_people",
      "kind": "answer",
      "impl": "imperative",
      "description": "Search deterministic fictional profiles by interests, availability, words, or privacy visibility. Hidden presence is never converted into a location.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "maxLength": 80,
            "description": "Optional words matched against a profile name, handle, bio, or interests."
          },
          "interests": {
            "type": "array",
            "maxItems": 3,
            "uniqueItems": true,
            "items": {
              "enum": [
                "ai",
                "electronic-music",
                "photography",
                "design",
                "film",
                "coffee"
              ]
            },
            "description": "Any interests that may match a profile."
          },
          "availability": {
            "enum": [
              "available",
              "busy",
              "unavailable"
            ],
            "description": "Optional exact availability filter."
          },
          "presence": {
            "enum": [
              "hidden",
              "city-only",
              "nearby"
            ],
            "description": "Optional privacy visibility filter."
          }
        },
        "additionalProperties": false
      }
    }
    get_profileAnswer

    Read one fictional profile and its relationship. Presence is redacted to hidden, city-only, or coarse nearby visibility; no precise person coordinates are exposed.

    View tool JSON
    {
      "name": "get_profile",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read one fictional profile and its relationship. Presence is redacted to hidden, city-only, or coarse nearby visibility; no precise person coordinates are exposed.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "profileId": {
            "type": "string",
            "pattern": "^[a-z0-9-]{1,64}$",
            "description": "Exact profile id returned by search_people or another social tool."
          }
        },
        "required": [
          "profileId"
        ],
        "additionalProperties": false
      }
    }
    search_placesAnswer

    Search deterministic fictional meetup places by coarse neighborhood, event anchor, interests, or words. Results are planning suggestions, not reservations.

    View tool JSON
    {
      "name": "search_places",
      "kind": "answer",
      "impl": "imperative",
      "description": "Search deterministic fictional meetup places by coarse neighborhood, event anchor, interests, or words. Results are planning suggestions, not reservations.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "maxLength": 80,
            "description": "Optional words matched against a place name, summary, or atmosphere."
          },
          "interests": {
            "type": "array",
            "maxItems": 3,
            "uniqueItems": true,
            "items": {
              "enum": [
                "ai",
                "electronic-music",
                "photography",
                "design",
                "film",
                "coffee"
              ]
            },
            "description": "Any interests that may match a meetup place."
          },
          "neighborhood": {
            "type": "string",
            "maxLength": 80,
            "description": "Optional coarse neighborhood filter."
          },
          "eventId": {
            "type": "string",
            "pattern": "^[a-z0-9-]{1,64}$",
            "description": "Optional event id; when present, use its neighborhood as the coarse anchor."
          }
        },
        "additionalProperties": false
      }
    }
    find_nearby_friendsAnswer

    Find friends marked available and nearby the selected event using coarse neighborhood presence only. Hidden and city-only profiles are never returned as nearby.

    View tool JSON
    {
      "name": "find_nearby_friends",
      "kind": "answer",
      "impl": "imperative",
      "description": "Find friends marked available and nearby the selected event using coarse neighborhood presence only. Hidden and city-only profiles are never returned as nearby.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "eventId": {
            "type": "string",
            "pattern": "^[a-z0-9-]{1,64}$",
            "description": "Optional event id; defaults to the human's currently selected event."
          },
          "availability": {
            "enum": [
              "available",
              "any"
            ],
            "description": "Whether to include only friends marked available. Defaults to available."
          }
        },
        "additionalProperties": false
      }
    }
    suggest_people_for_planAction

    Prioritize available friends for the selected event using shared interests and privacy-safe coarse presence, then recommend fictional places in the event neighborhood. Hidden people are excluded.

    View tool JSON
    {
      "name": "suggest_people_for_plan",
      "kind": "act",
      "impl": "imperative",
      "description": "Prioritize available friends for the selected event using shared interests and privacy-safe coarse presence, then recommend fictional places in the event neighborhood. Hidden people are excluded.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "eventId": {
            "type": "string",
            "pattern": "^[a-z0-9-]{1,64}$",
            "description": "Optional event id; defaults to the human's currently selected event."
          },
          "maxPeople": {
            "type": "integer",
            "minimum": 1,
            "maximum": 3,
            "description": "Maximum number of privacy-safe suggestions. Defaults to 3."
          }
        },
        "additionalProperties": false
      }
    }
    create_group_meetupAction

    Prepare a meetup from the selected seeded event, fictional place, and privacy-safe friends. The first call must use confirmed=false; the shared app shows the proposal and only a visible human click can authorize the confirmed=true call. No real messages or reservations are made.

    View tool JSON
    {
      "name": "create_group_meetup",
      "kind": "act",
      "impl": "imperative",
      "description": "Prepare a meetup from the selected seeded event, fictional place, and privacy-safe friends. The first call must use confirmed=false; the shared app shows the proposal and only a visible human click can authorize the confirmed=true call. No real messages or reservations are made.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "eventId": {
            "type": "string",
            "pattern": "^[a-z0-9-]{1,64}$",
            "description": "Optional seeded event id; defaults to the human's selected event."
          },
          "placeId": {
            "type": "string",
            "pattern": "^[a-z0-9-]{1,64}$",
            "description": "Optional fictional meetup place id; defaults to the top place recommendation."
          },
          "profileIds": {
            "type": "array",
            "maxItems": 3,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9-]{1,64}$"
            },
            "description": "Optional fictional friend ids; defaults to the current social suggestions."
          },
          "time": {
            "type": "string",
            "pattern": "^\\d{1,2}:\\d{2} [AP]M$",
            "description": "Optional seeded 12-hour meetup time; defaults to the event time."
          },
          "confirmed": {
            "type": "boolean",
            "description": "Required. False prepares a visible proposal. True is accepted only after the human clicks Confirm meetup in the app."
          }
        },
        "required": [
          "confirmed"
        ],
        "additionalProperties": false
      }
    }
    send_event_invitesSensitive Action

    Prepare pending invitations for eligible fictional friends on the confirmed shared meetup. The first call must use confirmed=false; only a visible human click can authorize confirmed=true. This sandbox never contacts real people or external services.

    View tool JSON
    {
      "name": "send_event_invites",
      "kind": "transact",
      "impl": "imperative",
      "description": "Prepare pending invitations for eligible fictional friends on the confirmed shared meetup. The first call must use confirmed=false; only a visible human click can authorize confirmed=true. This sandbox never contacts real people or external services.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "meetupId": {
            "type": "string",
            "pattern": "^[a-z0-9-]{1,64}$",
            "description": "Optional confirmed meetup id; defaults to the current shared meetup."
          },
          "profileIds": {
            "type": "array",
            "maxItems": 3,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9-]{1,64}$"
            },
            "description": "Optional fictional friend ids; defaults to the meetup's uninvited participants."
          },
          "confirmed": {
            "type": "boolean",
            "description": "Required. False prepares a visible invite proposal. True is accepted only after the human clicks Approve invites in the app."
          }
        },
        "required": [
          "confirmed"
        ],
        "additionalProperties": false
      }
    }