mcpscraper-memory 1.22.1 → 1.23.0

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/CHANGELOG.md CHANGED
@@ -4,6 +4,18 @@ All notable changes to MCP Memory are documented here. The format is based on [K
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [1.23.0] - 2026-10-12
8
+
9
+ ### Added
10
+
11
+ - The compatibility stdio package now exposes the canonical server's resources and prompts, including shared guidance and complete-result artifact reads, alongside tool calls.
12
+ - Read complete oversized Memory results through authenticated artifact continuation and renewable downloads, with separate content and link expiry. Preserve full content, original recovery receipts and honest storage-failure status without repeating tools.
13
+
14
+ ### Fixed
15
+
16
+ - Clarify CRM work identifiers, mutation prerequisites and probability bounds. Correct conditional write and replay annotations for pipeline creation, default-vault key issuance, Library ingestion, tag aliases and video status; remove the outdated fixed vault count.
17
+ - Hosted branch builds now install their own workspace packages before dependency resolution, so testing a new version does not require publishing it to npm first.
18
+
7
19
  ## [1.22.1] - 2026-09-22
8
20
 
9
21
  ### Changed
@@ -258,7 +270,9 @@ All notable changes to MCP Memory are documented here. The format is based on [K
258
270
  - The hosted service now consumes `mcpscraper-memory-db` 1.5 and `mcpscraper-memory-tools` 1.6, aligning direct OAuth and stdio clients with the current 14-vault Smart RAG contract, including bounded multi-query retrieval, graph expansion, and Jina reranking metadata.
259
271
  - Server guidance now documents the Skills vault and the exact hybrid retrieval workflow exposed by `memory-search`.
260
272
 
261
- [Unreleased]: https://github.com/VilovietaSEO/mcp-scraper/compare/memory-v1.22.0...HEAD
273
+ [Unreleased]: https://github.com/VilovietaSEO/mcp-scraper/compare/memory-v1.23.0...HEAD
274
+ [1.23.0]: https://github.com/VilovietaSEO/mcp-scraper/compare/memory-v1.22.1...memory-v1.23.0
275
+ [1.22.1]: https://github.com/VilovietaSEO/mcp-scraper/compare/memory-v1.22.0...memory-v1.22.1
262
276
  [1.22.0]: https://github.com/VilovietaSEO/mcp-scraper/compare/memory-v1.21.2...memory-v1.22.0
263
277
  [1.21.2]: https://github.com/VilovietaSEO/mcp-scraper/compare/memory-v1.21.1...memory-v1.21.2
264
278
  [1.21.1]: https://github.com/VilovietaSEO/mcp-scraper/compare/memory-v1.21.0...memory-v1.21.1
package/README.md CHANGED
@@ -1,19 +1,21 @@
1
1
  # mcp-memory
2
2
 
3
- A hosted, multi-tenant MCP server for structured personal/business memory — notes across 15
3
+ A hosted, multi-tenant MCP server for structured personal/business memory — notes across the current
4
4
  purpose-built vaults, semantic search, typeahead, and real structured data tables (typed columns,
5
5
  filter, sort) — plus **Scheduled Actions**: freeform-text automations that run on a cadence, using
6
6
  your [MCP Scraper](https://mcpscraper.dev) tools to gather live data and mcp-memory to store it.
7
7
 
8
8
  Customer setup uses one endpoint, `https://mcpscraper.dev/mcp`, and one long-lived credential,
9
9
  `MCP_SCRAPER_API_KEY`, for scraping and Memory. This package is a compatibility stdio proxy to that
10
- unified server; nothing runs or is stored on your machine.
10
+ unified server. It forwards tools, resources and prompts, including the shared guidance and
11
+ complete-result artifact reads. The compatibility bridge runs locally; Memory data remains hosted.
11
12
 
12
13
  This repository also owns the independently publishable `mcpscraper-memory-db` workspace for
13
14
  Postgres/PgVector storage, vault contracts, Jina embeddings, and reranking, and the
14
- `mcpscraper-memory-tools` workspace for public tool behavior. The hosted backend consumes their
15
- released package versions. Release those dependencies first, then update and redeploy this service
16
- before downstream products advertise a newer memory-tool contract.
15
+ `mcpscraper-memory-tools` workspace for public tool behavior. The hosted build packages their
16
+ built workspace code into the deployable function, so deploying a branch includes that branch's
17
+ storage and tool implementations without a separate public package release. Package identities
18
+ and public release versions remain independent.
17
19
 
18
20
  ## Repository development
19
21
 
@@ -31,6 +33,12 @@ npm run verify:packages
31
33
  Package identities and release versions remain independent. See [`packages/README.md`](packages/README.md)
32
34
  for ownership boundaries and import provenance.
33
35
 
36
+ `build:server` expects `build:packages` to have completed. It temporarily materializes local
37
+ workspace archives for Mastra's dependency resolution, restores the original dependency links,
38
+ and includes those archives in the Vercel function. The final check compares every installed
39
+ workspace build file with its branch-local source build. Generated function dependencies and
40
+ their lockfile refer to the included archives, so reinstalling them preserves the branch code.
41
+
34
42
  ## Connect
35
43
 
36
44
  **OAuth remote connector** (Claude.ai web, Claude Desktop's "Add custom connector") — add
@@ -3,10 +3,18 @@
3
3
  // bin/mcp-stdio-server.ts
4
4
  import { Server } from "@modelcontextprotocol/sdk/server/index.js";
5
5
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
6
- import { ListToolsRequestSchema, CallToolRequestSchema } from "@modelcontextprotocol/sdk/types.js";
6
+ import {
7
+ ListToolsRequestSchema,
8
+ CallToolRequestSchema,
9
+ ListResourcesRequestSchema,
10
+ ListResourceTemplatesRequestSchema,
11
+ ReadResourceRequestSchema,
12
+ ListPromptsRequestSchema,
13
+ GetPromptRequestSchema
14
+ } from "@modelcontextprotocol/sdk/types.js";
7
15
 
8
16
  // src/version.ts
9
- var PACKAGE_VERSION = "1.22.1";
17
+ var PACKAGE_VERSION = "1.23.0";
10
18
 
11
19
  // bin/mcp-stdio-server.ts
12
20
  var wantsHelp = process.argv.includes("--help") || process.argv.includes("-h");
@@ -20,7 +28,7 @@ function renderHelp() {
20
28
  "",
21
29
  `API key: ${status}`,
22
30
  "",
23
- "This compatibility package forwards every tool call to the canonical",
31
+ "This compatibility package forwards tools, resources and prompts to the canonical",
24
32
  "MCP Scraper server. Scraping and Memory use the same customer API key.",
25
33
  "",
26
34
  "Setup:",
@@ -42,6 +50,7 @@ if (!apiKey) {
42
50
  process.stderr.write("MCP_SCRAPER_API_KEY is required\n");
43
51
  process.exit(1);
44
52
  }
53
+ var authenticatedApiKey = apiKey;
45
54
  var remoteUrl = (process.env.MCP_SCRAPER_MCP_URL?.trim() || "https://mcpscraper.dev/mcp").replace(/\/$/, "");
46
55
  var rpcId = 0;
47
56
  function parseRpcBody(text) {
@@ -55,7 +64,7 @@ async function rpc(method, params) {
55
64
  headers: {
56
65
  "Content-Type": "application/json",
57
66
  Accept: "application/json, text/event-stream",
58
- "x-api-key": apiKey
67
+ "x-api-key": authenticatedApiKey
59
68
  },
60
69
  body: JSON.stringify({ jsonrpc: "2.0", id: ++rpcId, method, params })
61
70
  });
@@ -80,20 +89,41 @@ async function main() {
80
89
  `);
81
90
  process.exit(1);
82
91
  }
92
+ const capabilities = {};
93
+ if (remoteInfo.capabilities?.tools) capabilities.tools = {};
94
+ if (remoteInfo.capabilities?.resources) capabilities.resources = {};
95
+ if (remoteInfo.capabilities?.prompts) capabilities.prompts = {};
83
96
  const server = new Server(
84
97
  { name: "mcp-memory", version: PACKAGE_VERSION },
85
- { capabilities: { tools: {} }, instructions: remoteInfo.instructions }
98
+ { capabilities, instructions: remoteInfo.instructions }
86
99
  );
87
- server.setRequestHandler(ListToolsRequestSchema, async () => {
88
- const result = await rpc("tools/list");
89
- return { tools: result.tools };
90
- });
91
- server.setRequestHandler(CallToolRequestSchema, async (request) => {
92
- return await rpc("tools/call", {
93
- name: request.params.name,
94
- arguments: request.params.arguments
100
+ if (capabilities.tools) {
101
+ server.setRequestHandler(ListToolsRequestSchema, async (request) => {
102
+ return await rpc("tools/list", request.params);
95
103
  });
96
- });
104
+ server.setRequestHandler(CallToolRequestSchema, async (request) => {
105
+ return await rpc("tools/call", request.params);
106
+ });
107
+ }
108
+ if (capabilities.resources) {
109
+ server.setRequestHandler(ListResourcesRequestSchema, async (request) => {
110
+ return await rpc("resources/list", request.params);
111
+ });
112
+ server.setRequestHandler(ListResourceTemplatesRequestSchema, async (request) => {
113
+ return await rpc("resources/templates/list", request.params);
114
+ });
115
+ server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
116
+ return await rpc("resources/read", request.params);
117
+ });
118
+ }
119
+ if (capabilities.prompts) {
120
+ server.setRequestHandler(ListPromptsRequestSchema, async (request) => {
121
+ return await rpc("prompts/list", request.params);
122
+ });
123
+ server.setRequestHandler(GetPromptRequestSchema, async (request) => {
124
+ return await rpc("prompts/get", request.params);
125
+ });
126
+ }
97
127
  const transport = new StdioServerTransport();
98
128
  await server.connect(transport);
99
129
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcpscraper-memory",
3
- "version": "1.22.1",
3
+ "version": "1.23.0",
4
4
  "description": "mcp-memory — a hosted, multi-tenant, access-controlled per-user Obsidian/Neon memory exposed AS an MCP server, with a scheduled optimization layer. Its own standalone MCP product.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -49,7 +49,7 @@
49
49
  "@mastra/pg": "latest",
50
50
  "@modelcontextprotocol/sdk": "^1.29.0",
51
51
  "mcpscraper-memory-db": "1.18.0",
52
- "mcpscraper-memory-tools": "1.19.0",
52
+ "mcpscraper-memory-tools": "1.19.1",
53
53
  "zod": "^3.25.0"
54
54
  },
55
55
  "devDependencies": {