chujobfinder-mcp
长大职通车 MCP 服务包,面向求职训练 Agent 暴露 4 个工具:
mock_job_searchmock_resume_loaderprofile_managerfluency_analyzer
本包通过环境变量读取阿里云 OSS 配置,不包含任何真实 AccessKey、Bucket、Endpoint、真实简历或用户隐私数据。JD、CV、Profile 均为 OSS JSON,所有 OSS 读写统一通过 oss_store.py 完成,数据格式清洗统一通过 schemas.py 完成。
Local Development
在项目目录安装:
cd C:\Users\PC\Desktop\chujobfinder\chujobfinder-mcp
python -m pip install -e ".[test]"
运行测试:
python -m pytest -q
启动 MCP stdio 服务:
chujobfinder-mcp
如果脚本目录不在 PATH,也可以用模块导入方式验证:
python -c "from chujobfinder_mcp.server import create_server; print(type(create_server()).__name__)"
Tools
mock_job_search
用于用户需要查找、推荐或匹配模拟岗位 JD 的场景。参数:
{
"keyword": "产品经理",
"city": "西安",
"job_category": "产品",
"page_size": 5
}
mock_resume_loader
用于用户选择示例简历、加载模拟 CV 或按求职方向筛选简历的场景。参数:
{
"resume_id": "cv_001",
"name": "",
"target_role": ""
}
profile_manager
用于读取或保存用户求职进度、目标岗位、面试记录等档案信息。用户档案路径统一为 profiles/{safe_user_id}.json。参数:
{
"action": "get",
"user_id": "demo_user",
"data": {}
}
支持的 action:
getupdateappend_eventclear
fluency_analyzer
用于文本模拟面试回答结束后,分析表达流畅度并给出改进建议。该工具只分析文字,不分析真实语音语速、音量、语调等音频特征。参数:
{
"text": "嗯,然后我当时负责这个项目..."
}
PyPI Packaging
pyproject.toml 使用 hatchling 构建,并声明了 PyPI 包名、README、Python 版本、基础元数据和运行依赖:
[project]
name = "chujobfinder-mcp"
dependencies = [
"mcp>=1.0.0",
"oss2>=2.18.0",
]
console script 必须保持为:
[project.scripts]
chujobfinder-mcp = "chujobfinder_mcp.server:main"
本地打包与上传命令:
python -m pip install -U build twine
python -m build
twine check dist/*
twine upload dist/*
发布新版本时请先更新 pyproject.toml 中的 version,重新构建并通过 twine check 后再上传。PyPI 包中不得包含真实 CV、真实用户档案、AccessKey、Bucket、Endpoint 或任何隐私数据。
Bailian uvx Deployment
发布到 PyPI 后,可在阿里云百炼自定义 MCP 服务中选择 uvx 启动。示例只使用占位符,部署时替换为私有 OSS 和最小权限 RAM 用户配置:
{
"mcpServers": {
"chujobfinder": {
"type": "stdio",
"command": "uvx",
"args": [
"--from",
"chujobfinder-mcp==0.1.0",
"chujobfinder-mcp"
],
"env": {
"CHU_OSS_ENDPOINT": "https://oss-cn-xxx.aliyuncs.com",
"CHU_OSS_BUCKET": "your-private-bucket",
"CHU_OSS_ACCESS_KEY_ID": "your-ram-access-key-id",
"CHU_OSS_ACCESS_KEY_SECRET": "your-ram-access-key-secret",
"CHU_OSS_JOBS_KEY": "data/mock_jobs.json",
"CHU_OSS_RESUMES_KEY": "data/mock_resumes.json",
"CHU_OSS_PROFILE_PREFIX": "profiles/"
}
}
}
}
百炼中确认服务启动后,应能看到 4 个工具:mock_job_search、mock_resume_loader、profile_manager、fluency_analyzer。
Environment Variables
必填:
CHU_OSS_ENDPOINT
CHU_OSS_BUCKET
CHU_OSS_ACCESS_KEY_ID
CHU_OSS_ACCESS_KEY_SECRET
JD、CV 和用户档案路径配置:
CHU_OSS_JOBS_KEY=data/mock_jobs.json
CHU_OSS_RESUMES_KEY=data/mock_resumes.json
CHU_OSS_PROFILE_PREFIX=profiles/
可选运行参数:
CHU_DEFAULT_PAGE_SIZE=5
CHU_MAX_PAGE_SIZE=20
CHU_DEBUG=false
safe_user_id 由 oss_store.safe_user_id 生成,仅保留中文、英文、数字、下划线和中划线;其它字符替换为 _,空值替换为 demo_user,最大长度 80。
Security Requirements
- 使用 RAM 最小权限用户访问 OSS。
- 不使用阿里云主账号 AccessKey。
- 不提交真实 AccessKey、Bucket、Endpoint 或配置截图。
- 不把真实 CV、真实用户档案或用户隐私打包进 PyPI 包。
- OSS Bucket 保持私有,JD/CV/Profile 均以 JSON 存储在 OSS。
CHU_OSS_PROFILE_PREFIX推荐保持为profiles/,用户档案统一写入profiles/{safe_user_id}.json。
Metadata
Release files for chujobfinder-mcp 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| chujobfinder_mcp-0.1.1.tar.gz | 10.4 kB | Without provenance | Details for chujobfinder_mcp-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| chujobfinder_mcp-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for chujobfinder_mcp-0.1.1-py3-none-any.whl |
Total release size: 25.1 kB
Release files / chujobfinder_mcp-0.1.1.tar.gz
| Download URL | chujobfinder_mcp-0.1.1.tar.gz |
|---|---|
| Size | 10.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
23548e03fa20203fa655046e30f59b3eff4d03199594f184eae530f12af34d3a
|
|
BLAKE2b-256 checksum How to use checksums |
643d2502e969060490e7129e40eb64311ad5fea5d61bf85edaa389564cc9aa5d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / chujobfinder_mcp-0.1.1-py3-none-any.whl
| Download URL | chujobfinder_mcp-0.1.1-py3-none-any.whl |
|---|---|
| Size | 14.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5d1b23c39703d2515494ae3cad7a54818aa51fa2816e51fad3dc02f08f088e65
|
|
BLAKE2b-256 checksum How to use checksums |
a559858399b6b394cabfb021217e0e0eb6ac8ac50548901613627eba457c853a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Security for chujobfinder-mcp 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.