Inspiration
People often use social-media changes as signals, but raw lists provide very little context and can easily increase anxiety. We wanted to build a calmer and more privacy-preserving alternative: a tool that reports only what can actually be verified from snapshots supplied by the user.
What it does
WhoFollows compares two user-provided Instagram Followers or Following lists.
Its deterministic core:
- normalizes usernames;
- stores snapshots;
- compares two moments;
- identifies accounts that appeared or disappeared;
- returns counts, timestamps, and an explicit interpretation boundary.
WhoFollows does not scrape Instagram, request Instagram credentials, or infer why a change occurred.
For the challenge, we added a fictional demo profile containing two synthetic snapshots. This makes the complete experience reproducible without login or personal data.
Why WebMCP
Without WebMCP, users must open WhoFollows and interpret the comparison manually.
With WebMCP, the user can ask their AI:
“What changed since the previous snapshot?”
The agent invokes WhoFollows’ read-only get_latest_changes tool and receives a structured, deterministic result. The agent can then explain that result conversationally without accessing Instagram itself.
WhoFollows owns the facts. AI owns the conversation.
Human–agent experience
The human provides and controls the underlying data. WhoFollows performs the factual comparison. The agent reduces the interaction cost by retrieving and explaining the verified result.
The demo also lets the user share how they feel. This emotional context may influence the tone of the agent’s explanation, but never changes the factual comparison.
Safety and privacy
The WebMCP integration is read-only.
The agent cannot:
- access or scrape Instagram;
- collect new Instagram data;
- delete snapshots;
- modify account settings;
- make purchases;
- infer motives from list changes.
The tool reports only differences between data already available inside WhoFollows.
How we built it
WhoFollows uses React and TypeScript with a deterministic snapshot-comparison module. The demo registers get_latest_changes through document.modelContext.registerTool() and returns structured JSON containing the profile, list type, timestamps, counts, appeared accounts, disappeared accounts, and interpretation boundary.
What was added for the challenge
The core WhoFollows interface existed before the WebMCP Challenge.
During the challenge period, we added:
- the WebMCP tool layer;
- the read-only
get_latest_changestool; - a synthetic demo profile and snapshots;
- an agent-ready testing flow;
- explicit privacy and interpretation boundaries;
- optional emotional context for gentler explanations.
The WebMCP integration and agent-accessible demo were developed specifically for this challenge.
What’s next
Future tools may expose snapshot history and profile state, while preserving the same read-only and human-controlled boundaries.
Deterministic core. Human-first interface. Optional agent access.
Built With
- chatgpt
- chatgptsites
- next.js
- react
- typescript
- webmcp


Log in or sign up for Devpost to join the conversation.