MCP connector for Claude

Package Pricing Lab: price the work, not the clock.

Freelancers, studios, contractors and consultants tell Claude what the business costs to run, how much it can deliver, and what each job includes. Package Pricing Lab turns that into three fixed packages with the margin math shown, tests what scope creep and a slow month do to them, sets them beside the way the business charges today, and writes the scope lines. Adjustments to what was built are included; a genuinely new deliverable becomes a new package. Every number is arithmetic you can check, explained in the result.

Connector URL

https://mcp.modernmustardseed.com/pricing-lab

Streamable HTTP. No sign-in. Every tool is read-only and works offline from the inputs you give it.

Connect it

  1. In Claude, open Settings, then Connectors.
  2. Choose Add custom connector, paste https://mcp.modernmustardseed.com/pricing-lab, and save. No account or key is needed.
  3. In a chat, describe your costs and your work. Claude calls the tools when the question needs them.

In Claude Code: claude mcp add --transport http pricing-lab https://mcp.modernmustardseed.com/pricing-lab

Try these

The tools

build_packages

Build three fixed packages

Turns the cost base and a list of deliverables into three tiers. Each tier shows what it includes and leaves out, its cost, break-even price, target price, a recommended price rounded up to a clean number, margin and profit per sale, and how far the work can overrun before it earns nothing. A capacity check shows hours needed, break-even clients a month and the month profit after owner pay.

Inputs: business (fixed costs, owner pay, staff cost, delivery hours, planned utilization, variable cost); offer_name; items (name, effort, direct cost, level: core, common or premium); target_margin_pct, variance_buffer_pct, tier_names, mix_pct, clients_per_month, outcome_value (optional).

stress_test_package

Stress test a package

Shows margin and profit per sale when the same deliverables take 10, 25 or 50 percent more effort, the overrun where the package earns nothing, the price that holds the target margin, and a slow month: revenue, the gap after owner pay, break-even sales and how many slow months the reserve covers.

Inputs: business; package (name, price, effort, direct cost); target_margin_pct, scope_creep_pct, sales_per_month, slow_month_drop_pct, cash_reserve (optional).

compare_models

Compare time-based billing with packages

Sets the current approach (a rate per hour or per day, and the share of hours that reach an invoice) beside fixed packages for the same jobs. Shows revenue and profit per job and per month, earnings per hour worked, revenue ceilings at full capacity, and the package price that matches what each job collects today, at several efficiency gains.

Inputs: business; current (rate, unit, hours_per_day, billed_share_pct, direct_costs_passed_through); packages (one to three, with price, effort, direct cost, share); jobs_per_month; efficiency_gains_pct (optional).

package_scope_language

Write package scope language

Writes the included lines, the adjustments line (adjustments to anything delivered are included), the not-included lines, the rule that a new deliverable becomes a new package, boundary examples, and a ready-to-paste block for each package.

Inputs: packages (one to three, each with name, includes, excludes); voice ("we" or "I"); ascending (optional).

How the math works

Limits

Data sources and licenses

There are none to license. Every result is computed from the inputs in the call, by formulas written by Modern Mustard Seed and shown on this page. The tools make no network requests and store nothing.

Troubleshooting

“Three tiers need at least one item at each level”
Mark each deliverable core, common or premium, with at least one of each.
Break-even is above what capacity holds
The monthly outlay is too large for the hours at these prices. Raise the target margin, trim effort from each tier, or check delivery_hours_per_month.
A scope line is missing from the output
It used time-based or extra-charge wording. The notes field names the package and line. Restate it as a deliverable.

For reviewers

No account, key or setup is needed. Add the connector URL above, then:

  1. build_packages with business {"monthly_fixed_costs":3200,"monthly_owner_pay":7000,"monthly_staff_cost":5500,"delivery_hours_per_month":220}, offer_name Brand identity, and items such as {"name":"Logo suite","effort_hours":18,"level":"core"}, {"name":"Brand guidelines","effort_hours":14,"level":"common"}, {"name":"Website homepage design","effort_hours":24,"direct_cost":300,"level":"premium"}. Returns three tiers with prices and a capacity check.
  2. stress_test_package with the same business, package {"name":"Kitchen design","price":6500,"effort_hours":40,"direct_cost":400}, sales_per_month 4, cash_reserve 15000.
  3. compare_models with current {"rate":95,"unit":"hour","billed_share_pct":80}, packages [{"name":"Refresh","price":2400,"effort_hours":24}], jobs_per_month 5.
  4. package_scope_language with packages [{"name":"Starter","includes":["One logo","Color palette"]},{"name":"Full","includes":["One logo","Color palette","Brand guidelines"],"excludes":["Printing"]}].
  5. Errors: a build_packages call with no premium item returns a specific message naming the missing level.

Support and security

Questions, problems and security reports go to sarah@modernmustardseed.com. A machine-readable contact is at /.well-known/security.txt. How we handle data is in the privacy policy.