@syndash/research-vault-mcp 1.1.2 → 1.1.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/CHANGELOG.md +43 -0
- package/README.md +42 -12
- package/dist/server.js +1114 -323
- package/package.json +7 -6
- package/src/amplify.ts +32 -41
- package/src/evidence_metadata.ts +191 -0
- package/src/guidance.ts +57 -0
- package/src/ingest/html.ts +129 -19
- package/src/profile.ts +15 -0
- package/src/public_safety.ts +110 -0
- package/src/response.ts +73 -0
- package/src/server.ts +304 -108
- package/src/tool_policy.ts +58 -0
- package/src/types.ts +4 -3
- package/src/vault.ts +300 -75
- package/src/vault_get.ts +109 -0
- package/src/vault_write.ts +78 -112
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## Unreleased
|
|
4
|
+
|
|
5
|
+
## 1.1.4 — 2026-05-10
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- Published the package source under the canonical Dash Research Vault repo path: `packages/research-vault-mcp`.
|
|
10
|
+
- Updated README language to treat Dash Research Vault as the package home and Evensong as research provenance, not the npm package repository.
|
|
11
|
+
- Updated package metadata description and release docs to match the public npm source path.
|
|
12
|
+
|
|
13
|
+
## 1.1.3 — 2026-05-10
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
|
|
17
|
+
- HTTP transport now supports Streamable HTTP at `POST /mcp`, while keeping the legacy `/sse` + `/messages` endpoints.
|
|
18
|
+
- Added a Streamable HTTP regression test that initializes a session and lists MCP tools through `/mcp`.
|
|
19
|
+
- Documented the default read-only MCP profile, including the public-safe read/evidence tool surface and the `full`/`admin` opt-in for mutation-capable tools.
|
|
20
|
+
- Added public guidance for the provenance/freshness response envelope, including `agent_guidance` and evidence metadata on search, status, and batch responses.
|
|
21
|
+
|
|
22
|
+
### Changed
|
|
23
|
+
|
|
24
|
+
- `vault_get` is documented as bounded by default, with operator-approved `include_content:true` and `max_chars` caps for larger reads.
|
|
25
|
+
- Mutation blocking guidance now tells operators to restart in `MCP_PROFILE=full` or `MCP_PROFILE=admin` before using write/configure tools.
|
|
26
|
+
- Public-surface safety redaction is documented for local paths, credential markers, and private network values.
|
|
27
|
+
|
|
28
|
+
## 1.1.2 — 2026-04-26
|
|
29
|
+
|
|
30
|
+
### Changed
|
|
31
|
+
|
|
32
|
+
- Default MCP transport is now `stdio`, matching command-launched MCP clients.
|
|
33
|
+
- The npm bin is a Node-compatible launcher that delegates server execution to Bun.
|
|
34
|
+
- Published package includes `dist/server.js` via `prepack` build and `files` allowlist.
|
|
35
|
+
- README now documents install commands, Claude config, Bun runtime requirement, and explicit SSE mode.
|
|
36
|
+
- Package metadata now includes public repository information and Apache-2.0 package license.
|
|
37
|
+
|
|
38
|
+
### Verified
|
|
39
|
+
|
|
40
|
+
- `bun --filter @syndash/research-vault-mcp test`
|
|
41
|
+
- `bun --filter @syndash/research-vault-mcp build`
|
|
42
|
+
- `npm pack --dry-run --json`
|
|
43
|
+
- stdio smoke returning 13 MCP tools
|
package/README.md
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
# @syndash/research-vault-mcp
|
|
2
2
|
|
|
3
|
-
Research Vault is the
|
|
3
|
+
Research Vault MCP is the installable server for **Dash Research Vault**. It gives MCP-compatible agents a public-safe way to search, inspect, and operate a markdown knowledge vault.
|
|
4
4
|
|
|
5
|
-
It is not the whole Evensong
|
|
5
|
+
It is not the whole vault template or the whole Evensong research project. This package is the runtime adapter: MCP tools, read-only defaults, bounded reads, public-surface redaction, and optional mutation profiles for operator-approved sessions.
|
|
6
|
+
|
|
7
|
+
Source: <https://github.com/Fearvox/dash-research-vault/tree/main/packages/research-vault-mcp>
|
|
6
8
|
|
|
7
9
|
## Install
|
|
8
10
|
|
|
@@ -17,12 +19,15 @@ bunx @syndash/research-vault-mcp --transport=stdio
|
|
|
17
19
|
|
|
18
20
|
Default transport is `stdio`, because command-launched MCP servers are expected to speak JSON-RPC over stdin/stdout. Install [Bun](https://bun.sh) before using either `npx` or `bunx`; the server itself is Bun-native.
|
|
19
21
|
|
|
20
|
-
|
|
22
|
+
**Runtime note:** `@syndash/research-vault-mcp` is Bun-native. `npx` is supported as an install/launch shim, but the target machine must have `bun` available on `PATH`. If you need a pure Node runtime, treat that as a separate compatibility track rather than assuming this package already provides it.
|
|
23
|
+
|
|
24
|
+
Use HTTP only when you explicitly want a long-running remote MCP server. The HTTP server exposes both the current Streamable HTTP endpoint and the legacy SSE endpoint:
|
|
21
25
|
|
|
22
26
|
```bash
|
|
23
|
-
MCP_PORT=8765 npx @syndash/research-vault-mcp --transport=
|
|
24
|
-
#
|
|
25
|
-
# sse:
|
|
27
|
+
MCP_PORT=8765 npx @syndash/research-vault-mcp --transport=http
|
|
28
|
+
# streamable: http://127.0.0.1:8765/mcp
|
|
29
|
+
# legacy sse: http://127.0.0.1:8765/sse
|
|
30
|
+
# health: http://127.0.0.1:8765/health
|
|
26
31
|
```
|
|
27
32
|
|
|
28
33
|
## Configure an MCP client
|
|
@@ -74,7 +79,21 @@ Set the vault location with an environment variable before launching your MCP cl
|
|
|
74
79
|
export VAULT_ROOT=/path/to/research-vault
|
|
75
80
|
```
|
|
76
81
|
|
|
77
|
-
The package is designed for markdown-based knowledge bases. Keep private vault contents outside the public
|
|
82
|
+
The package is designed for markdown-based knowledge bases. Keep private vault contents outside the public Dash Research Vault repo.
|
|
83
|
+
|
|
84
|
+
## MCP Profiles
|
|
85
|
+
|
|
86
|
+
`MCP_PROFILE=readonly` is the default public-safe autonomous-agent profile. It exposes only read/evidence tools:
|
|
87
|
+
|
|
88
|
+
- `vault_status`
|
|
89
|
+
- `vault_taxonomy`
|
|
90
|
+
- `vault_search`
|
|
91
|
+
- `vault_get`
|
|
92
|
+
- `vault_batch_analyze`
|
|
93
|
+
|
|
94
|
+
Mutation tools are hidden and blocked in `readonly`. `MCP_PROFILE=full` enables non-destructive mutators such as `vault_raw_ingest` and `vault_note_save`. `MCP_PROFILE=admin` is required for destructive or admin tools such as `vault_delete`.
|
|
95
|
+
|
|
96
|
+
`vault_get` is bounded by default: it returns an excerpt unless the operator approves `include_content:true`, and even full-content requests are capped by `max_chars`. Search, status, and batch responses include `agent_guidance` plus evidence metadata for provenance, freshness, profile, and public-safety state.
|
|
78
97
|
|
|
79
98
|
## Tools exposed
|
|
80
99
|
|
|
@@ -84,12 +103,14 @@ Current MCP contract:
|
|
|
84
103
|
- `vault_status` — registry, retention, and decay health
|
|
85
104
|
- `vault_taxonomy` — category tree and item counts
|
|
86
105
|
- `vault_batch_analyze` — raw queue status and preview
|
|
87
|
-
- `vault_note_save` — persist a markdown note into the vault
|
|
88
106
|
- `vault_get` — retrieve a saved vault item by id
|
|
89
|
-
- `
|
|
90
|
-
- `
|
|
107
|
+
- `vault_raw_ingest` — queue a raw URL/text ingest job (`full` or `admin` profile only)
|
|
108
|
+
- `vault_note_save` — persist a markdown note into the vault (`full` or `admin` profile only)
|
|
109
|
+
- `vault_delete` — delete a saved vault item (`admin` profile only; destructive)
|
|
91
110
|
- `amplify_*` — optional remote RAG query layer when Amplify credentials are configured
|
|
92
111
|
|
|
112
|
+
Public MCP responses are redacted before they leave the server if they contain local paths, credential markers, or private network values. Use a private operator session for diagnostics that need raw source details.
|
|
113
|
+
|
|
93
114
|
## Package mechanics
|
|
94
115
|
|
|
95
116
|
Published packages include:
|
|
@@ -98,6 +119,7 @@ Published packages include:
|
|
|
98
119
|
- `dist/server.js`
|
|
99
120
|
- `src/**/*.ts` for source inspection
|
|
100
121
|
- `README.md`
|
|
122
|
+
- `CHANGELOG.md`
|
|
101
123
|
- `package.json`
|
|
102
124
|
|
|
103
125
|
The bin prefers `dist/server.js`. In a monorepo checkout without `dist`, it falls back to `bun run src/server.ts` so development remains fast without a separate compile step.
|
|
@@ -114,8 +136,16 @@ score(d, q, t) = lexical(q,d)
|
|
|
114
136
|
+ summary-level weight(d)
|
|
115
137
|
```
|
|
116
138
|
|
|
117
|
-
The
|
|
139
|
+
The research papers and figures in the repository root document the memory-causation evidence behind the vault template. The MCP package stays focused on the installable server surface.
|
|
140
|
+
|
|
141
|
+
## Node compatibility status
|
|
142
|
+
|
|
143
|
+
The package is intentionally Bun-native today because the server uses Bun APIs. The npm bin is Node-compatible only as a launcher: it locates `dist/server.js` or `src/server.ts`, then delegates execution to `bun`. This keeps package installation convenient while avoiding a misleading claim that the MCP server itself runs under plain Node.js.
|
|
118
144
|
|
|
119
145
|
## License
|
|
120
146
|
|
|
121
|
-
Apache-2.0 for package code. Research artifacts in the
|
|
147
|
+
Apache-2.0 for package code. Research artifacts in the repository root may use separate licenses; check the repository root license files.
|
|
148
|
+
|
|
149
|
+
## Releases
|
|
150
|
+
|
|
151
|
+
See [CHANGELOG.md](./CHANGELOG.md). Current npm release: `1.1.4`.
|