An advanced armor set and charm skill calculator for Monster Hunter Portable 3rd (PSP).
MHP3 Armor Set Search is a client-side tool that finds every armor set that activates the skills you want. Pick your skill targets, optional charms, weapon slots and hunter type, and the built-in search engine enumerates all viable combinations — with decorations, charm/table names, materials, defense and resistance breakdowns.
- Complete MHP3rd data — all armor pieces (Blademaster/Gunner, both genders), decorations, skill trees and charms, including Torso Up piercing pieces.
- Skill target search — select any skill (or several) and get every set that reaches the required point thresholds, including activated and negative skills.
- Save file import — upload your
Save.BINand the app decrypts the PSP/Game save and imports all of your charms automatically. - Hypothetical charm search — find what's possible even without owning the charm:
1 skill,2 skills, orslottedcharm modes. - Flexible constraints — weapon slots, gender, max rarity, max HR / village stars, and Torso Up toggles.
- Decorations & materials — decorations are applied automatically and every result lists the required craft materials.
- Most-searched sets — anonymous, aggregated leaderboard of the most popular searches (persisted in Upstash Redis).
- Search history — your past searches are saved locally so you can re-run them instantly.
- Export as image — render any result set to a PNG to share with friends.
- Live analytics — visitors and page views tracked with Vercel Web Analytics and Speed Insights.
The app is deployed and live on Vercel:
Badges below are generated on the fly from the Vercel Web Analytics API and update automatically:
| Metric | Badge |
|---|---|
| Visitors (last 30 days) | |
| Page views (last 30 days) |
The raw data is also available as JSON at /api/analytics.
- SvelteKit — full-stack framework
- Svelte 5 — runes-based reactivity
- Tailwind CSS — styling
- Upstash Redis — top-sets leaderboard + analytics cache
- Vercel Analytics & Speed Insights — traffic and performance monitoring
- TypeScript — type-safe data model
- Prettier & ESLint — code quality
- Node.js 20+ and npm
# install dependencies
npm install
# copy and configure environment variables
cp .env.example .env
# start the dev server
npm run dev
# or start and open in the browser
npm run dev -- --open| Command | Description |
|---|---|
npm run dev |
Start the development server |
npm run build |
Build the production bundle |
npm run preview |
Preview the production build locally |
npm run check |
Type-check with svelte-check |
npm run lint |
Run Prettier and ESLint |
npm run format |
Auto-format the codebase |
npm run reset:topsets |
Clear the most-searched sets leaderboard |
For the analytics badges to show real numbers you must configure these environment variables in Vercel:
| Variable | Description |
|---|---|
VERCEL_TOKEN |
A Vercel API token with Web Analytics read access |
VERCEL_PROJECT_ID |
The Vercel project identifier (prj_…) |
VERCEL_TEAM_ID |
(optional) The team identifier, only if the project belongs to a team |
The badges fall back to a neutral “—” value when these are missing, so the site still works without them.
src/
├── lib/
│ ├── components/ # CharmCard, ResultCard components
│ ├── mh3/ # PSP save cipher, charm parser, charm/skill tables
│ ├── server/ # Upstash Redis integration (top sets, analytics cache)
│ ├── gameData.ts # Armor, decoration, skill data loaders
│ ├── search.ts # The set search engine
│ └── types.ts # Shared TypeScript types
├── mhp3_json/ # Game data (armors, skills, decorations, …)
└── routes/
├── +page.svelte # Main app
└── api/
├── analytics/ # Live analytics badges + JSON
├── search-log/ # Records successful searches
└── top-sets/ # Most-searched sets leaderboard
Bug reports, feature ideas and pull requests are welcome. If you find a bug, please report it on Discord.
This project is a fan-made tool for Monster Hunter Portable 3rd (© CAPCOM). It is not affiliated with or endorsed by CAPCOM. All game data belongs to their respective owners.