mcpField
S
ScopeProfit

ScopeProfit

Remote
scopeprofit.vercel.appBusiness & Marketing0Updated 1d ago

About ScopeProfit

ScopeProfit is an MCP server for freelancers and software agencies that turns client requests into versioned scope documents and quotes based on their rates. Its structured requirements, risks, clarification questions, and PDF/DOCX exports support a workflow from discovery through quote decisions.

Key features

  1. 01Turn client input into a scope document
  2. 02Track cited requirements, risks, and questions
  3. 03Create and save rate-based quotes
  4. 04Version, approve, and log scope changes
  5. 05Export Markdown, PDF, and DOCX

Use cases

  1. 01Convert a client's rough idea into project scope
  2. 02Clarify requirements before estimating hours
  3. 03Approve scope and export a document to share
  4. 04Record a quote and the client's decision

MCP support

The MCP server exposes 20 project, scope, and quote tools over Streamable HTTP or stdio, with API-key or OAuth 2.1 authentication.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://scopeprofit-mcp.franutn23.workers.dev/api/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

All endpoints
Streamable HTTPhttps://scopeprofit-mcp.franutn23.workers.dev/api/mcpAuth required

Tools

Details

From the project README

Scope-to-Profit

Scope copilot for freelancers and software agencies, exposed as an MCP server. It turns a client's messy idea (loose text, screenshots, "I want something simple but…") into a formal, versioned scope document that any AI agent can drive.

Source of truth: docs/scope-to-profit.md (product scope v1/v2 and the current MCP-first architecture). MCP setup and tool reference: docs/mcp.md.

What it produces

  • requirements (functional / non-functional) with a verbatim source quote
  • blocking questions
  • risks with a traffic light
  • scope (included / excluded / assumptions / acceptance criteria)
  • hour-range estimate (no prices)
  • next steps

All of it in the fixed template 7.1, exported to Markdown, PDF and editable DOCX.

Architecture (MCP-first)

ChatGPT · Claude · Cursor · Grok bots · custom agents
                │  MCP (Streamable HTTP / stdio)
                ▼
        Backend API (NestJS) ── scope tools ── LangGraph agent (optional) ── PostgreSQL + persistent storage
  • MCP server (primary interface) — POST /api/mcp (Streamable HTTP, stateless) and a stdio entrypoint for local hosts. 20 tools: create_project, add_client_input (text + image URLs), get_tldr, get_scope_document, list_pending_questions, answer_question, update_scope_section, approve_scope, export_document, list_projects, archive_project, get_project, get_conversation, get_input_image, log_change_request, list_change_requests, get_quote, save_quote, export_quote, decide_quote.
  • Auth — Authorization: Bearer with a ScopeProfit API key, or OAuth 2.1 (dynamic client registration + PKCE) for ChatGPT-style connectors. See docs/mcp.md.
  • Backend API — the only component with database and file-system access. Keeps the versioned Brief (PostgreSQL), renders template 7.1 and the PDF/DOCX artifacts, and runs the optional server-side scope agent.
  • Landing (apps/landing) — static marketing page that explains the MCP-first product and how to connect each client. There is no web app anymore: the Next.js client chat (apps/app) was removed; the client conversation now happens in whatever agent uses the MCP server.

Quick start (local)

pnpm install
cp .env.example .env              # fill DATABASE_URL, ENCRYPTION_KEY, PUBLIC_API_URL
pnpm --filter @scopeprofit/contracts run build
pnpm run db:migrate
pnpm --filter @scopeprofit/api run build
pnpm --filter @scopeprofit/api run mcp:keys create --email <your-email> --label local
pnpm run dev:api                  # MCP endpoint at http://localhost:3001/api/mcp
pnpm run dev:landing              # landing at http://localhost:3000

Then connect a client as described in docs/mcp.md (ChatGPT, Claude, Claude Code, Cursor, OpenAI Responses API, MCP Inspector, raw HTTP).

Self-hosting for ChatGPT

Use the opt-in HTTPS overlay and host-led drafting setup in docs/self-host-chatgpt.md. The MCP/OAuth server already exists; creating a custom ChatGPT connection still requires an eligible account/workspace and a verified live endpoint. A hosted public instance (above) and an official MCP Registry listing are available if you do not want to self-host.

Typical flow

  1. create_project → add_client_input with the client's words and image URLs.
  2. Either the host LLM drafts the scope with update_scope_section (every requirement must quote a stored message), or the server agent does it in the background (analyze: true, needs the owner's Gemini key).
  3. get_tldr / list_pending_questions → answer_question until nothing blocks the estimate.
  4. get_scope_document to review template 7.1 → approve_scope (locks the reviewed version; approval never emails the client) → export_document for a signed download link to share.

For developers (the product)

ScopeProfit is used through an MCP client, not a web UI. You talk to it from ChatGPT, Claude, Cursor, Claude Code or your own agent:

Fastest way (hosted, nothing to install): add https://scopeprofit-mcp.franutn23.workers.dev/api/mcp as a connector in ChatGPT or Claude and authorize it — the OAuth consent screen asks for your API key once. It is also listed in the official MCP Registry as io.github.FranprzDev/scopeprofit. To get an API key for the hosted instance, open an issue in this repo. Full connection guide with examples: scopeprofit.vercel.app/docs.

  1. Get an API key from the installation operator: pnpm --filter @scopeprofit/api run mcp:keys create --email [email protected] --label <client>.
  2. Connect your host — per-client recipes (ChatGPT OAuth, Claude connector, Claude Code header, local stdio for Claude Desktop/Cursor) are in docs/mcp.md.
  3. Typical flow: create_project → add_client_input → answer list_pending_questions → draft with update_scope_section → approve_scope → export_document → save_quote → export_quote → decide_quote. Eight-call quickstart and the full error-code table: docs/mcp.md.

There is no client portal and no email delivery: you review the exported PDF/DOCX, share the signed link with your client yourself, and record their answer with decide_quote.

Stack

  • API: NestJS 11 (Node 22, TypeScript), Prisma 6 + PostgreSQL 17
  • MCP: xmcp 1.9 (file-based tools, Streamable HTTP + stdio) with the existing OAuth 2.1 authorization server
  • Agent (optional): LangGraph + LangChain JS with Gemini; clarification gate via Vercel AI Gateway
  • Documents: structured Brief → Markdown, pdfkit → PDF, docx → DOCX
  • Bot: grammY webhook with secret_token
  • Quality: unit, integration, MCP (SDK client over xmcp HTTP) and e2e (HTTP, OAuth, stdio) tests on real PostgreSQL; separate backend and landing CI pipelines
  • Deploy: Docker Compose with PostgreSQL and persistent volumes

Commands

pnpm --filter @scopeprofit/api run lint
pnpm --filter @scopeprofit/api run typecheck
pnpm --filter @scopeprofit/api run test        # unit + integration + mcp + e2e (needs DATABASE_URL)
pnpm --filter @scopeprofit/api run build
pnpm --filter @scopeprofit/api run mcp:stdio   # local stdio server (needs SCOPEPROFIT_API_KEY)
pnpm run production:preflight

Version status

  • v1 — delivered: projects, structured versioned Brief, AI agent, template 7.1, PDF/DOCX, approval and delivery.
  • v2 — delivered: Brief diff, change-request log and classification, strict domain types.
  • v3 (pricing, quotes, maintenance) — delivered: quotes and rate cards are MCP tools (save_quote, get_quote, export_quote, decide_quote); maintenance records stay internal.
  • MCP-first — this release: MCP server, API keys, OAuth for ChatGPT/Claude connectors, signed exports; web app removed, landing rewritten.

Docs

  • scopeprofit.vercel.app/docs — live developer docs (connect, 20 tools with examples, flow, limits); /llms.txt on the same site for AI agents
  • docs/scope-to-profit.md — product concept, scope and architecture (source of truth)
  • docs/mcp.md — MCP tools, auth and client setup
  • docs/technical-plan.md — original v1 technical plan (historical; the web client it describes was removed)
  • docs/production-launch-checklist.md — production checklist

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.