Skip to main content
Glama
README.md
# FreelanceOS

**Run your entire freelance business from Claude Code.** Proposals, invoices, time tracking, scope management, and follow-ups β€” handled through chat. 37 hosted tools, 5 coaching skills, one install command.

[![npm version](https://img.shields.io/npm/v/freelance-os)](https://www.npmjs.com/package/freelance-os)
[![smithery badge](https://smithery.ai/badge/Sohlin2/freelance-os)](https://smithery.ai/servers/Sohlin2/freelance-os)
[![freelance-os MCP server](https://glama.ai/mcp/servers/Sohlin2/freelance-os/badges/card.svg)](https://glama.ai/mcp/servers/Sohlin2/freelance-os)
[![freelance-os MCP server](https://glama.ai/mcp/servers/Sohlin2/freelance-os/badges/score.svg)](https://glama.ai/mcp/servers/Sohlin2/freelance-os)
[![MIT skills](https://img.shields.io/badge/skills-MIT-22c55e)](#license)

🌐 **Live**: https://freelance-os-production.up.railway.app

---

## Install

```bash
claude plugin install freelance-os
```

When prompted, paste your API key. That's it β€” start managing your freelance business conversationally.

## Get an API key

| Plan | Price | Link |
|------|-------|------|
| **Monthly** | $19/month (7-day free trial) | [Start Free Trial](https://buy.stripe.com/5kQdRagAv5sr5U20rU2Ji02) |
| **Lifetime** | $40 one-time | [Buy Once](https://buy.stripe.com/00w4gAac7bQP2HQ1vY2Ji01) |

Monthly plan includes a 7-day free trial β€” no charge until day 8. Your API key is delivered instantly on the success page after checkout.

## Why this exists

I was tired of jumping between Stripe, Notion, a spreadsheet for hours, and a Word doc for proposals every time a client emailed. Every tool wanted me to switch context, log in, copy data between them β€” meanwhile I was already in Claude Code 8 hours a day shipping client work. So I made the admin layer live where the work does. Conversational. Hosted server stores the data, AI handles the chaos.

β€” Built by [Jacob Sohlin](https://github.com/Sohlin2). The 5 coaching skills are MIT and live in this repo. The MCP server is hosted (not open source) β€” your subscription pays for hosting, billing, support, and per-user data isolation.

## What you get

### 37 hosted MCP tools

Full CRUD across the freelance lifecycle, served by the hosted backend:

| Entity | Tools | What you can do |
|--------|-------|-----------------|
| **Clients** | 5 | CRM β€” contacts, billing rates, notes |
| **Projects** | 5 | Track work per client with budgets and timelines |
| **Proposals** | 5 | Draft, price, send β€” `client_id` derived from `project_id` |
| **Invoices** | 4 | JSONB line items, tax, status tracking. `invoice_number` and totals auto-computed |
| **Time** | 6 | Log hours, aggregate per project, real `date_range` of entries |
| **Scope** | 6 | Define boundaries, log change requests, detect creep |
| **Follow-ups** | 6 | Context-aware reminders, sent-tracking |

### 5 coaching skills (MIT, in this repo)

The local layer that teaches Claude freelance domain expertise. Free to inspect, fork, and learn from:

| Skill | What it does |
|-------|--------------|
| **Proposals** | Pricing strategy, scope clarity, revision limits, payment terms |
| **Invoices** | Line item structure, payment terms, overdue management |
| **Follow-ups** | Timing, tone, and content for every follow-up scenario |
| **Scope** | Scope definition, change requests, creep detection |
| **Time** | Logging practices, hour aggregation, time-to-invoice workflow |

## Example workflows

**New client onboarding:**
> "I have a new client, Acme Corp. Contact is Jane at jane@acme.com. They need a website redesign, budget around $5k."

**End-of-week invoicing:**
> "Show me uninvoiced time for the Acme project this week and generate an invoice."

**Scope creep detection:**
> "Jane asked for a blog section β€” is that in scope for the Acme redesign?"

**Follow-up on overdue invoice:**
> "Invoice INV-0042 is 2 weeks overdue. Draft a polite but firm follow-up to Jane."

## Compatibility

| Client | Status | Notes |
|---|---|---|
| **Claude Code** | βœ… First-class | Coaching skills + MCP tools |
| **Claude Desktop** | βœ… Tools work | Add as a remote MCP server in `claude_desktop_config.json` |
| **Cursor / Cline / Continue / etc.** | βœ… Tools work | Any MCP-compatible client connects to the Streamable HTTP endpoint |

## Issues & feedback

- πŸ› **Bug reports** β†’ [GitHub Issues](https://github.com/Sohlin2/freelance-os/issues)
- πŸ’‘ **Feature requests** β†’ [GitHub Discussions](https://github.com/Sohlin2/freelance-os/discussions)
- πŸš€ **Status** β†’ [/health endpoint](https://freelance-os-production.up.railway.app/health)

If something breaks, file an issue and I usually respond within a day.

## License

MIT for the **skills in this repo**. The hosted MCP server is closed-source β€” your subscription pays for hosting, support, and per-user data isolation.

β€” [Jacob Sohlin](https://github.com/Sohlin2)

TDQS

A3.9/5.0

Scored across 37 tools

Disambiguation4/5

Tools are well-organized by resource domain (clients, projects, invoices, etc.) with clear hierarchical naming that distinguishes actions. However, with 37 tools, the sheer volume creates inherent cognitive overlap riskβ€”agents must parse many similar patterns (e.g., archive appears in three domains) to select correctly.

Naming Consistency4/5

The dot-notation pattern (domain.subdomain.verb) is mostly consistent, using snake_case throughout. Minor deviations exist: some domains use 'records' (clients.records) while others use specific plurals (time.entries), and subdomains mix singular (followups.context, scope.definition) with plural (followups.messages, scope.changes).

Tool Count2/5

At 37 tools, this significantly exceeds the 25+ threshold for 'too many.' While FreelanceOS covers a comprehensive freelance business suite (CRM, project management, invoicing, time tracking), the tool surface is heavy for an agent to navigate effectively, increasing the risk of misselection despite good organization.

Completeness4/5

The surface provides robust CRUD+archive coverage across all major domains: clients, projects, proposals, invoices, time tracking, follow-ups, and scope management. Minor workflow gaps exist (e.g., proposals has 'accept' but no dedicated 'reject/withdraw,' invoices lacks explicit archive), but agents can work around these using update operations.

Maintenance

ActivitySlowing
ResponsivenessSyncing