named-exclusion-license-mcp
by Basilisk-bat
README.md
# Named Exclusion License MCP
A local Model Context Protocol (MCP) server that drafts sober, source-available named-exclusion license text. It is designed for assistants to generate a reviewable draft without modifying files, applying terms to software, or taking any external action.
The included example is **The Anyone But Sam Altman License**, prompted by [Maria's post](https://x.com/maria_rcks/status/2094307305110057342) and modeled on the cleaner structure of [Maria's No Theo License](https://github.com/maria-rcks/no-theo-license).
## What the tool does
`named_exclusion_license_generate` accepts named individuals, optional public aliases, document metadata, and an output format. It returns:
- complete draft text;
- a custom `LicenseRef-*` identifier;
- a SHA-256 digest of the exact UTF-8 draft;
- a suggested filename;
- explicit source-available/open-source status; and
- legal and scope warnings.
The tool is pure and stateless. Repeating the same call produces the same bytes and digest. A fresh call with different inputs is handled independently.
## What the tool does not do
It does not write a `LICENSE` file, change a repository, publish, contact anyone, research or enrich an identity, apply terms to software, revoke earlier grants, override statutory exceptions, or relicense third-party material.
Generating a draft is not legal adoption. A rights holder must separately decide whether to use it and should obtain qualified legal review before relying on it.
## Status
A license that excludes a person does not meet criterion 5 of the [Open Source Definition](https://opensource.org/osd). Describe generated terms as **source-available**, not MIT, OSI-approved, SPDX-listed, or open source.
SPDX permits project-defined references such as `LicenseRef-Anyone-But-Sam-Altman-1.0`. Keep the complete custom text discoverable wherever that reference is used.
Enforceability, compatibility, package-registry acceptance, downstream compliance, and jurisdiction-specific effects remain unproven. The exclusion covers only the individuals named by the caller, not their employers, companies, affiliates, relatives, agents, or other people or organizations.
## Requirements
- Node.js 20 or newer
- npm
## Build and verify
```powershell
npm ci
npm run verify
```
Verification covers TypeScript checks, deterministic generation, invalid-input handling, MCP tool metadata, structured output, repeat-call behavior, fresh-call behavior, and a compiled stdio process round trip.
## Run over stdio
```powershell
npm run build
node dist/index.js
```
Standard output is reserved for MCP JSON-RPC. Startup and failure logs go to standard error.
## Configure a local MCP host
Build the repository, then point the host at the compiled entry point. For Codex configuration, use the host's normal MCP settings with an absolute path:
```toml
[mcp_servers.named_exclusion_license]
command = "node"
args = ["C:/path/to/named-exclusion-license-mcp/dist/index.js"]
```
This repository does not install or activate itself in any host.
## Tool input
```json
{
"excluded_parties": [
{
"name": "Sam Altman",
"aliases": []
}
],
"license_name": "The Anyone But Sam Altman License",
"version": "1.0",
"version_date": "August 2026",
"copyright_year": "[year]",
"copyright_holder": "[copyright holder]",
"spdx_id": "LicenseRef-Anyone-But-Sam-Altman-1.0",
"response_format": "markdown"
}
```
The exact resulting draft is stored at [`examples/ANYONE-BUT-SAM-ALTMAN-LICENSE.txt`](examples/ANYONE-BUT-SAM-ALTMAN-LICENSE.txt). Its SHA-256 digest is `a12e3c603489dd1f8d93f0704d12b70e7508d98c7682022b2cb371b1c71b99dd`. It is an example output; it is not applied to this tool or any other project.
## Development
```powershell
npm run check
npm test
npm run build
npm run test:stdio
```
The MCP server uses the current split v2 packages, `@modelcontextprotocol/server` and `@modelcontextprotocol/client`, and serves locally over stdio.
## Repository code license
The MCP implementation is licensed under MIT. Generated named-exclusion drafts are separate documents chosen by the caller; the included Sam Altman draft is not the license of this repository.
See [NOTICE.md](NOTICE.md) for lineage, status, and non-affiliation details.
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessSyncing