{
"_meta": {
"io.modelcontextprotocol.registry/official": {
"status": "active",
"isLatest": true,
"updatedAt": "2026-08-24T17:25:50.943071Z",
"publishedAt": "2026-08-24T17:25:50.943071Z",
"statusChangedAt": "2026-08-24T17:25:50.943071Z"
}
},
"server": {
"name": "com.grafomem/cgr-capture",
"title": "GRAFOMEM CGR Capture",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"version": "0.1.0",
"packages": [
{
"version": "0.1.0",
"transport": {
"type": "stdio"
},
"identifier": "grafomem-cgr",
"runtimeHint": "uvx",
"registryType": "pypi",
"registryBaseUrl": "https://pypi.org",
"environmentVariables": [
{
"name": "GRAFOMEM_CGR_TENANT_KEY",
"isSecret": true,
"isRequired": true,
"description": "Your GRAFOMEM Cloud tenant API key (X-API-Key). Needs decisions:read for the durability guard."
},
{
"name": "GRAFOMEM_CGR_TENANT",
"isRequired": true,
"description": "The tenant id you expect that key to resolve to. If the key resolves to any other tenant, every write is refused."
},
{
"name": "GRAFOMEM_CGR_ROLE_KEYS_JSON",
"description": "Role handles to public agent_key (64-hex Ed25519), inline as JSON. Example: {\"cc-builder@acme\":\"<64-hex>\"}. Use this or GRAFOMEM_CGR_ROLE_KEYS."
},
{
"name": "GRAFOMEM_CGR_ROLE_KEYS",
"format": "filepath",
"description": "Path to a JSON file with the same role-handle to public agent_key mapping. Use this or GRAFOMEM_CGR_ROLE_KEYS_JSON."
},
{
"name": "GRAFOMEM_CGR_FORBIDDEN_TENANTS",
"description": "Comma-separated tenant ids to always refuse, even if pinned by mistake. Put your production tenant here."
},
{
"name": "GRAFOMEM_API",
"default": "https://api.grafomem.com",
"description": "GRAFOMEM Cloud base URL. Defaults to https://api.grafomem.com."
}
]
}
],
"repository": {
"url": "https://github.com/GNS-Foundation/grafomem",
"source": "github",
"subfolder": "packages/grafomem-cgr"
},
"websiteUrl": "https://grafomem.com",
"description": "Record agent judgments and their real outcomes on GRAFOMEM Cloud. Capture now, score later."
}
}