salary-mcp
薪资 MCP 服务器(salary-mcp)
一个 Model Context Protocol (MCP) 服务器,为 LLM 提供对来自 Djinni (djinni.co) 和 DOU (jobs.dou.ua/salaries/) 的实际公开 IT 市场薪资基准的直接编程访问。
⚡ 快速开始(已发布的 PyPI 包)
salary-mcp 已发布在 PyPI 上,无需手动克隆仓库即可立即运行。
1. 通过 Stdio 运行(默认)
面向桌面 AI 客户端(Claude Desktop、Cursor、Antigravity、Zed)的标准输入/输出通信:
# Instant run with uvx (no installation needed)
uvx salary-mcp
# Or with pipx
pipx run salary-mcp
# Or install via pip
pip install salary-mcp
salary-mcp2. 通过 HTTP / SSE 运行(远程服务器)
服务端推送事件(SSE)模式,适用于远程部署、容器和 Web 客户端:
# Start SSE HTTP server on port 8000
uvx salary-mcp --transport sse --host 0.0.0.0 --port 8000您的 MCP 客户端可以连接到:http://localhost:8000/sse
Related MCP server: PayHub MCP Server
🔌 MCP 客户端配置
Claude Desktop (claude_desktop_config.json)
Stdio 模式(推荐):
{
"mcpServers": {
"salary-mcp": {
"command": "uvx",
"args": ["salary-mcp"]
}
}
}HTTP / SSE 模式:
{
"mcpServers": {
"salary-mcp": {
"url": "http://localhost:8000/sse"
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"salary-mcp": {
"command": "uvx",
"args": ["salary-mcp"]
}
}
}🌐 数据来源与提取架构
该服务器仅从 Djinni 和 DOU 的实时官方门户获取数据:
1. Djinni (https://djinni.co/salaries/)
端点格式:
https://djinni.co/salaries/?category={category}&exp={exp}&english_level={level}提取方式:实时按需抓取 Djinni 滚动 30 天的平台招聘指标。
提取的数据:
候选人预期:第 25 至第 75 百分位的薪资预期以及计算得出的中位数。
企业职位:活跃招聘帖中的薪资范围。
市场动态:在线活跃候选人和开放职位的实时计数器。
薪资分布:直接从内嵌图表数据解析出的完整薪资分箱直方图。
2. DOU (https://jobs.dou.ua/salaries/)
端点来源:由
https://jobs.dou.ua/salaries/直接加载的主部件数据集(https://s.dou.ua/files/lenta/salary-widget_jun_2026_v3/data/swd-medians.csv)。提取方式:提取官方的统计四分位数($q1$、$median$、$q3$)、受访者样本量($count$)和资历级别($title$)。
历史数据支持:支持通过
as_of_date参数查询特定的历史调查波次(例如'2025-12'、'2026-06'),默认使用最新的可用波次。
❓ 为什么 DOU 提供方数据可能与网站 UI 视图不同
通过 salary-mcp 查询 DOU 时,您可能会偶尔注意到返回的统计数据与 jobs.dou.ua/salaries/ 交互式界面中呈现的内容之间存在细微差异:
前端样本量阈值:
在公开网站上,DOU 的图表脚本通常会应用最小样本量阈值(通常为 $\ge 15-20$ 名受访者)。
当某个特定经验区间受访者较少时(例如 Data Science 方向 9 年经验仅有 $11$ 名受访者),网站图表会将该柱状条隐藏或置灰,并显示为 "Недостатньо анкет"(数据不足)。
底层的 DOU 分析数据集会保留这些受访者的精确计算中位数,
salary-mcp会准确地返回该值。
分类聚合与特定职位筛选:
在网页界面上选择宽泛的分类(例如 "Data & Analytics" 或 "Management")会将所有子角色汇总在一起。
特定职位查询(例如
Middle Data Scientist或Junior HR Specialist)会匹配数据集中对应的具体职位层级。
调查波次发布:
默认情况下,
salary-mcp始终选择最近的官方调查波次(例如2026-06)。如果网站用户界面显示的是较早的波次或不同的文章,指定as_of_date可确保完全对齐。
🛠️ MCP 工具参考
get_djinni_salaries
从 Djinni 获取实时的候选人薪资预期和职位薪资分布。
参数:
role(string, 必填):目标职位(例如"Software Engineer"、"QA"、"DevOps"、"HR")。specialization(string, 可选):技术或领域(例如"Python"、"React"、"HR")。experience_years(integer, 可选):工作年限(例如0、2、5)。english_level(string, 可选):英语水平(例如"intermediate"、"advanced")。
get_dou_salaries
从 DOU 获取官方的薪资调查基准和百分位数。
参数:
role(string, 必填):职位或类别(例如"Software Engineer"、"Data Science")。specialization(string, 可选):语言或子角色(例如"Python"、"Data Scientist")。experience_years(integer, 可选):专业工作年限。seniority(string, 可选):职级层级("Junior"、"Middle"、"Senior"、"Lead"、"Architect")。city(string, 可选):地点筛选(例如"Kyiv"、"Lviv"、"Remote")。as_of_date(string, 可选):调查日期,格式为YYYY-MM(例如"2025-12"、"2026-06")。默认为最新。
compare_salaries
并排比较 Djinni 与 DOU 之间的薪资基准,并进行差异分析。
参数:
role(string, 必填):目标职位。specialization(string, 可选):技术或专业方向。experience_years(integer, 可选):工作年限。seniority(string, 可选):用于 DOU 匹配的职级。as_of_date(string, 可选):用于 DOU 对比的目标调查日期。
list_specializations
列出可用的职位、技术、职级、城市和历史调查日期。
参数:
provider(string, 可选):选择范围("all"、"djinni"、"dou")。默认为"all"。
🛠️ 本地开发
# Clone and install dependencies
git clone https://github.com/propsi4/salary-mcp.git
cd salary-mcp
poetry install
# Run test suite
poetry run pytest
# Run linter and type checks
poetry run ruff check . --fix
poetry run ruff format .
poetry run mypy src tests📄 许可证
MIT 许可证。详见 LICENSE。
This server cannot be deployed
Maintenance
Related MCP Connectors
CareerProof MCP gives AI agents direct access to a professional-grade career and workforce intelligence platform. Two namespaces: atlas_* for HR/TA teams (candidate evaluation, batch shortlisting, competency scoring, interview generation, JD analysis, custom eval frameworks, research reports) and ceevee_* for professionals (CV optimization, career positioning, salary intelligence, market reports). Backed by RAG knowledge from 50+ premium research sources (McKinsey, BCG, HBR, Gartner, WEF)
Search remote jobs, compare salaries, create alerts, and request user-confirmed apply links.
SEO & marketing toolkit for AI agents: GA4, Search Console, AdSense, GTM, PageSpeed, Trends.
EU pay transparency (Directive 2023/970) and French Egapro readiness assistant. Public data only.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceUS + EU salary benchmarking, pay transparency compliance, and semantic endpoints. 1,400+ US occupations, 28 EU countries. MCP server for AI agents.MIT
- FlicenseNot gradedqualityDmaintenanceEnables querying real disclosed salary data across 20 regions, with tools to search jobs, retrieve salary statistics, and find similar roles.-
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to search and analyze LinkedIn jobs with advanced filters, salary requirements, and market insights through natural language.21 npmMIT
- AlicenseAqualityBmaintenanceEnables querying open job postings directly from company applicant-tracking systems (Greenhouse, Ashby, Lever), finding a company's job board, listing and comparing roles, and accessing salary data, all without scraping or API keys.322 PyPIMIT