MCP Server

ScopeLinq

com.scopelinq/scopelinq
Business & Operations Legal & Compliance Public & reachable MCP 2025-11-25

What this MCP does

Extracts agreed terms from proposals, quotes, contracts, or email threads and checks whether new requests fall within the agreed scope.

check_scope_change
Check a request against what was agreed
Answers whether a new request is Included, Additional work, or Needs clarification, citing one of the confirmed lines. Only pass lines the person has confirmed were agreed. Never pass lines from not_found_in_text unless the person confirmed them, and never pass the original document — there is no field for it. If no lines have been confirmed yet, call draft_scope_record first and ask the person. Works for whoever sent the document or whoever received it. Free, no account.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['request_text', 'confirmed_lines'], 'properties': {'request_text': {'type': 'string', 'maxLength': 2000, 'minLength': 1, 'description': 'The new request, in the words it was made.'}, 'confirmed_lines': {'type': 'array', 'items': {'type': 'object', 'required': ['headline'], 'properties': {'category': {'type': 'string', 'maxLength': 60}, 'headline': {'type': 'string', 'maxLength': 300, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 40, 'minItems': 1, 'description': 'Lines the person confirmed were agreed — from draft_scope_record, or in their own words.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['verdict', 'label', 'confidence', 'cited_line', 'rationale', 'suggested_reply'], 'properties': {'label': {'enum': ['Included', 'Additional work', 'Needs clarification'], 'type': 'string'}, 'verdict': {'enum': ['covered', 'new_request', 'needs_clarification'], 'type': 'string'}, 'rationale': {'type': ['string', 'null']}, 'cited_line': {'anyOf': [{'type': 'object', 'required': ['index', 'headline', 'quote'], 'properties': {'index': {'type': 'integer'}, 'quote': {'type': 'string'}, 'headline': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'confidence': {'type': 'integer'}, 'suggested_reply': {'type': ['string', 'null']}}, 'additionalProperties': False}
draft_scope_record
Read what was agreed
Reads a proposal, quote, estimate, contract, or email thread and returns the terms it actually states, each traced to the words it came from. Works for whoever sent the document or whoever received it. Pass the text exactly as written — do not summarise it first. Remove names, email addresses and account numbers before pasting. Returns two lists: `lines` (found in the text) and `not_found_in_text` (things the text does not clearly say). Show both to the person and ask which lines they agree were agreed, then call check_scope_change with only those. The text is processed by an AI model to produce the lines and is deleted within 24 hours. Free, no account.
Read only
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['agreement_text'], 'properties': {'agreement_text': {'type': 'string', 'maxLength': 12000, 'minLength': 1, 'description': 'The proposal, quote, estimate, contract, or thread, pasted as written.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['format', 'version', 'status', 'parties', 'lines', 'not_found_in_text', 'lines_hash', 'confidence', 'next_step'], 'properties': {'lines': {'type': 'array', 'items': {'type': 'object', 'required': ['category', 'headline', 'source_span', 'anchor_score'], 'properties': {'category': {'type': 'string'}, 'headline': {'type': 'string'}, 'source_span': {'type': ['string', 'null']}, 'anchor_score': {'type': ['number', 'null']}}, 'additionalProperties': False}}, 'format': {'type': 'string', 'const': 'scopelinq-record'}, 'status': {'type': 'string', 'const': 'draft'}, 'parties': {'type': 'null'}, 'version': {'type': 'string', 'const': '1'}, 'no_terms': {'type': 'boolean'}, 'next_step': {'type': 'string'}, 'confidence': {'type': ['number', 'null']}, 'lines_hash': {'type': 'string'}, 'not_found_in_text': {'type': 'array', 'items': {'type': 'object', 'required': ['category', 'headline', 'source_span', 'anchor_score'], 'properties': {'category': {'type': 'string'}, 'headline': {'type': 'string'}, 'source_span': {'type': ['string', 'null']}, 'anchor_score': {'type': ['number', 'null']}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Added
check_scope_change
Sept. 17, 2026, 12:37 p.m.
Added
draft_scope_record
Sept. 17, 2026, 12:37 p.m.