mcp-context-card 0.6.0 → 0.6.1
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/.well-known/ai-catalog.json +2 -2
- package/.well-known/fafa +2 -2
- package/CHANGELOG.md +34 -2
- package/dist/bin.d.ts +1 -1
- package/dist/catalog-gen.d.ts +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +1 -1
- package/dist/identity.d.ts +4 -4
- package/dist/identity.js +1 -1
- package/dist/server.d.ts +3 -3
- package/docs/MECHANISMS.md +5 -5
- package/docs/WIRING.md +1 -1
- package/docs/card-dark.html +1 -1
- package/docs/card-light.html +1 -1
- package/docs/card.html +1 -1
- package/docs/img/card-dark.png +0 -0
- package/docs/img/card-identity.png +0 -0
- package/docs/img/card-light.png +0 -0
- package/docs/index.html +1 -1
- package/package.json +2 -2
- package/server.json +7 -7
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"description": "Cross-session memory — 4 fact(s), profile \"knowledge\". Recall survives a process restart. No de-facto standard for this concern yet.",
|
|
22
22
|
"url": "./project.fafm",
|
|
23
23
|
"_meta": {
|
|
24
|
-
"io.github.
|
|
24
|
+
"io.github.Wolfe-Jam.mcp-context-card/iana": "https://www.iana.org/assignments/media-types/application/vnd.fafm+yaml"
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
27
|
{
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"description": "The essential MCP components for a project's context (AGENTS.md), cross-session memory, and identity — a base MCP on its own, or a drop-in extension for any existing MCP server, discoverable through the Server Card _meta block and a self-published ai-catalog.json.",
|
|
33
33
|
"url": "./.well-known/fafa",
|
|
34
34
|
"_meta": {
|
|
35
|
-
"io.github.
|
|
35
|
+
"io.github.Wolfe-Jam.mcp-context-card/iana": "https://www.iana.org/assignments/media-types/application/vnd.fafa+yaml"
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
]
|
package/.well-known/fafa
CHANGED
|
@@ -8,8 +8,8 @@ version: "1.0"
|
|
|
8
8
|
agent:
|
|
9
9
|
name: "mcp-context-card"
|
|
10
10
|
displayName: "mcp-context-card"
|
|
11
|
-
vendor: "io.github.
|
|
12
|
-
version: "0.6.
|
|
11
|
+
vendor: "io.github.Wolfe-Jam"
|
|
12
|
+
version: "0.6.1"
|
|
13
13
|
description: >-
|
|
14
14
|
The essential MCP components for a project's context (AGENTS.md),
|
|
15
15
|
cross-session memory, and identity — a base MCP on its own, or a
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,38 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project. Adheres to [Semantic Versioning](https://semver.org).
|
|
4
4
|
|
|
5
|
+
## 0.6.1
|
|
6
|
+
|
|
7
|
+
Two real bugs, both caught by the actual `/pubaaif` publish run against
|
|
8
|
+
0.6.0 — not a dry-run this time, the live registry rejected the first
|
|
9
|
+
attempt and the live npm publish shipped the second one wrong.
|
|
10
|
+
|
|
11
|
+
- **Fix: the publisher namespace was wrong-cased everywhere.** Every
|
|
12
|
+
`_meta` key, `server.json.name`, `package.json.mcpName`, and
|
|
13
|
+
`.well-known/fafa`'s `vendor` field used `io.github.wolfe-jam` —
|
|
14
|
+
lowercase. The MCP Registry checks this against the authenticated
|
|
15
|
+
GitHub identity byte-for-byte and rejected the publish: `403`, *"You
|
|
16
|
+
have permission to publish: `io.github.Wolfe-Jam/*`. Attempting to
|
|
17
|
+
publish: `io.github.wolfe-jam/mcp-context-card`."* The real GitHub
|
|
18
|
+
login is `Wolfe-Jam` (capital W, capital J) — an assumption baked in
|
|
19
|
+
since the original `mcp-trinity` rename that the registry lowercases
|
|
20
|
+
GitHub logins for namespace purposes was simply wrong. Fixed at the
|
|
21
|
+
source (`src/identity.ts`'s `META_NS` constant) and everywhere it was
|
|
22
|
+
hand-duplicated (`server.json`, `package.json`, `.well-known/fafa`,
|
|
23
|
+
tests, docs) — the 0.6.0 tarball actually shipped this wrong; anyone
|
|
24
|
+
who installed it got the incorrect namespace in the live `_meta` block.
|
|
25
|
+
- **Fix: `server.json`'s description exceeded the MCP Registry's
|
|
26
|
+
100-character cap.** `mcp-publisher publish` rejected it: `422`,
|
|
27
|
+
`"expected length <= 100"` — ours was 263 characters. Trimmed to 97,
|
|
28
|
+
same claim. `package.json`'s longer description is unaffected — the
|
|
29
|
+
two are allowed to differ.
|
|
30
|
+
- The 3 version-pill card images (`card-dark.png`, `card-light.png`,
|
|
31
|
+
`card-identity.png`) re-shot again — they render the vendor pill text,
|
|
32
|
+
which changed with the casing fix.
|
|
33
|
+
|
|
34
|
+
No functional/behavioral change beyond the corrected namespace. 102/102
|
|
35
|
+
tests, `card:check` + `catalog:check` green.
|
|
36
|
+
|
|
5
37
|
## 0.6.0
|
|
6
38
|
|
|
7
39
|
The README as a hero, not just a description. Everything visual this repo
|
|
@@ -103,7 +135,7 @@ First-hour ergonomics and wording, from the 0.5.0 soak.
|
|
|
103
135
|
context, memory, and identity discoverable…"). Same in `.well-known/fafa`;
|
|
104
136
|
the three `project.fafm` facts are `type: fact`. `package.json` `author` set
|
|
105
137
|
to the LICENSE holder.
|
|
106
|
-
- `.well-known/fafa` — `vendor: io.github.
|
|
138
|
+
- `.well-known/fafa` — `vendor: io.github.Wolfe-Jam`, `status: published`
|
|
107
139
|
(were both `reference`). Shows in `whoami` and as the card's pills.
|
|
108
140
|
|
|
109
141
|
## 0.5.0
|
|
@@ -135,7 +167,7 @@ tested server.
|
|
|
135
167
|
### Exposure
|
|
136
168
|
|
|
137
169
|
- Server Card `_meta` block — publisher-namespaced keys
|
|
138
|
-
(`io.github.
|
|
170
|
+
(`io.github.Wolfe-Jam.mcp-context-card/{context,memory,identity}`), one per
|
|
139
171
|
concern. `context` points at `AGENTS.md` / `text/markdown`.
|
|
140
172
|
- `mcp-context-card://server-card` MCP resource (in-band) +
|
|
141
173
|
`GET /.well-known/mcp/server-card` (out-of-band, HTTP transport).
|
package/dist/bin.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export interface Launch {
|
|
|
8
8
|
root: string;
|
|
9
9
|
}
|
|
10
10
|
/** what a bare `--help` / `help` prints. */
|
|
11
|
-
export declare const HELP = "mcp-context-card 0.6.
|
|
11
|
+
export declare const HELP = "mcp-context-card 0.6.1\nServe a project's context (AGENTS.md), memory, and identity over MCP.\n\nUSAGE\n mcp-context-card stdio MCP server \u2014 what an MCP host spawns (default)\n mcp-context-card --http stateless Streamable HTTP on PORT (default 3000)\n mcp-context-card --stdio force stdio even when PORT is set\n mcp-context-card card [> f.html] render this directory's context card to stdout\n --theme light|dark --accent #hex\n mcp-context-card --help this text\n mcp-context-card --version print version\n\nENV\n MCP_CONTEXT_CARD_ROOT read AGENTS.md / project.fafm / .well-known/ from here\n PORT if set, run HTTP instead of stdio\n\nA bare run is an stdio server: it waits for a host to speak JSON-RPC on stdin,\nso it looks idle at a terminal. Try `card` or `--http` to see output directly.\nhttps://github.com/Wolfe-Jam/mcp-context-card\n";
|
|
12
12
|
/**
|
|
13
13
|
* Decide how to launch, from argv + env. Pure — so the mode matrix is unit
|
|
14
14
|
* tested without spawning a process.
|
package/dist/catalog-gen.d.ts
CHANGED
package/dist/constants.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Server identity constants, in their own module so any file can import
|
|
2
2
|
* them without pulling in the whole server. */
|
|
3
3
|
export declare const NAME = "mcp-context-card";
|
|
4
|
-
export declare const VERSION = "0.6.
|
|
4
|
+
export declare const VERSION = "0.6.1";
|
|
5
5
|
export declare const SERVER_CARD_URI = "mcp-context-card://server-card";
|
package/dist/constants.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Server identity constants, in their own module so any file can import
|
|
2
2
|
* them without pulling in the whole server. */
|
|
3
3
|
export const NAME = "mcp-context-card";
|
|
4
|
-
export const VERSION = "0.6.
|
|
4
|
+
export const VERSION = "0.6.1";
|
|
5
5
|
export const SERVER_CARD_URI = "mcp-context-card://server-card";
|
package/dist/identity.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AgentIdentity } from "./faf/types.js";
|
|
2
2
|
/** The `_meta` key namespace — the publisher's, reverse-DNS. */
|
|
3
|
-
export declare const META_NS = "io.github.
|
|
3
|
+
export declare const META_NS = "io.github.Wolfe-Jam.mcp-context-card";
|
|
4
4
|
export declare function identity(root: string): AgentIdentity | null;
|
|
5
5
|
/**
|
|
6
6
|
* The identity to show: the `.well-known/fafa` card if present — richer and
|
|
@@ -17,17 +17,17 @@ export declare function whoami(root: string): string;
|
|
|
17
17
|
* because there is no de-facto standard for it yet.
|
|
18
18
|
*/
|
|
19
19
|
export declare function serverCardMeta(): {
|
|
20
|
-
readonly "io.github.
|
|
20
|
+
readonly "io.github.Wolfe-Jam.mcp-context-card/context": {
|
|
21
21
|
readonly source: "AGENTS.md";
|
|
22
22
|
readonly mediaType: "text/markdown";
|
|
23
23
|
};
|
|
24
|
-
readonly "io.github.
|
|
24
|
+
readonly "io.github.Wolfe-Jam.mcp-context-card/memory": {
|
|
25
25
|
readonly source: "project.fafm";
|
|
26
26
|
readonly mediaType: "application/vnd.fafm+yaml";
|
|
27
27
|
readonly iana: string;
|
|
28
28
|
readonly note: "no de-facto standard for agent memory yet — this is one instantiation";
|
|
29
29
|
};
|
|
30
|
-
readonly "io.github.
|
|
30
|
+
readonly "io.github.Wolfe-Jam.mcp-context-card/identity": {
|
|
31
31
|
readonly source: ".well-known/fafa";
|
|
32
32
|
readonly mediaType: "application/vnd.fafa+yaml";
|
|
33
33
|
readonly iana: string;
|
package/dist/identity.js
CHANGED
|
@@ -11,7 +11,7 @@ import { readFileSync } from "node:fs";
|
|
|
11
11
|
import { join } from "node:path";
|
|
12
12
|
import { parseFafa } from "./faf/parse-fafa.js";
|
|
13
13
|
/** The `_meta` key namespace — the publisher's, reverse-DNS. */
|
|
14
|
-
export const META_NS = "io.github.
|
|
14
|
+
export const META_NS = "io.github.Wolfe-Jam.mcp-context-card";
|
|
15
15
|
const iana = (t) => `https://www.iana.org/assignments/media-types/${t}`;
|
|
16
16
|
export function identity(root) {
|
|
17
17
|
return parseFafa(join(root, ".well-known/fafa"));
|
package/dist/server.d.ts
CHANGED
|
@@ -29,17 +29,17 @@ export declare function serverCard(): {
|
|
|
29
29
|
name: string;
|
|
30
30
|
version: string;
|
|
31
31
|
_meta: {
|
|
32
|
-
readonly "io.github.
|
|
32
|
+
readonly "io.github.Wolfe-Jam.mcp-context-card/context": {
|
|
33
33
|
readonly source: "AGENTS.md";
|
|
34
34
|
readonly mediaType: "text/markdown";
|
|
35
35
|
};
|
|
36
|
-
readonly "io.github.
|
|
36
|
+
readonly "io.github.Wolfe-Jam.mcp-context-card/memory": {
|
|
37
37
|
readonly source: "project.fafm";
|
|
38
38
|
readonly mediaType: "application/vnd.fafm+yaml";
|
|
39
39
|
readonly iana: string;
|
|
40
40
|
readonly note: "no de-facto standard for agent memory yet — this is one instantiation";
|
|
41
41
|
};
|
|
42
|
-
readonly "io.github.
|
|
42
|
+
readonly "io.github.Wolfe-Jam.mcp-context-card/identity": {
|
|
43
43
|
readonly source: ".well-known/fafa";
|
|
44
44
|
readonly mediaType: "application/vnd.fafa+yaml";
|
|
45
45
|
readonly iana: string;
|
package/docs/MECHANISMS.md
CHANGED
|
@@ -29,19 +29,19 @@ Both return:
|
|
|
29
29
|
```jsonc
|
|
30
30
|
{
|
|
31
31
|
"name": "mcp-context-card",
|
|
32
|
-
"version": "0.6.
|
|
32
|
+
"version": "0.6.1",
|
|
33
33
|
"_meta": {
|
|
34
|
-
"io.github.
|
|
34
|
+
"io.github.Wolfe-Jam.mcp-context-card/context": {
|
|
35
35
|
"source": "AGENTS.md",
|
|
36
36
|
"mediaType": "text/markdown"
|
|
37
37
|
},
|
|
38
|
-
"io.github.
|
|
38
|
+
"io.github.Wolfe-Jam.mcp-context-card/memory": {
|
|
39
39
|
"source": "project.fafm",
|
|
40
40
|
"mediaType": "application/vnd.fafm+yaml",
|
|
41
41
|
"iana": "https://www.iana.org/assignments/media-types/application/vnd.fafm+yaml",
|
|
42
42
|
"note": "no de-facto standard for agent memory yet — this is one instantiation"
|
|
43
43
|
},
|
|
44
|
-
"io.github.
|
|
44
|
+
"io.github.Wolfe-Jam.mcp-context-card/identity": {
|
|
45
45
|
"source": ".well-known/fafa",
|
|
46
46
|
"mediaType": "application/vnd.fafa+yaml",
|
|
47
47
|
"iana": "https://www.iana.org/assignments/media-types/application/vnd.fafa+yaml"
|
|
@@ -55,7 +55,7 @@ Both return:
|
|
|
55
55
|
- **`_meta` is the extension point.** SEP‑2127 defines it as
|
|
56
56
|
`additionalProperties: {}`. A consumer that doesn't know a key ignores it.
|
|
57
57
|
- **Keys are reverse‑DNS‑namespaced to the publisher**
|
|
58
|
-
(`io.github.
|
|
58
|
+
(`io.github.Wolfe-Jam.mcp-context-card/context`, not `context`). No collisions, and
|
|
59
59
|
the key's owner is unambiguous. Use a domain or GitHub identity you control.
|
|
60
60
|
- **One key per concern**, each self‑describing: the source file, its media
|
|
61
61
|
type, and — where the media type is IANA‑registered — the anchor. `context`
|
package/docs/WIRING.md
CHANGED
|
@@ -95,7 +95,7 @@ To serve *your* artifacts:
|
|
|
95
95
|
— with your own, or point `MCP_CONTEXT_CARD_ROOT` at a directory that has them.
|
|
96
96
|
`AGENTS.md` is the one with a real standard; the other two are swappable.
|
|
97
97
|
2. **Rename the namespace.** `serverCardMeta()` in `src/identity.ts` uses
|
|
98
|
-
`io.github.
|
|
98
|
+
`io.github.Wolfe-Jam.mcp-context-card/*` keys, and `buildCatalog()` in
|
|
99
99
|
`src/catalog-gen.ts` uses `urn:air:mcp-context-card:*` identifiers. Change both to
|
|
100
100
|
a domain or GitHub identity you control ([MECHANISMS.md](./MECHANISMS.md)).
|
|
101
101
|
3. **Swap the media types** in `serverCardMeta()` if your memory / identity
|
package/docs/card-dark.html
CHANGED
|
@@ -78,7 +78,7 @@ section:last-child{border-bottom:0}
|
|
|
78
78
|
<main class="card">
|
|
79
79
|
<div class="top">
|
|
80
80
|
<h1>mcp-context-card</h1>
|
|
81
|
-
<div class="pills"><span class="pill">io.github.
|
|
81
|
+
<div class="pills"><span class="pill">io.github.Wolfe-Jam</span><span class="pill">v0.6.1</span><span class="pill accent">published</span><span class="pill">MIT</span></div>
|
|
82
82
|
</div>
|
|
83
83
|
<section>
|
|
84
84
|
<p class="label">Context — AGENTS.md</p>
|
package/docs/card-light.html
CHANGED
|
@@ -78,7 +78,7 @@ section:last-child{border-bottom:0}
|
|
|
78
78
|
<main class="card">
|
|
79
79
|
<div class="top">
|
|
80
80
|
<h1>mcp-context-card</h1>
|
|
81
|
-
<div class="pills"><span class="pill">io.github.
|
|
81
|
+
<div class="pills"><span class="pill">io.github.Wolfe-Jam</span><span class="pill">v0.6.1</span><span class="pill accent">published</span><span class="pill">MIT</span></div>
|
|
82
82
|
</div>
|
|
83
83
|
<section>
|
|
84
84
|
<p class="label">Context — AGENTS.md</p>
|
package/docs/card.html
CHANGED
|
@@ -78,7 +78,7 @@ section:last-child{border-bottom:0}
|
|
|
78
78
|
<main class="card">
|
|
79
79
|
<div class="top">
|
|
80
80
|
<h1>mcp-context-card</h1>
|
|
81
|
-
<div class="pills"><span class="pill">io.github.
|
|
81
|
+
<div class="pills"><span class="pill">io.github.Wolfe-Jam</span><span class="pill">v0.6.1</span><span class="pill accent">published</span><span class="pill">MIT</span></div>
|
|
82
82
|
</div>
|
|
83
83
|
<section>
|
|
84
84
|
<p class="label">Context — AGENTS.md</p>
|
package/docs/img/card-dark.png
CHANGED
|
Binary file
|
|
Binary file
|
package/docs/img/card-light.png
CHANGED
|
Binary file
|
package/docs/index.html
CHANGED
|
@@ -78,7 +78,7 @@ section:last-child{border-bottom:0}
|
|
|
78
78
|
<main class="card">
|
|
79
79
|
<div class="top">
|
|
80
80
|
<h1>mcp-context-card</h1>
|
|
81
|
-
<div class="pills"><span class="pill">io.github.
|
|
81
|
+
<div class="pills"><span class="pill">io.github.Wolfe-Jam</span><span class="pill">v0.6.1</span><span class="pill accent">published</span><span class="pill">MIT</span></div>
|
|
82
82
|
</div>
|
|
83
83
|
<section>
|
|
84
84
|
<p class="label">Context — AGENTS.md</p>
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mcp-context-card",
|
|
3
|
-
"version": "0.6.
|
|
4
|
-
"mcpName": "io.github.
|
|
3
|
+
"version": "0.6.1",
|
|
4
|
+
"mcpName": "io.github.Wolfe-Jam/mcp-context-card",
|
|
5
5
|
"description": "The essential MCP components for a project's context (AGENTS.md), cross-session memory, and identity — a base MCP on its own, or a drop-in extension for any existing MCP server. Discoverable through the Server Card _meta block and ai-catalog.json sibling entries.",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"mcp",
|
package/server.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
|
|
3
|
-
"name": "io.github.
|
|
3
|
+
"name": "io.github.Wolfe-Jam/mcp-context-card",
|
|
4
4
|
"title": "mcp-context-card",
|
|
5
|
-
"description": "
|
|
6
|
-
"version": "0.6.
|
|
5
|
+
"description": "MCP server for a project's context (AGENTS.md), memory, and identity — base or drop-in extension.",
|
|
6
|
+
"version": "0.6.1",
|
|
7
7
|
"repository": {
|
|
8
8
|
"url": "https://github.com/Wolfe-Jam/mcp-context-card",
|
|
9
9
|
"source": "github"
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"registryType": "npm",
|
|
14
14
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
15
15
|
"identifier": "mcp-context-card",
|
|
16
|
-
"version": "0.6.
|
|
16
|
+
"version": "0.6.1",
|
|
17
17
|
"runtimeHint": "npx",
|
|
18
18
|
"transport": {
|
|
19
19
|
"type": "stdio"
|
|
@@ -29,17 +29,17 @@
|
|
|
29
29
|
],
|
|
30
30
|
"_meta": {
|
|
31
31
|
"io.modelcontextprotocol.registry/publisher-provided": {
|
|
32
|
-
"io.github.
|
|
32
|
+
"io.github.Wolfe-Jam.mcp-context-card/context": {
|
|
33
33
|
"source": "./AGENTS.md",
|
|
34
34
|
"mediaType": "text/markdown"
|
|
35
35
|
},
|
|
36
|
-
"io.github.
|
|
36
|
+
"io.github.Wolfe-Jam.mcp-context-card/memory": {
|
|
37
37
|
"source": "./project.fafm",
|
|
38
38
|
"mediaType": "application/vnd.fafm+yaml",
|
|
39
39
|
"iana": "https://www.iana.org/assignments/media-types/application/vnd.fafm+yaml",
|
|
40
40
|
"note": "no de-facto standard for agent memory yet — this is one instantiation"
|
|
41
41
|
},
|
|
42
|
-
"io.github.
|
|
42
|
+
"io.github.Wolfe-Jam.mcp-context-card/identity": {
|
|
43
43
|
"source": "./.well-known/fafa",
|
|
44
44
|
"mediaType": "application/vnd.fafa+yaml",
|
|
45
45
|
"iana": "https://www.iana.org/assignments/media-types/application/vnd.fafa+yaml"
|