Skip to main content

MCP tools for Changda Job Finder

Project description

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

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

  • 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_searchmock_resume_loaderprofile_managerfluency_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_idoss_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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chujobfinder_mcp-0.1.1.tar.gz (10.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chujobfinder_mcp-0.1.1-py3-none-any.whl (14.7 kB view details)

Uploaded Python 3

File details

Details for the file chujobfinder_mcp-0.1.1.tar.gz.

File metadata

  • Download URL: chujobfinder_mcp-0.1.1.tar.gz
  • Upload date:
  • Size: 10.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for chujobfinder_mcp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 23548e03fa20203fa655046e30f59b3eff4d03199594f184eae530f12af34d3a
MD5 a2341ea13a3d5ce3d34d6e90fb3a3ba9
BLAKE2b-256 643d2502e969060490e7129e40eb64311ad5fea5d61bf85edaa389564cc9aa5d

See more details on using hashes here.

File details

Details for the file chujobfinder_mcp-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for chujobfinder_mcp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5d1b23c39703d2515494ae3cad7a54818aa51fa2816e51fad3dc02f08f088e65
MD5 eef0b770dfea23315dd8b62829962749
BLAKE2b-256 a559858399b6b394cabfb021217e0e0eb6ac8ac50548901613627eba457c853a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page