Scope
Approved freelance scope, rates, deadlines, and change orders, shared with AI assistants over MCP.
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `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#"
}コミュニティ
エビデンス