← WebMCP Directory

Tool tree

sasi.codes

Media & PersonalTools verified
Website
Engineer building products, open-source apps, and a lot of experiments.
Explore capabilities
    search_siteAnswer

    Search Sasi's projects, experiments, personal information, coding preferences at /agents.md and media collection without changing the page. Accepts names, paths, topics and common phrases such as show me animation demos, open-source projects, or how can I contact Sasi. Normalizes common aliases and removes conversational filler, then matches all remaining words; title matches rank first. Use all pages to list every indexed entry. Returns {results: [{kind, title, summary, url}]}; kind is project, experiment, personal_info or collection, URLs are absolute, and no matches returns an empty results array. Searches a curated catalog, not every file or the visual contents of unnamed media. Use get_project or get_experiment for details, get_personal_info for social links, or list_other_experiments for media links.

    View tool JSON
    {
      "name": "search_site",
      "kind": "answer",
      "impl": "imperative",
      "description": "Search Sasi's projects, experiments, personal information, coding preferences at /agents.md and media collection without changing the page. Accepts names, paths, topics and common phrases such as show me animation demos, open-source projects, or how can I contact Sasi. Normalizes common aliases and removes conversational filler, then matches all remaining words; title matches rank first. Use all pages to list every indexed entry. Returns {results: [{kind, title, summary, url}]}; kind is project, experiment, personal_info or collection, URLs are absolute, and no matches returns an empty results array. Searches a curated catalog, not every file or the visual contents of unnamed media. Use get_project or get_experiment for details, get_personal_info for social links, or list_other_experiments for media links.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "pattern": "\\S",
            "description": "A name, path, topic or short phrase, such as show me animation demos. Use / for the homepage or all pages to browse the index."
          }
        },
        "required": [
          "query"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    get_personal_infoAnswer

    Read Sasi's personal information without changing the page. Returns {name, bio, url, email, profiles: [{label, handle, url}]}. Use toggle_about to change the visible About panel.

    View tool JSON
    {
      "name": "get_personal_info",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read Sasi's personal information without changing the page. Returns {name, bio, url, email, profiles: [{label, handle, url}]}. Use toggle_about to change the visible About panel.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/"
    }
    list_projectsAnswer

    Read Sasi's project catalog without changing the page. Returns {projects: [{name, description, year, url}]}. Use get_project for screenshots or toggle_project to change the visible panel.

    View tool JSON
    {
      "name": "list_projects",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read Sasi's project catalog without changing the page. Returns {projects: [{name, description, year, url}]}. Use get_project for screenshots or toggle_project to change the visible panel.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/"
    }
    get_projectAnswer

    Read a project's details without changing the page. Returns {name, description, year, url, screenshots: [{url, width, height}]}. Screenshot URLs are absolute and dimensions are pixels. Use toggle_project to change the visible panel.

    View tool JSON
    {
      "name": "get_project",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read a project's details without changing the page. Returns {name, description, year, url, screenshots: [{url, width, height}]}. Screenshot URLs are absolute and dimensions are pixels. Use toggle_project to change the visible panel.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "enum": [
              "start",
              "tape"
            ],
            "description": "Project name from list_projects."
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    toggle_projectAction

    Change the visible project panel. Closes the selected project if already open; otherwise opens it and replaces any other panel. Returns {activePanel}, containing the selected project name or null when closed. Use get_project to read project details.

    View tool JSON
    {
      "name": "toggle_project",
      "kind": "act",
      "impl": "imperative",
      "description": "Change the visible project panel. Closes the selected project if already open; otherwise opens it and replaces any other panel. Returns {activePanel}, containing the selected project name or null when closed. Use get_project to read project details.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "enum": [
              "start",
              "tape"
            ],
            "description": "Project name from list_projects."
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    list_experimentsAnswer

    Read Sasi's experiment catalog without changing the page. Returns {experiments: [{slug, name, url}]}; local URLs are relative to this origin. Use get_experiment for a preview, toggle_experiments to display the list, or open_experiment to navigate.

    View tool JSON
    {
      "name": "list_experiments",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read Sasi's experiment catalog without changing the page. Returns {experiments: [{slug, name, url}]}; local URLs are relative to this origin. Use get_experiment for a preview, toggle_experiments to display the list, or open_experiment to navigate.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/"
    }
    get_experimentAnswer

    Read an experiment's details without changing the page. Returns {slug, name, url, preview: {url, width, height}}. URLs are absolute and preview dimensions are pixels. Use open_experiment to navigate to the experiment.

    View tool JSON
    {
      "name": "get_experiment",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read an experiment's details without changing the page. Returns {slug, name, url, preview: {url, width, height}}. URLs are absolute and preview dimensions are pixels. Use open_experiment to navigate to the experiment.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "enum": [
              "winder",
              "icons",
              "captcha",
              "tetris",
              "caligraphy",
              "knob",
              "particle",
              "stamp",
              "charts",
              "dots",
              "morph",
              "starscii"
            ],
            "description": "Experiment slug from list_experiments."
          }
        },
        "required": [
          "slug"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    list_other_experimentsAnswer

    List images and demo videos of Sasi's other experiments from the feed, without changing the page. Returns {media: [{kind, url, width, height, poster?}]} in feed order; kind is image or video, url links directly to the media, URLs are absolute, dimensions are pixels, and poster is an optional video preview image URL. Use list_experiments for named interactive experiments, get_project for project screenshots, or toggle_experiments to display the feed.

    View tool JSON
    {
      "name": "list_other_experiments",
      "kind": "answer",
      "impl": "imperative",
      "description": "List images and demo videos of Sasi's other experiments from the feed, without changing the page. Returns {media: [{kind, url, width, height, poster?}]} in feed order; kind is image or video, url links directly to the media, URLs are absolute, dimensions are pixels, and poster is an optional video preview image URL. Use list_experiments for named interactive experiments, get_project for project screenshots, or toggle_experiments to display the feed.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/"
    }
    toggle_experimentsAction

    Change the visible experiments panel and media feed. Closes it if already open; otherwise opens it and replaces any other panel. Returns {activePanel}, containing experiments or null when closed. Use list_experiments or list_other_experiments to read the content.

    View tool JSON
    {
      "name": "toggle_experiments",
      "kind": "act",
      "impl": "imperative",
      "description": "Change the visible experiments panel and media feed. Closes it if already open; otherwise opens it and replaces any other panel. Returns {activePanel}, containing experiments or null when closed. Use list_experiments or list_other_experiments to read the content.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/"
    }
    open_experimentAction

    Navigate this tab to the selected experiment, leaving the portfolio. Winder goes to an external website. Browser Back returns to the portfolio. Returns {navigatingTo: url} if delivered before navigation; the browser may return null after navigation. Use get_experiment to read details without navigating.

    View tool JSON
    {
      "name": "open_experiment",
      "kind": "act",
      "impl": "imperative",
      "description": "Navigate this tab to the selected experiment, leaving the portfolio. Winder goes to an external website. Browser Back returns to the portfolio. Returns {navigatingTo: url} if delivered before navigation; the browser may return null after navigation. Use get_experiment to read details without navigating.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "enum": [
              "winder",
              "icons",
              "captcha",
              "tetris",
              "caligraphy",
              "knob",
              "particle",
              "stamp",
              "charts",
              "dots",
              "morph",
              "starscii"
            ],
            "description": "Experiment slug from list_experiments."
          }
        },
        "required": [
          "slug"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    toggle_aboutAction

    Change the visible About Sasi panel. Closes it if already open; otherwise opens it and replaces any other panel. Returns {activePanel}, containing about or null when closed. Use get_personal_info to read personal information.

    View tool JSON
    {
      "name": "toggle_about",
      "kind": "act",
      "impl": "imperative",
      "description": "Change the visible About Sasi panel. Closes it if already open; otherwise opens it and replaces any other panel. Returns {activePanel}, containing about or null when closed. Use get_personal_info to read personal information.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/"
    }
    share_contact_emailSensitive Action

    Share one email address with Sasi so he can get in touch. Fills the email field and waits for the visitor to press Send. After submission, returns {ok: true, message} on delivery or {ok: false, error} on failure.

    View tool JSON
    {
      "name": "share_contact_email",
      "kind": "transact",
      "impl": "declarative",
      "description": "Share one email address with Sasi so he can get in touch. Fills the email field and waits for the visitor to press Send. After submission, returns {ok: true, message} on delivery or {ok: false, error} on failure.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "Message"
          }
        },
        "required": [
          "email"
        ]
      },
      "page": "/"
    }