mcpbeat Sign in

TeamShared MCP Server

answering

TeamShared is answering right now. Last checked 9 min ago. It exposes 92 tools. Last commit 31 Aug 2026.

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

Uptime history 14 days of history · worst day 98%
14 days agonow
96.7%
Uptime 24h
88 of 91 checks
92
Tools
read from the server
292 ms
Response time
average over 24h
0
Stars
last commit 31 Aug 2026

TeamShared does not always answer

Over the last week it answered 99.4% of our checks. We check every 15 minutes, so you hear about the next outage within the hour — not from your users.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 9 min ago.

run in your terminal
claude mcp add teamshared --transport http https://teamshared.com/mcp
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "teamshared": {
      "url": "https://teamshared.com/mcp"
    }
  }
}
~/.codex/config.toml
[mcp_servers.teamshared]
url = "https://teamshared.com/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "teamshared": {
      "url": "https://teamshared.com/mcp"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "teamshared": {
      "url": "https://teamshared.com/mcp"
    }
  }
}

This endpoint answered with an authorization challenge — the server is running, but you need an API key or OAuth to use it.

Available tools 92

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

memory
memory_action_apply
Execute a governed ontology action and write an audit log entry.
memory_action_log_list
List recent governed action executions for the org.
memory_assemble_context
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``.
memory_dream_status
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.
memory_entity_view
Roll up wiki, memories, graph neighbors, and work for one entity.
memory_episodes_list
Browse the episodic timeline (shared within the org by default).
memory_forget
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.
memory_forget_procedure
Soft-delete all active versions of a playbook by name.
memory_forget_skill
Soft-delete all active versions of a skill by name.
memory_graph_relate
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``).
memory_graph_related
Return entities related to ``name`` via the graph store, up to ``depth`` hops.
memory_ontology_link_type_set
Register or update a custom org link type.
memory_ontology_list
List org ontology schema: link types, object kinds, interfaces, action types.
memory_ontology_merge_entities
Merge ``drop_slug`` into ``keep_slug`` (remap FKs, delete duplicate).
memory_ontology_object_kind_set
Register or update a custom org object kind.
memory_ontology_propose_entity
Propose a typed ontology entity (active immediately).
memory_ontology_rekind_entity
Change the object kind of an existing ontology entity.
memory_playbook_get
Alias for ``memory_procedure_get``.
memory_playbook_set
Alias for ``memory_procedure_set``.
memory_playbooks_list
Alias for ``memory_procedures_list``.
memory_procedure_get
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).
memory_procedure_set
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``).
memory_procedures_list
List playbooks (latest version of each) in the caller's org.
memory_recall
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.
memory_remember
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>``.
memory_session_append
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``.
memory_session_close
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.
memory_session_ensure
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).
memory_session_get
Read session metadata and turns (debug, handoff, append failure recovery).
memory_session_open
Open a working-memory session and return a ``session_id``.
memory_skill_feedback
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.
memory_skill_get
Fetch a stored skill by name (and optionally version).
memory_skill_resolve
Resolve a playbook's ``tool_recipe.skills`` refs to full skill records.
memory_skill_set
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``.
memory_skills_list
List all skills (latest version of each) in the caller's org.
memory_soul_get
Return this person's private soul for the current org. The soul is a tiny compressed identity block (who they are, style, likes/dislikes, dos/don'ts). Empty when none yet or the API key is not linked to a human account (mint keys from the console while signed in). Also returned on ``memory_session_ensure`` as ``soul``.
memory_soul_set
Replace this person's private soul for the current org. Prefer compact structured markdown. Preferences written via ``memory_remember(kind=preference)`` also absorb into the soul.
memory_state_get
Fetch JSON state scoped to the caller's org, bearer token, and ``repo``.
memory_state_set
Persist JSON state scoped to the caller's org, bearer token, and ``repo``.
memory_strategic_entity_get
Fetch one strategic entity by type and id.
memory_strategic_initiative_set
Propose a strategic initiative.
memory_strategic_key_result_set
Propose a key result under an objective.
memory_strategic_objective_set
Propose an objective under a plan.
memory_strategic_plan_get
Fetch one strategic plan, optionally with the full OKR tree.
memory_strategic_plan_list
List OKR cycles (strategic plans) for the org.
memory_strategic_plan_set
Propose a new OKR cycle.
memory_strategic_statement_get
Fetch the active org statement for vision, mission, or purpose.
memory_strategic_statement_set
Propose a new version of vision, mission, or purpose.
memory_think
Synthesized answer with citations and gap analysis (GBrain ``think`` parity). Runs durable recall (default scope excludes working), then composes a cited prose answer plus explicit gaps. For named-entity or competitor questions, call ``memory_recall`` with a short keyword anchor first — synthesis quality depends on retrieval. Prefer ``memory_think`` when you need prose + gaps after recall surfaced hits, or for open strategic questions. Default sources are current truth; pass ``include_superseded=true`` to include retired facts.
memory_tools_catalog
Discover teamshared MCP tools for the current turn. Returns ``protocol`` (every-turn loop), ``chooser`` (need → tool), ``never`` (hard constraints), and grouped tools with ``when`` / ``avoid`` / copy-paste ``example``. Pass ``need=`` when choosing a tool mid-conversation. Also returns ``tool_recipe_shapes`` and ``aliases`` (procedure_* → playbook_*).
work
work_add_to_project
Add a task to a project (tasks can belong to multiple projects).
work_close
Mark a work item done or cancelled.
work_comment_add
Add a comment to a work item.
work_comment_list
List comments on a work item (oldest first).
work_create
Create a work item. Created active immediately for humans and agents (no approval queue).
work_dependencies_list
List what a task is blocked by and what it blocks.
work_dependency_add
Add a dependency: blocker must finish before blocked can proceed. Pass ``blocker_id`` + ``blocked_id``, or equivalently ``work_id`` (blocked) + ``depends_on_id`` (blocker).
work_dependency_remove
Remove a task dependency.
work_follower_add
Add a follower/collaborator to a task by member email.
work_follower_remove
Remove a follower from a task by member email.
work_followers_list
List followers/collaborators on a task.
work_get
Fetch one work item by id.
work_list
List org work items (shared task queue for humans and agents).
work_move
Move a task to a section and/or reorder it within a project.
work_remove_from_project
Remove a task from a project.
work_subtasks_list
List subtasks of a work item. Create subtasks via work_create with parent_id.
work_update
Update a work item (status, assignee, priority, parent, etc.).
file
file_archive
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.
file_create
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.
file_get
Fetch a shared file with its latest version content. Includes ``public_url`` (the ``/s/{slug}`` link) when the file is published.
file_list
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")``.
file_publish
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.
file_unpublish
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.
file_update
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.
file_upload_request
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.
file_version_delete
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``.
project
project_archive
Archive or restore a project.
project_create
Create a project (Asana-style task container).
project_get
Fetch a project with its sections, latest status, and optionally its tasks.
project_list
List projects in the org.
project_section_add
Add an ordered section to a project.
project_section_list
List a project's sections in order.
project_status_post
Post a project status update (on-track / at-risk / off-track banner).
project_update
Update project metadata.
context
context_commit
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}``.
context_compress
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_*``.
context_normalize
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.
context_prepare
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.
context_retrieve
Retrieve the original content for a compressed block via CCR ref.
health
health
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.
mcp
mcp_auth
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="[email protected]")`` — we email a 6-digit code. 2. Ask the human for the code, then ``mcp_auth(email="[email protected]", 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.
version
version
Report server + memory-rule version and whether the rule needs updating. Returns ``{server_version, rule_version, installed_rule_version, rule_path, update_available}``. When ``update_available`` is true (the installed rule is missing or behind the canonical one), the response also includes ``rule_markdown`` — write it verbatim to your rule file (Cursor: ``~/.cursor/rules/teamshared.mdc``) to update the user, then tell them the memory rule was updated. See the rule's "Staying current".

Tools removed

These were exposed before and are gone now. No other catalogue tracks this.

integration_list
removed 22 Aug 2026
integration_read
removed 22 Aug 2026
integration_search
removed 22 Aug 2026
integration_send
removed 22 Aug 2026

Endpoints

URLTransportStateLatencyChecked
https://teamshared.com/mcp streamable-http needs key 322 ms 9 min ago

Alternatives to TeamShared

same job, measured the same way
Repo Memory
by yubinkim444

Shared, git-tracked working memory for AI agents on the same codebase.

400 installs/wk local only
Engrm
by dr12hes

Shared memory across devices, sessions, and agents for OpenClaw, Claude Code, and Codex.

91 installs/wk local only
One Brain
by prophet-git

Shared memory for a team in Claude Code: what one person records, everyone has.

answering
Prism Coder
by dcostenco

Session memory for coding agents: local-first recall, drift detection, on-device inference.

1 637 installs/wk local only
Repomemory
by danielguru

Persistent memory for AI coding agents. Hybrid search, auto-session capture, context routing.

106 installs/wk local only
Pindoc
by var-gg

Code-pinned team memory for AI coding agents — typed artifacts, MCP-native, self-host.

local only
Project Memory MCP
by kaaustubh

Persistent memory for AI coding agents — past bugs, decisions, and your corrections, in your repo.

91 installs/wk local only
MCP AST Explorer
by lovranran

Python symbol exploration for codebase onboarding agents.

70 installs/wk local only

TeamShared — questions

Answers built from our own checks of this server.

What can TeamShared do?
It exposes 92 tools, read directly from the server on our last check. Among them: context_commit, context_compress, context_normalize, context_prepare, context_retrieve, file_archive and 86 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
What is TeamShared mostly used for?
Its tools cluster around memory, work and file. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is TeamShared working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 88 of 91 checks got a reply (96.7%), average response time 292 ms. The bar chart above shows every period we have measured.
Did TeamShared ever remove tools?
Yes. integration_list, integration_read, integration_search, integration_send are no longer exposed — we recorded the date each one disappeared. A tool vanishing usually means a breaking change for anything that depended on it.
How do I connect TeamShared?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address. You will need your own key or an OAuth login: it refuses anonymous clients.
Does TeamShared need an API key?
Yes. Every time we knock, TeamShared answers with an authorization challenge instead of its tool list — that is how we know it is running and gated rather than broken. Bring your own credentials and it will talk.
How fast is TeamShared?
It answers our handshake in 292 ms on average, which is faster than 58% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is TeamShared open source?
Yes — it is published under the MIT licence, written in Python, 0 stars on GitHub and 1 open issue. The source link is on this page, so you can read exactly what it does with your data before you connect it.