Skip to main content

MCP Integration

The Memory Module uses the Model Context Protocol (MCP) to work seamlessly with 29+ AI assistants. Configure once, use everywhere.
Already done setup? Jump to Using MCP Tools to see how to use memory in your AI conversations.

What is MCP?

Model Context Protocol (MCP) is an open standard that lets AI assistants connect to external services like the Memory Module. Why it matters: Instead of building separate integrations for Claude Desktop, Continue, Cursor, Zed, etc., we implement MCP once and it works everywhere. For you: One configuration, works across all your AI tools. Same memory system, same context, everywhere you work.

Supported AI Assistants

The Memory Module works with any MCP-compatible client:

Claude Desktop

Continue.dev

Cline

Cursor

Zed

Windsurf

VS Code

JetBrains IDEs

+ 21 more

Full list: MCP Clients Directory

Quick Setup

1

Get Your MCP Credentials

  1. Log into app.ulpi.io
  2. Navigate to your repository
  3. Go to Settings → MCP Integration
  4. Click Copy MCP Configuration
You’ll get a JSON config like this:
2

Add to Your AI Assistant

Choose your AI assistant below for platform-specific instructions:
3

Verify Connection

Open your AI assistant and ask:
You should see:
  • store-memory
  • search-memories
  • retrieve-memory
  • reinforce-memory
  • prune-memories
  • delete-memory
Plus 4 resources: memory://list, memory://stats, memory://recent, memory://
4

Store Your First Memory

Try it out:
Your AI assistant will use the MCP tool automatically!

Platform-Specific Setup

Claude Desktop

Supported: macOS, Windows, Linux
1

Locate Config File

macOS:
Windows:
Linux:
Create the file if it doesn’t exist: {}
2

Add MCP Server

Edit the config file and add:
Replace YOUR_API_KEY and your-repo-id with your actual credentials from Step 1.
3

Restart Claude Desktop

Completely quit (Cmd+Q / Alt+F4) and reopen Claude Desktop.You should see: “Connected to 1 MCP server” notification
4

Test It

In a new conversation:
Claude should list the 6 memory tools.

Continue.dev

Supported: VS Code, JetBrains IDEs (IntelliJ, PyCharm, WebStorm, etc.)
1

Locate Config File

Both VS Code and JetBrains:
Or use the GUI: Continue sidebar → Gear icon → Edit config.json
2

Add MCP Server

Add under experimentalmodelContextProtocolServers:
3

Reload

VS Code: Cmd+Shift+P → “Developer: Reload Window”JetBrains: Restart IDE
4

Verify

In Continue chat:

Cursor

Supported: macOS, Windows, Linux
1

Open Cursor Settings

Settings (Cmd+, / Ctrl+,) → Extensions → MCP Servers
2

Add MCP Server

Click Add MCP Server:
  • Name: ulpi-memory
  • URL: https://api.ulpi.io/mcp/memory
  • Transport: SSE (Server-Sent Events)
  • Headers:
Click Save.
3

Restart Cursor

Close and reopen Cursor IDE
4

Verify

Cursor AI chat (Cmd+L):

Cline

Supported: VS Code extension
1

Install Cline

If not already: VS Code → Extensions → Search “Cline” → Install
2

Open Cline Settings

Cline sidebar → Gear icon ⚙️ → MCP Servers
3

Add Configuration

Create/edit ~/.cline/mcp_servers.json:
4

Reload

Cmd+Shift+P → “Developer: Reload Window”
5

Verify

Cline chat:

Zed

Supported: macOS, Linux
1

Locate Config File

macOS/Linux:
Or use GUI: Cmd+, → Edit settings.json
2

Add MCP Server

3

Restart Zed

Quit (Cmd+Q) and reopen
4

Verify

Zed AI (Cmd+Shift+A):

Other MCP Clients

For any MCP-compatible client, use this configuration template:
Configuration Fields:
  • url (required): MCP server endpoint
  • headers (required): Authentication (API key + tenant ID)
  • transport (required): sse for Server-Sent Events
Consult your MCP client’s documentation for specific file locations and syntax.

Using MCP Tools

Once configured, your AI assistant can use 6 memory tools naturally:

1. store-memory

Purpose: Save new memories Usage:
Parameters:
  • content (required): The information to store
  • sector (optional): episodic, semantic, procedural, emotional, reflective
  • tags (optional): Array of tags for organization
  • source (optional): Where this came from
  • metadata (optional): Custom JSON object
Returns: Memory ID, sector, initial salience, embedding status

2. search-memories

Purpose: Find memories by semantic meaning Usage:
With filters:
Parameters:
  • query (required): Search text
  • limit (optional): Number of results (default: 10, max: 100)
  • sector (optional): Filter by cognitive sector
  • min_salience (optional): Minimum salience threshold
  • expand_waypoints (optional): Enable context expansion (default: true)
  • max_hops (optional): Waypoint traversal depth (default: 3)
Returns: Ranked list of memories with relevance scores

3. retrieve-memory

Purpose: Get specific memory by ID Usage:
Parameters:
  • memory_id (required): UUID of the memory
Returns: Full memory details

4. reinforce-memory

Purpose: Explicitly boost memory salience Usage:
Parameters:
  • memory_id (required): UUID or description to identify memory
  • profile (optional): quick_refresh, maintenance, deep_learning, emergency
Returns: Old salience, new salience, profile used

5. prune-memories

Purpose: Remove low-salience memories Usage:
Parameters:
  • threshold (optional): Salience threshold (default: 0.1)
  • sector (optional): Only prune specific sector
  • dry_run (optional): Preview what would be deleted
Returns: Number of memories pruned

6. delete-memory

Purpose: Permanently delete a memory Usage:
Parameters:
  • memory_id (required): UUID or description
Returns: Confirmation of deletion

MCP Resources

In addition to tools, MCP provides 4 resources for browsing:

memory://list

Purpose: Paginated list of all memories Usage:
Returns: List with pagination, sorted by salience

memory://stats

Purpose: System statistics Usage:
Returns:
  • Total memories
  • By-sector breakdown
  • Average salience
  • Hot memories count
  • Total waypoints
  • Embeddings today

memory://recent

Purpose: Recently accessed memories Usage:
Returns: Last 10 memories you accessed

memory://

Purpose: Specific memory by ID Usage:
Returns: Full memory details

Real-World Usage Examples

Morning Routine: Catch Up on Context

During Coding: Access Team Patterns

After Meetings: Capture Decisions

Research Mode: Build Knowledge Graph


Multi-Client Workflow

The Power: Same memory system across all tools simultaneously! Example Day: 9am - Claude Desktop (Strategy Discussion):
10am - Continue in VS Code (Coding):
2pm - Cursor (Different Project):
5pm - Zed (Writing Docs):
One memory system. Complete context. Everywhere.

Troubleshooting

Check:
  1. API key is correct (no extra spaces)
  2. Tenant ID matches your repository
  3. Network allows HTTPS to api.ulpi.io
  4. JSON syntax is valid (use jsonlint.com)
  5. AI assistant fully restarted (not just reload)
Test: curl https://api.ulpi.io/health should return 200
Solutions:
  1. Verify you edited the correct config file
  2. Check file permissions (must be readable)
  3. Ensure your AI assistant supports MCP (check version)
  4. Look for errors in assistant’s debug logs
  5. Try removing and re-adding the server config
Fix:
  1. Regenerate API key in admin panel
  2. Verify “Bearer ” prefix in Authorization header
  3. Check key hasn’t expired (1-year expiry)
  4. Ensure key is scoped to correct tenant
Debug:
  1. Check admin panel → Memory Resource (correct tenant?)
  2. Verify store-memory returns a memory ID
  3. Check Embedding Logs for generation errors
  4. Ensure you haven’t hit storage limits

Advanced Configuration

Custom Transport Settings

If your network requires specific settings:

Multiple Repositories

Configure multiple memory systems:
Your AI can then access both memory systems!

Next Steps

Common Workflows

See real-world examples of using memory in daily work

Best Practices

Get maximum value from the Memory Module

API Reference

Direct API integration without MCP

Getting Started

Full setup guide with troubleshooting

Need help with MCP setup? Contact support@ulpi.io with your AI assistant details and we’ll help you get connected.