recallium 1.2.3 → 1.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +67 -0
- package/package.json +6 -2
- package/src/index.js +12 -10
package/README.md
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Recallium MCP Client
|
|
2
|
+
|
|
3
|
+
MCP (Model Context Protocol) client for connecting AI coding assistants to the [Recallium](https://recallium.ai) memory server.
|
|
4
|
+
|
|
5
|
+
## What is Recallium?
|
|
6
|
+
|
|
7
|
+
Recallium is a persistent memory system for AI coding assistants. It remembers your decisions, code patterns, and project context across sessions - so your AI assistant doesn't start from scratch every time.
|
|
8
|
+
|
|
9
|
+
## Quick Start
|
|
10
|
+
|
|
11
|
+
### 1. Start the Recallium server
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
docker run -d -p 8001:8001 -p 9000:9000 recalliumai/recallium-community:latest
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### 2. Configure your AI assistant
|
|
18
|
+
|
|
19
|
+
**Cursor / Claude Desktop** (`~/.cursor/mcp.json` or `claude_desktop_config.json`):
|
|
20
|
+
|
|
21
|
+
```json
|
|
22
|
+
{
|
|
23
|
+
"mcpServers": {
|
|
24
|
+
"recallium": {
|
|
25
|
+
"command": "npx",
|
|
26
|
+
"args": ["-y", "recallium"],
|
|
27
|
+
"env": {
|
|
28
|
+
"RECALLIUM_SERVER_URL": "http://localhost:8001/mcp"
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### 3. Restart your AI assistant
|
|
36
|
+
|
|
37
|
+
The Recallium tools will now be available to your AI.
|
|
38
|
+
|
|
39
|
+
## Environment Variables
|
|
40
|
+
|
|
41
|
+
| Variable | Default | Description |
|
|
42
|
+
|----------|---------|-------------|
|
|
43
|
+
| `RECALLIUM_SERVER_URL` | `http://localhost:8001/mcp` | URL of your Recallium server |
|
|
44
|
+
| `RECALLIUM_DEBUG` | `false` | Enable debug logging |
|
|
45
|
+
|
|
46
|
+
## Available Tools
|
|
47
|
+
|
|
48
|
+
Once connected, your AI assistant gains access to:
|
|
49
|
+
|
|
50
|
+
- **store_memory** - Save decisions, code snippets, and learnings
|
|
51
|
+
- **search_memories** - Find relevant past context
|
|
52
|
+
- **get_insights** - Analyze patterns across your work
|
|
53
|
+
- **session_recap** - Resume where you left off
|
|
54
|
+
- **projects** - Manage project briefs and documentation
|
|
55
|
+
- **tasks** - Track TODOs and action items
|
|
56
|
+
- **get_rules** - Load behavioral guidelines
|
|
57
|
+
|
|
58
|
+
## Links
|
|
59
|
+
|
|
60
|
+
- [Website](https://recallium.ai)
|
|
61
|
+
- [Help & Documentation](https://www.recallium.ai/help)
|
|
62
|
+
- [GitHub](https://github.com/recallium-ai/recallium)
|
|
63
|
+
- [Docker Hub](https://hub.docker.com/r/recalliumai/recallium-community)
|
|
64
|
+
|
|
65
|
+
## License
|
|
66
|
+
|
|
67
|
+
MIT
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "recallium",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.4",
|
|
4
4
|
"description": "MCP client for connecting Cursor/VS Code to Recallium AI Memory Server",
|
|
5
5
|
"author": "Recallium Team",
|
|
6
6
|
"license": "MIT",
|
|
@@ -34,7 +34,11 @@
|
|
|
34
34
|
],
|
|
35
35
|
"repository": {
|
|
36
36
|
"type": "git",
|
|
37
|
-
"url": "https://github.com/recallium/recallium.git"
|
|
37
|
+
"url": "git+https://github.com/recallium-ai/recallium.git"
|
|
38
|
+
},
|
|
39
|
+
"homepage": "https://recallium.ai",
|
|
40
|
+
"bugs": {
|
|
41
|
+
"url": "https://github.com/recallium-ai/recallium/issues"
|
|
38
42
|
},
|
|
39
43
|
"publishConfig": {
|
|
40
44
|
"access": "public"
|
package/src/index.js
CHANGED
|
@@ -12,21 +12,21 @@ import {
|
|
|
12
12
|
} from '@modelcontextprotocol/sdk/types.js';
|
|
13
13
|
import fetch from 'node-fetch';
|
|
14
14
|
|
|
15
|
-
// Server configuration
|
|
16
|
-
const RECALLIUM_SERVER_URL = process.env.RECALLIUM_SERVER_URL || 'http://localhost:
|
|
17
|
-
const DEBUG = process.env.RECALLIUM_DEBUG === 'true';
|
|
15
|
+
// Server configuration - support both old and new env var names
|
|
16
|
+
const RECALLIUM_SERVER_URL = process.env.RECALLIUM_SERVER_URL || process.env.RECALLIUM_SERVER_URL || 'http://localhost:8001/mcp';
|
|
17
|
+
const DEBUG = process.env.RECALLIUM_DEBUG === 'true' || process.env.MINIME_DEBUG === 'true';
|
|
18
18
|
|
|
19
19
|
// Logging helper
|
|
20
20
|
function log(...args) {
|
|
21
21
|
if (DEBUG) {
|
|
22
|
-
console.error('[Recallium MCP
|
|
22
|
+
console.error('[Recallium MCP]', ...args);
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
// Create the MCP server that communicates via stdio with Cursor
|
|
27
27
|
const server = new Server({
|
|
28
28
|
name: "recallium",
|
|
29
|
-
version: "1.
|
|
29
|
+
version: "1.2.4"
|
|
30
30
|
}, {
|
|
31
31
|
capabilities: {
|
|
32
32
|
tools: {},
|
|
@@ -56,7 +56,7 @@ async function callRecalliumServer(method, params = {}) {
|
|
|
56
56
|
headers: {
|
|
57
57
|
'Content-Type': 'application/json',
|
|
58
58
|
'Accept': 'application/json, text/event-stream',
|
|
59
|
-
'User-Agent': 'Recallium-MCP
|
|
59
|
+
'User-Agent': 'Recallium-MCP/1.2.4'
|
|
60
60
|
},
|
|
61
61
|
body: JSON.stringify(requestBody)
|
|
62
62
|
});
|
|
@@ -66,7 +66,7 @@ async function callRecalliumServer(method, params = {}) {
|
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
const result = await response.json();
|
|
69
|
-
|
|
69
|
+
|
|
70
70
|
if (result.error) {
|
|
71
71
|
throw new Error(result.error.message || 'Unknown error');
|
|
72
72
|
}
|
|
@@ -134,7 +134,7 @@ server.setRequestHandler(ListRootsRequestSchema, async () => {
|
|
|
134
134
|
async function start() {
|
|
135
135
|
log(`Starting Recallium MCP Client`);
|
|
136
136
|
log(`Connecting to Recallium server at: ${RECALLIUM_SERVER_URL}`);
|
|
137
|
-
|
|
137
|
+
|
|
138
138
|
// Test connection to Recallium server
|
|
139
139
|
try {
|
|
140
140
|
// Extract base URL (remove /mcp if present)
|
|
@@ -142,7 +142,8 @@ async function start() {
|
|
|
142
142
|
const response = await fetch(`${baseUrl}/health`);
|
|
143
143
|
if (!response.ok) {
|
|
144
144
|
console.error(`Warning: Recallium server at ${baseUrl} is not responding`);
|
|
145
|
-
console.error(`Make sure your Docker container is running: docker run -p 8000:8000 recallium`);
|
|
145
|
+
console.error(`Make sure your Docker container is running: docker run -p 8000:8000 recalliumai/recallium-community:latest`);
|
|
146
|
+
console.error(`For help, visit: https://www.recallium.ai/help`);
|
|
146
147
|
} else {
|
|
147
148
|
log('Successfully connected to Recallium server');
|
|
148
149
|
}
|
|
@@ -150,7 +151,8 @@ async function start() {
|
|
|
150
151
|
const baseUrl = RECALLIUM_SERVER_URL.replace(/\/mcp$/, '');
|
|
151
152
|
console.error(`Warning: Cannot connect to Recallium server at ${baseUrl}`);
|
|
152
153
|
console.error(`Error: ${error.message}`);
|
|
153
|
-
console.error(`Make sure your Docker container is running: docker run -p 8000:8000 recallium`);
|
|
154
|
+
console.error(`Make sure your Docker container is running: docker run -p 8000:8000 recalliumai/recallium-community:latest`);
|
|
155
|
+
console.error(`For help, visit: https://www.recallium.ai/help`);
|
|
154
156
|
}
|
|
155
157
|
|
|
156
158
|
const transport = new StdioServerTransport();
|