@younndai/lyt-mcp 0.12.0 → 0.13.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/CONTRIBUTING.md +61 -0
- package/NOTICE +2 -2
- package/README.md +2 -2
- package/SECURITY.md +45 -0
- package/dist/cli.js +15 -0
- package/dist/errors.js +15 -0
- package/dist/generate-tools.js +15 -0
- package/dist/index.js +15 -0
- package/dist/mcp-command.js +15 -0
- package/dist/registry.js +15 -0
- package/dist/server.js +15 -0
- package/package.json +7 -5
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Contributing to Lyt (Link Your Think™)
|
|
2
|
+
|
|
3
|
+
Thank you for your interest in contributing to Lyt, a YounndAI™ product by
|
|
4
|
+
MARLINK TRADING SRL.
|
|
5
|
+
|
|
6
|
+
> Lyt is in public **alpha**. The surface is moving quickly; please open an
|
|
7
|
+
> issue or a discussion before starting non-trivial work so we can confirm
|
|
8
|
+
> direction and avoid duplicated effort.
|
|
9
|
+
|
|
10
|
+
## Contributor License Agreement (REQUIRED)
|
|
11
|
+
|
|
12
|
+
Before we can accept your contribution, we need you to sign a Contributor
|
|
13
|
+
License Agreement (CLA). The CLA is a one-time legal document that confirms:
|
|
14
|
+
|
|
15
|
+
- You have the right to grant us the license terms specified in the CLA
|
|
16
|
+
- You grant us a broad, perpetual license to use, modify, and re-license your contribution
|
|
17
|
+
- You receive no special contributor rights: no royalties, governance, trademark rights, private license-back, approval rights, or claims against future relicensing or posture changes
|
|
18
|
+
- Your contribution is provided "as is" without warranty
|
|
19
|
+
|
|
20
|
+
### Which CLA do I sign?
|
|
21
|
+
|
|
22
|
+
- **[Individual CLA](https://github.com/YounndAI/lyt/blob/main/CLA.md)** — if you are
|
|
23
|
+
contributing on your own behalf, on your own time, and your employer has no
|
|
24
|
+
claim to your intellectual-property output.
|
|
25
|
+
- **[Entity CLA](https://github.com/YounndAI/lyt/blob/main/CLA-entity.md)** — if you are
|
|
26
|
+
contributing as an employee or contractor on behalf of an employer or
|
|
27
|
+
organization. The Entity CLA covers all contributors your organization
|
|
28
|
+
authorizes (listed in its Schedule A).
|
|
29
|
+
|
|
30
|
+
If you are unsure, sign **both**.
|
|
31
|
+
|
|
32
|
+
### How to sign
|
|
33
|
+
|
|
34
|
+
When you open your first pull request, our [CLA bot](https://cla-assistant.io)
|
|
35
|
+
will comment with a link to sign. You can sign electronically via GitHub OAuth
|
|
36
|
+
— no paperwork required. Once signed, your future contributions are
|
|
37
|
+
automatically covered. **Pull requests cannot be merged until the CLA bot
|
|
38
|
+
confirms a signed CLA is on file for all contributors.**
|
|
39
|
+
|
|
40
|
+
## Code contribution checklist
|
|
41
|
+
|
|
42
|
+
- [ ] Signed the appropriate CLA (see above)
|
|
43
|
+
- [ ] Apache-2.0 copyright header included in any new source files (see existing files for the exact block)
|
|
44
|
+
- [ ] Code follows existing project conventions (TypeScript strict mode, libSQL-only data layer, cross-platform paths)
|
|
45
|
+
- [ ] Focused tests added for new functionality; `npm run build`, `npm run typecheck`, and `npm test` green
|
|
46
|
+
- [ ] Documentation updated for user-facing changes
|
|
47
|
+
- [ ] Trademark indicators (™) on first prominent use of any YounndAI or Lyt mark in new documentation
|
|
48
|
+
- [ ] CHANGELOG.md updated where the change is user-facing
|
|
49
|
+
|
|
50
|
+
## Code of conduct
|
|
51
|
+
|
|
52
|
+
We follow the [Contributor Covenant Code of Conduct](https://github.com/YounndAI/lyt/blob/main/CODE_OF_CONDUCT.md).
|
|
53
|
+
By contributing, you agree to abide by its terms.
|
|
54
|
+
|
|
55
|
+
## Questions?
|
|
56
|
+
|
|
57
|
+
- General questions: [GitHub Discussions](https://github.com/YounndAI/lyt/discussions)
|
|
58
|
+
- Legal questions: office@younndai.com
|
|
59
|
+
- Security questions: see [SECURITY.md](SECURITY.md)
|
|
60
|
+
|
|
61
|
+
Thank you for contributing!
|
package/NOTICE
CHANGED
|
@@ -12,12 +12,12 @@ Licensed under the Apache License, Version 2.0. See LICENSE.
|
|
|
12
12
|
Trademark notice
|
|
13
13
|
----------------------------------------------------------------------
|
|
14
14
|
|
|
15
|
-
YounndAI™ and
|
|
15
|
+
YounndAI™ and Lyt (Link Your Think™) are trademarks of MARLINK TRADING SRL.
|
|
16
16
|
|
|
17
17
|
The Apache License, Version 2.0 does not grant permission to use the
|
|
18
18
|
trade names, trademarks, service marks, or product names of
|
|
19
19
|
MARLINK TRADING SRL, except as required for describing the origin of
|
|
20
20
|
this work and reproducing the content of this NOTICE file.
|
|
21
21
|
|
|
22
|
-
See TRADEMARK.md for the trademark usage policy.
|
|
22
|
+
See https://github.com/YounndAI/lyt/blob/main/TRADEMARK.md for the trademark usage policy.
|
|
23
23
|
For trademark usage permissions, contact: office@younndai.com
|
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<p align="center">
|
|
10
10
|
<strong>@younndai/lyt-mcp</strong><br />
|
|
11
11
|
The MCP server — your markdown vaults and meshes as Model Context Protocol tools, local and typed.<br />
|
|
12
|
-
<em>Part of the Lyt™ toolchain — federated markdown vaults you own, made legible to AI.</em>
|
|
12
|
+
<em>Part of the Lyt (Link Your Think™) toolchain — federated markdown vaults you own, made legible to AI.</em>
|
|
13
13
|
</p>
|
|
14
14
|
|
|
15
15
|
<p align="center">
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
|
|
25
25
|
## What is this?
|
|
26
26
|
|
|
27
|
-
`@younndai/lyt-mcp` is a [Model Context Protocol](https://modelcontextprotocol.io) server that exposes the [Lyt
|
|
27
|
+
`@younndai/lyt-mcp` is a [Model Context Protocol](https://modelcontextprotocol.io) server that exposes the [Lyt](https://github.com/YounndAI/lyt) vault and mesh operation set as **typed MCP tools**. Any MCP-compatible client — Claude Desktop, Claude Code, Codex, or your own agent runtime — can search, read, and operate your markdown vaults **locally**, over stdio, with no separate CLI subprocess per call and no cloud middleman. Your knowledge never leaves your machine; the agent comes to the data.
|
|
28
28
|
|
|
29
29
|
This is Lyt's **AI-first** contract made protocol-native: the same governed operations available as `lyt vault ...` / `lyt mesh ...` on the command line are surfaced as MCP tools with [Zod](https://zod.dev)-validated schemas, so agents get accurate parameter validation and structured errors instead of scraping CLI text. One operation set, three transports — CLI for you, MCP for your agents, harness skills for agent runtimes without MCP.
|
|
30
30
|
|
package/SECURITY.md
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Security Policy
|
|
2
|
+
|
|
3
|
+
## Reporting a vulnerability
|
|
4
|
+
|
|
5
|
+
If you discover a security vulnerability in Lyt, please report it
|
|
6
|
+
responsibly:
|
|
7
|
+
|
|
8
|
+
1. **DO NOT** file a public GitHub issue.
|
|
9
|
+
2. Email **office@younndai.com** with:
|
|
10
|
+
- A description of the vulnerability and its potential impact
|
|
11
|
+
- Steps to reproduce, or a proof of concept (if safe to share)
|
|
12
|
+
- Affected versions
|
|
13
|
+
- Suggested severity: **Critical**, **High**, or **Moderate**
|
|
14
|
+
|
|
15
|
+
Responsible disclosure preserves the safety of every downstream user.
|
|
16
|
+
|
|
17
|
+
## Response timeline
|
|
18
|
+
|
|
19
|
+
| Action | SLA |
|
|
20
|
+
| ----------------------- | ---------------- |
|
|
21
|
+
| Acknowledgement | 72 hours |
|
|
22
|
+
| Initial assessment | 7 calendar days |
|
|
23
|
+
| Remediation or advisory | 30 calendar days |
|
|
24
|
+
|
|
25
|
+
Critical issues are prioritized and may be patched ahead of the stated window
|
|
26
|
+
where feasible.
|
|
27
|
+
|
|
28
|
+
## Supported versions
|
|
29
|
+
|
|
30
|
+
Lyt is in public **alpha**. Security fixes are applied to the latest published
|
|
31
|
+
`alpha` release only. Pin to a released version and update promptly when a new
|
|
32
|
+
alpha ships.
|
|
33
|
+
|
|
34
|
+
## Responsible disclosure
|
|
35
|
+
|
|
36
|
+
We commit to:
|
|
37
|
+
|
|
38
|
+
- Acknowledging your report within the timeline above
|
|
39
|
+
- Working with you to verify and reproduce the vulnerability
|
|
40
|
+
- Coordinating a public disclosure date that gives users time to update
|
|
41
|
+
- Crediting you in the security advisory (unless you prefer anonymity)
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
© 2026 MARLINK TRADING SRL (YounndAI).
|
package/dist/cli.js
CHANGED
|
@@ -1,4 +1,19 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2026 MARLINK TRADING SRL (YounndAI)
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
2
17
|
import { createRequire } from "node:module";
|
|
3
18
|
import { Command } from "commander";
|
|
4
19
|
import { buildMcpSubcommand } from "./mcp-command.js";
|
package/dist/errors.js
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 MARLINK TRADING SRL (YounndAI)
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
1
16
|
const GENERIC_CLIENT_ERROR = "lyt-mcp: an internal error occurred.";
|
|
2
17
|
function leaksInternalDetail(message) {
|
|
3
18
|
return (/[A-Za-z]:[\\/]/.test(message) ||
|
package/dist/generate-tools.js
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 MARLINK TRADING SRL (YounndAI)
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
1
16
|
const CALLER_SETTABLE_GATE_FIELD = "confirmed";
|
|
2
17
|
const SAFE_UNGATED_WRITE_OPS = new Set([
|
|
3
18
|
"vault.reconnect",
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 MARLINK TRADING SRL (YounndAI)
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
1
16
|
export { buildMcpSubcommand } from "./mcp-command.js";
|
|
2
17
|
export { buildLytMcpServer, startStdioServer, SERVER_NAME, SERVER_VERSION } from "./server.js";
|
|
3
18
|
export { buildOpRegistry } from "./registry.js";
|
package/dist/mcp-command.js
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 MARLINK TRADING SRL (YounndAI)
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
1
16
|
import { Command } from "commander";
|
|
2
17
|
import { startStdioServer } from "./server.js";
|
|
3
18
|
export function buildMcpSubcommand() {
|
package/dist/registry.js
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 MARLINK TRADING SRL (YounndAI)
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
1
16
|
import { z } from "zod";
|
|
2
17
|
import { abandonVaultFlow, generatePrimerFlow, infoVaultFlow, listVaultsFlow, patternRunFlow, reconnectVaultFlow, searchCascadeFlow, shareVaultFlow, syncMetadataFlow, unshareVaultFlow, vaultAccessFlow, vaultInvitesFlow, verifyVaultsFlow, } from "@younndai/lyt-vault";
|
|
3
18
|
import { addSource, listSources, parseScope, removeSource, serializeScope, withRegistry, } from "@younndai/lyt-mesh";
|
package/dist/server.js
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026 MARLINK TRADING SRL (YounndAI)
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
1
16
|
import { readFileSync } from "node:fs";
|
|
2
17
|
import { resolve as pathResolve } from "node:path";
|
|
3
18
|
import { fileURLToPath } from "node:url";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@younndai/lyt-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"description": "Lyt MCP server — exposes the lyt-vault + lyt-mesh operation set as typed Model Context Protocol tools so AI agents (Claude Desktop, Claude Code, Codex, any MCP client) can drive Lyt locally.",
|
|
5
5
|
"homepage": "https://linkyourthink.com",
|
|
6
6
|
"repository": {
|
|
@@ -39,10 +39,12 @@
|
|
|
39
39
|
"dist",
|
|
40
40
|
"README.md",
|
|
41
41
|
"LICENSE",
|
|
42
|
-
"NOTICE"
|
|
42
|
+
"NOTICE",
|
|
43
|
+
"CONTRIBUTING.md",
|
|
44
|
+
"SECURITY.md"
|
|
43
45
|
],
|
|
44
46
|
"scripts": {
|
|
45
|
-
"build": "tsc",
|
|
47
|
+
"build": "tsc && node ../../scripts/public-release/stamp-dist-license-headers.mjs",
|
|
46
48
|
"typecheck": "tsc --noEmit",
|
|
47
49
|
"test": "vitest run",
|
|
48
50
|
"test:watch": "vitest",
|
|
@@ -52,8 +54,8 @@
|
|
|
52
54
|
},
|
|
53
55
|
"dependencies": {
|
|
54
56
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
55
|
-
"@younndai/lyt-mesh": "^0.
|
|
56
|
-
"@younndai/lyt-vault": "^0.
|
|
57
|
+
"@younndai/lyt-mesh": "^0.13.0",
|
|
58
|
+
"@younndai/lyt-vault": "^0.13.0",
|
|
57
59
|
"commander": "^12.1.0",
|
|
58
60
|
"zod": "^3.25.0"
|
|
59
61
|
},
|