Initial commit: freelance-mcp v0.1.0

Multi-platform freelance automation MCP server.

Phase 1 — Upwork adapter (11 tools):
  - Search/filter jobs (14 params, server + post filters)
  - Get job details with client intelligence
  - Submit proposals with cover letters
  - List/status proposals
  - List contracts by status/type
  - Get contract details with milestones
  - List message rooms with unread counts
  - Send messages
  - Get freelancer profile
  - Check connects balance
  - Auth status check

Architecture: Platform adapter pattern with abstract base class.
Auth: OAuth 2.0 with automatic token refresh.
Tools registered at startup via MCP SDK protocol.
This commit is contained in:
Hermes Agent
2026-07-09 18:52:06 +00:00
commit 2eb9248aef
14 changed files with 1954 additions and 0 deletions

24
pyproject.toml Normal file
View File

@@ -0,0 +1,24 @@
[project]
name = "freelance-mcp"
version = "0.1.0"
description = "Multi-platform freelance automation MCP server — search jobs, submit proposals, manage contracts across Upwork, Freelancer.com, and more"
requires-python = ">=3.11"
dependencies = [
"mcp>=1.0.0",
"httpx>=0.28.0",
"pydantic>=2.0.0",
]
[project.scripts]
freelance-mcp = "freelance_mcp.server:main"
freelance-mcp-auth = "freelance_mcp.auth.cli:main"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/freelance_mcp"]
[tool.uv.sources]
freelance-mcp = { path = ".", editable = true }