recallium 1.2.6 → 2.0.8
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/.claude-plugin/plugin.json +20 -0
- package/LICENSE +56 -0
- package/README.md +36 -52
- package/bin/manifest.json +8 -0
- package/bin/opencode-plugin-manifest.json +8 -0
- package/bin/recallium-hooks.cjs +111 -0
- package/bin/recallium-opencode-plugin.cjs +1 -0
- package/bin/skills/antigravity/capture/SKILL.md +61 -0
- package/bin/skills/antigravity/curate/SKILL.md +64 -0
- package/bin/skills/antigravity/decide/SKILL.md +62 -0
- package/bin/skills/antigravity/design/SKILL.md +61 -0
- package/bin/skills/antigravity/finish/SKILL.md +82 -0
- package/bin/skills/antigravity/handoff/SKILL.md +63 -0
- package/bin/skills/antigravity/investigate/SKILL.md +84 -0
- package/bin/skills/antigravity/project/SKILL.md +60 -0
- package/bin/skills/antigravity/recall/SKILL.md +107 -0
- package/bin/skills/antigravity/recallium-guidance/SKILL.md +141 -0
- package/bin/skills/antigravity/recallium-guidance/reference.md +117 -0
- package/bin/skills/antigravity/recallium-tools/SKILL.md +64 -0
- package/bin/skills/antigravity/resume/SKILL.md +64 -0
- package/bin/skills/antigravity/rule/SKILL.md +64 -0
- package/bin/skills/antigravity/start-work/SKILL.md +78 -0
- package/bin/skills/antigravity/team/SKILL.md +57 -0
- package/bin/skills/antigravity/verdict/SKILL.md +63 -0
- package/bin/skills/claude-code/capture/SKILL.md +61 -0
- package/bin/skills/claude-code/curate/SKILL.md +64 -0
- package/bin/skills/claude-code/decide/SKILL.md +62 -0
- package/bin/skills/claude-code/design/SKILL.md +61 -0
- package/bin/skills/claude-code/finish/SKILL.md +82 -0
- package/bin/skills/claude-code/handoff/SKILL.md +63 -0
- package/bin/skills/claude-code/investigate/SKILL.md +84 -0
- package/bin/skills/claude-code/project/SKILL.md +60 -0
- package/bin/skills/claude-code/recall/SKILL.md +107 -0
- package/bin/skills/claude-code/recallium-guidance/SKILL.md +141 -0
- package/bin/skills/claude-code/recallium-guidance/reference.md +117 -0
- package/bin/skills/claude-code/recallium-tools/SKILL.md +64 -0
- package/bin/skills/claude-code/resume/SKILL.md +64 -0
- package/bin/skills/claude-code/rule/SKILL.md +64 -0
- package/bin/skills/claude-code/start-work/SKILL.md +78 -0
- package/bin/skills/claude-code/team/SKILL.md +57 -0
- package/bin/skills/claude-code/verdict/SKILL.md +63 -0
- package/bin/skills/codex/capture/SKILL.md +61 -0
- package/bin/skills/codex/curate/SKILL.md +64 -0
- package/bin/skills/codex/decide/SKILL.md +62 -0
- package/bin/skills/codex/design/SKILL.md +61 -0
- package/bin/skills/codex/finish/SKILL.md +82 -0
- package/bin/skills/codex/handoff/SKILL.md +63 -0
- package/bin/skills/codex/investigate/SKILL.md +84 -0
- package/bin/skills/codex/project/SKILL.md +60 -0
- package/bin/skills/codex/recall/SKILL.md +107 -0
- package/bin/skills/codex/recallium-guidance/SKILL.md +141 -0
- package/bin/skills/codex/recallium-guidance/reference.md +117 -0
- package/bin/skills/codex/recallium-tools/SKILL.md +64 -0
- package/bin/skills/codex/resume/SKILL.md +64 -0
- package/bin/skills/codex/rule/SKILL.md +64 -0
- package/bin/skills/codex/start-work/SKILL.md +78 -0
- package/bin/skills/codex/team/SKILL.md +57 -0
- package/bin/skills/codex/verdict/SKILL.md +63 -0
- package/bin/skills/cursor/capture/SKILL.md +61 -0
- package/bin/skills/cursor/curate/SKILL.md +64 -0
- package/bin/skills/cursor/decide/SKILL.md +62 -0
- package/bin/skills/cursor/design/SKILL.md +61 -0
- package/bin/skills/cursor/finish/SKILL.md +82 -0
- package/bin/skills/cursor/handoff/SKILL.md +63 -0
- package/bin/skills/cursor/investigate/SKILL.md +84 -0
- package/bin/skills/cursor/project/SKILL.md +60 -0
- package/bin/skills/cursor/recall/SKILL.md +107 -0
- package/bin/skills/cursor/recallium-guidance/SKILL.md +141 -0
- package/bin/skills/cursor/recallium-guidance/reference.md +117 -0
- package/bin/skills/cursor/recallium-tools/SKILL.md +64 -0
- package/bin/skills/cursor/resume/SKILL.md +64 -0
- package/bin/skills/cursor/rule/SKILL.md +64 -0
- package/bin/skills/cursor/start-work/SKILL.md +78 -0
- package/bin/skills/cursor/team/SKILL.md +57 -0
- package/bin/skills/cursor/verdict/SKILL.md +63 -0
- package/commands/doctor.md +15 -0
- package/commands/login.md +17 -0
- package/commands/status.md +11 -0
- package/hooks/hooks.json +88 -0
- package/package.json +26 -29
- package/plugin-manifest.json +128 -0
- package/skills/capture/SKILL.md +61 -0
- package/skills/curate/SKILL.md +64 -0
- package/skills/decide/SKILL.md +62 -0
- package/skills/design/SKILL.md +61 -0
- package/skills/finish/SKILL.md +82 -0
- package/skills/handoff/SKILL.md +63 -0
- package/skills/investigate/SKILL.md +84 -0
- package/skills/project/SKILL.md +60 -0
- package/skills/recall/SKILL.md +107 -0
- package/skills/recallium-guidance/SKILL.md +141 -0
- package/skills/recallium-guidance/reference.md +117 -0
- package/skills/recallium-tools/SKILL.md +64 -0
- package/skills/resume/SKILL.md +64 -0
- package/skills/rule/SKILL.md +64 -0
- package/skills/start-work/SKILL.md +78 -0
- package/skills/team/SKILL.md +57 -0
- package/skills/verdict/SKILL.md +63 -0
- package/bin/recallium +0 -2
- package/src/index.js +0 -179
package/src/index.js
DELETED
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
2
|
-
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
3
|
-
import {
|
|
4
|
-
ListToolsRequestSchema,
|
|
5
|
-
CallToolRequestSchema,
|
|
6
|
-
ListResourcesRequestSchema,
|
|
7
|
-
ReadResourceRequestSchema,
|
|
8
|
-
ListPromptsRequestSchema,
|
|
9
|
-
GetPromptRequestSchema,
|
|
10
|
-
ListRootsRequestSchema,
|
|
11
|
-
CreateMessageRequestSchema
|
|
12
|
-
} from '@modelcontextprotocol/sdk/types.js';
|
|
13
|
-
// Using native fetch (Node 18+)
|
|
14
|
-
|
|
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
|
-
|
|
19
|
-
// Logging helper
|
|
20
|
-
function log(...args) {
|
|
21
|
-
if (DEBUG) {
|
|
22
|
-
console.error('[Recallium MCP]', ...args);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
// Create the MCP server that communicates via stdio with Cursor
|
|
27
|
-
const server = new Server({
|
|
28
|
-
name: "recallium",
|
|
29
|
-
version: "1.2.4"
|
|
30
|
-
}, {
|
|
31
|
-
capabilities: {
|
|
32
|
-
tools: {},
|
|
33
|
-
resources: {},
|
|
34
|
-
prompts: {},
|
|
35
|
-
sampling: {},
|
|
36
|
-
roots: {
|
|
37
|
-
listChanged: true
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
// Helper to make HTTP requests to Recallium server
|
|
43
|
-
async function callRecalliumServer(method, params = {}) {
|
|
44
|
-
const requestBody = {
|
|
45
|
-
jsonrpc: "2.0",
|
|
46
|
-
method: method,
|
|
47
|
-
params: params,
|
|
48
|
-
id: Date.now().toString()
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
log(`Calling Recallium server: ${method}`, params);
|
|
52
|
-
|
|
53
|
-
try {
|
|
54
|
-
const response = await fetch(RECALLIUM_SERVER_URL, {
|
|
55
|
-
method: 'POST',
|
|
56
|
-
headers: {
|
|
57
|
-
'Content-Type': 'application/json',
|
|
58
|
-
'Accept': 'application/json, text/event-stream',
|
|
59
|
-
'User-Agent': 'Recallium-MCP/1.2.4'
|
|
60
|
-
},
|
|
61
|
-
body: JSON.stringify(requestBody)
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
if (!response.ok) {
|
|
65
|
-
throw new Error(`HTTP ${response.status}: ${response.statusText}`);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
const result = await response.json();
|
|
69
|
-
|
|
70
|
-
if (result.error) {
|
|
71
|
-
throw new Error(result.error.message || 'Unknown error');
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
log(`Response from Recallium:`, result.result);
|
|
75
|
-
return result.result;
|
|
76
|
-
} catch (error) {
|
|
77
|
-
log(`Error calling Recallium:`, error);
|
|
78
|
-
throw error;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
// Handle tool discovery
|
|
83
|
-
server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
84
|
-
log('Handling tools/list request');
|
|
85
|
-
return await callRecalliumServer('tools/list');
|
|
86
|
-
});
|
|
87
|
-
|
|
88
|
-
// Handle tool execution
|
|
89
|
-
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
90
|
-
const { name, arguments: args } = request.params;
|
|
91
|
-
log(`Handling tools/call request: ${name}`, args);
|
|
92
|
-
return await callRecalliumServer('tools/call', { name, arguments: args });
|
|
93
|
-
});
|
|
94
|
-
|
|
95
|
-
// Handle resource listing
|
|
96
|
-
server.setRequestHandler(ListResourcesRequestSchema, async () => {
|
|
97
|
-
log('Handling resources/list request');
|
|
98
|
-
return await callRecalliumServer('resources/list');
|
|
99
|
-
});
|
|
100
|
-
|
|
101
|
-
// Handle resource reading
|
|
102
|
-
server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
|
|
103
|
-
const { uri } = request.params;
|
|
104
|
-
log(`Handling resources/read request: ${uri}`);
|
|
105
|
-
return await callRecalliumServer('resources/read', { uri });
|
|
106
|
-
});
|
|
107
|
-
|
|
108
|
-
// Handle prompt listing
|
|
109
|
-
server.setRequestHandler(ListPromptsRequestSchema, async () => {
|
|
110
|
-
log('Handling prompts/list request');
|
|
111
|
-
return await callRecalliumServer('prompts/list');
|
|
112
|
-
});
|
|
113
|
-
|
|
114
|
-
// Handle prompt retrieval
|
|
115
|
-
server.setRequestHandler(GetPromptRequestSchema, async (request) => {
|
|
116
|
-
const { name, arguments: args } = request.params;
|
|
117
|
-
log(`Handling prompts/get request: ${name}`, args);
|
|
118
|
-
return await callRecalliumServer('prompts/get', { name, arguments: args });
|
|
119
|
-
});
|
|
120
|
-
|
|
121
|
-
// Handle sampling requests
|
|
122
|
-
server.setRequestHandler(CreateMessageRequestSchema, async (request) => {
|
|
123
|
-
log('Handling sampling/createMessage request');
|
|
124
|
-
return await callRecalliumServer('sampling/createMessage', request.params);
|
|
125
|
-
});
|
|
126
|
-
|
|
127
|
-
// Handle roots listing
|
|
128
|
-
server.setRequestHandler(ListRootsRequestSchema, async () => {
|
|
129
|
-
log('Handling roots/list request');
|
|
130
|
-
return await callRecalliumServer('roots/list');
|
|
131
|
-
});
|
|
132
|
-
|
|
133
|
-
// Start the stdio transport
|
|
134
|
-
async function start() {
|
|
135
|
-
log(`Starting Recallium MCP Client`);
|
|
136
|
-
log(`Connecting to Recallium server at: ${RECALLIUM_SERVER_URL}`);
|
|
137
|
-
|
|
138
|
-
// Test connection to Recallium server
|
|
139
|
-
try {
|
|
140
|
-
// Extract base URL (remove /mcp if present)
|
|
141
|
-
const baseUrl = RECALLIUM_SERVER_URL.replace(/\/mcp$/, '');
|
|
142
|
-
const response = await fetch(`${baseUrl}/health`);
|
|
143
|
-
if (!response.ok) {
|
|
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 recalliumai/recallium-community:latest`);
|
|
146
|
-
console.error(`For help, visit: https://www.recallium.ai/help`);
|
|
147
|
-
} else {
|
|
148
|
-
log('Successfully connected to Recallium server');
|
|
149
|
-
}
|
|
150
|
-
} catch (error) {
|
|
151
|
-
const baseUrl = RECALLIUM_SERVER_URL.replace(/\/mcp$/, '');
|
|
152
|
-
console.error(`Warning: Cannot connect to Recallium server at ${baseUrl}`);
|
|
153
|
-
console.error(`Error: ${error.message}`);
|
|
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`);
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
const transport = new StdioServerTransport();
|
|
159
|
-
await server.connect(transport);
|
|
160
|
-
|
|
161
|
-
log('MCP stdio transport connected');
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
// Handle errors gracefully
|
|
165
|
-
process.on('uncaughtException', (error) => {
|
|
166
|
-
console.error('Uncaught exception:', error);
|
|
167
|
-
process.exit(1);
|
|
168
|
-
});
|
|
169
|
-
|
|
170
|
-
process.on('unhandledRejection', (reason, promise) => {
|
|
171
|
-
console.error('Unhandled rejection at:', promise, 'reason:', reason);
|
|
172
|
-
process.exit(1);
|
|
173
|
-
});
|
|
174
|
-
|
|
175
|
-
// Start the server
|
|
176
|
-
start().catch(error => {
|
|
177
|
-
console.error('Failed to start Recallium MCP Client:', error);
|
|
178
|
-
process.exit(1);
|
|
179
|
-
});
|