Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

TeamShared

REMOTE · TEAMSHARED.COM · SCANNED OCT 5

Shared memory for coding agents. Stop re-explaining your codebase every session.

Available components

0 this week 36 Trust /100
Trust breakdown (7 categories)

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 → Why this is hard to score →

Endpoint Security89
Transport & Reachability0
Schema Quality & AI Usability0
  • Schema blocked by authentication: the endpoint requires auth we don't have to read it. See how to fix → Unverified
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
  • Tool coverage blocked by authentication: the endpoint requires auth we don't have to read its tools.Unverified
Tool Safety0
  • Tool safety blocked by authentication: the endpoint requires auth we don't have to read its tools.Unverified
Capabilities0
  • Capabilities blocked by authentication: the endpoint requires auth we don't have to read them. See how to fix → Unverified

Unverified: 6 categories

Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm. Claim this server and supply a read-only token to verify it and lift the score.

Install

How do I install the TeamShared MCP server?

TeamShared is a hosted endpoint at https://teamshared.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · teamshared.com

# add to Claude Code
claude mcp add --transport http xhad-teamshared 'https://teamshared.com/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "xhad-teamshared": {
      "url": "https://teamshared.com/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "xhad-teamshared": {
      "type": "http",
      "url": "https://teamshared.com/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.xhad-teamshared]
url = "https://teamshared.com/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "xhad-teamshared": {
      "type": "remote",
      "url": "https://teamshared.com/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add xhad-teamshared --url 'https://teamshared.com/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  xhad-teamshared:
    url: "https://teamshared.com/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "xhad-teamshared": {
      "Transport": "http",
      "Url": "https://teamshared.com/mcp"
    }
  }
}
# add to Vellum
assistant mcp add xhad-teamshared -t streamable-http -u 'https://teamshared.com/mcp'
// mcp.json
{
  "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.

Changelog

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.

  • 28 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
  • 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
  • 31 Aug 26 0
    • Endpoint reachability: reachable → behind authorisation ▼ security
    • Stability: fail → unverified ▼ security
    • Tool safety: pass → unverified ▼ security
    • Transport: pass → unverified ▼ security
    • Authorization: The endpoint enforces authorisation, advertised via RFC 9728 protected-resource metadata. security
    • Capabilities: pass → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
  • 30 Aug 26 0
    • This server's schema is too large to store in full, so we cannot compare its tools day to day functional
  • 29 Aug 26 0
    • Schema quality: pass → fail ▼ functional
    • This server's schema is too large to store in full, so we cannot compare its tools day to day functional
  • 28 Aug 26 0
    • Authorization: unverified → pass ▲ security
    • Injection markers: unverified → pass ▲ security
    • First check of Judged manipulation: pass security
    • Schema quality: 99 → 8934 ▼ functional
    • Schema quality: unverified → fail ▼ functional
    • Tool coverage: unverified → 100 ▲ functional
    • First check of Destructive annotations: 0 functional
    • Schema quality: good → excellent functional
    • This server's schema is too large to store in full, so we cannot compare its tools day to day functional
  • 27 Aug 26 0
    • Stability: unverified → fail ▼ security
    • Authorization: pass → unverified ▼ security
    • Transport: unverified → pass ▲ security
    • Tool safety: Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list. security
    • Schema quality: fail → unverified ▼ functional
    • Endpoint reachability: behind authorisation → reachable ▲ functional
    • Schema quality: 9495 → 99 ▲ functional
    • MCP protocol: unverified → pass ▲ functional
    • Schema quality: excellent → good functional
    • Tool coverage: Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list. functional
    • This server's schema is too large to store in full, so we cannot compare its tools day to day functional
  • 26 Aug 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
Diagnostics

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 5 Oct 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 23 Sept 2026 22 Dec 2026 ECDSA 256 ECDSA-SHA384 6f97ffe5a74fa4a9acb83a1e4d7d6fe461c
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

Background: What to check on a remote MCP endpoint →

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 Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On connection
HTTP status 401

WWW-Authenticate challenge Bearer realm="teamshared", scope="mcp", resource_metadata="https://teamshared.com/.well-known/oauth-protected-resource"

Bearer realm="teamshared", scope="mcp", resource_metadata="https://teamshared.com/.well-known/oauth-protected-resource"
Header Value
www-authenticate Bearer realm="teamshared", scope="mcp", resource_metadata="https://teamshared.com/.well-known/oauth-protected-resource"

Protected resource metadata

Document https://teamshared.com/.well-known/oauth-protected-resource
Retrieved Yes
Resource https://teamshared.com/mcp
Authorisation server https://teamshared.com

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://teamshared.com/mcp Auth required 401
http (plaintext) http://teamshared.com/mcp HTTPS enforced 301 https://teamshared.com/mcp
MCP tools · 92 exposed · ~9,371 tokens

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 →

Tool Tokens
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}``.

NameTypeReqDescription
agent––Override agent identity
closeboolean–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).
summarystringyesFaithful 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_*``.

NameTypeReqDescription
messagesarrayyesOpenAI-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.

NameTypeReqDescription
outputstringyesRaw tool output string (usually JSON).
tool_namestringyesName 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.

NameTypeReqDescription
append_sessionboolean–Append the latest user message to the working session.
enrichboolean–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.

NameTypeReqDescription
refstringyesCCR 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.

NameTypeReqDescription
file_idstringyesFile 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.

NameTypeReqDescription
agent––Override agent identity
contentstringyesFile body (markdown or raw HTML)
content_formatstring–'markdown' (rendered through the allowlist sanitizer) or 'html' (sanitized raw HTML)
titlestringyesFile 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.

NameTypeReqDescription
file_idstringyesFile 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")``.

NameTypeReqDescription
limitinteger––
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.

NameTypeReqDescription
file_idstringyesFile 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.

NameTypeReqDescription
file_idstringyesFile 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.

NameTypeReqDescription
agent––Override agent identity
contentstringyesNew file body (markdown or raw HTML)
content_format––Override content format ('markdown' or 'html'); defaults to the file's current format
file_idstringyesFile 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.

NameTypeReqDescription
agent––Override agent identity
content_formatstring–'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)
publishboolean–If true, the file is published immediately (returns public URLs). In update mode this is idempotent if already published.
titlestringyesFile 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``.

NameTypeReqDescription
file_idstringyesFile UUID the version belongs to
versionintegeryesVersion number to delete

Structured output declared, but exposes no named fields.

No examples provided.

health ~102

Liveness + dependency probe. Returns ``{"status", "version", "components": {server, redis, postgres, semantic, distiller, graph, ollama}}``. ``semantic`` is the pgvector + embedder store. 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.

mcp_auth ~256

Last-resort email + OTP bind for this MCP session (headless only). Prefer account-level Cursor Connect (Cloud / Grok Bot inherit it) or a ``tsk_`` header. Do not call this as the first hop. When the host has no token: 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.

NameTypeReqDescription
code––One-time code from the login email. Pass together with email= after mcp_auth returned status=code_sent.
email––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.

NameTypeReqDescription
action––Alias for action_name
action_name––Registered action type name, e.g. link_entities
agent––Override agent identity
parametersobjectyesParameters 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.

NameTypeReqDescription
limitinteger––

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``.

NameTypeReqDescription
github––GitHub repository as owner/repo (boosts github-tagged memories)
k_per_pillarinteger–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.
taskstringyesWhat you are about to do (the task/question driving recall)
token_budgetinteger–Approx token budget for the rendered pack (default 1500)

Structured output declared, but exposes no named fields.

No examples provided.

memory_dream_status ~65

Latest nightly dream report for this org (what changed overnight). Returns the most recent leftover-distill + curator report, or ``found=false`` when last night wrote nothing. The same note is a normal semantic memory / wiki page ``memory_recall`` can find.

Input schema present but exposes no named parameters.

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.

NameTypeReqDescription
slugstringyesEntity 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).

NameTypeReqDescription
agent––Optional filter — restrict to one agent's episodes. Default (None) returns every agent's timeline in the org.
limitinteger––
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 ~81

Soft-delete a semantic/episodic memory by id (requires memory:delete). ``memory_id`` is the ``memory_items`` UUID returned by ``memory_recall``. Procedural deletes are not supported via this tool.

NameTypeReqDescription
memory_idstringyesmemory_items UUID from a previous recall
reasonstringyesAudit 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.

NameTypeReqDescription
namestringyesPlaybook name to soft-delete
reasonstringyesAudit 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.

NameTypeReqDescription
namestringyesSkill name to soft-delete
reasonstringyesAudit 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``).

NameTypeReqDescription
agent––Override agent identity
object––Alias for object_entity
object_entity––Target entity
predicatestringyesRelationship label, e.g. 'works_on'
subjectstringyesSource entity
weightnumber––

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.

NameTypeReqDescription
depthinteger––
limitinteger––
namestringyesEntity 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.

NameTypeReqDescription
agent––Override agent identity
cardinalitystring–one_to_many | many_to_many
description––Human-readable description
from_kinds––Allowed subject kinds (empty = any)
namestringyesLink 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).

NameTypeReqDescription
agent––Override agent identity
drop_slugstringyesDuplicate entity slug to merge away
keep_slugstringyesCanonical 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.

NameTypeReqDescription
agent––Override agent identity
description––Human-readable description
namestringyesObject 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).

NameTypeReqDescription
agent––Override agent identity
kind––Alias for kind_name
kind_name––Registered object kind, e.g. Person or Project
namestringyesDisplay 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.

NameTypeReqDescription
agent––Override agent identity
kind––Alias for kind_name
kind_name––Registered object kind to assign, e.g. Person
slugstringyesExisting entity slug

Structured output declared, but exposes no named fields.

No examples provided.

memory_playbook_get ~48

Alias for ``memory_procedure_get``.

NameTypeReqDescription
expand_skillsboolean–Inline composed skills
namestringyesPlaybook name
version––Specific version
NameTypeReqDescription
result–yes–

No examples provided.

memory_playbook_set ~138

Alias for ``memory_procedure_set``.

NameTypeReqDescription
agent––Override agent identity
description––One-line summary
namestringyesPlaybook name (stable id)
owner_id––Org member UUID. Omit inherits last owner or the writer.
steps_mdstring–Optional intro markdown before composed skills
tags––Tags for discovery
tool_recipe––Ordered skill list: {"skills": ["lint", "ship-pr"]}
verification_days––Verification window: 30, 90, or 180 days; 0 for none. Omit inherits the last window.

Structured output declared, but exposes no named fields.

No examples provided.

memory_playbooks_list ~54

Alias for ``memory_procedures_list``.

NameTypeReqDescription
include_bodyboolean–Include full steps_md
limitinteger––
offsetinteger––
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).

NameTypeReqDescription
expand_skillsboolean–Inline composed skill bodies into steps_md
namestringyesPlaybook (procedure) name
version––Specific version (default: latest active)
NameTypeReqDescription
result–yes–

No examples provided.

memory_procedure_set ~214

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``).

NameTypeReqDescription
agent––Override agent identity
description––One-line summary
namestringyesProcedure name (stable id)
owner_id––Org member UUID. Omit inherits last owner or the writer.
steps_mdstring–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.
verification_days––Verification window: 30, 90, or 180 days; 0 for none. Omit inherits the last window.

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.

NameTypeReqDescription
include_bodyboolean–Include full steps_md and tool_recipe
limitinteger––
offsetinteger–Pagination offset
tag––Filter by tag

Structured output declared, but exposes no named fields.

No examples provided.

memory_recall ~443

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``. Default recall is current truth (superseded/merged rows are omitted); pass ``include_superseded=true`` for the replacement chain.

NameTypeReqDescription
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…
explainboolean–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).
include_supersededboolean–When true, also return superseded/merged history. Default is current truth only.
kinteger–Max records to return
querystringyesNatural-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
verboseboolean–When false, truncate record content and omit metadata

Structured output declared, but exposes no named fields.

No examples provided.

memory_remember ~324

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 (PII, injection screening, near-dupe merge / contradiction supersede) under RLS. When ``repo`` / ``github`` are given the memory is tagged ``repo:<slug>`` / ``github:<owner>/<repo>``.

NameTypeReqDescription
agent––Override agent identity (defaults to bearer-token identity)
contentstringyesFree-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…
kindstring–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``.

NameTypeReqDescription
contentstringyesTurn 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.
rolestringyesuser, assistant, tool, or system
session_idstringyesSession 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.

NameTypeReqDescription
distillboolean–Enqueue for distillation into semantic/episodic memory
session_idstringyesSession 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).

NameTypeReqDescription
agent––Override agent identity
freshboolean–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
repostringyesWorkspace 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).

NameTypeReqDescription
session_idstringyesSession 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``.

NameTypeReqDescription
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_feedback ~214

Propose a skill/playbook rewrite from a human-approved draft vs kept. Stores the pair as a pending rewrite. The live skill does not change. A human accepts or rejects the proposed diff in the console; accept writes vN+1 through the existing setter. Never auto-overwrites.

NameTypeReqDescription
agent––Override agent identity
description––Proposed one-line summary
draftstringyesProposed new body_md (skill) or steps_md (playbook)
extra––Proposed extras: tool_hints/tags (skill) or tool_recipe/tags (playbook)
kept––Human-kept / live body snapshot. Default: current live body
kindstring–skill (atomic how-to) or playbook (composed flow)
namestringyesSkill or playbook name that ran
note––Why this rewrite, or the human-approved result summary
originstringyesWho proposed the rewrite: agent, human, or curator

Structured output declared, but exposes no named fields.

No examples provided.

memory_skill_get ~41

Fetch a stored skill by name (and optionally version).

NameTypeReqDescription
namestringyesSkill name
version––Specific version (default: latest active)
NameTypeReqDescription
result–yes–

No examples provided.

memory_skill_resolve ~55

Resolve a playbook's ``tool_recipe.skills`` refs to full skill records.

NameTypeReqDescription
playbook_namestringyesPlaybook whose skills to resolve
playbook_version––Pin playbook version (default latest)
NameTypeReqDescription
result–yes–

No examples provided.

memory_skill_set ~191

Insert a new version of a skill. Each call creates a new version. Skills are atomic instruction building blocks. Playbooks compose them via ``tool_recipe.skills`` on ``memory_procedure_set``. Routed through the guarded ingestion pipeline; only ``active`` skills are visible to recall and ``memory_skill_get``.

NameTypeReqDescription
agent––Override agent identity
body_mdstringyesMarkdown body the agent will read
description––One-line summary
namestringyesSkill name (stable id)
owner_id––Org member UUID. Omit inherits last owner or the writer.
tags––Tags for discovery
tool_hints––Optional structured hints (preferred MCP tools, params)
verification_days––Verification window: 30, 90, or 180 days; 0 for none. Omit inherits the last window.

Structured output declared, but exposes no named fields.

No examples provided.

Common questions

What is the TeamShared MCP server?

TeamShared is an MCP server listed in the public MCP registry as io.github.xhad/teamshared. Shared memory for coding agents. Stop re-explaining your codebase every session. This page covers its hosted endpoint (https://teamshared.com/mcp).

Is the TeamShared MCP server safe to use?

TeamShared scores 36 out of 100 on VerifyMCP. 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 TeamShared MCP server expose?

TeamShared exposes 92 tools: mcp_auth, health, version, context_compress, context_retrieve, and 87 more. Their descriptions and schemas cost roughly 9,371 tokens of context every time the server is loaded.

Does the TeamShared MCP server require authentication?

Yes. TeamShared asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the TeamShared MCP server still maintained?

TeamShared is still listed as active in the MCP registry. We last reached this channel on 5 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.