Getting Started
Upwork Job Search MCP is a Model Context Protocol server that lets your AI assistant search and filter Upwork jobs with 40+ parameters. No SDK required — just add a config snippet and start searching.
Prerequisites
- An API key from your dashboard (sign up at https://app.getmany.com.ua/register — free)
- An MCP-compatible AI client (Claude Desktop, Cursor, Cline, etc.)
Minimal Example
The simplest possible search returns the 100 most recently posted jobs with no filters applied. This is a great way to verify your setup is working.
{
"limit": 100
}Quick Start
1. Sign up and get your API key
Create an account at app.getmany.com.ua and generate an API key from your dashboard. Keys use the gm_ prefix.
2. Add to your MCP client configuration
Add the following to your client's MCP config file. Replace gm_your_api_key_here with your actual key. The configuration is the same for all clients:
{
"mcpServers": {
"mcpp": {
"url": "https://mcp.getmany.com.ua/mcp",
"headers": {
"Authorization": "Bearer gm_your_api_key_here"
}
}
}
}3. Start searching Upwork jobs
Open your AI assistant and start searching for Upwork jobs. Try these prompts:
What Data You Get
Every search returns an array of job objects with rich, structured data. Here is a complete example of what a single job looks like in the response:
{
"jobs": [
{
"uid": "1955020056847176693",
"title": "React Developer for SaaS Platform",
"description": "We are looking for an experienced React Developer...",
"createdAt": "2025-01-15T10:30:00.000Z",
"skills": ["React", "TypeScript", "Node.js", "Redux"],
"externalLink": "https://www.upwork.com/jobs/~021955020056847176693",
"applicationCost": 6,
"featured": false,
"category": "Web Development",
"ciphertext": "~021955020056847176693",
"budget": {
"fixedBudget": 5000,
"hourlyRate": { "min": 40, "max": 80 }
},
"client": {
"name": "TechStartup Inc",
"timezone": "America/New_York",
"countryCode": "US",
"paymentMethodVerified": true,
"stats": {
"totalSpent": 125000,
"totalHires": 42,
"hireRate": 85,
"feedbackRate": 4.95
}
},
"vendor": {
"hireType": "FREELANCER",
"experienceLevel": "EXPERT",
"englishLevel": "FLUENT"
},
"customJobScore": 4.8
}
],
"total": 142
}Core Fields
| Field | Description |
|---|---|
uid | Unique job identifier |
title | Job posting title |
description | Full job description text |
createdAt | ISO 8601 timestamp when the job was posted |
skills | Array of required skill tags |
externalLink | Direct URL to the Upwork job listing |
applicationCost | Cost in connects to apply |
featured | Whether the job is a featured listing |
category | Upwork job category name |
ciphertext | Job ciphertext identifier (used in URLs) |
customJobScore | Relevance score (0-5) |
Budget Object
| Field | Description |
|---|---|
budget.fixedBudget | Fixed price amount in USD (null if hourly) |
budget.hourlyRate.min | Minimum hourly rate in USD |
budget.hourlyRate.max | Maximum hourly rate in USD |
Client Object
| Field | Description |
|---|---|
client.name | Client or company name |
client.timezone | IANA timezone identifier |
client.countryCode | ISO 3166-1 alpha-2 country code |
client.paymentMethodVerified | Whether payment method is verified |
client.stats.totalSpent | Total amount spent on Upwork in USD |
client.stats.totalHires | Number of freelancers hired |
client.stats.hireRate | Percentage of jobs resulting in a hire |
client.stats.feedbackRate | Average feedback rating (0-5) |
Vendor Object
| Field | Description |
|---|---|
vendor.hireType | FREELANCER or AGENCY |
vendor.experienceLevel | BEGINNER, INTERMEDIATE, or EXPERT |
vendor.englishLevel | BASIC, CONVERSATIONAL, FLUENT, or NATIVE |
How It Works
Upwork Job Search MCP uses the Streamable HTTP transport — your AI client sends POST requests to https://mcp.getmany.com.ua/mcp with your API key as a Bearer token. The server is fully stateless: no SSE connections, no session tokens, no sidecar processes.
Each search query runs against a pre-indexed database of Upwork jobs, refreshed every 5-15 minutes. Results are returned in milliseconds.
Next Steps
Pick Claude Desktop, Cursor, or Cline and copy a snippet
Learn how API keys work
All 4 tools documented
Plans, quotas, and premium addon pricing
Real-time job, quota, and subscription events
Real-world usage patterns
n8n, Zapier, Clay, and more
All 70+ supported categories
Common issues and fixes