# service agreement [Health: Active]

**Category:** ⚖️ Legal  
**Repository:** https://github.com/theluckystrike/mcp-service-agreement  
**GitHub Stars:** 0  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/service-agreement

## Description
Service agreements for freelancers: scope, deliverables, rate, termination and liability caps.

## Tools
Capabilities this server exposes over MCP:

- **agreement_create** — Write an agreement: parties, scope, deliverables, rate and payment terms, dates, termination notice, liability cap, jurisdiction. Stores it and returns the rendered Markdown. Returns `SA-YYYY-NNNN
- **agreement_get** — Read one agreement in full by SA number or client name, with its status history
- **agreement_list** — List agreements newest first; filter by status and client
- **agreement_update_status** — Move the agreement exactly one step -- draft, sent, signed, expired -- stamping date and note into its history
- **clause_library** — The five built-in clauses: IP assignment, mutual confidentiality, late payment interest, kill fee, revision rounds. Pro: full texts with the agreement's variables filled in
- **agreement_render** — Render for signing: Markdown, or self-contained HTML with print CSS (Pro). Includes the signature block and the template-not-legal-advice line
- **agreement_checklist** — The before-you-send-it checklist: missing fields and one-sided gaps flagged neutrally
- **license_status** — Free or Pro, and the key

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "service-agreement": {
    "command": "npx",
    "args": ["-y","@theluckystrike/mcp-service-agreement"],
    "env": {
      "XDG_DATA_HOME": ""
    }
  }
}
```

**Requires environment variables:** `XDG_DATA_HOME` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What service agreement does

The service agreement MCP server manages agreements for freelance client work. An agreement can include the parties, service scope, deliverables, rate and payment terms, start and end dates, termination notice, liability cap, and governing jurisdiction. Creating one stores the record, assigns an `SA-YYYY-NNNN` identifier, and returns rendered Markdown.

Records can be retrieved by agreement number or client name, or listed newest first with status and client filters. Status changes move one step at a time through draft, sent, signed, and expired. Each transition records a date and note, creating a status history that can be reviewed later.

The server also provides a checklist for missing fields and potentially one-sided gaps. Its output is neutral and does not determine what the law requires. Rendered documents include a signature block and a statement that the document is a template, not legal advice.

## How it works

The service agreement MCP server exposes its operations as MCP tools. Core tools cover creation, retrieval, listing, status updates, rendering, clause lookup, checklist generation, and license status. The built-in clause library includes IP assignment, mutual confidentiality, late payment interest, kill fee, and revision rounds. Free usage provides clause titles and summaries; Pro provides full clause text with the agreement’s variables filled in.

The free tier supports up to three active agreements. Expired agreements no longer count toward that limit. Markdown rendering, core agreement fields, and the checklist remain available in the free tier. Pro adds unlimited active agreements, complete clause text, and self-contained HTML with print CSS.

For the local server, agreement data is stored under `${XDG_DATA_HOME:-~/.local/share}/mcp-servers/service-agreement/`, using `agreements.json` and `counter.json`. The README states that local data is not sent to a network service, and license keys are checked offline.

## Setup and configuration

A hosted deployment is available at `https://mcp.zovo.one/mcp/service-agreement` over streamable HTTP. It requires a token in an `Authorization: Bearer <token>` header, or in the `/t/<token>` URL path when the client cannot set headers. Tokens can be obtained from the documented connect or token endpoints.

For local use, clone the repository, run `npm install && npm run build`, and configure an MCP client to launch `node` with the absolute path to `dist/index.js`. A Claude Desktop bundle is also available from the project’s latest release. The repository notes that the package is not yet published on npm, so an `npx -y @theluckystrike/mcp-service-agreement` installation fails rather than installing the server.

The README names Claude Desktop, Claude Code, Cursor, Windsurf, and VS Code as usable MCP clients. It also documents a GitMCP URL for reading the repository documentation without installing the server.

## Tools and capabilities

- `agreement_create` creates and stores an agreement and returns rendered Markdown.
- `agreement_get` retrieves a complete agreement and its status history by number or client.
- `agreement_list` lists agreements with status and client filters.
- `agreement_update_status` advances status by exactly one step and records a date and note.
- `clause_library` provides the built-in clause titles, summaries, or Pro clause text.
- `agreement_render` produces Markdown or Pro self-contained HTML for signing.
- `agreement_checklist` reports missing fields and neutral gap flags.
- `license_status` and `license_activate` handle license information and activation.

_Full upstream README: https://allmcps.com/mcp/service-agreement/readme_

