SmartMemory
Guides

Hosted MCP Server

Connect Claude, ChatGPT, Grok, and other MCP clients to SmartMemory over a single public, OAuth-protected endpoint.

SmartMemory runs a public MCP (Model Context Protocol) server at https://mcp.smartmemory.ai/mcp. It is the fastest way to give an AI client memory: one URL, no server to run yourself, no API key to manage by hand if your client supports OAuth.

Every call is scoped to the signed-in user. The hosted server holds no shared credential and no local SmartMemory instance: each request carries its own identity, either an OAuth token issued through Clerk or a SmartMemory API key, and is executed against the managed SmartMemory API as that caller. It exposes 25 tools, a fixed allowlist rather than the full local tool catalogue (see MCP Integration Guide for the difference between hosted mode and running smartmemory-mcp yourself).

Use of the hosted server is governed by the Terms of Service and Privacy Policy.

Two ways to authenticate:

  • OAuth 2.1, via your Clerk-backed SmartMemory account. This is what Claude.ai, Claude Desktop, Claude Code, ChatGPT connectors, and Grok web connectors use. You sign in once in a browser and consent to the connection.
  • A SmartMemory API key, as a static bearer token. This is for clients that cannot open a browser to complete an OAuth flow, such as the xAI API and Grok Build.

Connect from Claude.ai and Claude Desktop

In Claude.ai or Claude Desktop, add a custom connector with the URL:

https://mcp.smartmemory.ai/mcp

Claude will register itself automatically and open a browser tab to complete the OAuth consent. Approve the connection, and the 25 hosted tools become available in that conversation.

Connect from Claude Code

claude mcp add --transport http smartmemory https://mcp.smartmemory.ai/mcp

The first tool call opens a browser for consent. Claude Code registers itself through client id metadata, so nothing needs to be created on the SmartMemory side beforehand.

Connect from ChatGPT

Add https://mcp.smartmemory.ai/mcp as a connector in ChatGPT's connector settings. ChatGPT completes the OAuth flow the same way as Claude: a browser consent step, then the tools are available in chat.

Connect from Grok

Grok web connectors do not register a client automatically. When Grok asks for a client id, paste the SmartMemory MCP OAuth application's client id (shown in the SmartMemory web app under connector setup). Grok then walks you through the same PKCE-protected OAuth consent as any other client.

Grok Build and the xAI API take a static bearer token instead of an OAuth flow. Use a SmartMemory API key:

{
  "type": "mcp",
  "server_url": "https://mcp.smartmemory.ai/mcp",
  "authorization": "sm_live_your_key_here"
}

An API key skips the OAuth flow entirely and acts as its owner, in that owner's default workspace. Legacy sk_-prefixed keys are also accepted.

The 25 hosted tools

Everything not listed here is hidden. A tool that exists in the local smartmemory-mcp server does not appear hosted unless it is on this list, even if it is added to a module the hosted server otherwise uses.

Memory operations

memory_ingest memory_search memory_recall read_around memory_get memory_explain memory_recall_pack memory_policy_bundle memory_add memory_update memory_delete memory_list memory_stats memory_distill memory_ingest_conversation memory_search_by_metadata memory_feedback

Code intelligence

code_search code_dead_code code_dependencies

Agent recall profiles

agent_set_recall_profile agent_get_recall_profile

Reasoning

reasoning_query_traces

Session

whoami switch_team

What is not available hosted, and why

The hosted server is a single shared container talking to the managed SmartMemory API over the network. It has no local SmartMemory instance and no private disk per user, so three kinds of tool are left out on purpose rather than offered in a broken form:

  • Anything that reads or writes a file path. The container's disk would be shared by every tenant on it, so tools like exporting or importing to a path, indexing a local code directory, or reading a local transcript are not offered hosted. Run those locally with smartmemory-mcp instead.
  • Anything that needs a local SmartMemory instance. Some tools reach directly into the local graph or a local manager object rather than going through the network API. Those cannot work against a remote backend, so whole areas like anchors, plans, patterns, decisions, and zettelkasten stay local-only for now.
  • Destructive bulk operations, such as clearing all memories at once.

Two tools have specific options that are refused rather than silently ignored:

  • memory_search with citations turned on (cite=True) needs a citation formatter that lives in the core SmartMemory package, which the hosted server does not ship.
  • memory_recall with a session id or with citations turned on needs a working-context builder that also lives in that same core package.

Calling either with those options returns a clear tool error rather than a wrong or empty answer.

Workspaces

Your initial workspace when you connect is:

  • The Clerk organization you consent for during sign-in, if that organization is also a SmartMemory tenant, or
  • Your personal workspace, otherwise.

To work in a different team during a session, call switch_team. It checks that you are actually a member of the team you are asking for before switching, and the switch only applies to your current session, never to anyone else's.

Troubleshooting

You get a 401 and are asked to re-authorize. This is the normal OAuth challenge a client sees when it has no token yet, or when a token has expired. Complete the consent flow again in your client.

A tool call returns an error starting with Unauthorized:. Your session's access token expired mid-conversation. This is different from the connection-level 401 above: the connection is still open, but the specific call needs a fresh token. Retry the call, your client should re-authorize automatically and the retry should succeed.

A tool call fails with nda_required. Your account has not yet accepted the SmartMemory beta NDA. Sign in to the SmartMemory web app and accept it there, then retry.

You are being rate limited. The hosted server limits registration, authorization, and token requests per client to keep the shared endpoint healthy for everyone. If you hit a limit, wait a minute and try again. A rate-limited response includes how long to wait.

On this page