关于 vcp-mcp
vcp-mcp 是用于 VCP 协议操作的本地计算 MCP 服务,面向需要验证令牌和上下文文档或编码上下文的客户端。它提供旧版 vcp-sdk 的能力,不进行网络调用,且请求之间不保留状态。
主要功能
- 01解析 VCP/I 令牌和 CSM1 代码
- 02编码 VCP/A 上下文维度
- 03验证 VCP-Lite 文档并转换为 CSM1
- 04将原则归类到 Schwartz 价值观
- 05提供内置的 VCP-Lite 示例文档
适用场景
- 01在 MCP 客户端中验证 VCP 令牌或 CSM1 代码
- 02检查 VCP-Lite 文档并获取对应代码
- 03为线缆格式、JSON 或会话元数据编码上下文
- 04查阅内置的 VCP-Lite 示例
MCP 相关
将 SDK 协议操作作为 MCP 工具提供,并公开 `vcp://lite/examples` 资源。默认使用 stdio,也支持无状态 Streamable HTTP 传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
vcp-sdk
价值上下文协议(VCP) 的 Python SDK,可用于可移植的 AI 伦理验证;此外还提供 Creed Commons 客户端(vcp CLI),用于安装签名价值制品。
- 协议和文档:valuecontextprotocol.org
- Creed Commons 注册表:Creed-Space/vcp-hub
旧版发行版状态
此存储库提供旧版独立发行版 vcp-sdk 0.8.0,可从
PyPI 获取,并在 MCP Registry 中提供
io.github.Creed-Space/vcp-mcp 0.8.0 服务条目。它与项目维护的 VCP-SDK
相互独立,并非项目维护的 VCP-SDK。若要直接审查并运行此源代码,请选择并验证一个确切的提交,然后安装该代码检出版本:
git checkout --detach <reviewed-vcp-sdk-python-commit>
python -m pip install .
python -m pip install ".[hub]" # include the Creed Commons CLI dependencies
此候选版本与项目维护的 VCP-SDK 都使用 vcp Python
导入命名空间。请将它们安装在不同的虚拟环境中。不支持将二者安装到同一环境中,因为一个发行版可能会替换另一个发行版的模块。
SDK — 令牌、CSM1、VCP-Lite
from vcp import Token, CSM1Code, validate_lite
token = Token.parse("[email protected]")
code = CSM1Code.parse("N5+F+E")
identity = {"domain": "family", "approach": "safe", "role": "guide"}
document = {"vcp_version": "lite-1.0", "identity": identity, "persona": "nanny", "adherence": 5, "scopes": ["F"]}
errors = validate_lite(document)
CSM1Code.encode()(以及 str(code))会生成作用域按排序排列的规范形式
(N5+F+E 编码为 N5+E+F),与项目维护的
VCP-SDK 和规范 §2.10.1 保持一致;to_nano()/to_micro() 会保留输入顺序。
Token.parse 也接受 creed:// 和 vcp:// URI,并将其规范化为
规范形式;这比参考 SDK 的范围更广,参考 SDK 的 parse 只接受裸令牌语法。
Creed Commons — 签名价值制品
Creed Commons 将章程、信条和检测器配置作为由价值引擎解释的签名数据分发——绝非可执行代码。 安装制品是一个签名验证决策,而不是代码执行决策:
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 会根据固定在此软件包内的信任根进行验证
(注册表无法为自己背书),将 name@version、内容 sha256
和用于验证的密钥固定记录在 vcp.lock 中,并且绝不会导入、求值或执行获取的内容。
社区命名空间采用委派方式,不会创建新的根:hub 的
namespace_registry.json 会将每个命名空间绑定到其发布者的 Ed25519 密钥,
且该文件本身由固定的根签名;制品必须通过注册到其所属命名空间的密钥验证。注册和审核流程:
GOVERNANCE.md。
信任等级:signed 可证明完整性和来源,但不证明语义;verified
还包含经过域分离的根联合签名(在 lint、红队测试和人工审查后签发),客户端会在安装时以及每次执行 vcp verify 时检查该签名。
CLI — 协议操作
除了 Creed Commons 命令外,vcp 还可直接运行协议操作。
这些操作调用与 MCP 工具相同的函数,因此脚本化 CLI 输出和 MCP 工具输出包含相同字段。
vcp token validate [email protected] # parse a VCP/I token
vcp token parse N5+F+E # parse a CSM1 code
vcp lite validate agent.json # validate a VCP-Lite document
vcp lite to-csm1 agent.json # VCP-Lite document -> CSM1 code
vcp encode --space office --agency peer # context -> VCP/A wire format
vcp classify "Never endanger a child" # principle -> Schwartz value
vcp status # versions, capabilities, vocabularies
默认以 JSON 格式输出。--quiet 只打印命令所关注的值,便于在 shell 中使用:
$ vcp lite to-csm1 agent.json --quiet
N5+E+F
$ vcp encode --space office --constraints legal --constraints time --quiet
📍🏢|🔒⚖️⏱️
validate/parse 命令在有效时以状态码 0 退出,无效时以状态码 1 退出,因此可用作 CI 门禁:
vcp lite validate agent.json --quiet || exit 1
vcp encode 为每个上下文维度提供一个标志(--space、--agency、--cognitive-state,等等);--company 和 --constraints 可重复指定多个值,每个个人维度也都有对应的 --<dim>-intensity(1-5)。运行 vcp encode --help 查看完整列表。
MCP 服务
vcp-mcp 可向任意 MCP 客户端(Claude Code、Claude Desktop 或任何支持该协议的客户端)提供 SDK。默认通过 stdio 运行,且完全在本地计算——不会发起网络调用,不会在调用之间保留状态,也不会读取用户数据。
python -m pip install ".[mcp]"
vcp-mcp
Claude Desktop / Claude Code 配置:
{
"mcpServers": {
"vcp": {
"command": "vcp-mcp"
}
}
}
工具
| 工具 | 功能 |
|---|---|
vcp_status | SDK/规范版本、能力、维度和角色词汇表 |
vcp_validate_token | 将 VCP/I 令牌解析为 domain / approach / role / version / namespace |
vcp_parse_csm1 | 将 CSM1 代码解析为角色 / adherence / scopes / namespace / version(拒绝冲突或已弃用的 scopes) |
vcp_encode_context | 将 18 个 VCP/A 上下文维度编码为 wire、JSON 和会话元数据 |
vcp_validate_lite | 验证 VCP-Lite 文档;返回等效的 CSM1 代码和令牌 |
vcp_lite_to_csm1 | 将 VCP-Lite 角色/adherence/scopes 转换为 CSM1 代码 |
creed_classify_principle | 将宪章原则映射到 Schwartz 价值观;标记循环模型中的张力 |
资源 vcp://lite/examples 提供捆绑的 VCP-Lite 示例文档。
HTTP 传输
对于托管部署,vcp-mcp 也支持 Streamable HTTP:
vcp-mcp --transport http --port 8080 # binds 127.0.0.1, endpoint /mcp
--port 默认依次使用 $PORT,然后是 8080。端点以无状态模式运行(每个请求都会创建新的传输),因此网关可以将任意请求路由到任意副本。仅提供 POST /mcp — 否则 GET 会让每个连接都保持空闲事件流打开,因此会通过规范的 JSON-RPC 405 响应拒绝该请求。GET /health 端点返回 {"status": "ok"}。
服务没有身份验证,因此若要绑定到回环地址之外的地址,必须显式选择启用:
VCP_MCP_ALLOW_INSECURE_HTTP=true vcp-mcp --transport http --host 0.0.0.0
仅当网关或反向代理位于服务前端并处理客户端身份验证,或你有意将其作为公开、未经身份验证的无状态计算端点运行时,才设置此项(本仓库中的 render.yaml 即如此)。后一种情况下,请在其前方设置速率限制/WAF:暴露带来的风险是付费计算资源遭到滥用,而非数据泄露,因为服务不保存状态,也不读取任何内容。
开发
pip install -e ".[dev]"
pytest tests/
许可证
Apache-2.0。© Creed Space。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。