← Projects

Project

Multi-site API Reverse Engineering and MCP Servers

A network-first workflow for discovering stable APIs and turning fragmented site capabilities into typed, recoverable MCP tools.

Python · MCP · Playwright · Pydantic · API Reverse Engineering · Git

Product Snapshot

Role
Engineering intern / individual contributor
Users
Engineering teams connecting multiple external sites to agent workflows.
Stage
API discovery, field documentation, MCP packaging, startup tests, and validation reports completed in 2026.01-2026.02.
Focus
Network-first API discovery, Pydantic models, MCP tool design, and long-running task recovery.
Validation
Delivered 14 groups of site capabilities; one consolidated change covered 231 files and roughly 20.5K added lines.
Public Proof
Source history, field documentation, startup tests, and validation reports; internal sites and credentials are intentionally omitted here.

Next Step

Portfolio PDF About the Founder Email

The problem

Page-level automation is fragile when an agent must work across many sites. Interfaces change, fields are inconsistent, and long-running jobs can fail halfway through. The goal was to find the more stable request layer behind each site and expose it as constrained MCP tools.

What I built

I used a network-first process to identify endpoints, document parameters and response fields, and model them with Python and Pydantic. The shared MCP layer added startup checks, validation, retries, checkpoints, and execution reports.

Result and evidence

The implementation covered 14 groups of site capabilities. Source history records one consolidated change across 231 files with roughly 20.5K added lines. This public case study reports the engineering method and aggregate scale while omitting internal endpoints, credentials, and commit identifiers.

What I learned

Reliable browser automation is not just a model clicking buttons. It is a system that connects exploration, API understanding, typed contracts, recovery, and evaluation evidence.

Continue Reading

Keep going with this hand-picked reading path.


Configure the public Giscus environment variables to open discussion on the public site.