On Board
PYPI · ONBOARD-MEMORY-MCP · SCANNED SEP 21
Cross-platform shared memory and ticket coordination for AI agents across MCP clients.
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 Security50
- Malware scan not yet available for this package.Unverified
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs hatchling.build at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
- 0 of 29 dependencies flagged as unhealthy. View diagnostics → Pass
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 49 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability83
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 1604 tokens (~53/item across 30 items; 30 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management87
- Stability observed for 26 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage71
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 0% of tool parameters carry a description.Fail
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 30 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 On Board MCP server?
On Board runs locally as a PyPI package, launched with uvx onboard-memory-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · onboard-memory-mcp
claude mcp add swisspra-on-board -- uvx onboard-memory-mcp
{
"mcpServers": {
"swisspra-on-board": {
"command": "uvx",
"args": [
"onboard-memory-mcp"
]
}
}
} {
"servers": {
"swisspra-on-board": {
"command": "uvx",
"args": [
"onboard-memory-mcp"
]
}
}
} codex mcp add swisspra-on-board -- uvx onboard-memory-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"swisspra-on-board": {
"type": "local",
"command": [
"uvx",
"onboard-memory-mcp"
],
"enabled": true
}
}
} openclaw mcp add swisspra-on-board --command uvx --arg onboard-memory-mcp
mcp_servers:
swisspra-on-board:
command: "uvx"
args: ["onboard-memory-mcp"] {
"McpServers": {
"swisspra-on-board": {
"Transport": "stdio",
"Command": "uvx",
"Arguments": [
"onboard-memory-mcp"
]
}
}
} assistant mcp add swisspra-on-board -t stdio -c uvx -a onboard-memory-mcp
{
"mcpServers": {
"swisspra-on-board": {
"command": "uvx",
"args": [
"onboard-memory-mcp"
]
}
}
} 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.
- 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
- 17 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.
- 15 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.
- 13 Sept 26 −14
- Malware scan: pass → unverified ▼ security
- 12 Sept 26 +12
- Malware scan: unverified → pass ▲ security
- Stability: pass → 0.80 functional
- 11 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 21 Sept 2026 · Analysed pypi/onboard-memory-mcp@4.0.4
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | hatchling.build |
Background: Why install scripts are a supply-chain risk →
Dependencies 29 packages
| Packages resolved | 29 |
|---|---|
| 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 →
memory_agent_join ~51
Register as an active agent. Multiple active agents may share a platform. Use ticket claims and roles to prevent work collisions. Your agent_name is stamped on EVERY write for traceability.
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
memory_bootstrap ~108
Bootstrap .agent-mem/ for an EXISTING project by auto-scanning the codebase. Reads: README, git log, directory structure, package configs. Seeds memory with: project context, tech stack, recent history, structure, warnings. Use this instead of memory_init when joining an existing project for the first time. After bootstrap, the next agent gets full context without you manually typing everything. Returns: str: Bootstrap summary with what was discovered and seeded.
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
memory_cancel_ticket ~56
Cancel a ticket. Creator, claimed agent, active main/reviewer, or any onboarded agent when creator is unavailable.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_name | string | yes | – |
| reason | string | – | – |
| ticket_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
memory_checkpoint ~38
Full state checkpoint. Do every 10-15 min or before risky ops. Saves both as memory entry AND standalone file.
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
memory_claim_ticket ~44
Claim an open ticket (sets to claimed). Call again on a claimed ticket to advance to in_progress (e.g. when spawning a subagent).
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
memory_compact ~147
Compact old memories into compressed digests to save tokens. How it works: 1. Splits memories into HOT (recent/pinned) and COLD (old) 2. Groups cold entries by agent session 3. Compresses each group into a local digest 4. Archives raw cold entries to archive.json 5. Keeps only hot entries in memories.json + adds digest references Token savings: typically 60-80% reduction on old entries. Config via env vars: - AGENT_MEM_HOT_HOURS: hours to keep full detail (default: 24) - AGENT_MEM_MAX_HOT: max hot entries (default: 50)
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
memory_context_dirs ~74
List all configured external context/info directories and their files. Context dirs are set via AGENT_MEM_CONTEXT_DIRS env var (colon-separated paths). These folders contain reference docs, specs, shared info that agents should know about but live outside the project folder. Returns: str: List of context dirs and their contents.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
memory_context_read ~61
Read a file from the external context directories. Searches all configured AGENT_MEM_CONTEXT_DIRS for the filename. Use memory_context_dirs to list available files first. Returns: str: File content (truncated to max_chars).
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
memory_create_ticket ~83
Create a ticket requesting help from another agent. Ticket is saved as .md file in tickets/ (open queue). Assign to a specific agent/platform or leave open for anyone. Examples: - PM needs coder: assigned_to="cursor" - Coder needs review: assigned_to="claude" - Anyone can pick up: assigned_to=None
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
memory_doctor ~19
Check project-local On Board setup without changing files.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
memory_get_briefing ~80
CALL THIS FIRST. Token-aware briefing with workflow modes. Loads: hot memories (full detail) + warm digests (compressed history). Use mode='brief' for handoff-first catchup, 'normal' for default onboarding, 'deep' for broad context, or 'handoff-only' for fast task transfer.
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
memory_handoff ~29
Formal handoff. ALWAYS call before leaving. Next agent sees this first.
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
memory_init ~34
Initialize .agent-mem/ in the project root. Call once per project. Safe to re-call.
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
memory_links ~27
Show ticket, file, agent, and tag relationships across memory entries.
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
memory_list_tickets ~33
List tickets. Shows open/in_progress/in_review by default. Use include_closed for history.
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
memory_onboard ~30
Compact session entrypoint: join, collision-check, and show current working context.
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
memory_prepare_compaction ~166
Returns cold entries grouped by agent session — ready for YOU to summarize. Read the returned entries, write your own digest with memory_write(memory_type='context'). Digests are read ONLY by agents: write them in compressed English (token-thrift) — facts, decisions, file paths; no prose. Code/paths/IDs stay verbatim. then run memory_compact() to archive the originals. Workflow: 1. Call memory_prepare_compaction() → get grouped cold entries 2. Read and summarize them yourself 3. Call memory_write(memory_type='context', title='Digest: ...', content='your summary') 4. Call memory_compact() → archives cold entries, keeps your digest Returns: str: Cold entries grouped by agent, with token counts.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
memory_read ~28
Read memories with filters. Filter by agent_name to trace who wrote what.
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
memory_review_ticket ~54
Review a submitted ticket. Approve → closed/ or Reject → rejected/. On approve: moves ticket + submission to closed/ On reject: moves to rejected/ + creates rejection note with fix instructions.
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
memory_search ~22
Search across all memories with local relevance ranking.
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
memory_search_archive ~39
Search the cold archive (compacted entries). Use when you need old details that were compressed out of the hot memory.
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
memory_search_vector ~27
Optional vector-style search. Disabled by default; JSON remains canonical.
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
memory_status ~12
Quick status dashboard.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
memory_submit_ticket ~52
Submit completed work on a ticket for review. Creates a submission report in tickets/review/ and moves ticket to review status. Another agent (reviewer/PM) will approve or reject.
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
memory_terminate_ticket ~50
Forcefully terminate a ticket at any stage. Creator or active main/reviewer only.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_name | string | yes | – |
| reason | string | – | – |
| ticket_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
memory_token_usage ~36
Show token usage breakdown and recommend compaction if needed. Returns token estimates for: hot memories, digests, archive, briefing output.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
memory_unpin ~27
Unpin a memory without deleting it, preserving the audit record.
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
memory_update_state ~26
Update shared key-value state. Stamped with agent_name.
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
memory_wait_for_event ~128
Park until another agent acts, then return everything pending. The listening half of On Board. Instead of a human relaying messages, an agent blocks here until a peer creates a ticket, changes a status, or assigns work. Returns instantly if events piled up since your last call, so re-arming after a gap costs one call rather than an empty wake. One wake drains the whole queue. You never wake on your own actions. Re-arm by calling it again — the cursor is stored per agent, so you carry no bookkeeping.
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
memory_write ~23
Write a memory entry stamped with your agent_name.
| Name | Type | Req | Description |
|---|---|---|---|
| params | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
What is the On Board MCP server?
On Board is an MCP server listed in the public MCP registry as io.github.swisspra/On_Board. Cross-platform shared memory and ticket coordination for AI agents across MCP clients. This page covers its PyPI package (onboard-memory-mcp).
Is the On Board MCP server safe to use?
On Board scores 67 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 21 September 2026. 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 On Board MCP server expose?
On Board exposes 30 tools: memory_init, memory_agent_join, memory_onboard, memory_write, memory_unpin, and 25 more. Their descriptions and schemas cost roughly 1,604 tokens of context every time the server is loaded.
Is the On Board MCP server still maintained?
On Board is still listed as active in the MCP registry. We last reached this channel on 21 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 On Board MCP server under?
On Board 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.