Scope

io.github.LAHutchins91v1.0.1更新于 Oct 5, 2026

Approved freelance scope, rates, deadlines, and change orders, shared with AI assistants over MCP.

已验证Streamable HTTP可网页运行Business & CommerceProductivity & Workflow

概览

AI 生成的概览

让助手在回答前读取自由职业者已批准的工作范围、费率、截止日期和变更单,并且只有在明确批准后才提交变更。

功能
Scope 保存自由职业者已批准的委托记录,并提供工具来列出和创建委托、读取已批准记录、保存工作范围条目、费率和截止日期、批准范围,以及提交或批准变更单。推荐的读取方式是助手回答前调用 get_approved_record,因此它无法编造折扣或承诺未获批准的工作。范围批准后,保存更低费率或新增工作会被拒绝,必须通过变更单并经用户明确批准。
适用场景
适合希望 AI 助手依据已批准的合同记录回答客户问题、而不是凭空猜测的自由职业者和小型工作室。当助手起草提案、报价或客户回复,且必须遵守已约定的范围、费率和截止日期时值得添加。
运行要求
可使用提供方的远程端点,或用 npm 自行运行服务器(安装、构建、启动),它在 3000 端口提供 Streamable HTTP,或通过 stdio 使用 MCP。需要通过 OAuth 使用 Scope 账户登录;工具调用需要 Pro 订阅或有效试用。自托管需要服务器端变量,包括 APP_BASE_URL、SUPABASE_URL、SUPABASE_ANON_KEY、STRIPE_SECRET_KEY、STRIPE_WEBHOOK_SECRET 和 Stripe 价格 ID,以及用 SCOPE_DATA_PATH 迁移 JSON 记录文件。
安装前请注意
工具调用要求账户订阅状态为 active 或 trialing,新订阅包含 14 天试用,计费条款在结账时显示。自托管需要 SUPABASE_ANON_KEY、STRIPE_SECRET_KEY、STRIPE_WEBHOOK_SECRET 等密钥,这些应放在服务器进程中,而不是 MCP 请求头里。工具会写入记录:委托、范围条目、费率、截止日期和变更单,批准操作会改变已承诺的记录。记录保存在由单个服务器进程占用的 JSON 文件中。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Scope,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "scope": {
      "type": "http",
      "url": "https://scope-continuity2.vercel.app/mcp"
    }
  }
}

README

Scope

Scope keeps a freelancer's approved scope, rates, deadlines, and change orders, then lets an assistant read that record before it answers. An assistant cannot invent a discount or promise work that was not approved.

It works with ChatGPT, Claude, Gemini, Grok, and Cursor, plus any other MCP client that can do Streamable HTTP and OAuth. It is not a ChatGPT-only plugin.

Sign in with your Scope account when the assistant opens OAuth. Do not paste an API key or password into a header. Scope supports dynamic client registration: leave the client id and secret empty. The protected-resource metadata at /.well-known/oauth-protected-resource/mcp points clients at the OAuth issuer, which registers them.

Scope tools need Pro or an active trial. A new subscription includes a 14-day trial. This page does not list an amount. Checkout shows the billing interval and payment terms.

Run the server yourself and use the base URL you configure. The default local MCP address is http://127.0.0.1:3000/mcp.

What the assistant can do

After you approve the connection, the server exposes these tools:

  • list_engagements
  • create_engagement
  • get_approved_record
  • save_scope_item
  • save_rate
  • save_deadline
  • approve_scope
  • file_change_order
  • approve_change_order

get_approved_record is the read the assistant should do before it answers. Draft terms are not an approved commitment. A proposed change order does not change the record. After the scope is approved, save_rate refuses a lower rate, and save_scope_item refuses new work. Those changes go through file_change_order and then approve_change_order, and only when you explicitly approve that order.

The assistant only calls these tools when you and the host allow it.

Connect

Cursor, in ~/.cursor/mcp.json or a project .cursor/mcp.json:

json
{  "mcpServers": {    "scope": {      "url": "http://127.0.0.1:3000/mcp"    }  }}

Do not add a headers block. Cursor registers a client and opens sign-in.

Claude Code:

bash
claude mcp add --transport http scope http://127.0.0.1:3000/mcp

Do not pass an Authorization header. Other clients use the same address, choose OAuth, and leave client id and secret empty. Steps for ChatGPT, Claude, Gemini, Grok, and Cursor are on the connect page at /connect.

Registry metadata for this server is in server.json (io.github.LAHutchins91/scope). The public remote URL there is https://scope-continuity2.vercel.app/mcp.

Run

bash
npm installnpm testnpm run typechecknpm run buildnpm start

When stdin is a terminal, Scope serves Streamable HTTP on port 3000. When stdin is not a terminal, it speaks MCP over stdio and still opens the HTTP port. Logs during stdio mode go to stderr so they do not mix with the protocol.

Records are stored durably in a JSON file. The default path is ~/.scope/scope.json. Set SCOPE_DATA_PATH to move it. One server process owns that file.

OAuth uses the same idea as a Supabase authorization server with dynamic client registration. Set these on the server process, not in an MCP header:

  • APP_BASE_URL (default http://localhost:3000)
  • SUPABASE_URL
  • SUPABASE_ANON_KEY
  • STRIPE_SECRET_KEY
  • STRIPE_WEBHOOK_SECRET
  • STRIPE_PRICE_MONTHLY and STRIPE_PRICE_YEARLY (Stripe catalog ids, not amounts)

Tool calls other than discovery require a signed-in account whose subscription status is active or trialing.

来源:README.md,提交 676c681

工具

0
工具元数据尚未被收录。

版本历史

1
  1. v1.0.1最新Oct 5, 2026