Metadata-Version: 2.4
Name: vcp-sdk
Version: 0.6.0
Summary: Value Context Protocol SDK — portable AI ethics validation
Project-URL: Homepage, https://valuecontextprotocol.org
Project-URL: Repository, https://github.com/Creed-Space/vcp-sdk-python
Project-URL: Documentation, https://valuecontextprotocol.org/docs/sdk
Author-email: Creed Space <hello@creed.space>
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: ai,alignment,ethics,safety,values,vcp
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Provides-Extra: dev
Requires-Dist: cryptography>=42.0; extra == 'dev'
Requires-Dist: jsonschema>=4.0; extra == 'dev'
Requires-Dist: mcp>=1.2; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest>=7.0; extra == 'dev'
Requires-Dist: pyyaml>=6.0; extra == 'dev'
Provides-Extra: hub
Requires-Dist: cryptography>=42.0; extra == 'hub'
Requires-Dist: jsonschema>=4.0; extra == 'hub'
Requires-Dist: pyyaml>=6.0; extra == 'hub'
Provides-Extra: jsonschema
Requires-Dist: jsonschema>=4.0; extra == 'jsonschema'
Provides-Extra: mcp
Requires-Dist: mcp>=1.2; extra == 'mcp'
Description-Content-Type: text/markdown

# vcp-sdk

Python SDK for the **Value Context Protocol (VCP)** — portable AI ethics
validation — plus the **Creed Commons** client (`vcp` CLI) for installing
signed value artifacts.

- Protocol and docs: [valuecontextprotocol.org](https://valuecontextprotocol.org)
- Creed Commons registry: [Creed-Space/vcp-hub](https://github.com/Creed-Space/vcp-hub)

## Install

```bash
pip install vcp-sdk            # core SDK (stdlib-only)
pip install "vcp-sdk[hub]"     # + the vcp CLI for Creed Commons
```

## SDK — tokens, CSM1, VCP-Lite

```python
from vcp import Token, CSM1Code, validate_lite

token = Token.parse("family.safe.guide@1.0.0")
code = CSM1Code.parse("N5+F+E")
errors = validate_lite({"vcp_version": "lite-1.0", ...})
```

## Creed Commons — signed value artifacts

Creed Commons distributes constitutions, creeds, and detector configs as
**signed data that a values engine interprets — never executable code**.
Installing an artifact is a signature-verification decision, not a
code-execution one:

```bash
vcp search gaslighting
vcp install creed-space/anti_gaslighting     # verify Ed25519 + sha256 + schema, then write
vcp verify                                    # re-check installed tree against vcp.lock
```

`vcp install` verifies against a trust root **pinned inside this package**
(the registry cannot vouch for itself), pins `name@version` + content sha256 +
the verifying key in `vcp.lock`, and never imports, evals, or executes what it
fetched.

**Community namespaces** are delegated, never a new root: the hub's
`namespace_registry.json` binds each namespace to its publisher's Ed25519 keys
and is itself signed by the pinned root; artifacts must verify against a key
registered to their own namespace. Registration and moderation:
[GOVERNANCE.md](https://github.com/Creed-Space/vcp-hub/blob/main/GOVERNANCE.md).

Trust tiers: `signed` proves integrity and origin, not semantics; `verified`
additionally carries a domain-separated **root counter-signature** (issued
after lint + red-team + human review) that the client checks on install and
on every `vcp verify`.

## MCP Server

<!-- mcp-name: io.github.Creed-Space/vcp-mcp -->

`vcp-mcp` exposes the SDK to any MCP client (Claude Code, Claude Desktop, or
anything else that speaks the protocol). It runs over stdio and is **pure local
computation** — no network calls, no state between calls, no user data read.

```bash
pip install "vcp-sdk[mcp]"
vcp-mcp
```

Claude Desktop / Claude Code config:

```json
{
  "mcpServers": {
    "vcp": {
      "command": "vcp-mcp"
    }
  }
}
```

### Tools

| Tool | What it does |
|---|---|
| `vcp_status` | SDK/spec versions, capabilities, dimension and persona vocabularies |
| `vcp_validate_token` | Parse a VCP/I token into domain / approach / role / version / namespace |
| `vcp_parse_csm1` | Parse a CSM1 code; reports scopes, deprecations, and scope conflicts |
| `vcp_encode_context` | Encode the 18 VCP/A context dimensions to wire, JSON, and session metadata |
| `vcp_validate_lite` | Validate a VCP-Lite document; returns the equivalent CSM1 code and token |
| `vcp_lite_to_csm1` | Convert VCP-Lite persona/adherence/scopes to a CSM1 code |
| `creed_classify_principle` | Map a constitution principle to a Schwartz value; flag circular-model tensions |

Resource `vcp://lite/examples` serves the bundled VCP-Lite example documents.

## Development

```bash
pip install -e ".[dev]"
pytest tests/
```

## License

Apache-2.0. © Creed Space.
