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.
| Setting | Value |
|---|---|
| Canonical server URL | https://awase.dev/stem |
| Transport | Streamable HTTP; JSON-RPC requests by POST, JSON responses |
| Authentication | OAuth authorization code with PKCE S256; dynamic client registration |
| Resource | https://awase.dev/stem |
| Product scope | stem |
| Client type | Public OAuth client; no client secret issued by registration |
Discover and authorize
- Read the STEM protected-resource metadata and authorization-server metadata. STEM also exposes a public server card.
- 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. - Send the issued access token in the
Authorization: Bearerheader. Run MCP initialization, send the initialized notification, and requesttools/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.
| Tool | Purpose | Effect |
|---|---|---|
remember | Save an explicitly requested, distilled memory. | Creates a record; retries can create duplicates. |
recall | Find relevant saved context by query. | Reads ranked results; not an exhaustive account export. |
link | Relate two existing memory IDs. | Writes a typed relationship. |
graph | Read memory nodes and relationships. | Reads a bounded graph for inspection or visualization. |
forget | Delete the specified memory and its links. | Destructive; use the user-approved memory ID. |
memory_status | Check the current connection's automatic-memory permission with {}. | Read only; available on eligible OAuth connections. |
remember_automatically | Save 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.
← Back to the agent hub · Machine-readable tool schemas