Compshop

Created By
mkibrick4 days ago
Independent directory of 350+ compensation surveys. Search, filter, and recommend salary-survey publishers (Mercer, WTW, Aon Radford, Pearl Meyer, SullivanCotter, Gallagher, Empsight, Culpepper, Croner, and more) by industry, region, or job title.
Overview

CompShop

The independent directory of salary & compensation surveys. Search 350+ reports across 17+ vendors (Mercer, WTW, Aon, SullivanCotter, Gallagher, Pearl Meyer, Empsight, Culpepper, Milliman, MRA, LOMA, Birches Group, Western Management Group, and more) by job title, industry, geography, or publisher.

Tech stack

  • Framework: Next.js 14 (App Router) + TypeScript + Tailwind
  • Database: SQLite (better-sqlite3) with a file-backed DB bundled in the repo
  • Search: server-side FTS-ish query across vendors, reports, job families, positions, and participating orgs
  • SEO: ~3,500 statically-generated indexable pages (vendor / report / family / position) with JSON-LD, OG/Twitter tags, canonical URLs, and an auto-generated sitemap

Local dev

npm install
npm run dev

Open http://localhost:3000.

Data pipelines

Loaders are in scripts/. Each writes to data/compshop.db.

# Add/refresh a vendor (parent row)
npm run db:add-vendor <path-to-json>

# Add/refresh a single report (with optional XLSX position/participant lists)
npm run db:add-report <path-to-directory>

# Batch-load many reports at once
npm run db:add-report-batch "scripts/data/mercer-*"

See scripts/SCRAPING.md for the full data-loading workflow.

Deployment

Deploys to Vercel out of the box. The SQLite DB file (data/compshop.db) is committed to the repo and read at request time by the serverless routes; almost all pages are pre-rendered statically at build time via generateStaticParams + force-static.

Set NEXT_PUBLIC_SITE_URL in your Vercel project settings to your production domain (e.g., https://compshop.io).

Server Config

{
  "mcpServers": {
    "compshop": {
      "url": "https://www.comp-shop.com/api/mcp"
    }
  }
}
Project Info
Created At
4 days ago
Updated At
4 days ago
Author Name
mkibrick
Star
-
Language
-
License
-
Category

Recommend Servers

View All
奇门遁甲

2 days ago
奇门遁甲
@colorwlof

# 小奇智算 API 能力 | Xiaoqi Intelligent Calculation API Skill GET APIKEY:https://www.xiaoqizhisuan.cn/account.html GET HELP: https://www.xiaoqizhisuan.cn/help.html en: Official Xiaoqi Intelligent Calculation API for BaZi and Qi Men Dun Jia. This service requires XIAOQIZHISUAN_API_KEY credential for authentication. zh: 小奇智算官方API,提供八字、奇门遁甲测算服务,需配置XIAOQIZHISUAN_API_KEY密钥鉴权。 提供专业的奇门遁甲排盘与解盘服务,支持7个MCP工具: # 可用工具 | Available Tools ### 1. bazi_dayun - 八字大运查询 | BaZi Great Fortune Query ``` 价格 | Price: ¥0.2 / time / 次 参数 | Parameters: year (integer, 必填) 出生年(公历) month (integer, 必填) 出生月 day (integer, 必填) 出生日 hour (integer, 必填) 出生时(0-23) xingbie (string, 必填) 性别("男" / "女") 返回 | Return: success, cost, balance, bazi, dayun, error ``` 实测结果 | real test: https://www.xiaoqizhisuan.cn/examples/example_1_bazi_dayun.html ### 2. qimen_paipan - 奇门排盘(JSON 数据)| Qi Men Chart Generation (JSON Data) ``` 价格 | Price: ¥0.5 / time / 次 参数 | Parameters: year (integer, 必填) 年 month (integer, 必填) 月 day (integer, 必填) 日 hour (integer, 必填) 时(0-23) minute (integer, 选填, 默认0) 分 number (integer, 选填, 默认1) 排盘方法(1=拆补法, 2=置润法) 返回 | Return: success, cost, balance, 数据, error ``` 实测结果 | real test: https://www.xiaoqizhisuan.cn/examples/example_2_qimen_paipan.html ### 3. qimen_paipan_image - 奇门排盘+HTML网页图 | Qi Men Chart Generation + HTML Webpage Chart ``` 参数 | Parameters: year (integer, 必填) 年 month (integer, 必填) 月 day (integer, 必填) 日 hour (integer, 必填) 时(0-23) minute (integer, 选填, 默认0) number (integer, 选填, 默认1) 返回 | Return: success, cost, balance, 数据, html_url, error ``` 实测结果 | real test: https://www.xiaoqizhisuan.cn/examples/example_3_qimen_paipan_image.html ### 4. qimen_jiepan - 即时盘解析准备 | Immediate Chart Analysis Preparation ``` 价格 | Price: ¥1.0 / time / 次 参数 | Parameters: year, month, day, hour (integer, 必填) 起盘时间 minute (integer, 选填, 默认0) number (integer, 选填, 默认1) question (string, 必填) 返回 | Return: success, cost, balance, html_url, system_prompt, user_prompt, error ``` 实测结果 | real test: https://www.xiaoqizhisuan.cn/examples/example_4_qimen_jiepan.html ### 5. qimen_jiepan_lifetime - 终身盘解析准备 | Lifetime Chart Analysis Preparation ``` 价格 | Price: ¥1.2 / time / 次 参数 | Parameters: year, month, day, hour (integer, 必填) xingbie (string, 必填) 性别("男"/"女") minute (integer, 选填, 默认0) number (integer, 选填, 默认1) question (string, 必填) 返回 | Return: success, cost, balance, bazi, dayun, html_url, system_prompt, user_prompt, error ``` 实测结果 | real test: https://www.xiaoqizhisuan.cn/examples/example_5_qimen_jiepan_lifetime.html ### 6. qimen_full - 即时局完整解盘 | Complete Immediate Chart Interpretation ``` 价格 | Price: ¥1.5 / time / 次 参数 | Parameters: year, month, day, hour (integer, 必填) minute (integer, 选填, 默认0) number (integer, 选填, 默认1) question (string, 必填) 返回 | Return: success, cost, balance, html_url, system_prompt, user_prompt, jiepan_result, error ``` 实测结果 | real test: https://www.xiaoqizhisuan.cn/examples/example_6_qimen_full.html ### 7. qimen_full_lifetime - 终身局完整解盘 | Complete Lifetime Chart Interpretation ``` 价格 | Price: ¥2.0 / time / 次 参数 | Parameters: year, month, day, hour (integer, 必填) xingbie (string, 必填) 性别("男"/"女") minute (integer, 选填, 默认0) number (integer, 选填, 默认1) question (string, 必填) 返回 | Return: success, cost, balance, bazi, dayun, html_url, system_prompt, user_prompt, jiepan_result, error ``` 实测结果 | real test: https://www.xiaoqizhisuan.cn/examples/example_7_qimen_full_lifetime.html 🔗 https://www.xiaoqizhisuan.cn/mcp

2 days ago