mcp-for-memos 1.0.0 → 1.0.2
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 +16 -15
- package/dist/client.d.ts +5 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +58 -23
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +69 -95
- package/dist/http.js.map +1 -1
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/dist/prompts/index.js +6 -6
- package/dist/prompts/index.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +4 -2
- package/dist/server.js.map +1 -1
- package/dist/tools/memo_links.d.ts +4 -0
- package/dist/tools/memo_links.d.ts.map +1 -0
- package/dist/tools/memo_links.js +166 -0
- package/dist/tools/memo_links.js.map +1 -0
- package/dist/tools/memos.d.ts.map +1 -1
- package/dist/tools/memos.js +6 -4
- package/dist/tools/memos.js.map +1 -1
- package/dist/tools/review.d.ts.map +1 -1
- package/dist/tools/review.js +15 -2
- package/dist/tools/review.js.map +1 -1
- package/dist/tools/tags.d.ts.map +1 -1
- package/dist/tools/tags.js +69 -2
- package/dist/tools/tags.js.map +1 -1
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
# memos
|
|
1
|
+
# mcp-for-memos
|
|
2
2
|
|
|
3
3
|
A [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server that turns [Memos](https://github.com/usememos/memos) into a **multi-purpose database** for your AI assistants — notes, projects, tasks, agendas, knowledge base, and more.
|
|
4
4
|
|
|
5
|
+
> **Note:** Recent Memos versions ship a **native MCP server** at `/mcp`. If your instance already exposes it, connect your client directly to `https://your-memos-instance/mcp` with `Authorization: Bearer <PAT>` — no bridge needed. This project remains useful for older Memos versions without `/mcp`, for HTTP multi-tenant setups (one shared server, per-user tokens) and when you need its extra tools (comments, relations, tag rename).
|
|
6
|
+
|
|
5
7
|
[中文文档](README_zh.md)
|
|
6
8
|
|
|
7
9
|
## What is this?
|
|
8
10
|
|
|
9
|
-
**memos
|
|
11
|
+
**mcp-for-memos** is a bridge between AI assistants and your Memos instance. Instead of context windows that forget, your AI has a **persistent memory database** it can query, create, and organize notes in.
|
|
10
12
|
|
|
11
13
|
Think of it as:
|
|
12
14
|
- 📝 **Personal knowledge base** — capture ideas, research, learnings
|
|
13
15
|
- 📋 **Task manager** — to-dos, checklists, project tracking
|
|
14
|
-
- 📅 **Agenda/planner** — schedules, meeting notes, deadlines
|
|
15
16
|
- 🏗️ **Project database** — specs, decisions, retrospectives
|
|
16
17
|
- 🔖 **Bookmark system** — save links, quotes, references
|
|
17
18
|
|
|
@@ -33,7 +34,7 @@ Once connected, your AI assistant gains **persistent memory**. Here's what it ca
|
|
|
33
34
|
- "What did I do yesterday?" → searches by date
|
|
34
35
|
- "Show me #project notes" → filters by tag
|
|
35
36
|
- "Find notes about API design" → full-text search
|
|
36
|
-
- "What
|
|
37
|
+
- "What happened today?" → today's memos
|
|
37
38
|
- "Notes from last week" → date range search
|
|
38
39
|
- "Show pinned notes" → filter by pin status
|
|
39
40
|
- "Find notes with incomplete tasks" → task filter
|
|
@@ -70,7 +71,7 @@ Once connected, your AI assistant gains **persistent memory**. Here's what it ca
|
|
|
70
71
|
| You say | The AI calls |
|
|
71
72
|
|---------|-------------|
|
|
72
73
|
| "What did I do yesterday?" | `search(date="yesterday")` |
|
|
73
|
-
| "What
|
|
74
|
+
| "What happened today?" | `search(date="today")` |
|
|
74
75
|
| "Notes from last week" | `search(date="last_week", week=true)` |
|
|
75
76
|
| "Show me #project notes" | `search(tags=["project"])` |
|
|
76
77
|
| "Find notes about API design" | `search(query="API design")` |
|
|
@@ -140,7 +141,7 @@ Add to your MCP config (`claude_desktop_config.json` or equivalent):
|
|
|
140
141
|
"mcpServers": {
|
|
141
142
|
"memos": {
|
|
142
143
|
"command": "npx",
|
|
143
|
-
"args": ["-y", "memos
|
|
144
|
+
"args": ["-y", "mcp-for-memos"],
|
|
144
145
|
"env": {
|
|
145
146
|
"MEMOS_URL": "https://your-memos-instance.com",
|
|
146
147
|
"MEMOS_TOKEN": "your-access-token"
|
|
@@ -191,10 +192,10 @@ For servers that support remote MCP (OpenCode, LibreChat, etc.):
|
|
|
191
192
|
|
|
192
193
|
```bash
|
|
193
194
|
# Start with npx
|
|
194
|
-
MEMOS_URL=https://your-memos-instance.com npx -y memos
|
|
195
|
+
MEMOS_URL=https://your-memos-instance.com npx -y mcp-for-memos --http
|
|
195
196
|
|
|
196
197
|
# Or with custom port
|
|
197
|
-
MEMOS_URL=https://your-memos-instance.com npx -y memos
|
|
198
|
+
MEMOS_URL=https://your-memos-instance.com npx -y mcp-for-memos --http --port 8443
|
|
198
199
|
```
|
|
199
200
|
|
|
200
201
|
Each client sends its own Bearer token — no token in the server config.
|
|
@@ -204,7 +205,7 @@ Each client sends its own Bearer token — no token in the server config.
|
|
|
204
205
|
For Claude Desktop/Code:
|
|
205
206
|
|
|
206
207
|
```bash
|
|
207
|
-
MEMOS_URL=https://your-memos-instance.com MEMOS_TOKEN=your-token npx -y memos
|
|
208
|
+
MEMOS_URL=https://your-memos-instance.com MEMOS_TOKEN=your-token npx -y mcp-for-memos
|
|
208
209
|
```
|
|
209
210
|
|
|
210
211
|
### Running from Source
|
|
@@ -213,10 +214,10 @@ MEMOS_URL=https://your-memos-instance.com MEMOS_TOKEN=your-token npx -y memos-mc
|
|
|
213
214
|
# 1. Clone and install
|
|
214
215
|
git clone https://github.com/CesarGuzmanLopez/memos-mcp.git
|
|
215
216
|
cd memos-mcp
|
|
216
|
-
|
|
217
|
+
npm install
|
|
217
218
|
|
|
218
219
|
# 2. Build
|
|
219
|
-
|
|
220
|
+
npm run build
|
|
220
221
|
|
|
221
222
|
# 3. Run in stdio mode
|
|
222
223
|
MEMOS_URL=https://your-memos-instance.com MEMOS_TOKEN=your-token node dist/index.js
|
|
@@ -232,7 +233,7 @@ Then add to your MCP client config:
|
|
|
232
233
|
"mcpServers": {
|
|
233
234
|
"memos": {
|
|
234
235
|
"command": "node",
|
|
235
|
-
"args": ["/path/to/memos
|
|
236
|
+
"args": ["/path/to/mcp-for-memos/dist/index.js"],
|
|
236
237
|
"env": {
|
|
237
238
|
"MEMOS_URL": "https://your-memos-instance.com",
|
|
238
239
|
"MEMOS_TOKEN": "your-access-token"
|
|
@@ -245,10 +246,10 @@ Then add to your MCP client config:
|
|
|
245
246
|
### Docker
|
|
246
247
|
|
|
247
248
|
```bash
|
|
248
|
-
docker run -d --name memos
|
|
249
|
+
docker run -d --name mcp-for-memos \
|
|
249
250
|
-p 8444:8443 \
|
|
250
251
|
-e MEMOS_URL=https://your-memos-instance.com \
|
|
251
|
-
ghcr.io/cesarguzmanlopez/memos
|
|
252
|
+
ghcr.io/cesarguzmanlopez/mcp-for-memos:latest \
|
|
252
253
|
node dist/index.js --http --port 8443
|
|
253
254
|
```
|
|
254
255
|
|
|
@@ -269,7 +270,7 @@ CMD ["node", "dist/index.js", "--http", "--port", "8443"]
|
|
|
269
270
|
```nginx
|
|
270
271
|
server {
|
|
271
272
|
listen 443 ssl;
|
|
272
|
-
server_name memos
|
|
273
|
+
server_name mcp-for-memos.your-domain.com;
|
|
273
274
|
|
|
274
275
|
location / {
|
|
275
276
|
proxy_pass http://127.0.0.1:8444;
|
package/dist/client.d.ts
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
|
+
export type LogFn = (level: "debug" | "info" | "warn" | "error", message: string, meta?: Record<string, unknown>) => void;
|
|
1
2
|
export declare class MemosClient {
|
|
2
3
|
readonly baseUrl: string;
|
|
3
4
|
private token;
|
|
4
5
|
private _currentUser;
|
|
5
|
-
|
|
6
|
+
private log;
|
|
7
|
+
constructor(baseUrl: string, token: string, logFn?: LogFn);
|
|
8
|
+
updateToken(newToken: string): void;
|
|
6
9
|
validateToken(): Promise<boolean>;
|
|
7
10
|
getCurrentUser(): Promise<string>;
|
|
8
11
|
private headers;
|
|
9
|
-
private
|
|
12
|
+
private fetchWithRetry;
|
|
10
13
|
get<T>(path: string, params?: Record<string, string>): Promise<T>;
|
|
11
14
|
post<T>(path: string, body?: unknown): Promise<T>;
|
|
12
15
|
patch<T>(path: string, body?: unknown, params?: Record<string, string>): Promise<T>;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AA6BA,MAAM,MAAM,KAAK,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;AAE1H,qBAAa,WAAW;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,GAAG,CAAQ;gBAEP,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;IAOzD,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAQ7B,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAUjC,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IA4BvC,OAAO,CAAC,OAAO;YAQD,cAAc;IAkCtB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAsBjE,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAgBjD,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAwBnF,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CAepD"}
|
package/dist/client.js
CHANGED
|
@@ -12,13 +12,31 @@ setInterval(() => {
|
|
|
12
12
|
}, 60_000); // Cada minuto
|
|
13
13
|
// Timeout para requests a Memos API (configurable via MEMOS_FETCH_TIMEOUT, default 120s)
|
|
14
14
|
const FETCH_TIMEOUT_MS = parseInt(process.env.MEMOS_FETCH_TIMEOUT || "120000", 10);
|
|
15
|
+
// Retry configuration
|
|
16
|
+
const MAX_RETRIES = 2;
|
|
17
|
+
const RETRY_DELAY_MS = 500;
|
|
18
|
+
function isRetryable(status) {
|
|
19
|
+
return status >= 500 || status === 429 || status === 0;
|
|
20
|
+
}
|
|
21
|
+
async function delay(ms) {
|
|
22
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
23
|
+
}
|
|
15
24
|
export class MemosClient {
|
|
16
25
|
baseUrl;
|
|
17
26
|
token;
|
|
18
27
|
_currentUser = null;
|
|
19
|
-
|
|
28
|
+
log;
|
|
29
|
+
constructor(baseUrl, token, logFn) {
|
|
20
30
|
this.baseUrl = baseUrl.replace(/\/+$/, "");
|
|
21
31
|
this.token = token;
|
|
32
|
+
this.log = logFn || (() => { });
|
|
33
|
+
}
|
|
34
|
+
// Actualizar token (útil en multi-tenant cuando se reusa el cliente)
|
|
35
|
+
updateToken(newToken) {
|
|
36
|
+
if (newToken !== this.token) {
|
|
37
|
+
this.token = newToken;
|
|
38
|
+
this._currentUser = null; // Forzar recarga del usuario
|
|
39
|
+
}
|
|
22
40
|
}
|
|
23
41
|
// Validate token is working
|
|
24
42
|
async validateToken() {
|
|
@@ -40,6 +58,7 @@ export class MemosClient {
|
|
|
40
58
|
this._currentUser = cached.user;
|
|
41
59
|
return this._currentUser;
|
|
42
60
|
}
|
|
61
|
+
this.log("debug", "Fetching current user from Memos API");
|
|
43
62
|
const result = await this.get("/api/v1/memos", { pageSize: "1" });
|
|
44
63
|
if (result.memos && result.memos.length > 0) {
|
|
45
64
|
this._currentUser = result.memos[0].creator;
|
|
@@ -56,26 +75,38 @@ export class MemosClient {
|
|
|
56
75
|
"Content-Type": "application/json",
|
|
57
76
|
};
|
|
58
77
|
}
|
|
59
|
-
// Helper para fetch con timeout
|
|
60
|
-
async
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
78
|
+
// Helper para fetch con timeout y retry
|
|
79
|
+
async fetchWithRetry(url, options, retries = MAX_RETRIES) {
|
|
80
|
+
for (let attempt = 0; attempt <= retries; attempt++) {
|
|
81
|
+
const controller = new AbortController();
|
|
82
|
+
const timeout = setTimeout(() => controller.abort(), FETCH_TIMEOUT_MS);
|
|
83
|
+
try {
|
|
84
|
+
const response = await fetch(url, {
|
|
85
|
+
...options,
|
|
86
|
+
signal: controller.signal,
|
|
87
|
+
});
|
|
88
|
+
// Si la respuesta es exitosa o no es reintentable, retornar
|
|
89
|
+
if (response.ok || !isRetryable(response.status) || attempt >= retries) {
|
|
90
|
+
return response;
|
|
91
|
+
}
|
|
92
|
+
this.log("warn", `Retryable response ${response.status}, attempt ${attempt + 1}/${retries}`, { url });
|
|
93
|
+
await delay(RETRY_DELAY_MS * (attempt + 1));
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
if (error instanceof DOMException && error.name === "AbortError") {
|
|
97
|
+
throw new Error(`Request to ${url} timed out after ${FETCH_TIMEOUT_MS}ms`);
|
|
98
|
+
}
|
|
99
|
+
if (attempt >= retries)
|
|
100
|
+
throw error;
|
|
101
|
+
this.log("warn", `Network error, attempt ${attempt + 1}/${retries}`, { url });
|
|
102
|
+
await delay(RETRY_DELAY_MS * (attempt + 1));
|
|
103
|
+
}
|
|
104
|
+
finally {
|
|
105
|
+
clearTimeout(timeout);
|
|
73
106
|
}
|
|
74
|
-
throw error;
|
|
75
|
-
}
|
|
76
|
-
finally {
|
|
77
|
-
clearTimeout(timeout);
|
|
78
107
|
}
|
|
108
|
+
// Fallback (no debería llegar aquí)
|
|
109
|
+
throw new Error(`Request to ${url} failed after ${retries + 1} attempts`);
|
|
79
110
|
}
|
|
80
111
|
async get(path, params) {
|
|
81
112
|
const url = new URL(`${this.baseUrl}${path}`);
|
|
@@ -86,7 +117,8 @@ export class MemosClient {
|
|
|
86
117
|
}
|
|
87
118
|
}
|
|
88
119
|
}
|
|
89
|
-
|
|
120
|
+
this.log("debug", `GET ${path}`, { params });
|
|
121
|
+
const res = await this.fetchWithRetry(url.toString(), {
|
|
90
122
|
headers: this.headers(),
|
|
91
123
|
});
|
|
92
124
|
if (!res.ok) {
|
|
@@ -99,7 +131,8 @@ export class MemosClient {
|
|
|
99
131
|
return JSON.parse(text);
|
|
100
132
|
}
|
|
101
133
|
async post(path, body) {
|
|
102
|
-
|
|
134
|
+
this.log("debug", `POST ${path}`);
|
|
135
|
+
const res = await this.fetchWithRetry(`${this.baseUrl}${path}`, {
|
|
103
136
|
method: "POST",
|
|
104
137
|
headers: this.headers(),
|
|
105
138
|
body: body ? JSON.stringify(body) : undefined,
|
|
@@ -122,7 +155,8 @@ export class MemosClient {
|
|
|
122
155
|
}
|
|
123
156
|
}
|
|
124
157
|
}
|
|
125
|
-
|
|
158
|
+
this.log("debug", `PATCH ${path}`, { params });
|
|
159
|
+
const res = await this.fetchWithRetry(url.toString(), {
|
|
126
160
|
method: "PATCH",
|
|
127
161
|
headers: this.headers(),
|
|
128
162
|
body: body ? JSON.stringify(body) : undefined,
|
|
@@ -137,7 +171,8 @@ export class MemosClient {
|
|
|
137
171
|
return JSON.parse(text);
|
|
138
172
|
}
|
|
139
173
|
async delete(path) {
|
|
140
|
-
|
|
174
|
+
this.log("debug", `DELETE ${path}`);
|
|
175
|
+
const res = await this.fetchWithRetry(`${this.baseUrl}${path}`, {
|
|
141
176
|
method: "DELETE",
|
|
142
177
|
headers: this.headers(),
|
|
143
178
|
});
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,MAAM,SAAS,GAAG,IAAI,GAAG,EAA+C,CAAC;AACzE,MAAM,iBAAiB,GAAG,OAAO,CAAC,CAAC,YAAY;AAE/C,wCAAwC;AACxC,WAAW,CAAC,GAAG,EAAE;IACf,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,SAAS,EAAE,CAAC;QACrC,IAAI,GAAG,GAAG,KAAK,CAAC,SAAS,GAAG,iBAAiB,EAAE,CAAC;YAC9C,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;AACH,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc;AAE1B,yFAAyF;AACzF,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,QAAQ,EAAE,EAAE,CAAC,CAAC;AAEnF,MAAM,OAAO,WAAW;IACb,OAAO,CAAS;IACjB,KAAK,CAAS;IACd,YAAY,GAAkB,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -5,10 +5,10 @@ declare const EnvSchema: z.ZodObject<{
|
|
|
5
5
|
HTTP_HOST: z.ZodDefault<z.ZodString>;
|
|
6
6
|
CORS_ORIGIN: z.ZodDefault<z.ZodString>;
|
|
7
7
|
LOG_LEVEL: z.ZodDefault<z.ZodEnum<{
|
|
8
|
-
error: "error";
|
|
9
8
|
debug: "debug";
|
|
10
9
|
info: "info";
|
|
11
10
|
warn: "warn";
|
|
11
|
+
error: "error";
|
|
12
12
|
}>>;
|
|
13
13
|
}, z.core.$strip>;
|
|
14
14
|
export type Config = z.infer<typeof EnvSchema>;
|
package/dist/http.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAkB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAkB,MAAM,aAAa,CAAC;AAqIrD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,+CAsK3C;AAGD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,qHA4C7C"}
|
package/dist/http.js
CHANGED
|
@@ -8,7 +8,8 @@ import { getCorsOrigins } from "./config.js";
|
|
|
8
8
|
function log(level, message, meta) {
|
|
9
9
|
const timestamp = new Date().toISOString();
|
|
10
10
|
const metaStr = meta ? ` ${JSON.stringify(meta)}` : "";
|
|
11
|
-
|
|
11
|
+
// Usar stderr para debug/info/warn/error, stdout solo para respuestas
|
|
12
|
+
process.stderr.write(`[${timestamp}] [${level.toUpperCase()}] ${message}${metaStr}\n`);
|
|
12
13
|
}
|
|
13
14
|
// Extraer Bearer token del header Authorization
|
|
14
15
|
function extractBearerToken(req) {
|
|
@@ -66,6 +67,57 @@ function sweepIdleSessions() {
|
|
|
66
67
|
}
|
|
67
68
|
// Sweep cada 30 segundos
|
|
68
69
|
setInterval(sweepIdleSessions, 30_000);
|
|
70
|
+
// Helper para manejar requests MCP (Streamable HTTP), tanto GET como POST
|
|
71
|
+
async function handleMcpRequest(req, res, method) {
|
|
72
|
+
const requestId = req.requestId;
|
|
73
|
+
const token = extractBearerToken(req);
|
|
74
|
+
if (!token) {
|
|
75
|
+
res.status(401).json({ error: "Missing or invalid Authorization header. Use: Authorization: Bearer <token>" });
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
const config = req.config;
|
|
79
|
+
if (!config?.MEMOS_URL) {
|
|
80
|
+
res.status(500).json({ error: "Server configuration error: MEMOS_URL not set" });
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
const transport = new StreamableHTTPServerTransport({
|
|
84
|
+
sessionIdGenerator: undefined, // Stateless
|
|
85
|
+
});
|
|
86
|
+
const client = new MemosClient(config.MEMOS_URL, token, (level, msg, meta) => log(level, msg, meta));
|
|
87
|
+
const server = createServerWithClient(client);
|
|
88
|
+
let cleanedUp = false;
|
|
89
|
+
const cleanup = () => {
|
|
90
|
+
if (cleanedUp)
|
|
91
|
+
return;
|
|
92
|
+
cleanedUp = true;
|
|
93
|
+
try {
|
|
94
|
+
transport.close();
|
|
95
|
+
}
|
|
96
|
+
catch { }
|
|
97
|
+
try {
|
|
98
|
+
server.close();
|
|
99
|
+
}
|
|
100
|
+
catch { }
|
|
101
|
+
};
|
|
102
|
+
const startTime = Date.now();
|
|
103
|
+
try {
|
|
104
|
+
await server.connect(transport);
|
|
105
|
+
await transport.handleRequest(req, res, req.body);
|
|
106
|
+
res.on("close", () => {
|
|
107
|
+
const duration = Date.now() - startTime;
|
|
108
|
+
log("info", `MCP ${method} completed`, { requestId, durationMs: duration });
|
|
109
|
+
cleanup();
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
const duration = Date.now() - startTime;
|
|
114
|
+
log("error", `Error handling MCP ${method} request`, { requestId, durationMs: duration, error: String(error) });
|
|
115
|
+
cleanup();
|
|
116
|
+
if (!res.headersSent) {
|
|
117
|
+
res.status(500).json({ error: "Internal server error" });
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
69
121
|
// Crear aplicación Express
|
|
70
122
|
export function createHttpApp(config) {
|
|
71
123
|
const app = express();
|
|
@@ -74,12 +126,17 @@ export function createHttpApp(config) {
|
|
|
74
126
|
// Request ID middleware
|
|
75
127
|
app.use((req, _res, next) => {
|
|
76
128
|
req.requestId = Math.random().toString(36).slice(2, 11);
|
|
129
|
+
req.config = config;
|
|
77
130
|
next();
|
|
78
131
|
});
|
|
79
|
-
// Logging middleware
|
|
132
|
+
// Logging middleware con timing
|
|
80
133
|
app.use((req, res, next) => {
|
|
81
134
|
const requestId = req.requestId;
|
|
82
|
-
|
|
135
|
+
const start = Date.now();
|
|
136
|
+
res.on("finish", () => {
|
|
137
|
+
const duration = Date.now() - start;
|
|
138
|
+
log("info", `${req.method} ${req.path} ${res.statusCode}`, { requestId, ip: req.ip, durationMs: duration });
|
|
139
|
+
});
|
|
83
140
|
next();
|
|
84
141
|
});
|
|
85
142
|
// CORS
|
|
@@ -106,7 +163,7 @@ export function createHttpApp(config) {
|
|
|
106
163
|
res.json({
|
|
107
164
|
status: "ok",
|
|
108
165
|
timestamp: new Date().toISOString(),
|
|
109
|
-
version: "
|
|
166
|
+
version: "1.0.1",
|
|
110
167
|
activeSessions: sseSessions.size,
|
|
111
168
|
uptime: Math.floor(uptime),
|
|
112
169
|
memory: {
|
|
@@ -121,96 +178,9 @@ export function createHttpApp(config) {
|
|
|
121
178
|
res.setHeader("Content-Type", "application/json");
|
|
122
179
|
res.status(200).end();
|
|
123
180
|
});
|
|
124
|
-
// Streamable HTTP endpoint (moderno) - POST
|
|
125
|
-
app.post("/mcp",
|
|
126
|
-
|
|
127
|
-
const token = extractBearerToken(req);
|
|
128
|
-
if (!token) {
|
|
129
|
-
log("warn", "Missing or invalid Authorization header", { requestId });
|
|
130
|
-
res.status(401).json({ error: "Missing or invalid Authorization header. Use: Authorization: Bearer <token>" });
|
|
131
|
-
return;
|
|
132
|
-
}
|
|
133
|
-
if (!config.MEMOS_URL) {
|
|
134
|
-
log("error", "MEMOS_URL not configured");
|
|
135
|
-
res.status(500).json({ error: "Server configuration error: MEMOS_URL not set" });
|
|
136
|
-
return;
|
|
137
|
-
}
|
|
138
|
-
const transport = new StreamableHTTPServerTransport({
|
|
139
|
-
sessionIdGenerator: undefined, // Stateless
|
|
140
|
-
});
|
|
141
|
-
const client = new MemosClient(config.MEMOS_URL, token);
|
|
142
|
-
const server = createServerWithClient(client);
|
|
143
|
-
let cleanedUp = false;
|
|
144
|
-
const cleanup = () => {
|
|
145
|
-
if (cleanedUp)
|
|
146
|
-
return;
|
|
147
|
-
cleanedUp = true;
|
|
148
|
-
try {
|
|
149
|
-
transport.close();
|
|
150
|
-
}
|
|
151
|
-
catch { }
|
|
152
|
-
try {
|
|
153
|
-
server.close();
|
|
154
|
-
}
|
|
155
|
-
catch { }
|
|
156
|
-
};
|
|
157
|
-
try {
|
|
158
|
-
await server.connect(transport);
|
|
159
|
-
await transport.handleRequest(req, res, req.body);
|
|
160
|
-
res.on("close", cleanup);
|
|
161
|
-
}
|
|
162
|
-
catch (error) {
|
|
163
|
-
log("error", "Error handling MCP request", { requestId, error: String(error) });
|
|
164
|
-
cleanup();
|
|
165
|
-
if (!res.headersSent) {
|
|
166
|
-
res.status(500).json({ error: "Internal server error" });
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
});
|
|
170
|
-
// Streamable HTTP endpoint - GET
|
|
171
|
-
app.get("/mcp", async (req, res) => {
|
|
172
|
-
const requestId = req.requestId;
|
|
173
|
-
const token = extractBearerToken(req);
|
|
174
|
-
if (!token) {
|
|
175
|
-
res.status(401).json({ error: "Missing or invalid Authorization header" });
|
|
176
|
-
return;
|
|
177
|
-
}
|
|
178
|
-
if (!config.MEMOS_URL) {
|
|
179
|
-
res.status(500).json({ error: "Server configuration error: MEMOS_URL not set" });
|
|
180
|
-
return;
|
|
181
|
-
}
|
|
182
|
-
const transport = new StreamableHTTPServerTransport({
|
|
183
|
-
sessionIdGenerator: undefined,
|
|
184
|
-
});
|
|
185
|
-
const client = new MemosClient(config.MEMOS_URL, token);
|
|
186
|
-
const server = createServerWithClient(client);
|
|
187
|
-
let cleanedUp = false;
|
|
188
|
-
const cleanup = () => {
|
|
189
|
-
if (cleanedUp)
|
|
190
|
-
return;
|
|
191
|
-
cleanedUp = true;
|
|
192
|
-
try {
|
|
193
|
-
transport.close();
|
|
194
|
-
}
|
|
195
|
-
catch { }
|
|
196
|
-
try {
|
|
197
|
-
server.close();
|
|
198
|
-
}
|
|
199
|
-
catch { }
|
|
200
|
-
};
|
|
201
|
-
try {
|
|
202
|
-
await server.connect(transport);
|
|
203
|
-
await transport.handleRequest(req, res);
|
|
204
|
-
res.on("close", cleanup);
|
|
205
|
-
}
|
|
206
|
-
catch (error) {
|
|
207
|
-
log("error", "Error in MCP GET", { requestId, error: String(error) });
|
|
208
|
-
cleanup();
|
|
209
|
-
if (!res.headersSent) {
|
|
210
|
-
res.status(500).json({ error: "Internal server error" });
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
});
|
|
181
|
+
// Streamable HTTP endpoint (moderno) - POST y GET
|
|
182
|
+
app.post("/mcp", (req, res) => handleMcpRequest(req, res, "POST"));
|
|
183
|
+
app.get("/mcp", (req, res) => handleMcpRequest(req, res, "GET"));
|
|
214
184
|
// SSE endpoint - GET para iniciar stream
|
|
215
185
|
app.get("/sse", async (req, res) => {
|
|
216
186
|
const requestId = req.requestId;
|
|
@@ -230,7 +200,7 @@ export function createHttpApp(config) {
|
|
|
230
200
|
return;
|
|
231
201
|
}
|
|
232
202
|
const transport = new SSEServerTransport("/sse/messages", res);
|
|
233
|
-
const client = new MemosClient(config.MEMOS_URL, token);
|
|
203
|
+
const client = new MemosClient(config.MEMOS_URL, token, (level, msg, meta) => log(level, msg, meta));
|
|
234
204
|
const server = createServerWithClient(client);
|
|
235
205
|
// Guardar sesión
|
|
236
206
|
sseSessions.set(transport.sessionId, {
|
|
@@ -291,6 +261,10 @@ export function createHttpApp(config) {
|
|
|
291
261
|
}
|
|
292
262
|
}
|
|
293
263
|
});
|
|
264
|
+
// 404 handler
|
|
265
|
+
app.use((_req, res) => {
|
|
266
|
+
res.status(404).json({ error: "Not found. Available endpoints: /health, /mcp, /sse" });
|
|
267
|
+
});
|
|
294
268
|
// Error handler
|
|
295
269
|
app.use((err, _req, res, _next) => {
|
|
296
270
|
log("error", "Unhandled error", { error: err.message, stack: err.stack });
|
package/dist/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -20,11 +20,11 @@ if (portIndex !== -1 && args[portIndex + 1]) {
|
|
|
20
20
|
// Mostrar ayuda
|
|
21
21
|
if (showHelp) {
|
|
22
22
|
console.log(`
|
|
23
|
-
memos
|
|
23
|
+
mcp-for-memos - Model Context Protocol server for Memos
|
|
24
24
|
|
|
25
25
|
Usage:
|
|
26
|
-
memos
|
|
27
|
-
memos
|
|
26
|
+
mcp-for-memos Start in stdio mode (for Claude Desktop/Code)
|
|
27
|
+
mcp-for-memos --http Start in HTTP/SSE mode (for OpenCode/LibreChat)
|
|
28
28
|
|
|
29
29
|
Environment variables:
|
|
30
30
|
MEMOS_URL Memos instance URL (required)
|
|
@@ -44,10 +44,10 @@ Stdio mode:
|
|
|
44
44
|
|
|
45
45
|
Examples:
|
|
46
46
|
# Claude Desktop/Code (stdio) - token in env
|
|
47
|
-
MEMOS_URL=https://memos.example.com MEMOS_TOKEN=xxx npx memos
|
|
47
|
+
MEMOS_URL=https://memos.example.com MEMOS_TOKEN=xxx npx mcp-for-memos
|
|
48
48
|
|
|
49
49
|
# OpenCode/LibreChat (HTTP) - token in client config
|
|
50
|
-
MEMOS_URL=https://memos.example.com npx memos
|
|
50
|
+
MEMOS_URL=https://memos.example.com npx mcp-for-memos --http
|
|
51
51
|
`);
|
|
52
52
|
process.exit(0);
|
|
53
53
|
}
|
|
@@ -58,7 +58,7 @@ if (isHttpMode) {
|
|
|
58
58
|
process.env.HTTP_PORT = String(customPort);
|
|
59
59
|
}
|
|
60
60
|
const config = loadConfig();
|
|
61
|
-
console.log(`Starting memos
|
|
61
|
+
console.log(`Starting mcp-for-memos in HTTP mode...`);
|
|
62
62
|
console.log(`Server will accept requests at:`);
|
|
63
63
|
console.log(` - http://${config.HTTP_HOST}:${config.HTTP_PORT}/mcp (Streamable HTTP)`);
|
|
64
64
|
console.log(` - http://${config.HTTP_HOST}:${config.HTTP_PORT}/sse (SSE)`);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,6BAA6B;AAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEhE,sBAAsB;AACtB,IAAI,UAA8B,CAAC;AACnC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACzC,IAAI,SAAS,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;IAC5C,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/C,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,KAAK,EAAE,CAAC;QAC9D,OAAO,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;QAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,gBAAgB;AAChB,IAAI,QAAQ,EAAE,CAAC;IACb,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6Bb,CAAC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,YAAY;AACZ,IAAI,UAAU,EAAE,CAAC;IACf,qCAAqC;IACrC,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,6BAA6B;AAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEhE,sBAAsB;AACtB,IAAI,UAA8B,CAAC;AACnC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACzC,IAAI,SAAS,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;IAC5C,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/C,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,KAAK,EAAE,CAAC;QAC9D,OAAO,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;QAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,gBAAgB;AAChB,IAAI,QAAQ,EAAE,CAAC;IACb,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6Bb,CAAC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,YAAY;AACZ,IAAI,UAAU,EAAE,CAAC;IACf,qCAAqC;IACrC,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,wBAAwB,CAAC,CAAC;IACxF,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,YAAY,CAAC,CAAC;IAC5E,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,wBAAwB,CAAC,CAAC;IACxF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;IACxE,eAAe,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC;AACD,uBAAuB;KAClB,CAAC;IACJ,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACtC,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|