License the server, and give Glama something it can build - #6
Merged
Conversation
Glama's scorecard blocks on two things that are ours to fix. The first is hard: "MCP servers without a LICENSE cannot be installed." package.json said UNLICENSED and no LICENSE file existed, so the server was unusable to anyone reading the licence before installing. MIT, which is what almost every MCP server carries and costs nothing here -- this package is a thin client for a hosted service, not the product. Adding it breaks CI unless the tarball assertion moves with it: npm always packs LICENSE regardless of the files list, so the expected-contents check gains a ninth entry. Verified with a real npm pack, not by reading the docs. The second is the Dockerfile. A Glama release needs a build spec, and two of its scoring dimensions -- server coherence and tool-definition quality -- stay switched off until a release exists. The image is deliberately boring: this package has zero dependencies, so there is no install step and no lockfile to honour. It runs as node rather than root, because the process talks to a control plane with the caller's own credential and needs no privilege. glama.json names both org admins as maintainers so the listing stays claimable from either account. Verified: 38 tests pass, the tarball assertion passes with the new list, the image builds, and the container answers an MCP initialize over stdio. Greentree-Change-Id: b670b079a930be8ef6e399264f75b20e
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Works the Glama scorecard. Two of its findings are ours to fix; the rest need the Glama web UI and are listed at the bottom.
1. LICENSE — the hard blocker
package.jsonsaidUNLICENSEDand noLICENSEfile existed. MIT: it's what almost every MCP server carries, and it costs nothing here — this package is a thin client for a hosted service, not the product. All four public repos in the org are currently unlicensed, so this sets the precedent; say so if you'd rather it were Apache-2.0 and I'll swap it before merge.This breaks CI unless the tarball assertion moves with it. npm always packs
LICENSEregardless of thefileslist, sothe tarball contains exactly what it shouldgains a ninth entry. Verified against a realnpm pack, not from the docs:2. Dockerfile — unlocks the release, which unlocks two scores
A Glama release needs a build spec, and server coherence scoring and tool definition quality scoring both stay switched off until a release exists. So this is the highest-leverage item on the card.
The image is deliberately boring: zero dependencies means no install step and no lockfile to honour.
node:22-slimrather than Alpine — no difference today, but glibc is the base that behaves if a native dependency ever appears. Runs asnode, not root: the process talks to a control plane with the caller's own credential and needs no privilege of its own.3. glama.json
Names both org admins (
las7,LopezAdan) so the listing stays claimable from either account.Verified
docker buildsucceedsinitializeover stdio:Still needs the Glama web UI (not in this PR)
Noticed while here, deliberately not fixed
serverInfo.versionreports 0.1.0 (hardcoded insrc),package.jsonsays 0.2.0, and npm's latest is 0.1.5 — three different answers to "what version is this". Worth one follow-up that picks one.🤖 Generated with Claude Code
https://claude.ai/code/session_011jhbZoyzaAjr1MGrSNMWZK