Skip to main content

chujobfinder-mcp

长大职通车 MCP 服务包,面向求职训练 Agent 暴露 4 个工具:

  • mock_job_search
  • mock_resume_loader
  • profile_manager
  • fluency_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

用于用户需要查找、推荐或匹配模拟岗位 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:

  • get
  • update
  • append_event
  • clear

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)

Source distribution for chujobfinder-mcp 0.1.1
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)

Table of built distributions (wheels) for chujobfinder-mcp 0.1.1
File Interpreter ABI Platform Actions
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.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page