server
Give your AI persistent memory. MCP server that connects Claude, Cursor, Windsurf, and VS Code to VX β your personal knowledge layer that remembers everything.
Installation
npx @vesselnyc/mcp-serverAsk AI about server
Powered by Claude Β· Grounded in docs
I know everything about server. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
vx-mcp-server
Plugin-first VX memory for Claude, Codex, Cursor, OpenClaw, and other MCP clients.
VX gives your assistant durable memory for:
- user preferences
- project decisions
- setup choices
- recurring workflows
- imported notes or prior chat history
Users get more continuity across sessions and spend less time repeating themselves.
Requirements
- Node.js 18 or newer
- A VX API base URL, usually
https://api.vx.dev/v1 - One VX credential:
VX_API_KEYorVX_BEARER_TOKEN
Quick Start
Claude Code
Default path:
npx vx-mcp-server install claude
This installs:
- the packaged VX MCP server in Claude Code
- a bundled
/vx-memoryslash command with the recommended recall/store/import workflow
Secondary path: Claude Code plugin marketplace
/plugin marketplace add vx-nyc/vx-mcp
/plugin install vx-mcp
Fallback: Claude Desktop MCP config
{
"mcpServers": {
"vx": {
"command": "npx",
"args": ["-y", "vx-mcp-server@latest", "mcp"],
"env": {
"VX_API_BASE_URL": "https://api.vx.dev/v1",
"VX_API_KEY": "your-api-key",
"VX_NAME": "VX",
"VX_SOURCE": "claude-desktop"
}
}
}
}
Codex
Default path:
npx vx-mcp-server install codex
This installs:
- the packaged VX MCP server in
~/.codex/config.toml - a bundled Codex skill at
~/.codex/skills/vx-memory/SKILL.md
Direct CLI fallback:
codex mcp add vx -- npx -y vx-mcp-server@latest mcp
Manual ~/.codex/config.toml fallback:
[mcp_servers.vx]
command = "npx"
args = ["-y", "vx-mcp-server@latest", "mcp"]
[mcp_servers.vx.env]
VX_API_BASE_URL = "https://api.vx.dev/v1"
VX_API_KEY = "your-api-key"
VX_NAME = "VX"
VX_SOURCE = "codex"
Cursor
One-click install:
After adding it, set your VX credential in Cursor before first use.
Manual .cursor/mcp.json fallback:
{
"mcpServers": {
"vx": {
"command": "npx",
"args": ["-y", "vx-mcp-server@latest", "mcp"],
"env": {
"VX_API_BASE_URL": "https://api.vx.dev/v1",
"VX_API_KEY": "your-api-key",
"VX_NAME": "VX",
"VX_SOURCE": "cursor"
}
}
}
}
OpenClaw
Install the native plugin:
openclaw plugins install vx-mcp-server
openclaw gateway restart
Add plugin config once:
{
plugins: {
entries: {
"vx-memory": {
enabled: true,
config: {
apiBaseUrl: "https://api.vx.dev/v1",
apiKey: "your-api-key",
source: "openclaw",
name: "VX",
storeOnRequestOnly: false,
maxTokens: 4000
}
}
}
}
}
Verify setup:
- Ask OpenClaw to run
vx_status. - Store one small preference with
vx_store. - Recall it with
vx_recallorvx_context.
Compared with regular OpenClaw, VX adds durable recall of preferences, decisions, imported history, and recurring workflows across sessions.
NemoClaw
If your NemoClaw deployment supports OpenClaw plugins, use the same install and config flow as OpenClaw.
If it exposes MCP configuration instead, use the standard MCP config shown below with VX_SOURCE set to openclaw or nemoclaw.
Standard MCP Config
Use this in any MCP client that accepts a local command:
{
"mcpServers": {
"vx": {
"command": "npx",
"args": ["-y", "vx-mcp-server@latest", "mcp"],
"env": {
"VX_API_BASE_URL": "https://api.vx.dev/v1",
"VX_API_KEY": "your-api-key",
"VX_NAME": "VX",
"VX_SOURCE": "mcp"
}
}
}
}
Bundled Guidance
This package ships host-specific guidance so the memory workflow feels native instead of generic:
- Claude Code: bundled
/vx-memoryslash command - Codex: bundled
vx-memoryskill - OpenClaw: bundled
vx-memoryskill plus nativevx_status - MCP prompts:
vx_memory_workflowandvx_memory_import
Recommended workflow in every host:
- Recall first with
vx_recall. - Use
vx_contextwhen one topic needs broader continuity. - Use
vx_contexts_listto inspect existing knowledge contexts andvx_contexts_createwhen a new namespace is needed. - Store new durable facts with
vx_storeone item at a time inside the right knowledge context. - Use
vx_import_textorvx_import_batchto migrate prior notes or exports. - Never store secrets, tokens, private keys, or credentials.
Tools
| Tool | Purpose |
|---|---|
vx_store | Store one durable fact, preference, decision, or procedure |
vx_recall | Hybrid recall for focused questions |
vx_query | Semantic search across stored memory |
vx_list | Browse stored memory with optional filters |
vx_delete | Remove a memory by ID |
vx_context | Build a broader context packet for one topic |
vx_contexts_list | List available knowledge contexts |
vx_contexts_create | Create a new knowledge context |
vx_import_text | Import exports, transcripts, or long notes |
vx_import_batch | Import a curated batch of atomic memories |
OpenClaw also exposes:
vx_statusto verify plugin readiness
Environment Variables
| Variable | Description |
|---|---|
VX_API_BASE_URL | Canonical VX API base URL including /v1 |
VX_API_URL | Backward-compatible fallback without /v1; prefer VX_API_BASE_URL for new setups |
VX_API_KEY | VX API key |
VX_BEARER_TOKEN | VX bearer token |
VX_NAME | Friendly display name, default VX |
VX_SOURCE | Host/source label stored with memory metadata. Recommended values: claude-code, claude-desktop, codex, openclaw, mcp |
VX_MCP_STORE_ON_REQUEST_ONLY | Set to 1 or true to avoid automatic durable storage outside explicit memory moments |
VX_CUSTODIAN_ID | Optional custodian identifier for multi-tenant setups |
Verify In One Prompt
Use this after installation:
Remember that I prefer TypeScript over JavaScript, then tell me my coding preference.
The assistant should store the preference and then recall it from VX.
CLI
vx-mcp [mcp|install <claude|codex>|uninstall <claude|codex>]
Programmatic Usage
This package also exports a lightweight client wrapper for direct VX API access.
import { VXClient } from "vx-mcp-server/client";
const client = new VXClient({
apiBaseUrl: "https://api.vx.dev/v1",
apiKey: process.env.VX_API_KEY!,
source: "codex",
});
const stored = await client.store({
content: "User prefers TypeScript over JavaScript.",
context: "preferences/language",
memoryType: "SEMANTIC",
importance: 0.8,
});
const query = await client.query({
query: "What language does the user prefer?",
context: "preferences/language",
limit: 3,
});
await client.delete(stored.id);
Available subpath exports:
vx-mcp-server/clientvx-mcp-server/types
Development
npm run build
npm test
Use VX_API_BASE_URL, VX_API_KEY, or VX_BEARER_TOKEN when running against a real VX environment.
See CONTRIBUTING.md for contributor workflow and public-repo safety rules.
Manual QA
Use this checklist before publishing a release.
Claude Code
- Run
npx vx-mcp-server install claudewithVX_API_BASE_URLand one VX credential set. - Confirm Claude Code shows the
vxMCP server and/vx-memoryslash command. - Run
/vx-memoryand verify the guidance mentions recall, context packets, knowledge contexts, atomic storage, and imports. - Create a knowledge context, store one preference inside it, then recall it in a fresh chat.
- Run
npx vx-mcp-server uninstall claudeand confirm the MCP server and slash command are removed.
Codex
- Run
npx vx-mcp-server install codexwithVX_API_BASE_URLand one VX credential set. - Confirm
~/.codex/config.tomlcontains a single managed VX block withnpx -y vx-mcp-server@latest mcp. - Confirm
~/.codex/skills/vx-memory/SKILL.mdexists and matches the shipped workflow guidance. - Start Codex, verify the VX MCP server loads, create a knowledge context, store one preference inside it, then recall it in a fresh session.
- Run
npx vx-mcp-server uninstall codexand confirm the managed block and installed skill are removed cleanly.
OpenClaw
- Run
openclaw plugins install vx-mcp-serverand restart the gateway. - Add
plugins.entries.vx-memory.configwithapiBaseUrland one VX credential. - Verify
vx_statusreports the plugin as ready. - Verify
vx_contexts_createandvx_contexts_listwork, then store memory inside that knowledge context. - Verify
vx_store,vx_recall,vx_context,vx_import_text, andvx_import_batchare callable. - Start a fresh session and confirm a stored preference is still recalled.
Package
- Run
npm run build. - Run
npm test.
