USRCP — User Context Protocol
NPM · USRCP · SCANNED AUG 7
Encrypted local ledger of structured user state, shared across every MCP-aware AI tool.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security93
- No malware found by supply-chain analysis.Pass
- CVE check failed: a known medium-severity CVE affects @hono/node-server 1.19.17, reached via usrcp-local > @modelcontextprotocol/sdk > @hono/node-server. A fixed version is available. View diagnostics → Fail
- No install/post-install scripts declared.Pass
- 39 of 153 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency48
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (Apache-2.0).Pass
- Actively maintained (last published 2 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability63
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 1683 tokens (~140/item across 12 items; 12 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · usrcp
claude mcp add frank-bot07-usrcp -- npx -y usrcp
codex mcp add frank-bot07-usrcp -- npx -y usrcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"frank-bot07-usrcp": {
"type": "local",
"command": [
"npx",
"-y",
"usrcp"
],
"enabled": true
}
}
} openclaw mcp add frank-bot07-usrcp --command npx --arg -y --arg usrcp
mcp_servers:
frank-bot07-usrcp:
command: "npx"
args: ["-y", "usrcp"] {
"mcpServers": {
"frank-bot07-usrcp": {
"command": "npx",
"args": [
"-y",
"usrcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 7 Aug 26 +3
- Security disclosure: fail → pass ▲ functional
- Dependency health: partial → 0.88 functional
- 5 Aug 26 +27
- Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
- MCP protocol: unverified → pass ▲ functional
- Tool coverage: unverified → 100 ▲ functional
- First check of Schema quality: fail functional
- First check of Schema quality: fail functional
- First check of Tool coverage: 100 functional
- First check of Schema quality: good functional
- 4 Aug 26 35
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 7 Aug 2026 · Analysed npm/[email protected]
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Vulnerabilities 1 finding
| ID | CVE | Severity | Vector | Fix available |
|---|---|---|---|---|
| GHSA-frvp-7c67-39w9 | medium | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N | yes |
Dependencies 153 packages
| Packages resolved | 153 |
|---|---|
| Stale | 39 |
| Tree resolution | Complete |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
usrcp_append_event ~220
Record an interaction event to the user's USRCP State Ledger. Call this when a meaningful interaction completes — a task finished, a decision made, a file created, a bug fixed. This builds the user's cross-platform interaction history.
| Name | Type | Req | Description |
|---|---|---|---|
| artifacts | array | – | References to outputs (files, commits, URLs) |
| detail | object | – | Structured detail blob — varies by domain |
| domain | string | yes | Semantic domain: coding, writing, research, design, personal, health, finance, etc. |
| idempotency_key | string | – | Client-generated key to prevent duplicate writes on retry |
| intent | string | yes | What the user was trying to accomplish |
| outcome | string | yes | How the interaction resolved |
| platform | string | – | Platform this event originated from (e.g., 'claude_code', 'cursor') |
| session_id | string | – | Session identifier to group related events |
| summary | string | yes | Concise summary of what happened |
| tags | array | – | Freeform tags for filtering and search |
No output schema declared.
No examples provided.
usrcp_audit_log ~55
View the USRCP audit log — every read, write, search, and delete operation recorded with timestamps, agent identity, and scopes accessed.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Number of audit log entries to retrieve |
No output schema declared.
No examples provided.
usrcp_get_facts ~87
Read schemaless facts. If `key` is provided, returns a single fact; otherwise lists all facts in the domain (optionally filtered by namespace).
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | Domain to read from |
| key | string | – | Optional: fetch a single fact by key (namespace required if set) |
| namespace | string | – | Optional: filter by namespace |
No output schema declared.
No examples provided.
usrcp_get_state ~148
Query the user's identity, preferences, active projects, domain context, and recent interaction timeline from their USRCP State Ledger. Use this at the start of a session to understand who the user is and what they've been working on across all AI platforms.
| Name | Type | Req | Description |
|---|---|---|---|
| caller | string | – | Identifying name of the calling agent/platform |
| scopes | array | – | Which facets of user state to retrieve |
| timeline_domains | array | – | Filter timeline to specific domains (e.g., ['coding', 'writing']) |
| timeline_last_n | number | – | Number of recent timeline events to retrieve |
| timeline_since | string | – | ISO 8601 timestamp — retrieve timeline events after this time |
No output schema declared.
No examples provided.
usrcp_manage_project ~154
Create or update a project in the user's USRCP State Ledger. Projects track what the user is actively working on across platforms.
| Name | Type | Req | Description |
|---|---|---|---|
| caller | string | – | Identifying name of the calling agent/platform |
| domain | string | yes | Project domain (coding, writing, research, etc.) |
| name | string | yes | Human-readable project name |
| project_id | string | yes | Stable handle for the project (the upsert key). Stored as an opaque HMAC — the id itself is never persisted or synced in the clear — so any string is safe. The human-readable title goes in `name`. |
| status | string | – | Project status |
| summary | string | yes | Brief project description or current state |
No output schema declared.
No examples provided.
usrcp_rotate_key ~221
Rotate the master encryption key. IRREVERSIBLE: replaces the on-disk master key and re-encrypts every row. DO NOT call this on your own initiative — only when the user has explicitly asked to rotate, or to respond to a confirmed key-compromise event. Rate-limited to once per 24h by default; rows that fail MAC verification under the current key are NOT silently dropped (the call will return an error and refuse to advance unless force_skip_damaged=true).
| Name | Type | Req | Description |
|---|---|---|---|
| force_rate_limit | boolean | – | Bypass the 24h rate limit (USRCP_ROTATE_KEY_MIN_INTERVAL_HOURS). Set true only when the user has explicitly asked to rotate again sooner. |
| force_skip_damaged | boolean | – | Proceed even when rows fail to decrypt under the current key. Those rows become permanently unreadable. Set true only after taking a snapshot and confirming the data loss is acceptable. |
| new_passphrase | string | – | New passphrase for key derivation. If omitted, generates a random key (dev mode). |
No output schema declared.
No examples provided.
usrcp_search_timeline ~88
Search the user's interaction timeline by keyword. Useful for finding past interactions, decisions, or context about specific topics.
| Name | Type | Req | Description |
|---|---|---|---|
| caller | string | – | Identifying name of the calling agent/platform |
| domain | string | – | Filter to a specific domain |
| limit | number | – | Max results |
| query | string | yes | Search query — matches against summary, intent, and tags |
No output schema declared.
No examples provided.
usrcp_set_fact ~204
Store a free-form fact in a domain namespace. Use for data the fixed schema doesn't model (habits, relationships, recurring tasks, mood, goals, etc.). Upserts one row per (domain, namespace, key) — re-calling with the same key overwrites. All values are encrypted with the domain-scoped key.
| Name | Type | Req | Description |
|---|---|---|---|
| caller | string | – | Identifying name of the calling agent/platform |
| domain | string | yes | Semantic domain (coding, personal, health, etc.) |
| expected_version | integer | – | Optional: version from a prior read (0 = fact does not yet exist). If the stored version differs, the write is rejected with VERSION_CONFLICT. |
| key | string | yes | Key within the namespace (e.g., 'morning_routine') |
| namespace | string | yes | Namespace within the domain (e.g., 'habits', 'relationships') |
| value | – | yes | Free-form value — any JSON-serializable data |
No output schema declared.
No examples provided.
usrcp_status ~33
Get the status and statistics of the local USRCP ledger — total events, domains, platforms, and projects.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
usrcp_update_domain_context ~169
Store or update domain-scoped context in the USRCP State Ledger. Use this to persist domain-specific knowledge that should be available to any agent working in that domain (e.g., coding preferences, writing style notes, research topics).
| Name | Type | Req | Description |
|---|---|---|---|
| caller | string | – | Identifying name of the calling agent/platform |
| context | object | yes | Key-value context to merge into the domain (e.g., { preferred_framework: 'nextjs', css: 'tailwind' }) |
| domain | string | yes | Domain name (e.g., 'coding', 'writing', 'research', 'design') |
| expected_version | integer | – | Optional: version from a prior read (0 = domain does not yet exist). If the stored version differs, the update is rejected with VERSION_CONFLICT. |
No output schema declared.
No examples provided.
usrcp_update_identity ~159
Update the user's core identity in the USRCP State Ledger. Use when you learn new information about the user — their role, expertise, or communication preferences.
| Name | Type | Req | Description |
|---|---|---|---|
| caller | string | – | Identifying name of the calling agent/platform |
| communication_style | string | – | How the user prefers AI to communicate |
| display_name | string | – | User's display name |
| expected_version | integer | – | Optional: version from a prior read. If the stored version differs, the update is rejected with VERSION_CONFLICT. Use for read-modify-write flows. |
| expertise_domains | array | – | User's expertise areas and levels |
| roles | array | – | User's roles (e.g., ['founder', 'software_engineer']) |
No output schema declared.
No examples provided.
usrcp_update_preferences ~145
Update the user's global preferences in the USRCP State Ledger. These preferences apply across all AI platforms.
| Name | Type | Req | Description |
|---|---|---|---|
| caller | string | – | Identifying name of the calling agent/platform |
| custom | object | – | Custom key-value preferences |
| expected_version | integer | – | Optional: version from a prior read. If the stored version differs, the update is rejected with VERSION_CONFLICT. |
| language | string | – | Preferred language code (e.g., 'en') |
| output_format | string | – | Preferred output format |
| timezone | string | – | IANA timezone (e.g., 'America/Los_Angeles') |
| verbosity | string | – | Preferred verbosity level |
No output schema declared.
No examples provided.