Web3职业MCP服务器
MCP(模型上下文协议)服务器,用于从 web3.career API此服务器提供了搜索和检索Web3工作机会的工具,并提供了各种过滤选项。
特性
- 使用多个过滤器获取Web3职位列表
- 按远程状态、国家、技术标签搜索
- 按ID获取特定工作
- 跨职位和描述的关键字搜索
- 自动作业存储 -所有提取的作业都通过重复数据删除保存在本地
- 持久存储 -以JSON格式保存的作业(跨平台:Mac、Windows、Linux)
- 存储统计 -跟踪总职位、公司、国家和标签
- 全面支持web3.carrier API参数
先决条件
- Python 3.10或更高版本
- 一个web3.职业API令牌(注册地址:https://web3.career)
安装
- 克隆此存储库:
cd mcp-web3-career- 创建虚拟环境并激活它:
python -m venv venv
source venv/bin/activate
# On Windows:
venv\Scripts\activate- 安装依赖项:
pip install mcp httpx python-dotenv
# Or
pip install -e .手动使用
- 创建一个
.env使用API令牌文件:
cp .env.example .env- 编辑
.env并添加您的web3.职业API令牌:
WEB3_CAREER_API_TOKEN=your_api_token_here使用Claude Desktop进行配置
要将此MCP服务器与Claude Desktop一起使用,请将其添加到您的Claude配置文件中:
在macOS上: ~/Library/Application Support/Claude/claude_desktop_config.json
在Windows上: %APPDATA%/Claude/claude_desktop_config.json
添加以下配置:
{
"mcpServers": {
"web3-career": {
"command": "python",
"args": ["/absolute/path/to/mcp-web3-career/src/mcp_server.py"],
"env": {
"WEB3_CAREER_API_TOKEN": "your_api_token_here"
}
}
}
}使用Claude代码(CLI)进行配置
Claude Code(CLI)配置文件位置:
- Linux/macOS:
~/.claude.json - 窗户:
%USERPROFILE%\.claude.json
添加以下配置:
{
"mcpServers": {
"web3-career": {
"command": "/absolute/path/to/mcp-web3-career/venv/bin/python",
"args": ["/absolute/path/to/mcp-web3-career/src/mcp_server.py"],
"env": {
"WEB3_CAREER_API_TOKEN": "your_api_token_here"
}
}
}
}重要提示:
- 替换
/absolute/path/to/mcp-web3-career该项目的实际绝对路径 - 开 视窗,使用Windows路径格式:
C:\\path\\to\\mcp-web3-career\\venv\\Scripts\\python.exe
用法
运行MCP服务器
使用以下命令启动服务器:
python src/mcp_server.py服务器通过stdio进行通信,并提供以下工具:
可用工具
1. get_web3_jobs
使用可选过滤器获取Web3工作列表。
参数:
remote(布尔值,可选):仅筛选远程作业limit(number,可选):要返回的作业数(默认值:50,最大值:100)country(字符串,可选):按国家筛选(例如,“美国”、“法国”)tag(字符串,可选):按技术标签过滤(例如,“反应”、“坚固性”、“生锈”)show_description(布尔值,可选):包括完整的职位描述(默认值:true)
例子:
{
"remote": true,
"limit": 10,
"tag": "solidity"
}2. get_web3_job_by_id
按ID获取特定作业。
参数:
job_id(string,必填):要获取的作业ID
例子:
{
"job_id": "12345"
}3. search_web3_jobs
使用多个过滤器和关键字匹配搜索职位。
参数:
keywords(字符串,可选):在标题/描述中搜索的关键字remote(布尔值,可选):远程作业筛选器country(字符串,可选):按国家筛选tag(字符串,可选):按技术标签筛选
例子:
{
"keywords": "developer",
"remote": true,
"tag": "defi"
}注: 所有提取的作业都会自动保存到具有重复数据消除功能的本地存储中。
4. get_saved_jobs
使用可选筛选从本地存储检索作业。
参数:
keywords(字符串,可选):按标题或描述中的关键字筛选company(字符串,可选):按公司名称筛选country(字符串,可选):按国家筛选tag(字符串,可选):按技术标签筛选limit(number,可选):要返回的最大作业数
例子:
{
"keywords": "rust",
"country": "united-states",
"limit": 20
}5. get_storage_stats
获取有关本地保存的作业的统计信息。
退货:
- 保存的作业总数
- 独特的公司、国家和标签
- 存储文件的位置和大小
例子:
{}作业存储
所有提取的作业都会自动保存到:
- macOS/Linux:
~/.web3_career/storage/web3_jobs.json - 窗户:
%USERPROFILE%\.web3_career\storage\web3_jobs.json
特征:
- 自动重复数据删除 按作业ID
- 时间戳 -跟踪作业首次出现和最后更新的时间
- 跨平台 -适用于Mac、Windows和Linux
- JSON格式 -易于阅读和处理
API响应格式
每个作业对象包含:
id:作业IDtitle:职位名称company:公司名称location:工作地点country:国家city城市date:发布日期date_epoch:Unix时间戳apply_url:应用程序URL(必须用rel=“follow”链接)tags:一系列技术标签description:职位描述(如果show_description为真)
API要求
根据web3.career条款:
- 始终链接回 使用web3.career
apply_url和rel="follow"属性(非nofollow) - 不添加参数 到
apply_url(如utm_source、utm_media、ref等)-它们已经包含在内 - 保持您的令牌私有 并且仅将其用于您的网站
- 不遵守可能导致API访问暂停
HTML链接示例
Apply for this job可用筛选器选项
国家
常见示例: united-states, france, germany, united-kingdom, canada, singapore等等。
标签
热门标签包括:
- 语言:
javascript,python,rust,solidity,go - 框架:
react,vue,nextjs,node - Web3:
defi,nft,dao,smart-contracts,ethereum,polygon - 角色:
frontend,backend,full-stack,devops
故障排除
“需要API令牌”错误
确保您已设置 WEB3_CAREER_API_TOKEN 在你的 .env 文件或环境变量。
“导入无法解决”错误
确保您已安装依赖项:
pip install -e .没有返回工作
- 检查你的过滤器是否过于严格
- 验证您的API令牌是否有效
- 尝试增加
limit参数
许可证
麻省理工学院
支持
对于以下问题:
- 此MCP服务器:在此存储库上打开一个问题
- web3.职业API:联系web3.职业支持
- MCP协议:见 MCP文件
