USRCP — User Context Protocol
NPM · USRCP · SCANNED SEP 27
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 → Why this is hard to score →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 40 of 154 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency100
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to frank-bot07/usrcp). View diagnostics → Pass
- Clear OSI-approved license (Apache-2.0).Pass
- Actively maintained (last published 15 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability66
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 1876 tokens (~144/item across 13 items; 13 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 Management83
- Stability observed for 25 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage99
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 96% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 13 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 14 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the USRCP — User Context Protocol MCP server?
USRCP — User Context Protocol runs locally as an npm package, launched with npx -y usrcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · usrcp
claude mcp add frank-bot07-usrcp -- npx -y usrcp
{
"mcpServers": {
"frank-bot07-usrcp": {
"command": "npx",
"args": [
"-y",
"usrcp"
]
}
}
} {
"servers": {
"frank-bot07-usrcp": {
"command": "npx",
"args": [
"-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": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"usrcp"
]
}
}
} assistant mcp add frank-bot07-usrcp -t stdio -c npx -a -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.
- 27 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 26 Sept 26 −3
- Stability: pass → 0.80 functional
- 25 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 24 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 22 Sept 26 +1
- Package version: 0.2.6 → 0.2.7 functional
- 20 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 19 Sept 26 −3
- Stability: pass → 0.80 functional
- 18 Sept 26 0
- Stability: 0.97 → pass security
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 27 Sept 2026 · Analysed npm/usrcp@0.2.7
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | frank-bot07/usrcp |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/frank-bot07/usrcp/.github/workflows/publish-extras.yml@refs/heads/main |
| Rekor log index | 2794193116 |
| Predicate type | SLSA build provenance https://slsa.dev/provenance/v1 |
| Subject digest | sha512:2029a6ae36fbc1220a2c09842fb761740ad12ce3daad87397c101c7b989144aa7d1c3f48fa13dc890683adba56e1408243a5af873772725cab72c904e |
Background: How many MCP packages publish verified provenance →
Dependencies 154 packages
| Packages resolved | 154 |
|---|---|
| Stale | 40 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
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. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
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_handoff ~70
Load a concise startup context packet for the human user when switching AI interfaces: relevant projects, facts with review status and recent work. Call at session start and refresh before consequential work; another agent may have updated the plan.
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | – |
| max_chars | integer | – | – |
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.
What is the USRCP — User Context Protocol MCP server?
USRCP — User Context Protocol is an MCP server listed in the public MCP registry as io.github.frank-bot07/usrcp. Encrypted local ledger of structured user state, shared across every MCP-aware AI tool. This page covers its npm package (usrcp).
Is the USRCP — User Context Protocol MCP server safe to use?
USRCP — User Context Protocol scores 91 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 27 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the USRCP — User Context Protocol MCP server expose?
USRCP — User Context Protocol exposes 13 tools: usrcp_handoff, usrcp_get_state, usrcp_append_event, usrcp_update_identity, usrcp_update_preferences, and 8 more. Their descriptions and schemas cost roughly 1,753 tokens of context every time the server is loaded.
Is the USRCP — User Context Protocol MCP server still maintained?
USRCP — User Context Protocol is still listed as active in the MCP registry. We last reached this channel on 27 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the USRCP — User Context Protocol MCP server under?
USRCP — User Context Protocol declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.