项目简介
JobHunter AI 是一个AI驱动的求职自动化平台。其核心之一是这个MCP服务器,它充当了通用公司知识库,汇集了超过10,000家公司的详细信息,并通过自我学习能力持续更新。LLM客户端可以利用这个服务器获取公司数据、调用工具进行公司查询和数据更新,从而为求职者提供个性化、精准的求职支持。
主要功能点
- 托管公司资源: 以标准化的URI(如 'company://google/tech_stack')形式提供公司概览、技术栈、文化、招聘模式等结构化数据。
- 提供工具接口: 允许LLM客户端调用工具进行公司搜索、获取详细信息、添加/更新公司数据,以及查找相似公司。
- 自学习能力: 服务器能够通过分析新的招聘信息和外部数据来自动更新和丰富其知识库。
- 多存储支持: 结合PostgreSQL (文档存储)、Qdrant (向量搜索) 和 Neo4j (图谱关系) 等多种数据库,提供丰富的数据访问能力。
安装步骤
- 克隆仓库:
git clone https://github.com/tarun-ss/Jobhunt.git cd Jobhunt - 创建并激活虚拟环境:
- Linux/macOS:
python -m venv venv source venv/bin/activate - Windows:
python -m venv venv venv\Scripts\activate
- Linux/macOS:
- 安装依赖:
pip install -r requirements.txt - 配置环境变量:
复制项目根目录的 '.env.example' 文件并重命名为 '.env'。编辑 '.env' 文件,填入必要的API密钥和数据库连接信息,例如:
- 'POSTGRES_URL=postgresql://user:pass@localhost:5432/jobhunter'
- 'QDRANT_URL=http://localhost:6333'
- 'NEO4J_URL=bolt://localhost:7687'
- 'GROQ_API_KEY=your_groq_api_key'
- 'MCP_SERVER_URL=http://localhost:8000' (如果需要自定义服务器地址)
- 'MCP_OAUTH_CLIENT_ID=your_client_id' (如果使用OAuth认证)
- 'MCP_OAUTH_CLIENT_SECRET=your_client_secret' (如果使用OAuth认证)
- 设置数据库:
运行以下命令初始化数据库。请确保您的PostgreSQL、Qdrant和Neo4j服务已正确运行并可通过 '.env' 中的配置访问。
python scripts/setup_db.py - 填充初始公司数据 (可选):
如果您希望加载一些示例公司数据以供测试,可以运行此脚本:
python scripts/seed_companies.py
MCP服务器配置
MCP客户端需要以下信息来连接到此MCP服务器:
{ "server_name": "company-knowledge-base", "command": "python", "args": [ "mcp_server/server.py" ], "description": "JobHunter AI 的通用公司知识库MCP服务器,提供公司概览、技术栈、文化和招聘模式等信息。", "connection_info": { "type": "HTTP", "url": "http://localhost:8000" }, "authentication": { "type": "OAuth 2.1", "client_id_env": "MCP_OAUTH_CLIENT_ID", "client_secret_env": "MCP_OAUTH_CLIENT_SECRET" } }
- 'server_name': MCP服务器的唯一标识符。
- 'command': 启动MCP服务器所使用的Python解释器命令。
- 'args': 启动MCP服务器的入口文件路径。
- 'description': 服务器功能的简要描述。
- 'connection_info': 客户端连接服务器所需的协议类型和URL。此处默认为'http://localhost:8000',实际地址请参考您在 '.env' 中配置的 'MCP_SERVER_URL'。
- 'authentication': 服务器支持OAuth 2.1认证。客户端应确保环境中设置了 'MCP_OAUTH_CLIENT_ID' 和 'MCP_OAUTH_CLIENT_SECRET' 环境变量,以便服务器进行客户端身份验证。
基本使用方法
- 启动MCP服务器:
在项目根目录运行以下命令来启动MCP服务器:
服务器将根据 '.env' 文件中的 'MCP_SERVER_URL' 监听相应的地址和端口(默认 'http://localhost:8000')。python mcp_server/server.py - (可选)启动API服务器:
如果您需要访问JobHunter AI的Web界面或FastAPI提供的传统RESTful接口,可以另外启动API服务器:
uvicorn api.main:app --reload - LLM客户端交互:
一旦MCP服务器运行,任何兼容MCP协议的LLM客户端(如Anthropic Claude等)都可以通过JSON-RPC请求与该服务器进行交互,例如:
- 列出资源: 客户端可以请求服务器提供其托管的所有公司资源列表。
- 读取资源: 客户端可以请求获取特定公司的详细信息,例如读取“Google”的技术栈:通过JSON-RPC调用 'read_resource' 方法,参数为 '{"uri": "company://google/tech_stack"}'。
- 调用工具: 客户端可以调用服务器提供的工具来执行特定操作,例如搜索公司:通过JSON-RPC调用 'call_tool' 方法,参数为 '{"name": "search_companies", "arguments": {"query": "AI startups in San Francisco"}}'。
信息
分类
开发者工具