Upwork MCP Server

Upwork MCP Server

Enables AI assistants to interact with the Upwork freelance marketplace, including job search, proposal management, contract tracking, and earnings monitoring.

Category
访问服务器

README

Upwork MCP Server

A Model Context Protocol (MCP) server for interacting with the Upwork freelance marketplace. Search jobs, manage proposals, track contracts, and monitor earnings - all through AI assistants like Claude.

Features

Job Search & Discovery

  • Search Jobs: Find freelance opportunities with filters for skills, budget, category, experience level, and more
  • Get Job Details: View complete job information including client history and requirements
  • Save Jobs: Bookmark jobs for later review
  • Get Recommendations: Personalized job suggestions based on your profile

Proposal Management

  • Submit Proposals: Apply to jobs with cover letters and custom bids
  • Track Proposals: Monitor proposal status (pending, accepted, declined)
  • Update Proposals: Modify bids and cover letters before client response
  • Withdraw Proposals: Cancel applications when needed
  • View Statistics: Analyze your proposal success rates

Contract Management

  • List Contracts: View all your active, paused, and completed contracts
  • Contract Details: See terms, milestones, and feedback
  • Work Diary: Track time logged on hourly contracts
  • Milestones: Manage fixed-price project milestones
  • Request Payment: Submit work and request payment
  • End Contracts: Close contracts with feedback

Profile & Earnings

  • View Profile: See your complete freelancer profile
  • Update Profile: Modify title, skills, rate, and availability
  • Earnings Reports: Detailed income breakdown by period and contract
  • Transaction History: View all financial transactions
  • Connects Balance: Monitor your proposal credits
  • Job Success Score: Track your JSS and factors

Messaging

  • List Conversations: View all message rooms with clients
  • Read Messages: Access full conversation history
  • Send Messages: Communicate with clients

Installation

# Clone or download the server
cd upwork-mcp-server

# Install dependencies
npm install

# Build the server
npm run build

Configuration

Getting Your Access Token

  1. Go to Upwork API Center
  2. Create a new API application or select an existing one
  3. Request OAuth 2.0 credentials
  4. Generate an access token with appropriate scopes

Environment Variables

# Required
UPWORK_ACCESS_TOKEN=your_oauth2_access_token

# Optional (for HTTP mode)
PORT=3000
TRANSPORT=http  # or 'stdio' (default)

Usage

With Claude Desktop

Add to your Claude Desktop configuration (~/.config/claude/claude_desktop_config.json on macOS/Linux or %APPDATA%\Claude\claude_desktop_config.json on Windows):

{
  "mcpServers": {
    "upwork": {
      "command": "node",
      "args": ["/path/to/upwork-mcp-server/dist/index.js"],
      "env": {
        "UPWORK_ACCESS_TOKEN": "your_token_here"
      }
    }
  }
}

Command Line

# Run with stdio (default)
UPWORK_ACCESS_TOKEN=xxx npm start

# Run as HTTP server
UPWORK_ACCESS_TOKEN=xxx npm start -- --http

# Development mode with auto-reload
UPWORK_ACCESS_TOKEN=xxx npm run dev

HTTP API

When running in HTTP mode, the server exposes:

  • POST /mcp - MCP protocol endpoint
  • GET /health - Health check

Available Tools

Jobs

Tool Description
upwork_search_jobs Search jobs with filters
upwork_get_job Get detailed job information
upwork_list_saved_jobs List your saved jobs
upwork_save_job Save/unsave a job
upwork_get_job_recommendations Get personalized recommendations

Proposals

Tool Description
upwork_list_proposals List your proposals
upwork_get_proposal Get proposal details
upwork_submit_proposal Submit a new proposal
upwork_update_proposal Update an existing proposal
upwork_withdraw_proposal Withdraw a proposal
upwork_get_proposal_stats Get proposal statistics

Contracts

Tool Description
upwork_list_contracts List your contracts
upwork_get_contract Get contract details
upwork_get_work_diary Get work diary entries
upwork_list_milestones List contract milestones
upwork_submit_milestone Submit milestone work
upwork_request_payment Request payment
upwork_end_contract End a contract

Profile & Earnings

Tool Description
upwork_get_profile Get freelancer profile
upwork_update_profile Update your profile
upwork_get_earnings Get earnings report
upwork_get_transactions Get transaction history
upwork_get_connects Get Connects balance
upwork_get_job_success_score Get your JSS

Messages

Tool Description
upwork_list_messages List message rooms/conversations
upwork_send_message Send a message

Examples

Search for React Jobs

Use upwork_search_jobs with:
- query: "react developer"
- skills: ["react", "javascript", "typescript"]
- job_type: "hourly"
- experience_level: "intermediate"

Submit a Proposal

Use upwork_submit_proposal with:
- job_id: "~01abc123..."
- cover_letter: "Your personalized cover letter..."
- bid_amount: 50
- bid_type: "hourly"

Check Earnings

Use upwork_get_earnings with:
- start_date: "2024-01-01"
- end_date: "2024-12-31"

API Scopes

The server requires these Upwork API scopes:

  • job:read - Search and view jobs
  • proposal:read, proposal:write - Manage proposals
  • contract:read, contract:write - Manage contracts
  • profile:read, profile:write - Access and update profile
  • earning:read - View earnings
  • message:read, message:write - Access messages

Development

# Install dependencies
npm install

# Run in development mode
npm run dev

# Build
npm run build

# Clean build artifacts
npm run clean

License

MIT

Resources

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选