Use this skill whenever you need to store, retrieve, search, or view persistent context using the Alchemyst AI MCP server at mcp.getalchemystai.com/mcp/sse. Triggers include: requests to "remember" or "recall" information across sessions, storing documents/notes/decisions for later retrieval, searching project knowledge, or any task that involves reading from or writing to Alchemyst's context store.
Use this skill whenever you need to store, retrieve, search, or view persistent context using the Alchemyst AI MCP server at mcp.getalchemystai.com/mcp/sse. Triggers include: requests to "remember" or "recall" information across sessions, storing documents/notes/decisions for later retrieval, searching project knowledge, or any task that involves reading from or writing to Alchemyst's context store.
Alchemyst AI MCP — Context Engine
Overview
Alchemyst AI is a persistent context layer for AI applications. It stores documents,
conversations, and structured knowledge externally so they can be retrieved on demand — across
sessions, tools, and environments.
The MCP server is exposed as an SSE (Server-Sent Events) endpoint:
https://mcp.getalchemystai.com/mcp/sse
Authentication is done via a Bearer token (your Alchemyst API key) passed as a request header.
Add one or more documents to the Alchemyst context store.
When to use: Saving project requirements, architectural decisions, onboarding docs, meeting
notes, code conventions, or any knowledge you want to persist and retrieve later.
Input Schema
Field
Type
Required
Description
user_id
string
✅
Unique identifier of the user submitting context
organization_id
string | null
✅
Organization ID; pass null if not applicable
documents
array
✅
Array of document objects, each with a content string field (plus optional extra string fields)
source
string
✅
Label describing where this context came from (e.g., "project.auth.decisions")
⚠️ Key naming difference:add_context uses snake_case metadata keys (file_name,
doc_type, size), while search_context uses camelCase (fileName, fileType,
fileSize). Match the case to the tool you're calling.
Context Types
Value
Use for
"resource"
Files, documents, reference material, code
"conversation"
Chat history, meeting transcripts, support threads
"instruction"
Persistent rules, conventions, agent instructions
Source Naming Convention
Use dot-separated hierarchical labels. This makes auditing straightforward:
{"user_id":"user_abc123","organization_id":"org_xyz","documents":[{"content":"All API routes use JWT auth with 15-minute token expiry."}],"source":"project.auth.decisions","context_type":"resource","scope":"internal","metadata":{"file_name":"auth-decisions.md","doc_type":"text/markdown","modalities":["text"],"size":64}}
Later, call alchemyst_ai_search_context with a relevant query to retrieve it
Inject the retrieved content into your prompt as context
Audit before adding
Call alchemyst_ai_context_mcp_view_docs to inspect what's already stored
Only call alchemyst_ai_add_context if the knowledge isn't already present
This avoids duplicating context and keeps the store clean
Pre-answer retrieval
Before answering any question that might depend on project-specific knowledge, call
alchemyst_ai_search_context first. Prefer doing this proactively — don't wait for the user to
explicitly ask "check the context store."
Best Practices
Always populate metadata. The metadata object is required on add_context — populate all
four fields every time. Missing metadata degrades retrieval quality significantly.
Chunk large documents. Break large files into logical sections before adding. Each chunk
should be independently meaningful. Don't split mid-sentence or mid-concept.
Version your sources. When content evolves, use versioned source labels
(project.arch.v1, project.arch.v2) rather than re-adding to the same source. This preserves
history.
Search before storing. Run a search first to check whether similar content already exists
before calling add_context. Avoid accumulating duplicates.
Mind the camelCase/snake_case split. The metadata schema differs between tools — this is a
quirk of the current API. Double-check field names when building payloads: