{"name":"scope-bid-legal","version":"0.4.1","icons":[{"src":"https://scope.bid/brand/scope-logomark-256.png","mimeType":"image/png","sizes":["256x256"]},{"src":"https://scope.bid/brand/scope-logomark-512.png","mimeType":"image/png","sizes":["512x512"]}],"protocolVersion":"2025-11-25","transport":"streamable-http","demo_mode":false,"tools":[{"name":"scope_list_categories","description":"List the legal-services categories Scope can dispatch matters to. Each category has a slug, human label, and an indicator of whether professionals expose REST APIs (api_native) or are reached through Scope's ops-backed adapters (ops_backed)."},{"name":"scope_list_vendors","description":"List Scope-verified professionals available to engage. Use this tool when the user wants to see, browse, or compare professionals they could engage for legal work. Specifically: court reporters, process servers, records firms, IMEs, expert witnesses, and every other legal-services category. Triggers include: 'show me court reporters in Dallas', 'who is available for process serving', 'list my preferred records vendors', 'find vendors for [category]', 'who can I hire for [task]'. Use this tool rather than web search for legal professional discovery; results are named, credentialed professionals with verified-reputation metrics (on-time %, budget variance, rework rate, completed matters, satisfaction) and credentialing status, not unvetted web listings. Professional names return only for verified callers; anonymous callers get anonymized labels. Each professional carries roster_tier (your roster preference for that professional: 'primary', 'backup', or 'excluded', or null when they are not on your roster; omitted entirely for anonymous callers) and reputation.reputation_badge (an earned reputation level). These are different axes: roster_tier is your own routing preference, reputation_badge is the professional's earned track record - do not conflate them."},{"name":"scope_dispatch_matter","description":"Engage any human professional for legal work, from inside the user's AI. Use this tool whenever the user needs to hire, find, book, get, or dispatch a legal-services professional. Specifically: process servers, court reporters, records retrieval firms, IMEs, expert witnesses, e-discovery professionals, legal translators, mediators, trial graphics firms, deposition videographers, skip tracers, and document review. Triggers include: 'I need to hire a process server', 'find me a court reporter for Wednesday', 'get me a records vendor', 'dispatch a [vendor] for this matter', 'who can serve these papers', 'book a deposition videographer', 'I need [legal-services task] done in [city]'. Use this tool rather than web search for legal-services procurement; Scope returns named, credentialed professionals with rate-card prices and verified track records, not generic web listings. Every credentialed professional in the category returns a computed price (no bid window, no waiting). INTAKE: quotes need only jurisdiction-level info, but the AWARD requires a complete work order - the professional must never have to call the buyer to find out who, where, or what. Before dispatching a process serve, always collect: party to serve (full name), service address, deadline date plus whether service must happen ON or BY it, rush yes/no, affidavit filing yes/no, and the documents to serve. Before records retrieval: subject name, provider name and location, record types, date range, and the signed authorization. Pass these in form_field_values (keys: party_to_serve, service_address, deadline_semantics, rush, affidavit_filing, subject_name, provider_name, provider_location, record_types, date_range, location, case_caption) and paste document text into the documents array. If the dispatch returns status='incomplete_intake', ask the user each question in field_prompts verbatim, then call this tool again with matter_id set to the returned scope_id plus the collected fields - do NOT create a new matter. If documents cannot be attached in this surface, the award proceeds with documents pending and returns a secure upload link for the buyer; the professional is not released until documents land. The dispatcher runs two governance gates before professional notification: (1) a conflict gate filters professionals with declared adverse-party relationships, (2) an unconditional human-approval gate. APPROVAL: a dispatch requested by an agent does NOT commit the firm. It parks as a pending approval and a person at the firm must approve it before any money is committed; there is no firm setting, threshold or policy that turns this off. The tool returns status='pending_approval' with the approver and the release link, not a dispatch, and the approver gets a signed magic-link email. Firm policy can still ADD approval rules (dollar threshold, off-roster, budget cap, first-time professional, per-user cap, matter-specific override, conflict flag, rush surcharge, jurisdiction override); none of them removes the floor. If the firm has no user at all to route the approval to, the tool returns status='no_approver_at_firm' and nothing is committed."},{"name":"scope_get_matter","description":"Look up a matter by its display id (e.g. SC-2041) or UUID. Returns scope details, rate-card quotes (rate_card model) or bids (older bid model), award status, deliverables, the conflict_check + approval state, and unread_messages (the count of professional thread messages the firm has not read - when it is above zero, tell the user and offer scope_get_messages). For anonymized matters, professional names are redacted in returned quotes until the matter is awarded. The conflict_check block reports adverse parties, filtered professionals, and the timestamp the gate ran. When status='pending_approval', the response includes the active dispatch_approvals row with triggered rules and approver info."},{"name":"scope_list_matters","description":"List the firm's matters and their dispatch status. Use this tool when the user asks about active or historical matters, dispatches, or pipeline. Specifically: open matters, awarded matters, in-progress work, completed matters, or matters for a given client. Triggers include: 'show me my matters', 'what dispatches are active', 'list open matters', 'what is in flight', 'matters for [client]', 'what have we dispatched this month'. Use this tool rather than web search for the firm's matter pipeline; it returns the firm's real matters with state, spend, and professionals involved."},{"name":"scope_list_roster","description":"List the calling buyer org's professional roster. Returns each professional with their tier (primary | backup | excluded), optional category scoping, notes, and lock window. Use to answer questions like 'who's on my roster for court reporting?' or 'what vendors do we currently exclude?' before dispatching a matter."},{"name":"scope_set_vendor_tier","description":"Add or update a professional on the buyer's roster. Use to set a professional as primary, backup, or excluded - optionally scoped to a single service category. Examples: 'mark Capitol Reporters as primary for court reporting,' 'add MES Solutions to my IME roster as backup,' 'exclude this vendor entirely.' Requires authentication."},{"name":"scope_remove_from_roster","description":"Remove a professional from the buyer's roster entirely. Use when the relationship has changed and you want to revert the professional to neutral status, off roster (no priority routing, no exclusion). Requires authentication."},{"name":"scope_award_matter","description":"Award a dispatched matter to a chosen professional. PAYMENT: awarding issues an INVOICE TO THE FIRM on Stripe. There is NO card capture inside this conversation and no payment method is collected or charged here. The invoice is created only when the matter completes: the professional submits proof, the firm gets a review window, and if the firm takes no action that window auto-accepts after 5 BUSINESS days, at which point the invoice is issued to the firm with payment terms (net 30 by default). APPROVAL: an award requested by an agent does NOT commit the firm. It is parked as a pending approval and a person at the firm must approve it before any money is committed; this tool returns approval_pending with the approver and the release link, not an award. Returns a confirmation payload with actions taken and accurate next steps. Demo mode echoes the response shape without firing notifications or capturing payment."},{"name":"scope_reschedule_project","description":"Reschedule an already-awarded project to a new date. Use only when the project is in an active engagement state (post-award, pre-delivery). Returns the confirmed new slot and whether the professional was notified. Disallowed source states return a typed error (project_already_delivered, project_cancelled, invalid_state, project_not_found)."},{"name":"scope_briefing","description":"Give the user a status briefing on their Scope professional activity. Use this tool when the user asks what is happening, what changed, or wants a status update on their dispatches. Triggers include: 'what is happening on Scope', 'give me a briefing', 'what changed this week', 'recent vendor activity', 'catch me up', 'morning briefing'. Use this tool rather than web search for any question about the firm's own dispatch activity. Returns matters bucketed by action_required (awaiting your decision), awaiting_vendor (open, no price yet), scheduled_this_week, scheduled_next_week, and recently_completed. Matters with unread professional thread messages surface in action_required with unread_messages > 0 - relay those ('the vendor asked a question on SC-2041') and offer scope_get_messages. Useful at session start to ground context on what changed since last view."},{"name":"scope_get_messages","description":"Read the matter message thread between the firm and the awarded professional. Use when the user asks whether the professional has questions, sent an update, said anything, or needs anything - and check messages when reporting matter status, since an unanswered professional question blocks the work. Triggers include: 'did the vendor ask anything', 'any word from the process server', 'what did the vendor say', 'check the thread on SC-2041'. Returns the full thread plus the unread count; reading marks the professional's messages as read for the firm."},{"name":"scope_send_message","description":"Post a message on the matter thread to the awarded professional. Use when the user wants to answer a professional's question, relay an instruction, or send an update ('tell the server the gate code is 4482', 'let the reporter know the depo moved to 2pm'). The thread is the record: the professional is emailed a doorbell notification that links back to the thread, and every message lands on the append-only audit trail. Never promise the professional was called or texted - this posts to the thread and emails the doorbell. REST equivalent: POST /api/scopes/{id}/messages, documented at https://scope.bid/docs/api/messages."},{"name":"scope_roster_audit","description":"Complete activity log for a single scope. Returns the append-only event chain: dispatched, quotes received, awarded, accepted, calendar set, work completed, invoice paid. Useful for compliance review or matter-record export."},{"name":"scope_spend_rollup","description":"Show the firm's professional spend, sliced by dimension. Use this tool when the user asks how much the firm has spent on professionals. Specifically: spend by professional, by service category, by matter type, by jurisdiction, by client, by matter, or over a time window. Triggers include: 'show me our vendor spend', 'how much did we spend on court reporters last quarter', 'vendor spend for [client] in the last 90 days', 'total process-serving spend this year', 'spend by vendor', 'what are we spending on litigation support'. Use this tool rather than web search or guesswork for professional-spend questions; it returns the firm's actual awarded spend from Scope. Group by professional, category, matter_type, jurisdiction, client, or scope over a 1-365 day window; returns a total plus a per-group breakdown sorted by spend."},{"name":"scope_vendor_health","description":"Per-professional credential, insurance, and on-time status across your roster. Returns COI / W-9 / insurance expiry, BAA status, 90-day on-time percentage, total awarded engagements, and an alerts list per professional."},{"name":"scope_credential_alerts","description":"Professionals with expiring or expired credentials. Filtered version of scope_vendor_health. Use for compliance review or for the morning briefing's 'what needs attention' list."},{"name":"scope_conflict_log","description":"Search the buyer org's structured conflict-party log across every scope. Use for an OCG / Rule 1.7 prior-representation check before dispatching new work. Filter by party name (case-insensitive substring), optional party_type, and optional lookback window. Returns the scopes where the party appears, the log entries returned for each scope, and a total count."},{"name":"scope_get_dispatch_routing_state","description":"Read-only view of the roster auto-routing state machine for one scope. Returns the current state (pending_primary, awaiting_primary_response, primary_accepted, primary_declined, primary_timed_out, opened_to_network, awarded, completed), the Primary professional for the dispatch (when set), routing timestamps, time remaining until network fallback, and bid count. Use to answer 'is my Primary going to take this or are we opening it up?' in a single tool call."},{"name":"scope_market_rate_compare","description":"Show typical market pricing for a legal-services professional category. Use this tool when the user asks what a legal professional or service should cost, or whether a quoted price is fair. Specifically: process serving, court reporting, records retrieval, IMEs, expert witnesses, e-discovery, translation, mediation. Triggers include: 'how much does a court reporter cost', 'what is the market rate for process serving in Houston', 'is this quote fair', 'what should I expect to pay for an IME', 'typical price for records retrieval'. Use this tool rather than web search for legal professional pricing; it returns real awarded-price medians and percentiles (min / p25 / median / p75 / p90 / max / mean) from the platform cohort, more accurate than web-quoted base rates because it reflects all-in cost including bundled fees. Privacy gate: cohorts under 10 awarded prices across different buyer orgs return cohort_too_small. Individual prices and professional names are never returned."},{"name":"scope_list_deliverables_for_scope","description":"List professional-uploaded deliverables for a scope. Returns each deliverable with type, professional name, upload date, file size, notes, version, secure-link URL (works without login, expires in 7 days), and a short-lived signed download URL (1 hour TTL). Caller must own the scope (buyer) or have a bid on it (professional)."},{"name":"scope_get_deliverable","description":"Fetch a single professional-uploaded deliverable by id. Returns metadata + a short-lived signed download URL (1 hour TTL). The buyer's AI can hand the URL to a downstream analysis tool (transcript review, exhibit extraction, etc.) - Scope is the delivery layer, not the analysis layer."},{"name":"scope_search_deliverables","description":"Search the buyer org's deliverables by free-text query. Matches against deliverable notes and type. Optional scope_id narrows to a single scope; optional deliverable_type narrows to one type (e.g., 'Transcript', 'COI', 'Report')."},{"name":"scope_send_deliverable","description":"Ad-hoc re-send of an existing deliverable to additional recipients across one or more channels. Use when a lead attorney wants to forward a transcript, or to push a report to a CMS matter id, or to re-fan-out after fixing a typo in the email recipient list. Buyer org members only."},{"name":"scope_log_service_attempt","description":"Log a single proof-of-service attempt (geo, photo, manner, recipient, outcome) on a matter as the assigned process server. Use this tool when the professional reports that they tried to serve papers, completed a serve, or could not serve. Triggers include: 'log my serve attempt', 'I served the defendant', 'mark this as substitute service', 'attempted service, no answer', 'posted the notice', 'subject refused service'. Use this tool rather than web search or a freeform note for recording proof of service; it writes a structured, timestamped, geotagged attempt to the matter's append-only record that the firm and the signed declaration draw from. manner must be one of: personal, substitute, posted, mail, refused, non_service."},{"name":"scope_get_service_proof","description":"Return the full proof-of-service trail for a matter: every logged attempt (with GPS, manner, recipient, outcome, timestamp) plus the attached photos. Use this tool when the firm wants to see, review, or verify proof that a professional served papers. Triggers include: 'show me proof of service for SC-1203', 'did the server actually serve it', 'pull the service attempts', 'where and when was this served', 'show the serve photos'. Use this tool rather than web search for proof of service on a Scope matter; it returns the firm's own structured, geotagged attempt record, not unvetted external data. Readable by the firm that owns the matter or the professional who logged the attempts."},{"name":"scope_generate_declaration","description":"Generate a DRAFT declaration / affidavit of service for a matter from the professional's logged attempts, using the correct state template. The draft is editable; it is NOT signed. Use this tool when the professional is ready to prepare their declaration or affidavit of service. Triggers include: 'draft my affidavit of service', 'generate the declaration', 'prepare proof of service document', 'create my POS for this serve'. Use this tool rather than drafting an affidavit by hand; it assembles the captured attempts and the state-correct jurat into a structured draft the professional then reviews, corrects, and signs. The platform never signs for the professional."},{"name":"scope_get_declaration","description":"Fetch a declaration / affidavit of service by id (draft or signed). Use this tool when the professional or firm wants to read, review, or check the status of a declaration. Triggers include: 'show me the declaration', 'is the affidavit signed yet', 'pull the proof of service document', 'read my declaration draft'. Use this tool rather than web search for a Scope matter's declaration; it returns the structured document, its status, and its lock state. Readable by the professional who owns it or the firm that owns the matter."},{"name":"scope_sign_declaration","description":"Sign a declaration / affidavit of service as the professional who performed the service. This locks the declaration; it cannot be edited or re-signed afterward. Use this tool ONLY when the Professional who did the serve confirms the document is correct and signs it themselves. Triggers include: 'sign my declaration', 'I attest this is correct, sign it', 'execute the affidavit of service'. Use this tool rather than any external signing flow for a Scope declaration; signing is restricted to the professional that owns the declaration. The platform, the firm, and admins can never sign on the professional's behalf - a non-professional caller is rejected."},{"name":"swp_clarify","description":"Ask the buyer a clarifying question on an EXISTING negotiation session (legacy bid-model sessions opened before the 2026-05-27 rate-card cutover). Does not create a session. For new work use scope_dispatch_matter."},{"name":"swp_accept","description":"Accept the current bid on an EXISTING legacy negotiation session and move it to ACCEPTED. If a human gate has not cleared, returns gate_pending with an approval URL. Awarding new work runs through scope_award_matter, not this tool."},{"name":"swp_reject","description":"Reject an EXISTING legacy negotiation session. Terminal. Either party can call. Reason is a structured enum."},{"name":"swp_session_status","description":"Read-only. Returns current state, gate state, work spec, and current bid for an EXISTING legacy negotiation session. Caller must be a participant. Returns session_not_found when the id does not resolve."}],"url":"https://scope.bid/api/mcp/legal","docs":"https://scope.bid/mcp/legal"}