升级MCP服务器
开源 模型上下文协议 将人工智能代理连接到Upwork API的服务器-实现代理工作发现、客户智能和自由职业者工作流程自动化。
为什么存在
自由职业者花几个小时浏览工作板、评估适合性和撰写提案。人工智能代理擅长这类工作——过滤、汇总、起草——但他们需要一种标准化的方式来访问数据。
该MCP服务器通过一个干净的、基于工具的界面,为任何MCP兼容的AI客户端(Claude Desktop、自定义代理等)提供对Upwork的API的直接访问。
特性
- 15个代理工具 涵盖自由职业者的完整工作流程:发现→ 得分→ 提议→ 管理→ 沟通
- OAuth 2.0身份验证 --通过自动令牌刷新保护本地主机回调流
- 综合评分 —
score_opportunity根据客户质量、预算匹配、竞争和技能匹配对工作进行0-100的评分 - GraphQL+REST -在需要的地方使用Upwork的GraphQL API和REST回退
- 速率限制 --具有指数回退的令牌桶(10/sec、300/min、40K/天)
- 结构化错误 --键入带有可重试性标志和可操作消息的错误类别
- 投票通知 --对新消息、提案更新和工作匹配进行有状态的区分
快速开始
先决条件
- Node.js 18+
- 更新API证书(开发者门户)
设置
# Clone and install
git clone https://github.com/AbbottDevelopments/upwork-mcp-server.git
cd upwork-mcp-server
npm install
# Configure credentials
cp .env.example .env
# Edit .env with your UPWORK_CLIENT_ID and UPWORK_CLIENT_SECRET
# Build
npm run build
# Authenticate (one-time OAuth flow)
npm run auth
# Run the server
npm start连接到克劳德桌面
添加到您的Claude桌面配置(claude_desktop_config.json):
{
"mcpServers": {
"upwork": {
"command": "node",
"args": ["/path/to/upwork-mcp-server/dist/index.js"],
"env": {
"UPWORK_CLIENT_ID": "your-client-id",
"UPWORK_CLIENT_SECRET": "your-client-secret"
}
}
}
}连接到克劳德代码
claude mcp add upwork -- node /path/to/upwork-mcp-server/dist/index.js工具
| 工具 | 说明 |
|---|---|
search_jobs | 使用15个以上服务器端筛选器搜索Upwork作业 |
get_job_details | 带有嵌入式客户智能的完整职位发布 |
score_opportunity | 0-100综合质量评分,带红/黄/绿旗 |
analyze_client | 从职位发布中进行深入的客户风险评估 |
get_my_profile | 您的自由职业者简介、技能、费率和JSS |
get_connects_balance | 应用前可用的连接 |
search_freelancers | 按技能、费率、JSS、国家进行竞争对手研究 |
track_proposals | 列出提案及其状态和结果 |
list_contracts | 具有过滤功能的活动/已结束合同 |
get_contract_details | 包含里程碑和收益的完整合同 |
manage_milestones | 创建、编辑或请求批准里程碑 |
get_earnings_report | 按期间或自定义范围列出的收益和时间报告 |
list_messages | 带有未读计数和预览的消息室 |
send_message | 在现有房间中发送消息 |
poll_notifications | 检查新消息、提案更新和作业匹配 |
建筑
看 docs/architecture.md 用于显示系统连接方式的图表,也可作为 Excalidraw文件 用于交互式编辑。
有关实施细节,请参阅 技术规格.
项目结构
src/
index.ts # MCP server entry point
auth/
oauth.ts # OAuth 2.0 authorization flow
token-store.ts # Persistent token storage (~/.upwork-mcp/)
common/
api-client.ts # Upwork API client with auth + rate limiting
errors.ts # Structured error types
rate-limiter.ts # Request throttling
poll-store.ts # Polling state management
types.ts # TypeScript type definitions
graphql/
queries.ts # Read operations (jobs, profiles, contracts)
mutations.ts # Write operations (proposals, messages)
operations/ # High-level MCP tool implementations发展
# Watch mode (rebuilds on change)
npm run dev
# Run tests
npm test
# Run tests in watch mode
npm run test:watch状态
所有15个工具均已实施 -OAuth流程、API客户端、速率限制和所有四个阶段(脚手架、核心工具、工作管理、通信)都已建立并审查。准备好使用Upwork证书进行API实时测试。
贡献
欢迎发布问题和PR。如果你是一名自由职业者,希望将特定的Upwork工作流作为MCP工具公开,请打开一个描述你的用例的问题。
许可证
麻省理工学院——见 许可证 了解详情。
作者
建造于 Abbott发展 --为运营密集型企业提供人工智能自动化和流程咨询。
