TeamShared
REMOTE · TEAMSHARED.COM · SCANNED AUG 20
Shared memory for coding agents. Stop re-explaining your codebase every session.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 94 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability81
- AI-judged instruction clarity (excellent).Pass
- Tool/resource definitions use about 9495 tokens (~101/item across 94 items; 94 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management3
- Stability observed for 1 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
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
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.
remote · teamshared.com
claude mcp add --transport http xhad-teamshared https://teamshared.com/mcp
[mcp_servers.xhad-teamshared] url = "https://teamshared.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"xhad-teamshared": {
"type": "remote",
"url": "https://teamshared.com/mcp",
"enabled": true
}
}
} openclaw mcp add xhad-teamshared --url https://teamshared.com/mcp --transport streamable-http
mcp_servers:
xhad-teamshared:
url: "https://teamshared.com/mcp" {
"mcpServers": {
"xhad-teamshared": {
"type": "http",
"url": "https://teamshared.com/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
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 Aug 26 0
- Stability: unverified → 0.03 ▲ functional
- 19 Aug 26 +28
- Authorization: pass → unverified ▼ security
- Transport: unverified → pass ▲ security
- MCP protocol: unverified → pass ▲ functional
- Tool coverage: unverified → 100 ▲ functional
- First check of Schema quality: fail functional
- First check of Tool coverage: 96 functional
- First check of Schema quality: excellent functional
- First check of Schema quality: pass functional
- First check of Tool coverage: 100 functional
- 18 Aug 26 36
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 20 Aug 2026 · Probed https://teamshared.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=teamshared.com | CN=YE1,O=Let's Encrypt,C=US | 26 Jul 2026 | 24 Oct 2026 | ECDSA 256 | ECDSA-SHA384 | 6699bbff861f15e784c6443771bd36658bb |
| SANs: *.teamshared.com, teamshared.com | ||||||
| CN=YE1,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 5ddd70dd31f801c85c186a7a04b80afe |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
DNSSEC insecure
Validation of teamshared.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| teamshared.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://teamshared.com/mcp | Verified | 200 | |
| http (plaintext) | http://teamshared.com/mcp | HTTPS enforced | 301 | https://teamshared.com/mcp |
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.
context_commit ~251
Turn-end batch: assistant summary + durable writes + optional close. One call replaces the end-of-turn memory_session_append + memory_remember (+ memory_session_close + memory_state_set) sequence. The append self-heals expired sessions; the response's ``session_id`` is authoritative. Returns ``{session_id, turn_count, reopened, memories, closed}``.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | – | – | Override agent identity |
| close | boolean | – | Close the session (queueing distillation) and clear the state pointer. Pass true when the task is done or the user says goodbye. |
| facts | – | – | Durable memories to write in the same call: [{"content": "...", "kind": "fact|preference|event|note", "subject": "...", "tags": [...]}]. Only include things still true next week. |
| github | – | – | GitHub owner/repo tag for the facts. |
| repo | – | – | Workspace slug; scopes fact tags and the state pointer. |
| session_id | – | – | Working-memory session to commit to. Omit to resolve it from the conversation/active-session state pointer (requires repo). |
| summary | string | yes | Faithful summary of your reply — appended as the assistant turn. |
Structured output declared, but exposes no named fields.
No examples provided.
context_compress ~108
Compress a prompt payload before it reaches an LLM. Shrinks JSON tool outputs, logs, and long text using SmartCrusher-lite sampling. Originals are stored in CCR (Redis) with ``ref=`` markers for ``context_retrieve``. Always runs; tune thresholds via ``TEAMSHARED_COMPRESS_*``.
| Name | Type | Req | Description |
|---|---|---|---|
| messages | array | yes | OpenAI-style chat messages to compress before sending to an LLM. User messages are preserved; long tool/assistant/system blocks shrink. |
Structured output declared, but exposes no named fields.
No examples provided.
context_normalize ~103
Strip, clean, and compress a non-teamshared tool output for agent context. Trims recall-style payloads, shrinks large JSON/logs, and stores originals in CCR when compressed. Prefer letting MCP middleware handle teamshared tools automatically; call this for Shell, Grep, or other harness tools.
| Name | Type | Req | Description |
|---|---|---|---|
| output | string | yes | Raw tool output string (usually JSON). |
| tool_name | string | yes | Name of the tool whose output you are trimming. |
Structured output declared, but exposes no named fields.
No examples provided.
context_prepare ~222
Pre-LLM pipeline: session append → compress incoming history → enrich. Returns compressed ``messages``, optional ``additional_context`` (org memory), ``session_id``, and ``stats``. Use before sending a turn to your LLM when you want teamshared to shrink tool bloat and inject recall. Server-side MCP middleware already normalizes teamshared tool responses; this covers the rest of the prompt.
| Name | Type | Req | Description |
|---|---|---|---|
| append_session | boolean | – | Append the latest user message to the working session. |
| enrich | boolean | – | Assemble org memory and append as `additional_context`. |
| github | – | – | GitHub `owner/repo` for scoped recall enrichment. |
| messages | – | – | OpenAI-style chat messages to run through the pre-LLM pipeline. Provide this or `prompt`. |
| prompt | – | – | Latest user prompt when you do not have full message history. |
| repo | – | – | Workspace slug for scoped recall enrichment. |
| session_id | – | – | Working-memory session to append the user turn to. |
| token_budget | – | – | Soft token cap for assembled context. |
Structured output declared, but exposes no named fields.
No examples provided.
context_retrieve ~40
Retrieve the original content for a compressed block via CCR ref.
| Name | Type | Req | Description |
|---|---|---|---|
| ref | string | yes | CCR ref from a compressed message (ref=ccr_...) |
Structured output declared, but exposes no named fields.
No examples provided.
file_archive ~71
Archive a shared file (excluded from active lists) and clean up its bucket mirror (if published). Archived files are retained with full version history for audit; the public ``/s/{share_token}`` route returns 404 for an archived file.
| Name | Type | Req | Description |
|---|---|---|---|
| file_id | string | yes | File UUID to archive |
Structured output declared, but exposes no named fields.
No examples provided.
file_create ~121
Create a new versioned shared file in the caller's org. Shared files default to private. Call ``file_publish`` to generate the public share URL (``/s/{share_token}``). Each ``file_update`` creates a new immutable version row.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | – | – | Override agent identity |
| content | string | yes | File body (markdown or raw HTML) |
| content_format | string | – | 'markdown' (rendered through the allowlist sanitizer) or 'html' (sanitized raw HTML) |
| title | string | yes | File title |
Structured output declared, but exposes no named fields.
No examples provided.
file_get ~50
Fetch a shared file with its latest version content. Includes ``public_url`` (the ``/s/{slug}`` link) when the file is published.
| Name | Type | Req | Description |
|---|---|---|---|
| file_id | string | yes | File UUID |
Structured output declared, but exposes no named fields.
No examples provided.
file_list ~122
List active shared files in the caller's org, newest update first. Each file includes ``public_url`` (the ``/s/{slug}`` link, or ``/s/{share_token}`` if no slug) when published, plus ``slug`` and ``share_token``. Use ``query`` to find a file by title without listing everything — e.g. ``file_list(query="yield vault")``.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| query | – | – | Optional case-insensitive title substring to filter by, e.g. 'yield vault' |
Structured output declared, but exposes no named fields.
No examples provided.
file_publish ~104
Publish a shared file: generate the public share token + slug and URL. Idempotent: returns the existing token/slug if already published. The latest rendered HTML is eagerly pushed to the Railway bucket. The public URL is ``/s/{slug}`` (human-readable, from the title) with ``/s/{share_token}`` as a fallback; both are returned in the response.
| Name | Type | Req | Description |
|---|---|---|---|
| file_id | string | yes | File UUID to publish |
Structured output declared, but exposes no named fields.
No examples provided.
file_unpublish ~65
Revoke public access to a shared file (visibility back to private). The share token is retained for audit; the public route returns 404. Best-effort removes the mirrored objects from the Railway bucket.
| Name | Type | Req | Description |
|---|---|---|---|
| file_id | string | yes | File UUID to unpublish |
Structured output declared, but exposes no named fields.
No examples provided.
file_update ~109
Append a new version to an existing shared file (version = prior max + 1). If the file is published, the new version is eagerly mirrored to the Railway bucket. Old versions are never mutated.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | – | – | Override agent identity |
| content | string | yes | New file body (markdown or raw HTML) |
| content_format | – | – | Override content format ('markdown' or 'html'); defaults to the file's current format |
| file_id | string | yes | File UUID to update |
Structured output declared, but exposes no named fields.
No examples provided.
file_upload_request ~383
Get a one-time uploader script to push a local file into a shared file. For large local HTML/Markdown files that don't fit inline in ``file_create``/``file_update``. Returns ``upload_url``, ``upload_token``, an ``expires_in_seconds`` TTL, and a self-deleting Python ``script``. Save the script to disk and run ``python3 upload.py /path/to/file``; it reads the file, POSTs it to the server with the one-time token, prints the resulting file id (and public URL if ``publish=true``), and deletes itself on success. The token is single-use and expires in ~10 min. **Update mode:** pass ``file_id`` to append the uploaded body as a new version to an existing shared file (the title is ignored; the existing file's title/slug/share_token are preserved, and the bucket mirror is re-published to the new version when the file is already published). This is the supported way to push a new version of a large file.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | – | – | Override agent identity |
| content_format | string | – | 'html', 'markdown', or 'auto' (sniff from the file extension) |
| file_id | – | – | Existing file UUID to append a new version to (update mode). Omit to create a new file. |
| filename | – | – | Optional filename (used for format sniffing and as the script's default path) |
| publish | boolean | – | If true, the file is published immediately (returns public URLs). In update mode this is idempotent if already published. |
| title | string | yes | File title (used only when creating a new file; ignored in update mode) |
| upload_base_url | – | – | Optional server origin (e.g. https://teamshared.com). Defaults to settings.public_url. |
Structured output declared, but exposes no named fields.
No examples provided.
file_version_delete ~137
Delete a single version of a shared file (destructive, irreversible). Refuses to delete the only remaining version. If the deleted version was the current (latest) one, ``current_version`` is bumped back to the new max and -- when the file is published -- the bucket mirror is re-published to that new current version so the public ``/s/{slug}`` route stays consistent. Returns ``deleted``, ``current_version_changed``, and the updated ``file``.
| Name | Type | Req | Description |
|---|---|---|---|
| file_id | string | yes | File UUID the version belongs to |
| version | integer | yes | Version number to delete |
Structured output declared, but exposes no named fields.
No examples provided.
health ~107
Liveness + dependency probe. Returns ``{"status", "version", "components": {server, redis, postgres, semantic, distiller, graph, ollama}}``. ``semantic`` is the pgvector + embedder store (post-Mem0). Optional deps report ``"disabled"`` when off and do not degrade overall status. Always cheap; safe to poll on a 10s interval. Used by Docker healthcheck and the ``/health`` HTTP route.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
integration_list ~87
List the Gmail/Slack/Discord integrations this caller may use. Returns each connection's id, kind, name, status, and owning account. Only your own OAuth connections and shared org-scoped connectors are listed — other people's personal connections are not usable by you and are omitted. Use this to discover which integration a ``integration_search`` / ``integration_send`` call should target.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
integration_read ~136
Fetch one message/thread from your connected Gmail/Slack/Discord account. Also ingests the message body as a semantic memory (source='connector'). Content from a personal connection is stored private to its owner; content from a shared org-scoped connector lands in the shared brain.
| Name | Type | Req | Description |
|---|---|---|---|
| connector_id | – | – | Specific connection id from integration_list; defaults to your own |
| kind | string | yes | Integration kind: 'gmail', 'slack', or 'discord' |
| message_id | string | yes | Message id (Gmail) or 'channel:ts' (Slack) or 'channel_id:message_id' (Discord) to fetch |
Structured output declared, but exposes no named fields.
No examples provided.
integration_search ~138
Live-search your connected Gmail/Slack/Discord account (not memory recall). Returns raw hits from the provider (message id, snippet, from/subject for Gmail; text + channel for Slack/Discord). Reads do not ingest; use ``integration_read`` to fetch + persist a message for future recall.
| Name | Type | Req | Description |
|---|---|---|---|
| connector_id | – | – | Specific connection id from integration_list; defaults to your own |
| k | integer | – | Max results |
| kind | string | yes | Integration kind: 'gmail', 'slack', or 'discord' |
| query | string | yes | Search query (Gmail search syntax, Slack/Discord text filter) |
Structured output declared, but exposes no named fields.
No examples provided.
integration_send ~190
Send an email (gmail) or post a Slack/Discord message as *your* connected account. Only your own connections (and shared org-scoped connectors) can be used; you can never send as another person. The outgoing action is audited and logged as an episodic timeline event.
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | yes | Message body / text to send |
| channel | – | – | Slack/Discord channel name/id; defaults to connector config |
| connector_id | – | – | Specific connection id from integration_list; defaults to your own |
| kind | string | yes | Integration kind: 'gmail', 'slack', or 'discord' |
| subject | – | – | Email subject (gmail only) |
| thread_id | – | – | Gmail threadId to reply in (gmail only) |
| thread_ts | – | – | Slack parent message ts, or Discord thread channel id, for a reply |
| to | – | – | Recipient email (gmail only) |
Structured output declared, but exposes no named fields.
No examples provided.
mcp_auth ~248
Sign this MCP session in with email + OTP (cloud agents / headless). Cursor desktop Connect (browser OAuth) is preferred when available. Cloud agents do not get a host ``mcp_auth`` helper — call this tool instead: 1. ``mcp_auth(email="you@example.com")`` — we email a 6-digit code. 2. Ask the human for the code, then ``mcp_auth(email="you@example.com", code="123456")``. 3. If ``status=need_org``, call again with ``org_id=``. After ``status=authenticated``, later tools on this streamable-HTTP session run as that person. Do not store the code or any token.
| Name | Type | Req | Description |
|---|---|---|---|
| code | – | – | One-time code from the login email. Pass together with email= after mcp_auth returned status=code_sent. |
| – | – | Email to send a 6-digit login code to. Same OTP as the console and Cursor Connect. Omit (with no code) to see whether this session is already signed in. | |
| org_id | – | – | Organization to attach when the email belongs to more than one org (status=need_org). |
Structured output declared, but exposes no named fields.
No examples provided.
memory_action_apply ~66
Execute a governed ontology action and write an audit log entry.
| Name | Type | Req | Description |
|---|---|---|---|
| action | – | – | Alias for action_name |
| action_name | – | – | Registered action type name, e.g. link_entities |
| agent | – | – | Override agent identity |
| parameters | object | yes | Parameters matching the action schema |
Structured output declared, but exposes no named fields.
No examples provided.
memory_action_log_list ~26
List recent governed action executions for the org.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
memory_assemble_context ~257
Assemble one token-budgeted, cited context pack for a task. Fans recall across semantic, episodic, procedural, skill, strategic, work, working pillars and the optional graph in parallel through the secure retrieval path, then ranks and packs the result into a single sectioned markdown bundle. Use this once at the start of a task instead of issuing serial ``memory_recall`` / ``memory_procedure_get`` / ``memory_graph_related`` calls. Returns ``rendered`` (the pack), ``tokens_used``, ``counts_by_pillar``, and the kept ``records``.
| Name | Type | Req | Description |
|---|---|---|---|
| github | – | – | GitHub repository as owner/repo (boosts github-tagged memories) |
| k_per_pillar | integer | – | Max records to recall per pillar |
| open_files | – | – | Paths of files currently open/relevant; their names seed the graph-relationship lookup. |
| repo | – | – | Workspace slug of your current repo. Boosts repo-scoped memories in the pack; pass it for code/repo-specific work. |
| task | string | yes | What you are about to do (the task/question driving recall) |
| token_budget | integer | – | Approx token budget for the rendered pack (default 1500) |
Structured output declared, but exposes no named fields.
No examples provided.
memory_entity_view ~41
Roll up wiki, memories, graph neighbors, and work for one entity.
| Name | Type | Req | Description |
|---|---|---|---|
| slug | string | yes | Entity slug (wiki topic slug or ontology entity slug) |
Structured output declared, but exposes no named fields.
No examples provided.
memory_episodes_list ~87
Browse the episodic timeline (shared within the org by default).
| Name | Type | Req | Description |
|---|---|---|---|
| agent | – | – | Optional filter — restrict to one agent's episodes. Default (None) returns every agent's timeline in the org. |
| limit | integer | – | – |
| since | – | – | Lower bound on created_at |
| topic | – | – | Substring match on topic |
| until | – | – | Upper bound on created_at |
Structured output declared, but exposes no named fields.
No examples provided.
memory_forget ~94
Soft-delete a semantic/episodic memory by id (requires memory:delete). ``memory_id`` is the ``memory_items`` UUID returned by ``memory_recall`` (post-G2 it is no longer a Mem0 id). Procedural deletes are not supported via this tool.
| Name | Type | Req | Description |
|---|---|---|---|
| memory_id | string | yes | memory_items UUID from a previous recall |
| reason | string | yes | Audit reason; required |
Structured output declared, but exposes no named fields.
No examples provided.
memory_forget_procedure ~47
Soft-delete all active versions of a playbook by name.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Playbook name to soft-delete |
| reason | string | yes | Audit reason; required |
Structured output declared, but exposes no named fields.
No examples provided.
memory_forget_skill ~44
Soft-delete all active versions of a skill by name.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Skill name to soft-delete |
| reason | string | yes | Audit reason; required |
Structured output declared, but exposes no named fields.
No examples provided.
memory_graph_relate ~138
Record an explicit relationship in the optional org-scoped graph store. No-op (with a reason) when the graph isn't enabled. Use this when you learn a structured fact like "alice -> works_on -> teamshared" that vector recall would obscure. ``predicate`` must be a registered link type (see ``memory_ontology_list``).
| Name | Type | Req | Description |
|---|---|---|---|
| agent | – | – | Override agent identity |
| object | – | – | Alias for object_entity |
| object_entity | – | – | Target entity |
| predicate | string | yes | Relationship label, e.g. 'works_on' |
| subject | string | yes | Source entity |
| weight | number | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
memory_graph_related ~54
Return entities related to ``name`` via the graph store, up to ``depth`` hops.
| Name | Type | Req | Description |
|---|---|---|---|
| depth | integer | – | – |
| limit | integer | – | – |
| name | string | yes | Entity to expand neighbors of |
Structured output declared, but exposes no named fields.
No examples provided.
memory_ontology_link_type_set ~96
Register or update a custom org link type.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | – | – | Override agent identity |
| cardinality | string | – | one_to_many | many_to_many |
| description | – | – | Human-readable description |
| from_kinds | – | – | Allowed subject kinds (empty = any) |
| name | string | yes | Link predicate name, e.g. depends_on |
| to_kinds | – | – | Allowed object kinds (empty = any) |
Structured output declared, but exposes no named fields.
No examples provided.
memory_ontology_list ~26
List org ontology schema: link types, object kinds, interfaces, action types.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
memory_ontology_merge_entities ~66
Merge ``drop_slug`` into ``keep_slug`` (remap FKs, delete duplicate).
| Name | Type | Req | Description |
|---|---|---|---|
| agent | – | – | Override agent identity |
| drop_slug | string | yes | Duplicate entity slug to merge away |
| keep_slug | string | yes | Canonical entity slug to keep |
Structured output declared, but exposes no named fields.
No examples provided.
memory_ontology_object_kind_set ~63
Register or update a custom org object kind.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | – | – | Override agent identity |
| description | – | – | Human-readable description |
| name | string | yes | Object kind name, e.g. Vendor |
| properties_schema | – | – | JSON schema for entity properties |
Structured output declared, but exposes no named fields.
No examples provided.
memory_ontology_propose_entity ~79
Propose a typed ontology entity (active immediately).
| Name | Type | Req | Description |
|---|---|---|---|
| agent | – | – | Override agent identity |
| kind | – | – | Alias for kind_name |
| kind_name | – | – | Registered object kind, e.g. Person or Project |
| name | string | yes | Display name for the entity |
| properties | – | – | Optional JSON properties matching the kind schema |
Structured output declared, but exposes no named fields.
No examples provided.
memory_ontology_rekind_entity ~65
Change the object kind of an existing ontology entity.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | – | – | Override agent identity |
| kind | – | – | Alias for kind_name |
| kind_name | – | – | Registered object kind to assign, e.g. Person |
| slug | string | yes | Existing entity slug |
Structured output declared, but exposes no named fields.
No examples provided.
memory_playbook_get ~48
Alias for ``memory_procedure_get``.
| Name | Type | Req | Description |
|---|---|---|---|
| expand_skills | boolean | – | Inline composed skills |
| name | string | yes | Playbook name |
| version | – | – | Specific version |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
memory_playbook_set ~89
Alias for ``memory_procedure_set``.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | – | – | Override agent identity |
| description | – | – | One-line summary |
| name | string | yes | Playbook name (stable id) |
| steps_md | string | – | Optional intro markdown before composed skills |
| tags | – | – | Tags for discovery |
| tool_recipe | – | – | Ordered skill list: {"skills": ["lint", "ship-pr"]} |
Structured output declared, but exposes no named fields.
No examples provided.
memory_playbooks_list ~54
Alias for ``memory_procedures_list``.
| Name | Type | Req | Description |
|---|---|---|---|
| include_body | boolean | – | Include full steps_md |
| limit | integer | – | – |
| offset | integer | – | – |
| tag | – | – | Filter by tag |
Structured output declared, but exposes no named fields.
No examples provided.
memory_procedure_get ~97
Fetch a stored playbook by name (and optionally version). Set ``expand_skills=true`` to resolve ``tool_recipe.skills`` into the returned ``steps_md`` / ``content_md`` (same as the background runner).
| Name | Type | Req | Description |
|---|---|---|---|
| expand_skills | boolean | – | Inline composed skill bodies into steps_md |
| name | string | yes | Playbook (procedure) name |
| version | – | – | Specific version (default: latest active) |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
memory_procedure_set ~165
Insert a new version of a procedure. Each call creates a new version. Playbooks are ordered skill collections: set ``tool_recipe.skills`` and optional ``steps_md`` intro. Routed through the guarded ingestion pipeline. Returns ``status`` (``active`` or ``duplicate``).
| Name | Type | Req | Description |
|---|---|---|---|
| agent | – | – | Override agent identity |
| description | – | – | One-line summary |
| name | string | yes | Procedure name (stable id) |
| steps_md | string | – | Optional intro markdown before composed skills; use tool_recipe.skills for the ordered skill list |
| tags | – | – | Tags for discovery |
| tool_recipe | – | – | Playbook recipe: {"skills": ["lint", "ship-pr"], "loop": {"max_iterations": 3}}. See memory_tools_catalog for full shapes. |
Structured output declared, but exposes no named fields.
No examples provided.
memory_procedures_list ~65
List playbooks (latest version of each) in the caller's org.
| Name | Type | Req | Description |
|---|---|---|---|
| include_body | boolean | – | Include full steps_md and tool_recipe |
| limit | integer | – | – |
| offset | integer | – | Pagination offset |
| tag | – | – | Filter by tag |
Structured output declared, but exposes no named fields.
No examples provided.
memory_recall ~389
Hybrid recall across memory pillars within the caller's org. Default scope searches durable pillars only (semantic, episodic, procedural, skill, strategic, work). Pass ``scope=["working"]`` to include this chat's open session turns. Shared brain on durable pillars: pass ``agent="cursor"`` only to narrow semantic/episodic. For entity/competitor questions use a **short keyword anchor** in ``query`` (e.g. ``"mex"``) plus ``repo`` / ``github``. Use ``explain=true``; prefer hits with ``matched_keyword: true``.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | – | – | Optional filter — restrict semantic/episodic results to this agent's writes. Default (None) is the shared brain: every agent's durable memories in the org are visible. Working memory is always scoped… |
| explain | boolean | – | When true, include per-record retrieval attribution in metadata |
| github | – | – | GitHub repository as owner/repo. Boosts memories tagged github:<owner>/<repo> (portable across checkout paths). |
| k | integer | – | Max records to return |
| query | string | yes | Natural-language query |
| repo | – | – | Workspace slug of your current repo. When set, durable memories tagged for this repo are boosted (ranked higher); nothing is hidden — cross-repo and un-scoped memories still appear. Pass your workspa… |
| scope | – | – | Pillars to search. Default (null): durable pillars only (semantic, episodic, procedural, skill, strategic, work) — working is omitted. Add scope=['working'] when you need this chat's open session tur… |
| time_range | – | – | Optional time bounds for episodic/working hits |
| verbose | boolean | – | When false, truncate record content and omit metadata |
Structured output declared, but exposes no named fields.
No examples provided.
memory_remember ~318
Write a durable memory into the caller's org. ``fact`` / ``preference`` / ``note`` -> semantic pillar. ``event`` -> episodic. ``procedure`` / ``skill`` -> rejected; use ``memory_procedure_set`` / ``memory_skill_set``. Routed through the guarded ingestion pipeline (dedup, PII, injection screening) under RLS. When ``repo`` / ``github`` are given the memory is tagged ``repo:<slug>`` / ``github:<owner>/<repo>``.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | – | – | Override agent identity (defaults to bearer-token identity) |
| content | string | yes | Free-form text to remember |
| github | – | – | GitHub repository as owner/repo (e.g. xhad/teamshared). Stored as a 'github:<owner>/<repo>' tag for cross-machine association; use with or instead of workspace repo= when the same GitHub repo is chec… |
| kind | string | – | fact, preference, event, or note (not procedure/skill) |
| repo | – | – | Workspace slug of the repo this memory belongs to (e.g. the slug used for memory_state). For code/repo-specific work, pass your current workspace slug so the memory is scoped to this repo (stored as… |
| subject | – | – | Optional subject/entity this memory is about |
| tags | – | – | Optional free-form tags |
Structured output declared, but exposes no named fields.
No examples provided.
memory_session_append ~196
Append a turn to a working-memory session (self-healing). When ``session_id`` has expired or was closed, a fresh session is opened automatically and the turn lands there; the response then carries the replacement ``session_id`` and ``reopened: true``. Pass ``repo`` (and optionally ``github`` / ``topic``) so reopen preserves workspace scope and updates the state pointer without a manual ``memory_state_set``.
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | yes | Turn content |
| github | – | – | GitHub owner/repo tag used when reopening a session |
| repo | – | – | Workspace slug. When set with an active bearer token, reopen self-healing updates the conversation/active-session pointer. |
| role | string | yes | user, assistant, tool, or system |
| session_id | string | yes | Session id from memory_session_open |
| topic | – | – | Session topic used when reopening after expiry |
Structured output declared, but exposes no named fields.
No examples provided.
memory_session_close ~75
Close a working-memory session. If ``distill`` is true (default), the transcript is queued for the background worker to summarize into durable org-scoped memories.
| Name | Type | Req | Description |
|---|---|---|---|
| distill | boolean | – | Enqueue for distillation into semantic/episodic memory |
| session_id | string | yes | Session id to close |
Structured output declared, but exposes no named fields.
No examples provided.
memory_session_ensure ~295
One-call session bootstrap: recover the active session or open one. Replaces the memory_state_get → memory_session_close → memory_session_open → memory_state_set ritual. Reuses the session in the ``conversation/active-session`` state pointer when it is still open and owned by the caller; otherwise closes it (distilling) and opens a fresh one, updating state. Returns ``{session_id, agent, resumed, soul, soul_linked}``. When the bearer is linked to a human account, ``soul`` is their private compressed identity block for this org (may be empty string if not yet written).
| Name | Type | Req | Description |
|---|---|---|---|
| agent | – | – | Override agent identity |
| fresh | boolean | – | Force rotation: close any stored session (queueing distillation) and open a new one. Pass true on the first turn of a new chat. |
| github | – | – | GitHub owner/repo; distilled memories inherit the tag |
| repo | string | yes | Workspace slug (absolute path with leading / removed and / replaced by -). Keys the conversation/active-session state pointer. |
| topic | – | – | What this session is about (used when opening a new one) |
| ttl | – | – | Session TTL in seconds (default from server config) |
| user | – | – | Substantive user request for this turn. When set, appended as the user turn in the same call (replaces a separate memory_session_append). |
Structured output declared, but exposes no named fields.
No examples provided.
memory_session_get ~38
Read session metadata and turns (debug, handoff, append failure recovery).
| Name | Type | Req | Description |
|---|---|---|---|
| session_id | string | yes | Session id from memory_session_open |
Structured output declared, but exposes no named fields.
No examples provided.
memory_session_open ~118
Open a working-memory session and return a ``session_id``.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | – | – | Override agent identity |
| github | – | – | GitHub repository as owner/repo. Distilled memories inherit a 'github:<owner>/<repo>' tag. |
| repo | – | – | Workspace slug of the repo this session is about. Memories distilled from the session inherit a 'repo:<slug>' tag so they stay scoped to this workspace. |
| topic | – | – | What this session is about (free text) |
| ttl | – | – | Session TTL in seconds (default from server config) |
Structured output declared, but exposes no named fields.
No examples provided.
memory_skill_get ~41
Fetch a stored skill by name (and optionally version).
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Skill name |
| version | – | – | Specific version (default: latest active) |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.