JetBrains AI Assistant
IntelliJ, PyCharm, WebStorm, and more — same JSON shape as Claude Desktop.
JetBrains AI Assistant has native MCP support across the whole IntelliJ-platform family — IntelliJ IDEA, PyCharm, WebStorm, Rider, GoLand, PhpStorm, RubyMine, CLion, Android Studio. Settings → Tools → AI Assistant → Model Context Protocol (MCP) → Add. Verified against a real installation.
Local (stdio)
Use the Add dialog, or edit the JSON directly. command runs uvx, which downloads and runs Spomory on demand — no install step:
{
"mcpServers": {
"spomory": {
"command": "uvx",
"args": ["--from", "spomory[llm,embedding,mcp]", "spomory-mcp"],
"env": {
"LLM_API_KEY": "...",
"LLM_BASE_URL": "https://api.deepseek.com",
"LLM_MODEL": "deepseek-v4-flash"
}
}
}
} JetBrains' own basic example only shows command and args — if env vars aren't picked up in your version, the Add dialog also has an optional working-directory field, or you can bake the variables into a small wrapper script instead.
Prefer a fixed, pinned install over uvx's on-demand cache? Install into a virtual environment outside ~/Documents (pip install 'spomory[llm,embedding,mcp]'), then point command at that venv's bin/memory-core-mcp directly (and args at []).
Where do these environment variables come from?
LLM_API_KEY is your key for whichever OpenAI-compatible provider you use for extraction — OpenAI, DeepSeek, Qwen, and others all work. LLM_BASE_URL and LLM_MODEL default to OpenAI if you leave them out; swap them to point at DeepSeek, Qwen, or any other OpenAI-compatible provider, or a fully local server (Ollama, vLLM, llama.cpp, MLX):
export LLM_API_KEY=...
export LLM_BASE_URL=https://api.deepseek.com # optional, defaults to OpenAI
export LLM_MODEL=deepseek-v4-flash # optional, defaults to gpt-4o-mini
export EMBEDDING_MODEL=BAAI/bge-m3 # optional, defaults to bge-m3 Full local setup guide, including the macOS ~/Documents gotcha → Cloud (API key)
Same JSON, plus a headers section for the API key. JetBrains doesn't support OAuth for remote MCP servers yet, so a static header is the real fit:
{
"mcpServers": {
"spomory-cloud": {
"url": "https://api.yliuai.com/mcp-apikey/",
"headers": {
"x-api-key": "<your key>"
}
}
}
} JetBrains' own docs don't show a full remote-server headers example the way some other clients' do, but the headers field works as shown above — verified against a real installation, resolving to the same account/memory graph as every other client on this page.
Where does <your key> come from?
Get one instantly with curl — fine for your own testing:
curl -X POST https://api.yliuai.com/users/register \
-H "Content-Type: application/json" \
-d '{"email": "you@example.com"}'
# the api_key in the response (starts with mck_) is shown only this once -- save it That hands you a key with no proof you control the email — fine for testing, but for real use, get one through the email-confirmation form instead, which actually verifies the address.
Get a verified key on the Cloud & Apps page →Make it actually get used
Connecting the tools doesn't mean your client reaches for them on its own — it needs to be told to call search_memory before answering and add_memory after you share something worth keeping. SKILL.md is a short instructions file that does that. How you load it is specific to each client: some auto-discover a skills folder the same way Claude Code does, others only have a custom-instructions or system-prompt field instead. Verified for this one:
JetBrains AI Assistant does have Agent Skills, but you register the folder manually: Settings → Tools → AI Assistant → Skills → Manage Skill Directories, pointing at wherever you put SKILL.md (it can also detect an existing .claude/skills folder).
SKILL.md on GitHub →