mcp-for-memos 1.0.0 → 1.0.1
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 +10 -10
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/dist/server.js +1 -1
- package/dist/server.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
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
|
|
|
@@ -6,7 +6,7 @@ A [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server that t
|
|
|
6
6
|
|
|
7
7
|
## What is this?
|
|
8
8
|
|
|
9
|
-
**memos
|
|
9
|
+
**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
10
|
|
|
11
11
|
Think of it as:
|
|
12
12
|
- 📝 **Personal knowledge base** — capture ideas, research, learnings
|
|
@@ -140,7 +140,7 @@ Add to your MCP config (`claude_desktop_config.json` or equivalent):
|
|
|
140
140
|
"mcpServers": {
|
|
141
141
|
"memos": {
|
|
142
142
|
"command": "npx",
|
|
143
|
-
"args": ["-y", "memos
|
|
143
|
+
"args": ["-y", "mcp-for-memos"],
|
|
144
144
|
"env": {
|
|
145
145
|
"MEMOS_URL": "https://your-memos-instance.com",
|
|
146
146
|
"MEMOS_TOKEN": "your-access-token"
|
|
@@ -191,10 +191,10 @@ For servers that support remote MCP (OpenCode, LibreChat, etc.):
|
|
|
191
191
|
|
|
192
192
|
```bash
|
|
193
193
|
# Start with npx
|
|
194
|
-
MEMOS_URL=https://your-memos-instance.com npx -y memos
|
|
194
|
+
MEMOS_URL=https://your-memos-instance.com npx -y mcp-for-memos --http
|
|
195
195
|
|
|
196
196
|
# Or with custom port
|
|
197
|
-
MEMOS_URL=https://your-memos-instance.com npx -y memos
|
|
197
|
+
MEMOS_URL=https://your-memos-instance.com npx -y mcp-for-memos --http --port 8443
|
|
198
198
|
```
|
|
199
199
|
|
|
200
200
|
Each client sends its own Bearer token — no token in the server config.
|
|
@@ -204,7 +204,7 @@ Each client sends its own Bearer token — no token in the server config.
|
|
|
204
204
|
For Claude Desktop/Code:
|
|
205
205
|
|
|
206
206
|
```bash
|
|
207
|
-
MEMOS_URL=https://your-memos-instance.com MEMOS_TOKEN=your-token npx -y memos
|
|
207
|
+
MEMOS_URL=https://your-memos-instance.com MEMOS_TOKEN=your-token npx -y mcp-for-memos
|
|
208
208
|
```
|
|
209
209
|
|
|
210
210
|
### Running from Source
|
|
@@ -232,7 +232,7 @@ Then add to your MCP client config:
|
|
|
232
232
|
"mcpServers": {
|
|
233
233
|
"memos": {
|
|
234
234
|
"command": "node",
|
|
235
|
-
"args": ["/path/to/memos
|
|
235
|
+
"args": ["/path/to/mcp-for-memos/dist/index.js"],
|
|
236
236
|
"env": {
|
|
237
237
|
"MEMOS_URL": "https://your-memos-instance.com",
|
|
238
238
|
"MEMOS_TOKEN": "your-access-token"
|
|
@@ -245,10 +245,10 @@ Then add to your MCP client config:
|
|
|
245
245
|
### Docker
|
|
246
246
|
|
|
247
247
|
```bash
|
|
248
|
-
docker run -d --name memos
|
|
248
|
+
docker run -d --name mcp-for-memos \
|
|
249
249
|
-p 8444:8443 \
|
|
250
250
|
-e MEMOS_URL=https://your-memos-instance.com \
|
|
251
|
-
ghcr.io/cesarguzmanlopez/memos
|
|
251
|
+
ghcr.io/cesarguzmanlopez/mcp-for-memos:latest \
|
|
252
252
|
node dist/index.js --http --port 8443
|
|
253
253
|
```
|
|
254
254
|
|
|
@@ -269,7 +269,7 @@ CMD ["node", "dist/index.js", "--http", "--port", "8443"]
|
|
|
269
269
|
```nginx
|
|
270
270
|
server {
|
|
271
271
|
listen 443 ssl;
|
|
272
|
-
server_name memos
|
|
272
|
+
server_name mcp-for-memos.your-domain.com;
|
|
273
273
|
|
|
274
274
|
location / {
|
|
275
275
|
proxy_pass http://127.0.0.1:8444;
|
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"}
|
package/dist/server.js
CHANGED
|
@@ -9,7 +9,7 @@ import { VALID_VISIBILITIES } from "./types.js";
|
|
|
9
9
|
export const createServerWithClient = (client, options = {}) => {
|
|
10
10
|
const defaultVisibility = options.defaultVisibility ?? "PRIVATE";
|
|
11
11
|
const server = new McpServer({
|
|
12
|
-
name: "memos
|
|
12
|
+
name: "mcp-for-memos",
|
|
13
13
|
version: "3.0.0",
|
|
14
14
|
});
|
|
15
15
|
registerMemoTools(server, client, { defaultVisibility });
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAmB,MAAM,YAAY,CAAC;AAMjE,gEAAgE;AAChE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,MAAmB,EACnB,UAAyB,EAAE,EAC3B,EAAE;IACF,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,SAAS,CAAC;IAEjE,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAmB,MAAM,YAAY,CAAC;AAMjE,gEAAgE;AAChE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,MAAmB,EACnB,UAAyB,EAAE,EAC3B,EAAE;IACF,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,SAAS,CAAC;IAEjE,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACzD,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,eAAe,CAAC,MAAM,CAAC,CAAC;IAExB,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,gDAAgD;AAChD,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;IACvC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IAE3C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,WAAW,EAAE,CAAC;IAC1E,MAAM,iBAAiB,GACrB,aAAa,IAAI,kBAAkB,CAAC,QAAQ,CAAC,aAA2B,CAAC;QACvE,CAAC,CAAE,aAA4B;QAC/B,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACrD,OAAO,sBAAsB,CAAC,MAAM,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC;AAC/D,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mcp-for-memos",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "MCP server that turns Memos into a multi-purpose database for AI — notes, projects, tasks, agendas, knowledge base. Supports HTTP/SSE multi-tenant access.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|