TeamShared
REMOTE · TEAMSHARED.COM · SCANNED OCT 5
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 → Why this is hard to score →
Endpoint Security89
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- The endpoint enforces authorisation, advertised via RFC 9728 protected-resource metadata. View diagnostics → Pass
- 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
- The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability0
- Transport blocked by authentication: the endpoint requires auth we don't have to verify streamable-http. See how to fix → View diagnostics → Unverified
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.
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
claude mcp add --transport http xhad-teamshared 'https://teamshared.com/mcp'
{
"mcpServers": {
"xhad-teamshared": {
"url": "https://teamshared.com/mcp"
}
}
} {
"servers": {
"xhad-teamshared": {
"type": "http",
"url": "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": {
"Transport": "http",
"Url": "https://teamshared.com/mcp"
}
}
} assistant mcp add xhad-teamshared -t streamable-http -u '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.
- 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
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 |
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 →
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 ~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.
| 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_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.
| 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 ~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.
| 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 ~138
Alias for ``memory_procedure_set``.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | – | – | Override agent identity |
| description | – | – | One-line summary |
| name | string | yes | Playbook name (stable id) |
| owner_id | – | – | Org member UUID. Omit inherits last owner or the writer. |
| steps_md | string | – | 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``.
| 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 ~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``).
| Name | Type | Req | Description |
|---|---|---|---|
| agent | – | – | Override agent identity |
| description | – | – | One-line summary |
| name | string | yes | Procedure name (stable id) |
| owner_id | – | – | Org member UUID. Omit inherits last owner or the writer. |
| 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. |
| 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.
| 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 ~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.
| 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). |
| include_superseded | boolean | – | When true, also return superseded/merged history. Default is current truth only. |
| 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 ~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>``.
| 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_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.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | – | – | Override agent identity |
| description | – | – | Proposed one-line summary |
| draft | string | yes | Proposed 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 |
| kind | string | – | skill (atomic how-to) or playbook (composed flow) |
| name | string | yes | Skill or playbook name that ran |
| note | – | – | Why this rewrite, or the human-approved result summary |
| origin | string | yes | Who 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).
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Skill name |
| version | – | – | Specific version (default: latest active) |
| Name | Type | Req | Description |
|---|---|---|---|
| result | – | yes | – |
No examples provided.
memory_skill_resolve ~55
Resolve a playbook's ``tool_recipe.skills`` refs to full skill records.
| Name | Type | Req | Description |
|---|---|---|---|
| playbook_name | string | yes | Playbook whose skills to resolve |
| playbook_version | – | – | Pin playbook version (default latest) |
| Name | Type | Req | Description |
|---|---|---|---|
| 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``.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | – | – | Override agent identity |
| body_md | string | yes | Markdown body the agent will read |
| description | – | – | One-line summary |
| name | string | yes | Skill 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.
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.