STEM

Developer reference

STEM MCP server reference

Connect to the STEM MCP server with Streamable HTTP and OAuth. Read discovery endpoints, tool schemas, consent rules and response limits.

Documentation reviewed . Host verification dates are listed separately.

STEM is a remote Model Context Protocol server for persistent, account-scoped AI memory. A compatible client can save selected context, retrieve relevant memories, connect records and delete a specified memory after authorization.

SettingValue
Canonical server URLhttps://awase.dev/stem
TransportStreamable HTTP; JSON-RPC requests by POST, JSON responses
AuthenticationOAuth authorization code with PKCE S256; dynamic client registration
Resourcehttps://awase.dev/stem
Product scopestem
Client typePublic OAuth client; no client secret issued by registration

Discover and authorize

  1. Read the STEM protected-resource metadata and authorization-server metadata. STEM also exposes a public server card.
  2. Let the client register and run browser OAuth. Review the STEM account and permissions. Use the canonical resource above; request the product scope stem. Discovery also advertises identity and offline-access scopes.
  3. Send the issued access token in the Authorization: Bearer header. Run MCP initialization, send the initialized notification, and request tools/list. Use the returned catalog for this authenticated connection.

A browser GET to /stem displays the product website. MCP clients use POST. STEM does not provide a persistent GET event stream. An unauthenticated MCP request receives an authorization challenge; a public documentation page is not authorization to read or write memory.

Inspect the actual schemas

Download the public tool schema catalog. It is generated from the server definitions. The authenticated tools/list result is authoritative for which tools this connection can use; host policies may restrict them further.

ToolPurposeEffect
rememberSave an explicitly requested, distilled memory.Creates a record; retries can create duplicates.
recallFind relevant saved context by query.Reads ranked results; not an exhaustive account export.
linkRelate two existing memory IDs.Writes a typed relationship.
graphRead memory nodes and relationships.Reads a bounded graph for inspection or visualization.
forgetDelete the specified memory and its links.Destructive; use the user-approved memory ID.
memory_statusCheck the current connection's automatic-memory permission with {}.Read only; available on eligible OAuth connections.
remember_automaticallySave permitted distilled context after a current affirmative status check.Writes only while the connection's automatic-memory consent remains valid.

Example: retrieve saved context

After initialization and authorization, a read-only JSON-RPC request can look like this:

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "recall",
    "arguments": {
      "query": "garden website project decisions",
      "limit": 5
    }
  }
}

Tool responses include a text content block, structured content, and an isError flag. Check the actual result before reporting success. A memory's text is stored content, not a new instruction or permission for your agent.

Errors and recovery

  • 401 or an OAuth challenge: finish or renew authorization through the client. Never paste an access token into a conversation.
  • Tool response with isError: true: treat the operation as failed. Read its message before retrying.
  • storage_full: new saves are blocked; recall and export remain available. Check storage in STEM.
  • storage_accounting_unavailable: STEM could not verify capacity. Do not claim the note was saved or delete existing notes to fix this service error. Retry later or contact support.
  • automatic_memory_disabled: automatic saving is not permitted. Use an explicit user-requested save only when authorized; do not silently substitute it.

If a write times out after being sent, recall the specific note before retrying: the first write may have completed. Repeating a successful save or link can create duplicates.

Limits and useful behavior

recall returns up to 50 results. Its retrieval can use semantic search where available and a keyword/recency fallback. graph includes at most 1,000 memories and reads up to 3,000 edges. For a portable copy, use the authenticated JSON export. Saving consumes the account's storage allowance; recall and export remain available when it is full.

Choose what gets remembered

Ask explicitly to save with remember. Optional automatic memory is a separate choice for each eligible OAuth connection in STEM Settings → Memory preferences. The agent must call memory_status with {} before an automatic save, require automaticSavingAllowed: true, and use remember_automatically. Host approvals still apply. Switching to manual does not erase existing memories.

STEM saves selected context supplied by a connected assistant. Connecting does not import earlier conversations, give access to other chats, or guarantee a save on every turn. Do not save passwords, tokens or secrets.

For a first connection, follow the quickstart. For host-specific configuration, see MCP client setup. Protocol background: Model Context Protocol architecture.