Scope
Approved freelance scope, rates, deadlines, and change orders, shared with AI assistants over MCP.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"scope": {
"url": "https://scope-continuity2.vercel.app/mcp"
}
}
}远程端点
https://scope-continuity2.vercel.app/mcpstreamable-http它能做什么
工具清单
工具(9)
🟢list_engagements(offset)
List the signed-in freelancer's engagements. Use a returned id with get_approved_record. Do not guess an engagement.
输入模式
{
"type": "object",
"properties": {
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 100000,
"default": 0
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"data": {}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_engagement(clientName, title, summary, currency)
Create a draft engagement. Draft terms are not an approved commitment until approve_scope.
输入模式
{
"type": "object",
"properties": {
"clientName": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"title": {
"$ref": "#/properties/clientName"
},
"summary": {
"type": "string",
"maxLength": 4000
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$"
}
},
"required": [
"clientName",
"title",
"currency"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"data": {}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_approved_record(engagementId)
Read the approved scope, rates, deadlines, and change orders before answering. Quote only this record. Draft status is not an approved commitment. Proposed change orders do not authorize a discount or extra work.
输入模式
{
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"format": "uuid"
}
},
"required": [
"engagementId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"data": {}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴save_scope_item(engagementId, scopeItemId, title, description)
Add or update a scope item the freelancer has accepted. After approval, a new item is refused until approve_change_order adds that work. Renaming approved work is refused.
输入模式
{
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"format": "uuid"
},
"scopeItemId": {
"$ref": "#/properties/engagementId"
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": {
"type": "string",
"minLength": 1,
"maxLength": 12000
}
},
"required": [
"engagementId",
"title",
"description"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"data": {}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴save_rate(engagementId, code, label, amountMinor, unit)
Set a draft rate, or update an approved rate without lowering it or changing its unit. A lower amount is a discount and is refused. A new rate code after approval is refused. Use file_change_order and approve_change_order for those.
输入模式
{
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"format": "uuid"
},
"code": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"amountMinor": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1000000000000
},
"unit": {
"type": "string",
"enum": [
"hour",
"day",
"fixed"
]
}
},
"required": [
"engagementId",
"code",
"label",
"amountMinor",
"unit"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"data": {}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴save_deadline(engagementId, scopeItemId, dueOn)
Set or move the deadline for one scope item. The date is a calendar day in YYYY-MM-DD form.
输入模式
{
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"format": "uuid"
},
"scopeItemId": {
"$ref": "#/properties/engagementId"
},
"dueOn": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
}
},
"required": [
"engagementId",
"scopeItemId",
"dueOn"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"data": {}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴approve_scope(engagementId, confirmed)
Mark the current draft as the approved scope. Pass confirmed true only after the freelancer explicitly approves the current items, rates, and deadlines.
输入模式
{
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"format": "uuid"
},
"confirmed": {
"type": "boolean",
"const": true
}
},
"required": [
"engagementId",
"confirmed"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"data": {}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡file_change_order(engagementId, kind, summary, workTitle, workDescription, ...)
Record a proposed change order. This does not change scope, rates, or deadlines. kind add_work requires workTitle and workDescription. kind discount_rate requires rateCode and a lower amountMinor. kind add_rate requires rateCode, rateLabel, amountMinor, and unit. kind move_deadline requires scopeItemId and dueOn.
输入模式
{
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"format": "uuid"
},
"kind": {
"type": "string",
"enum": [
"add_work",
"discount_rate",
"add_rate",
"move_deadline"
]
},
"summary": {
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"workTitle": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"workDescription": {
"type": "string",
"minLength": 1,
"maxLength": 12000
},
"rateCode": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"rateLabel": {
"$ref": "#/properties/workTitle"
},
"amountMinor": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1000000000000
},
"unit": {
"type": "string",
"enum": [
"hour",
"day",
"fixed"
]
},
"scopeItemId": {
"$ref": "#/properties/engagementId"
},
"dueOn": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
}
},
"required": [
"engagementId",
"kind",
"summary"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"data": {}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴approve_change_order(engagementId, changeOrderId, confirmed)
Apply one proposed change order after the freelancer explicitly approves that order. Pass confirmed true only then. This is the path that may discount a rate or add work. Calling it is not a substitute for the freelancer's approval.
输入模式
{
"type": "object",
"properties": {
"engagementId": {
"type": "string",
"format": "uuid"
},
"changeOrderId": {
"$ref": "#/properties/engagementId"
},
"confirmed": {
"type": "boolean",
"const": true
}
},
"required": [
"engagementId",
"changeOrderId",
"confirmed"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"data": {}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}社区
证据