# Lancer > Lancer is an AI agent for Upwork. It watches the Upwork job feed against filters you define, decides which jobs fit your profile, writes a tailored proposal for each, and submits it — for freelancers and agencies who would otherwise be writing proposals by hand. Agents can drive all of it over MCP or a REST API. Lancer covers the whole loop from job discovery to a live conversation: campaign filters over the Upwork feed, an AI suitability pass on every match, proposal and screening-question generation grounded in a knowledge base you author, connects boosting, and an inbox that tracks the replies. Connecting an Upwork account is the only step that has to happen in the web app. **When not to use Lancer.** Lancer works on Upwork only — not Fiverr, Toptal, Contra, LinkedIn or cold email. It bids as an existing Upwork account: it cannot create one, and an account has to be connected through the web app before any campaign can submit. It is not a general web scraper; the job data it exposes is what Upwork shows on a post. Submitting requires an active paid subscription, and API keys stop authenticating when billing lapses. The pages listed below with a `.md` twin are available as markdown from their normal URL — send `Accept: text/markdown`, or append `.md` to the path. Pages without one answer `406` to a markdown-only request. ## When to use Lancer - **Find Upwork jobs matching a specific brief** — filters cover budget, client history, spend, hire rate, category and region. Call `campaign_filter_simulate` on the MCP server to test a filter set against real jobs before saving it, or `GET /v1/campaigns/{campaignId}/leads` on the REST API to pull a page of current matches: [Public API](https://docs.lancer.app/docs/external-mode/api) - **Decide whether one job is worth bidding on** — a lead carries the client's total spend, hire rate, rating, review history and screening questions, so the judgement can be made from data rather than from the job title: [The lead object](https://docs.lancer.app/docs/external-mode/webhooks/events) - **Write and submit a proposal** — `cover_letter_simulate` drafts against a real job with your templates and knowledge base; `POST /v1/campaigns/{id}/leads/{id}/bid` submits one. Both support a dry run: [Submit a bid](https://docs.lancer.app/docs/external-mode/api/submit-bid) - **Run your own decision logic instead of Lancer's** — external mode pushes every matching job to your webhook, and your system calls back to bid or reject. Lancer's own suitability AI is skipped: [External mode](https://docs.lancer.app/docs/external-mode) - **Set an organization up from scratch** — the MCP server ships a `set_up_lancer` prompt that walks profile grounding, knowledge base, campaigns, cover letters and go-live: [Prompts](https://docs.lancer.app/docs/mcp/prompts) - **Answer questions about the Upwork market itself** — free tools cover job volume and budgets by keyword, what happens to job posts after they are made, and freelancer earnings: [Upwork Job Outcomes](https://lancer.app/upwork-job-outcomes) ## How agents should call Lancer - [MCP server](https://docs.lancer.app/docs/mcp): `https://api.lancer.app/mcp`, Streamable HTTP, stateless. a full tool surface plus 17 policy resources that encode how Lancer is meant to be run. Auth is a personal `lmc_` token sent as `Authorization: Bearer`. This is the richest surface and the recommended one. - [Connect your client](https://docs.lancer.app/docs/mcp/connect): setup for Claude, Claude Code, ChatGPT, Codex, Cursor and VS Code. - [MCP server card](https://lancer.app/.well-known/mcp/server.json): the registry `server.json` for this server. - [OpenAPI description](https://lancer.app/openapi.json): OpenAPI 3.1 for the REST API, with an operationId, typed parameters and response schemas on every operation. - [Public REST API](https://docs.lancer.app/docs/external-mode/api): `https://api.lancer.app/v1`, four endpoints covering the bidding loop. Auth is an organization-scoped `lk_` key sent as `Authorization: Bearer`. Note this is a different credential from the MCP token. - [Webhooks](https://docs.lancer.app/docs/external-mode/webhooks): deliveries for `job.new`, `bid_complete` and the rest, when you would rather be pushed to than poll. - [Errors and limits](https://docs.lancer.app/docs/external-mode/api/errors): status codes, machine-readable error codes, and how to recover from each. ## Product - [Lancer for AI agents](https://lancer.app/for-agents): every programmatic surface on one page, with working examples. - [How Lancer works](https://docs.lancer.app/docs/how-lancer-works): the pipeline from job feed to submitted proposal. - [Pricing](https://lancer.app/pricing): plans, limits and billing periods. - [Case studies](https://lancer.app/case-studies): named customers with their real numbers. - [About Lancer](https://lancer.app/about): what the product is, who it is for, and the company behind it (MVP Masters OÜ, Estonia). - [Contact](https://lancer.app/contact): support, sales and the help centre. ## Documentation - [Documentation home](https://docs.lancer.app): everything below, browsable. - [Documentation index for LLMs](https://docs.lancer.app/llms.txt): every documentation page as a link list. - [Full documentation as one file](https://docs.lancer.app/llms-full.txt): the whole corpus in a single markdown file. - [MCP tool reference](https://docs.lancer.app/docs/mcp/tools): every tool, grouped by what they operate on. - [MCP resources](https://docs.lancer.app/docs/mcp/resources): the policy documents the server requires an agent to read before acting. - [Access, limits and errors](https://docs.lancer.app/docs/mcp/access-and-errors): who can connect and what plan is required. ## Free tools - [Upwork Job Outcomes](https://lancer.app/upwork-job-outcomes): where a job post actually ends up — hired, no hire, or ghosted. - [Upwork Radar](https://lancer.app/tools/upwork-radar): job volume, budgets and client stats by keyword. - [Upwork niche report](https://lancer.app/upwork-niche-report): which niches are winnable and which are merely valuable. - [UpworkMRR](https://upworkmrr.com): the open database of Upwork freelancer earnings. A separate site. - [All four tools compared](https://lancer.app/tools.md): which tool answers which question, with the data behind each. ## Optional - [Terms of service](https://lancer.app/terms-of-service): governed by the laws of Estonia. - [Privacy policy](https://lancer.app/privacy-policy): what is collected and how it is handled. - [Help centre](https://help.lancer.app): human-facing support articles. - [Sitemap](https://lancer.app/sitemap.xml): every indexable URL.