[mcp] Plugin MCP package data key derives from the entry id, so installations do not get their own key
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 80/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- typescript
- Domain
- backend
Research direction
Open apps/nanocore/src/catalog/resource-catalog.ts around lines 1238-1240 where mcpDataKey is defined; also inspect importWorkspacePlugin to see how installation id is omitted. Modify key derivation to include Workspace and installation id when present, keeping entry-id key for standalone. Done when imported members share an installation-scoped key and independent installs get fresh keys, per spec clause.
Written by the indexing model from the issue text.
Description
Found by the independent documentation audit (agent-supply group, base b648f86).
Spec clause. MCP Catalog Management, Portable declarations: "A Core-assigned packageDataKey is scoped to the Workspace and original installation id, or to the standalone MCP entry id when no installation exists. MCP members imported as one installation receive the same key; an independent installation or cross-Workspace copy receives a fresh key."
Observed. apps/nanocore/src/catalog/resource-catalog.ts:1238-1240@b648f86 (mcpDataKey) returns mcp_<entryId> (or server_mcp_<entryId>). importWorkspacePlugin passes no installation id to MCP creation, so the members of one installation do not share an installation key, and an independent installation of the same entry id reuses the same data directory.
Required. An installation-scoped key for imported members and a fresh key for an independent installation.
Adjudication. The code differs from a current accepted specification. Mutable process data of two installations can mix.
Repair direction. Derive the key from the Workspace and the original installation id when one exists, and keep the entry-id key for standalone entries.
Severity hint. Ordinary.
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 1
- Avg merge
- 3h 54m
- Merged PRs (30d)
- 5
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from lingkaix/openkit
-
bug doc-audit
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
bug doc-audit
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
bug doc-audit
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
bug doc-audit
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
bug doc-audit
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
All issues in lingkaix/openkit
Similar issues
-
bug
Difficulty 1/5 Under an hour Newbie friendliness 86/100
awslabs/visual-asset-management-system#937 ·
Maintainers usually reply within 1 day
-
t0ggles
Difficulty 1/5 Under an hour Newbie friendliness 82/100
nolimits4web/swiper#8255 · 1 comment ·
Maintainers usually reply within 15 days
-
render: --variables-file (and --variables <path>) fails with "io.readFile is not a function" since 0.8.212Possibly taken @miguel-heygen claimed this today. Openbug triage/needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
heygen-com/hyperframes#6830 ·
Maintainers usually reply within 1 day
-
bug launch local use
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
Maintainers usually reply within 1 day
-
account: profile bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 5 days