@cyanheads/mcp-ts-core 0.6.3 → 0.6.6

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.
Files changed (38) hide show
  1. package/CLAUDE.md +1 -1
  2. package/README.md +19 -17
  3. package/changelog/0.6.x/0.6.4.md +26 -0
  4. package/changelog/0.6.x/0.6.5.md +20 -0
  5. package/changelog/0.6.x/0.6.6.md +29 -0
  6. package/changelog/{unreleased.md → template.md} +12 -1
  7. package/dist/config/index.d.ts +3 -0
  8. package/dist/config/index.d.ts.map +1 -1
  9. package/dist/config/index.js +11 -0
  10. package/dist/config/index.js.map +1 -1
  11. package/dist/core/serverManifest.d.ts +8 -0
  12. package/dist/core/serverManifest.d.ts.map +1 -1
  13. package/dist/core/serverManifest.js +1 -0
  14. package/dist/core/serverManifest.js.map +1 -1
  15. package/dist/core/worker.d.ts +1 -0
  16. package/dist/core/worker.d.ts.map +1 -1
  17. package/dist/core/worker.js +1 -0
  18. package/dist/core/worker.js.map +1 -1
  19. package/dist/mcp-server/transports/http/landing-page.d.ts.map +1 -1
  20. package/dist/mcp-server/transports/http/landing-page.js +16 -17
  21. package/dist/mcp-server/transports/http/landing-page.js.map +1 -1
  22. package/dist/mcp-server/transports/http/protectedResourceMetadata.js +1 -1
  23. package/dist/mcp-server/transports/http/protectedResourceMetadata.js.map +1 -1
  24. package/dist/mcp-server/transports/http/serverCard.js +1 -1
  25. package/dist/mcp-server/transports/http/serverCard.js.map +1 -1
  26. package/package.json +7 -7
  27. package/scripts/build-changelog.ts +1 -1
  28. package/scripts/tree.ts +1 -1
  29. package/skills/add-tool/SKILL.md +11 -1
  30. package/skills/design-mcp-server/SKILL.md +147 -48
  31. package/skills/field-test/SKILL.md +3 -3
  32. package/skills/polish-docs-meta/SKILL.md +5 -5
  33. package/skills/polish-docs-meta/references/readme.md +7 -7
  34. package/skills/release/SKILL.md +4 -4
  35. package/templates/.env.example +1 -0
  36. package/templates/AGENTS.md +1 -1
  37. package/templates/CLAUDE.md +1 -1
  38. package/templates/changelog/{unreleased.md → template.md} +1 -1
@@ -4,7 +4,7 @@ description: >
4
4
  Finalize documentation and project metadata for a ship-ready MCP server. Use after implementation is complete, tests pass, and devcheck is clean. Safe to run at any stage — each step checks current state and only acts on what still needs work.
5
5
  metadata:
6
6
  author: cyanheads
7
- version: "1.6"
7
+ version: "1.7"
8
8
  audience: external
9
9
  type: workflow
10
10
  ---
@@ -129,13 +129,13 @@ Two patterns are supported — pick one and stay consistent.
129
129
 
130
130
  Both are acceptable. The template scaffolds the directory-based structure by default; collapse to monolithic only if the rollup tooling is pure ceremony for this project.
131
131
 
132
- **Directory-based** — per-version files live at `changelog/<major.minor>.x/<version>.md` (e.g. `changelog/0.1.x/0.1.0.md`), and `CHANGELOG.md` is a rollup regenerated by `bun run changelog:build`. Devcheck's `Changelog Sync` step enforces drift protection. `changelog/unreleased.md` is a **pristine format reference** — never edited, never moved, never renamed. Read it to remember the frontmatter + section layout when scaffolding a new per-version file.
132
+ **Directory-based** — per-version files live at `changelog/<major.minor>.x/<version>.md` (e.g. `changelog/0.1.x/0.1.0.md`), and `CHANGELOG.md` is a rollup regenerated by `bun run changelog:build`. Devcheck's `Changelog Sync` step enforces drift protection. `changelog/template.md` is a **pristine format reference** — never edited, never moved, never renamed. Read it to remember the frontmatter + section layout when scaffolding a new per-version file.
133
133
 
134
134
  If the structure doesn't exist yet:
135
135
 
136
136
  1. Make the `changelog/` directory
137
- 2. Create `changelog/unreleased.md` once from the template (frontmatter stub + H1 `# Unreleased` + empty Added/Changed/Fixed sections) — this file is a format reference only and stays as-is after creation
138
- 3. If the server already has a shipped version (e.g. 0.1.0), create the series directory and initial entry: `changelog/0.1.x/0.1.0.md` with H1 `# 0.1.0 — YYYY-MM-DD`, concrete version and date — do **not** rename or move `unreleased.md` to create the version file; author the per-version file directly
137
+ 2. Create `changelog/template.md` once from the template (frontmatter stub + H1 `# <version> — YYYY-MM-DD` placeholder + empty Added/Changed/Fixed sections) — this file is a format reference only and stays as-is after creation
138
+ 3. If the server already has a shipped version (e.g. 0.1.0), create the series directory and initial entry: `changelog/0.1.x/0.1.0.md` with H1 `# 0.1.0 — YYYY-MM-DD`, concrete version and date — do **not** rename or move `template.md` to create the version file; author the per-version file directly
139
139
  4. Run `bun run changelog:build` to generate `CHANGELOG.md`
140
140
 
141
141
  Per-version file format:
@@ -157,7 +157,7 @@ Optional narrative intro (1-3 sentences).
157
157
 
158
158
  **Frontmatter:** `summary` is required (powers the CHANGELOG.md index), `breaking` is optional and defaults to `false` (set `true` for releases requiring consumer code changes).
159
159
 
160
- Never hand-edit `CHANGELOG.md` when using this pattern — it's a build artifact. Never edit `changelog/unreleased.md` — it's the format reference. Never use `[Unreleased]` as a version header in a released file.
160
+ Never hand-edit `CHANGELOG.md` when using this pattern — it's a build artifact. Never edit `changelog/template.md` — it's the format reference. Never use `[Unreleased]` as a version header in a released file.
161
161
 
162
162
  **Monolithic** — maintain `CHANGELOG.md` directly in [Keep a Changelog](https://keepachangelog.com/) format. To collapse from the template default: delete the `changelog/` directory, remove `changelog:build` and `changelog:check` from `package.json` scripts (and from `devcheck.config.json` if referenced), and drop `"changelog/"` from the `files` array. The `release` skill's directory-specific steps then don't apply — just edit `CHANGELOG.md` and bump version at release time.
163
163
 
@@ -101,9 +101,9 @@ Seven tools for working with Acme data:
101
101
 
102
102
  | Tool Name | Description |
103
103
  |:----------|:------------|
104
- | `search_projects` | Search projects by name, status, or team. |
105
- | `create_task` | Create a new task in a project. |
106
- | `get_task` | Fetch one or more tasks by ID, with full or summary data. |
104
+ | `acme_search_projects` | Search projects by name, status, or team. |
105
+ | `acme_create_task` | Create a new task in a project. |
106
+ | `acme_get_task` | Fetch one or more tasks by ID, with full or summary data. |
107
107
  ```
108
108
 
109
109
  **Per-tool subsections:**
@@ -115,7 +115,7 @@ Below the table, add a `### tool_name` subsection for each tool that has meaning
115
115
  - Separate subsections with `---` horizontal rules
116
116
 
117
117
  ```markdown
118
- ### `search_projects`
118
+ ### `acme_search_projects`
119
119
 
120
120
  Search for projects using free-text queries and filters.
121
121
 
@@ -124,11 +124,11 @@ Search for projects using free-text queries and filters.
124
124
  - Pagination (up to 100 per page) and sorting
125
125
  - Field selection to limit response size
126
126
 
127
- [View detailed examples](./examples/search_projects.md)
127
+ [View detailed examples](./examples/acme_search_projects.md)
128
128
 
129
129
  ---
130
130
 
131
- ### `get_task`
131
+ ### `acme_get_task`
132
132
 
133
133
  Fetch one or more tasks by ID, with full data or concise summaries.
134
134
 
@@ -137,7 +137,7 @@ Fetch one or more tasks by ID, with full data or concise summaries.
137
137
  - Partial success reporting when some tasks in a batch fail
138
138
  ```
139
139
 
140
- Skip the per-tool subsection for simple tools where the table description says everything (e.g., a `get_field_values` lookup tool).
140
+ Skip the per-tool subsection for simple tools where the table description says everything (e.g., an `acme_get_field_values` lookup tool).
141
141
 
142
142
  ### Resources and Prompts (combined)
143
143
 
@@ -36,12 +36,12 @@ Fix any mismatches. A grep for the **old** version is the fastest way to find st
36
36
 
37
37
  ### 3. Finalize the Per-Version Changelog File
38
38
 
39
- The changelog is directory-based, grouped by minor series using the `.x` semver-wildcard convention: per-version files live at `changelog/<major.minor>.x/<version>.md` (e.g. `changelog/0.5.x/0.5.4.md`), and `CHANGELOG.md` is an auto-generated rollup (`bun run changelog:build`). `changelog/unreleased.md` is a **pristine format reference** — never edited, never moved, never renamed. At release time, you're authoring (or finalizing) the per-version file for the version being shipped.
39
+ The changelog is directory-based, grouped by minor series using the `.x` semver-wildcard convention: per-version files live at `changelog/<major.minor>.x/<version>.md` (e.g. `changelog/0.5.x/0.5.4.md`), and `CHANGELOG.md` is an auto-generated rollup (`bun run changelog:build`). `changelog/template.md` is a **pristine format reference** — never edited, never moved, never renamed. At release time, you're authoring (or finalizing) the per-version file for the version being shipped.
40
40
 
41
41
  Create or finalize `changelog/<series>/<version>.md`:
42
42
 
43
43
  1. Determine the series: `0.5.5` → `0.5.x/`. Create the directory if it doesn't exist: `mkdir -p changelog/<series>`
44
- 2. If the file doesn't exist yet, scaffold it by copying the structure of `changelog/unreleased.md` into the new path. Do **not** `git mv` or otherwise rename `unreleased.md` itself — it stays where it is.
44
+ 2. If the file doesn't exist yet, scaffold it by copying the structure of `changelog/template.md` into the new path. Do **not** `git mv` or otherwise rename `template.md` itself — it stays where it is.
45
45
  3. Set the H1: `# <version> — <date>` (em-dash, ISO date)
46
46
  4. **Fill in the frontmatter** at the top of the file:
47
47
  - `summary:` — one-line headline, ≤250 chars, no markdown. Write it like a GitHub Release title. Required.
@@ -53,7 +53,7 @@ Create or finalize `changelog/<series>/<version>.md`:
53
53
  - **Issue/PR references use full URLs**, not bare `#NN`. GitHub's auto-link only renders inside its own UI; these files are read from `node_modules` too, where bare `#NN` is dead text. Use `[#38](https://github.com/<owner>/<repo>/issues/38)` (or `/pull/NN` for PRs). Only link numbers verified via `gh issue view NN` / `gh pr view NN` — never speculate on future numbers, since GitHub will happily resolve `#42` to whatever unrelated item already owns 42 and pull its title into timeline previews.
54
54
  6. Regenerate the rollup: `bun run changelog:build` — warnings about missing summaries are expected during the legacy-file backfill period but should not include this release
55
55
 
56
- Never hand-edit `CHANGELOG.md` — it's a build artifact. Devcheck's `Changelog Sync` step will fail if it drifts. Never edit `changelog/unreleased.md` — it's the format reference, not a worksheet.
56
+ Never hand-edit `CHANGELOG.md` — it's a build artifact. Devcheck's `Changelog Sync` step will fail if it drifts. Never edit `changelog/template.md` — it's the format reference, not a worksheet.
57
57
 
58
58
  ### 4. Verify README.md
59
59
 
@@ -130,7 +130,7 @@ mcp-publisher publish
130
130
 
131
131
  - [ ] Version consistent across all files (package.json, server.json ×3, CLAUDE.md, README.md, templates)
132
132
  - [ ] No stale old-version references found in repo
133
- - [ ] `changelog/<major.minor>.x/<version>.md` created/finalized with concrete version, date, and frontmatter; `CHANGELOG.md` regenerated via `bun run changelog:build`; `changelog/unreleased.md` untouched
133
+ - [ ] `changelog/<major.minor>.x/<version>.md` created/finalized with concrete version, date, and frontmatter; `CHANGELOG.md` regenerated via `bun run changelog:build`; `changelog/template.md` untouched
134
134
  - [ ] README.md current — feature counts, badges, descriptions, examples
135
135
  - [ ] Modified skill versions bumped in YAML frontmatter
136
136
  - [ ] `docs/tree.md` current (if structure changed)
@@ -3,6 +3,7 @@
3
3
  # MCP_HTTP_PORT=3010 # HTTP port (default: 3010)
4
4
  # MCP_HTTP_HOST=localhost # HTTP host (default: localhost)
5
5
  # MCP_HTTP_ENDPOINT_PATH=/mcp # HTTP endpoint path (default: /mcp)
6
+ # MCP_PUBLIC_URL= # Public origin behind a TLS-terminating proxy (e.g. https://mcp.example.com)
6
7
 
7
8
  # ── Auth ──────────────────────────────────────────────────────────────
8
9
  # MCP_AUTH_MODE=none # none | jwt | oauth (default: none)
@@ -279,7 +279,7 @@ When you complete a skill's checklist, check the boxes and add a completion time
279
279
 
280
280
  ## Changelog
281
281
 
282
- Directory-based, grouped by minor series using the `.x` semver-wildcard convention. Source of truth is `changelog/<major.minor>.x/<version>.md` (e.g. `changelog/0.1.x/0.1.0.md`) — one file per released version, shipped in the npm package. At release time, author the per-version file with a concrete version and date, then run `npm run changelog:build` to regenerate the rollup. `changelog/unreleased.md` is a **pristine format reference** — never edited, never renamed, never moved. Read it to remember the frontmatter + section layout when scaffolding a new per-version file. `CHANGELOG.md` is a **navigation index** (header + link + one-line summary per version), regenerated by `npm run changelog:build`. Devcheck hard-fails on drift. Never hand-edit `CHANGELOG.md`.
282
+ Directory-based, grouped by minor series using the `.x` semver-wildcard convention. Source of truth is `changelog/<major.minor>.x/<version>.md` (e.g. `changelog/0.1.x/0.1.0.md`) — one file per released version, shipped in the npm package. At release time, author the per-version file with a concrete version and date, then run `npm run changelog:build` to regenerate the rollup. `changelog/template.md` is a **pristine format reference** — never edited, never renamed, never moved. Read it to remember the frontmatter + section layout when scaffolding a new per-version file. `CHANGELOG.md` is a **navigation index** (header + link + one-line summary per version), regenerated by `npm run changelog:build`. Devcheck hard-fails on drift. Never hand-edit `CHANGELOG.md`.
283
283
 
284
284
  Each per-version file opens with YAML frontmatter:
285
285
 
@@ -279,7 +279,7 @@ When you complete a skill's checklist, check the boxes and add a completion time
279
279
 
280
280
  ## Changelog
281
281
 
282
- Directory-based, grouped by minor series using the `.x` semver-wildcard convention. Source of truth is `changelog/<major.minor>.x/<version>.md` (e.g. `changelog/0.1.x/0.1.0.md`) — one file per released version, shipped in the npm package. At release time, author the per-version file with a concrete version and date, then run `npm run changelog:build` to regenerate the rollup. `changelog/unreleased.md` is a **pristine format reference** — never edited, never renamed, never moved. Read it to remember the frontmatter + section layout when scaffolding a new per-version file. `CHANGELOG.md` is a **navigation index** (header + link + one-line summary per version), regenerated by `npm run changelog:build`. Devcheck hard-fails on drift. Never hand-edit `CHANGELOG.md`.
282
+ Directory-based, grouped by minor series using the `.x` semver-wildcard convention. Source of truth is `changelog/<major.minor>.x/<version>.md` (e.g. `changelog/0.1.x/0.1.0.md`) — one file per released version, shipped in the npm package. At release time, author the per-version file with a concrete version and date, then run `npm run changelog:build` to regenerate the rollup. `changelog/template.md` is a **pristine format reference** — never edited, never renamed, never moved. Read it to remember the frontmatter + section layout when scaffolding a new per-version file. `CHANGELOG.md` is a **navigation index** (header + link + one-line summary per version), regenerated by `npm run changelog:build`. Devcheck hard-fails on drift. Never hand-edit `CHANGELOG.md`.
283
283
 
284
284
  Each per-version file opens with YAML frontmatter:
285
285
 
@@ -16,7 +16,7 @@ summary: ""
16
16
  breaking: false
17
17
  ---
18
18
 
19
- # Unreleased
19
+ # <version> — YYYY-MM-DD
20
20
 
21
21
  <!--
22
22
  FORMAT REFERENCE — do not edit this file. It exists so the per-version file