@cyanheads/mcp-ts-core 0.6.5 → 0.6.7

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 (44) hide show
  1. package/CLAUDE.md +2 -2
  2. package/README.md +19 -27
  3. package/changelog/0.6.x/0.6.6.md +29 -0
  4. package/changelog/0.6.x/0.6.7.md +22 -0
  5. package/changelog/{unreleased.md → template.md} +12 -1
  6. package/dist/cli/init.js +1 -2
  7. package/dist/cli/init.js.map +1 -1
  8. package/dist/config/index.d.ts +3 -0
  9. package/dist/config/index.d.ts.map +1 -1
  10. package/dist/config/index.js +11 -0
  11. package/dist/config/index.js.map +1 -1
  12. package/dist/core/serverManifest.d.ts +8 -0
  13. package/dist/core/serverManifest.d.ts.map +1 -1
  14. package/dist/core/serverManifest.js +1 -0
  15. package/dist/core/serverManifest.js.map +1 -1
  16. package/dist/core/worker.d.ts +1 -0
  17. package/dist/core/worker.d.ts.map +1 -1
  18. package/dist/core/worker.js +1 -0
  19. package/dist/core/worker.js.map +1 -1
  20. package/dist/mcp-server/transports/http/landing-page.d.ts.map +1 -1
  21. package/dist/mcp-server/transports/http/landing-page.js +1 -2
  22. package/dist/mcp-server/transports/http/landing-page.js.map +1 -1
  23. package/dist/mcp-server/transports/http/protectedResourceMetadata.js +1 -1
  24. package/dist/mcp-server/transports/http/protectedResourceMetadata.js.map +1 -1
  25. package/dist/mcp-server/transports/http/serverCard.js +1 -1
  26. package/dist/mcp-server/transports/http/serverCard.js.map +1 -1
  27. package/package.json +2 -2
  28. package/scripts/build-changelog.ts +1 -1
  29. package/scripts/tree.ts +1 -1
  30. package/skills/add-tool/SKILL.md +11 -1
  31. package/skills/design-mcp-server/SKILL.md +147 -48
  32. package/skills/field-test/SKILL.md +3 -3
  33. package/skills/polish-docs-meta/SKILL.md +5 -5
  34. package/skills/polish-docs-meta/references/readme.md +7 -7
  35. package/skills/release/SKILL.md +4 -4
  36. package/templates/.env.example +1 -0
  37. package/templates/.github/ISSUE_TEMPLATE/bug_report.yml +1 -1
  38. package/templates/AGENTS.md +2 -2
  39. package/templates/CLAUDE.md +2 -2
  40. package/templates/_.dockerignore +2 -1
  41. package/templates/_.gitignore +3 -2
  42. package/templates/changelog/{unreleased.md → template.md} +1 -1
  43. package/templates/package.json +1 -1
  44. package/templates/src/index.ts +4 -2
@@ -1 +1 @@
1
- {"version":3,"file":"landing-page.js","sourceRoot":"","sources":["../../../../src/mcp-server/transports/http/landing-page.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"landing-page.js","sourceRoot":"","sources":["../../../../src/mcp-server/transports/http/landing-page.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ export function protectedResourceMetadataHandler(c) {
23
23
  const context = requestContextService.createRequestContext({
24
24
  operation: 'protectedResourceMetadataHandler',
25
25
  });
26
- const origin = new URL(c.req.url).origin;
26
+ const origin = (config.mcpPublicUrl ?? new URL(c.req.url).origin).replace(/\/$/, '');
27
27
  const resource = config.mcpServerResourceIdentifier ?? config.oauthAudience ?? `${origin}/mcp`;
28
28
  const metadata = {
29
29
  resource,
@@ -1 +1 @@
1
- {"version":3,"file":"protectedResourceMetadata.js","sourceRoot":"","sources":["../../../../src/mcp-server/transports/http/protectedResourceMetadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAE3E;;;;;;;;GAQG;AACH,MAAM,UAAU,gCAAgC,CAAC,CAAU;IACzD,MAAM,OAAO,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;QACzD,SAAS,EAAE,kCAAkC;KAC9C,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,2BAA2B,IAAI,MAAM,CAAC,aAAa,IAAI,GAAG,MAAM,MAAM,CAAC;IAE/F,MAAM,QAAQ,GAA4B;QACxC,QAAQ;QACR,wBAAwB,EAAE,CAAC,QAAQ,CAAC;KACrC,CAAC;IAEF,IAAI,MAAM,CAAC,WAAW,KAAK,OAAO,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC5D,QAAQ,CAAC,qBAAqB,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACzD,QAAQ,CAAC,qCAAqC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE;QACnD,GAAG,OAAO;QACV,QAAQ;QACR,QAAQ,EAAE,MAAM,CAAC,WAAW;KAC7B,CAAC,CAAC;IAEH,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC;IAClD,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"protectedResourceMetadata.js","sourceRoot":"","sources":["../../../../src/mcp-server/transports/http/protectedResourceMetadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAE3E;;;;;;;;GAQG;AACH,MAAM,UAAU,gCAAgC,CAAC,CAAU;IACzD,MAAM,OAAO,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;QACzD,SAAS,EAAE,kCAAkC;KAC9C,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACrF,MAAM,QAAQ,GAAG,MAAM,CAAC,2BAA2B,IAAI,MAAM,CAAC,aAAa,IAAI,GAAG,MAAM,MAAM,CAAC;IAE/F,MAAM,QAAQ,GAA4B;QACxC,QAAQ;QACR,wBAAwB,EAAE,CAAC,QAAQ,CAAC;KACrC,CAAC;IAEF,IAAI,MAAM,CAAC,WAAW,KAAK,OAAO,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC5D,QAAQ,CAAC,qBAAqB,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACzD,QAAQ,CAAC,qCAAqC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE;QACnD,GAAG,OAAO;QACV,QAAQ;QACR,QAAQ,EAAE,MAAM,CAAC,WAAW;KAC7B,CAAC,CAAC;IAEH,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC;IAClD,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC"}
@@ -74,7 +74,7 @@ export function createServerCardHandler(manifest) {
74
74
  const context = requestContextService.createRequestContext({
75
75
  operation: 'serverCardHandler',
76
76
  });
77
- const origin = new URL(c.req.url).origin;
77
+ const origin = manifest.transport.publicUrl ?? new URL(c.req.url).origin;
78
78
  const card = buildServerCard(manifest, origin);
79
79
  logger.debug('Serving SEP-1649 Server Card.', {
80
80
  ...context,
@@ -1 +1 @@
1
- {"version":3,"file":"serverCard.js","sourceRoot":"","sources":["../../../../src/mcp-server/transports/http/serverCard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAyC3E;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,QAAwB,EAAE,MAAc;IACtE,MAAM,kBAAkB,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;IAE5F,MAAM,IAAI,GAAe;QACvB,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,aAAa;QAC5C,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI;QACjC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO;QACvC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACvF,SAAS,EAAE;YACT,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM,IAAI,EAAE,eAAe,EAAE,kBAAkB,EAAE,CAAC;SACnF;QACD,YAAY,EAAE;YACZ,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,KAAK;YAClC,SAAS,EAAE,QAAQ,CAAC,YAAY,CAAC,SAAS;YAC1C,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,OAAO;YACtC,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,OAAO;SACvC;QACD,cAAc,EAAE,gBAAgB,CAAC,QAAQ,CAAC;QAC1C,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC/D,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC5E,YAAY,EAAE,QAAQ,CAAC,OAAO;KAC/B,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAwB;IAChD,QAAQ,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC3B,KAAK,OAAO;YACV,OAAO;gBACL,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,OAAO;gBACb,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,qBAAqB,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBACxF,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC7E,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,IAAI;oBACtC,mBAAmB,EAAE,QAAQ,CAAC,IAAI,CAAC,kBAAkB;iBACtD,CAAC;gBACF,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;aAClE,CAAC;QACJ,KAAK,KAAK;YACR,OAAO;gBACL,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,KAAK;gBACX,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,IAAI;oBACtC,mBAAmB,EAAE,QAAQ,CAAC,IAAI,CAAC,kBAAkB;iBACtD,CAAC;aACH,CAAC;QACJ;YACE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC7C,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAwB;IAC9D,OAAO,CAAC,CAAU,EAAY,EAAE;QAC9B,MAAM,OAAO,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;YACzD,SAAS,EAAE,mBAAmB;SAC/B,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QACzC,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAE/C,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE;YAC5C,GAAG,OAAO;YACV,MAAM;YACN,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI;SAC7B,CAAC,CAAC;QAEH,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,iCAAiC,CAAC,CAAC;QAC5D,CAAC,CAAC,MAAM,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;QAC9C,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC;QAClD,CAAC,CAAC,MAAM,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;QAC7C,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"serverCard.js","sourceRoot":"","sources":["../../../../src/mcp-server/transports/http/serverCard.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyanheads/mcp-ts-core",
3
- "version": "0.6.5",
3
+ "version": "0.6.7",
4
4
  "mcpName": "io.github.cyanheads/mcp-ts-core",
5
5
  "description": "Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.",
6
6
  "main": "dist/core/index.js",
@@ -172,7 +172,7 @@
172
172
  "@opentelemetry/sdk-trace-node": "^2.7.0",
173
173
  "@opentelemetry/semantic-conventions": "^1.40.0",
174
174
  "@supabase/supabase-js": "^2.104.0",
175
- "@types/bun": "^1.3.12",
175
+ "@types/bun": "^1.3.13",
176
176
  "@types/js-yaml": "^4.0.9",
177
177
  "@types/node": "^25.6.0",
178
178
  "@types/papaparse": "^5.5.2",
@@ -33,7 +33,7 @@ import process from 'node:process';
33
33
 
34
34
  const CHANGELOG_DIR = resolve('changelog');
35
35
  const CHANGELOG_PATH = resolve('CHANGELOG.md');
36
- const EXCLUDED_FILES = new Set(['unreleased.md', 'README.md']);
36
+ const EXCLUDED_FILES = new Set(['template.md', 'README.md']);
37
37
  const SERIES_PATTERN = /^\d+\.\d+\.x$/;
38
38
  const SUMMARY_MAX_LENGTH = 250;
39
39
 
package/scripts/tree.ts CHANGED
@@ -40,7 +40,7 @@ const DEFAULT_IGNORE_PATTERNS: string[] = [
40
40
  'logs',
41
41
  '.husky/_',
42
42
  // Directory-based changelog — keep series dirs visible (0.1.x/, 0.5.x/) for structural
43
- // orientation, but collapse out the per-version files. Top-level unreleased.md stays.
43
+ // orientation, but collapse out the per-version files. Top-level template.md stays.
44
44
  'changelog/*/*.md',
45
45
  ];
46
46
 
@@ -4,7 +4,7 @@ description: >
4
4
  Scaffold a new MCP tool definition. Use when the user asks to add a tool, create a new tool, or implement a new capability for the server.
5
5
  metadata:
6
6
  author: cyanheads
7
- version: "1.7"
7
+ version: "1.8"
8
8
  audience: external
9
9
  type: reference
10
10
  ---
@@ -25,6 +25,16 @@ For the full `tool()` API, `Context` interface, and error codes, read `node_modu
25
25
  5. **Run `bun run devcheck`** to verify
26
26
  6. **Smoke-test** with `bun run dev:stdio` or `dev:http`
27
27
 
28
+ ## Naming
29
+
30
+ Tools use lowercase snake_case with a canonical server/domain prefix: `{server}_{verb}_{noun}` — 3 words.
31
+
32
+ Examples: `pubmed_search_articles`, `pubmed_fetch_fulltext`, `clinicaltrials_find_studies`.
33
+
34
+ The server prefix uses the canonical platform/brand name, not an abbreviation (`patentsview_` not `patents_`, `clinicaltrials_` not `ct_`). When a name resists the schema — can't pick a verb, noun feels generic, wants 4+ segments — that's usually a signal the scope is fuzzy; split the tool, rename, or reconsider.
35
+
36
+ For shape selection (Workflow or Instruction variants — standard single-action tools are the default), see the `design-mcp-server` skill's Tool shapes section.
37
+
28
38
  ## Template
29
39
 
30
40
  ```typescript
@@ -4,7 +4,7 @@ description: >
4
4
  Design the tool surface, resources, and service layer for a new MCP server. Use when starting a new server, planning a major feature expansion, or when the user describes a domain/API they want to expose via MCP. Produces a design doc at docs/design.md that drives implementation.
5
5
  metadata:
6
6
  author: cyanheads
7
- version: "2.5"
7
+ version: "2.7"
8
8
  audience: external
9
9
  type: workflow
10
10
  ---
@@ -22,26 +22,28 @@ Do NOT use for single-tool additions — use `add-tool` directly.
22
22
 
23
23
  Gather before designing. Ask the user if not obvious from context:
24
24
 
25
- 1. **Domain** — what system, API, or capability is this server wrapping?
26
- 2. **Data sources** — APIs, databases, file systems, external services?
25
+ 1. **Domain** — what system, API, or capability is this server wrapping? Or is the server providing internal capability with no external dependency (computation, text/code utilities, in-memory state)?
26
+ 2. **Data sources / source of truth** — APIs, databases, file systems, external services? Or is the server itself the source (in-memory state, pure computation, local-only utility, embedded model)?
27
27
  3. **Target users** — what will the LLM (and its human) be trying to accomplish?
28
28
  4. **Scope constraints** — read-only? write access? admin operations? what's off-limits?
29
29
 
30
- If the domain has a public API, read its docs before designing. Don't design from vibes.
30
+ If the domain has a public API, read its docs before designing. For internal-only servers, skip API research and go straight to user goals. Don't design from vibes either way.
31
31
 
32
32
  ## Steps
33
33
 
34
34
  ### 1. Research External Dependencies
35
35
 
36
+ **Applies when:** the server wraps an external API or service. Skip for internal-only servers (computation, local file ops, in-memory state, code analysis utilities) and jump to Step 2.
37
+
36
38
  Before designing, verify the APIs and services the server will wrap. Read the docs, then **hit the API** — real requests reveal what docs omit.
37
39
 
38
- If the Agent tool is available, spawn background agents to research in parallel while you proceed with domain mapping:
40
+ Research inline by default fetch docs, read SDK readmes, confirm assumptions before committing them to the design. For each external dependency:
39
41
 
40
42
  - Fetch API docs, confirm endpoint availability, auth methods, rate limits
41
43
  - Check for official SDKs or client libraries (npm packages)
42
44
  - Note any API quirks, pagination patterns, or data format considerations
43
45
 
44
- If the Agent tool is not available, do this research inline fetch docs, read SDK readmes, confirm assumptions before committing them to the design.
46
+ When research is genuinely parallelizable (multiple independent APIs, several SDKs to evaluate), spawn background agents for the independent legs while you proceed with domain mapping. Skip the overhead for a single API — just read it yourself.
45
47
 
46
48
  **Live API probing.** After reading docs, make real requests against the API to verify assumptions:
47
49
 
@@ -53,11 +55,18 @@ If the Agent tool is not available, do this research inline — fetch docs, read
53
55
 
54
56
  This step prevents building a service layer against assumed response shapes that don't match reality.
55
57
 
56
- ### 2. Map the Domain
58
+ ### 2. Map User Goals, Then Domain Operations
59
+
60
+ Start with **user goals**, not endpoints. Enumerate the outcomes an agent (and its human) will actually try to accomplish with this server — usually 3–10, scaled to domain size. These drive the workflow tools that form the spine of the surface. Endpoint-inventory-first design produces 1:1 API mirrors; goal-first design produces tools agents reach for. For internal-only servers, goals map to capabilities rather than endpoints — e.g., "format markdown to GFM," "tokenize text by model," "compute file hash."
61
+
62
+ Example user goals for a project management server:
57
63
 
58
- List the concrete operations the underlying system supports. Group by domain noun.
64
+ - Find tasks I'm assigned to that are due soon
65
+ - Create a task in a project, assign it, and notify the owner
66
+ - Mark a task complete and log the outcome
67
+ - Audit a project's overdue work
59
68
 
60
- Example for a project management API:
69
+ Then enumerate the underlying **domain operations** the system supports, grouped by noun. These are the raw material workflow tools compose and single-action tools back-fill where workflows don't cover an edge case.
61
70
 
62
71
  | Noun | Operations |
63
72
  |:-----|:-----------|
@@ -65,7 +74,7 @@ Example for a project management API:
65
74
  | Task | list (by project), get, create, update status, assign, comment |
66
75
  | User | list, get current |
67
76
 
68
- This is the raw material. Not everything becomes a tool.
77
+ The user-goal list shapes the tool surface; the operation list fills in the gaps. Not every operation becomes a tool.
69
78
 
70
79
  ### 3. Classify into MCP Primitives
71
80
 
@@ -87,52 +96,109 @@ What the tool surface needs to cover depends on the server: a read-only research
87
96
  - **CRUD explosion**: Don't map every REST endpoint to a tool. Related operations on the same noun often belong in one tool with an `operation`/`mode` parameter (see Step 4).
88
97
  - **1:1 endpoint mirroring**: API endpoints are designed for programmatic consumers. LLM tools should be designed for workflows — what an agent is *trying to accomplish*, not what HTTP calls happen under the hood.
89
98
 
99
+ **Irreversible operations stay in the UI.** The "Neither" bucket above covers operations that aren't useful to an LLM. There's a second, sharper reason to exclude something from the tool surface: operations whose failure mode is catastrophic and unrecoverable. Examples span domains — dropping a production database table (data loss across every row), force-emptying a versioned cloud-storage bucket (no recovery once the lifecycle policy fires), revoking the workspace's last admin role (locks everyone out, recovery requires vendor support), GDPR permanent-delete on a customer profile (un-restorable by design), purging an analytics warehouse partition older than the retention window (auditable history gone), or deleting the single audience on a free-plan email platform (nukes every subscriber and historical report in one call). These are useful to an LLM *in principle*, but the blast radius of a mis-call is disproportionate to any agent workflow. Humans do these in the vendor UI, where confirmation dialogs and undo paths exist. Agents shouldn't have the tool at all.
100
+
101
+ This is distinct from `destructiveHint` — that annotation is for operations that are destructive but recoverable (deleting a task, reverting a commit) and agents should still have them. The "stays in the UI" line applies only to operations whose failure is both catastrophic *and* irreversible.
102
+
90
103
  ### 4. Design Tools
91
104
 
92
105
  This is the highest-leverage step. Tool definitions — names, descriptions, parameters, output schemas — are the **entire interface contract** the LLM reads to decide whether and how to call a tool. Every field is context. Design accordingly.
93
106
 
107
+ #### Tool shapes you'll encounter
108
+
109
+ Most tools follow the `{server}_{verb}_{noun}` default — one focused responsibility, one clear verb, often (but not always) one upstream call. API-wrapping examples: `pubmed_search_articles`, `pubmed_fetch_articles`. Internal-only examples: `markdown_format_text`, `regex_test_pattern`, `tokens_count_text` — same naming convention, no external dep. Two variants warrant explicit design pressures of their own:
110
+
111
+ | Shape | Purpose | Typical form | Examples |
112
+ |:------|:--------|:-------------|:---------|
113
+ | **Workflow** | Multi-step orchestration that replaces a common agent chain | N upstream calls (often parallelized); may elicit confirmation; may need mid-flow cleanup | `clinicaltrials_find_studies` (search → filter → rank) |
114
+ | **Instruction** | State-aware procedural guidance — advice, not action | Static markdown + a few live-state fetches, `readOnlyHint: true`, outputs `nextToolSuggestions` pre-filling the recommended follow-up. No writes. | `git_wrapup_instructions` |
115
+
116
+ These aren't boxes every tool must fit into — some blend shapes — but the design pressures differ enough that naming them helps avoid re-discovering the patterns per server. The subsections below cover considerations specific to each — workflow framing applies broadly, instruction tools and workflow safety are their own subsections.
117
+
94
118
  #### Think in workflows, not endpoints
95
119
 
96
120
  The unit of a tool is a *useful action*, not an API call. Ask: "What is the agent trying to accomplish?" — not "What endpoints does the API have?"
97
121
 
98
122
  A single tool can call multiple APIs internally, apply local filtering, reshape data, and return enriched results. The LLM doesn't know or care about the underlying calls.
99
123
 
100
- **Consolidation via operation/mode enum.** When a domain noun has several related operations that share parameters, consolidate into one tool with a discriminated parameter. This keeps the tool surface small and lets the LLM discover all capabilities in one place.
101
-
102
124
  ```ts
103
- // One tool for all branch operations not five separate tools
104
- const gitBranch = tool('git_branch', {
105
- description: 'Manage branches: list, show current, create, delete, or rename.',
106
- input: z.object({
107
- operation: z.enum(['list', 'create', 'delete', 'rename', 'show-current'])
108
- .describe('Branch operation to perform.'),
109
- name: z.string().optional().describe('Branch name (required for create/delete/rename).'),
110
- newName: z.string().optional().describe('New name (required for rename).'),
111
- }),
112
- output: z.object({ /* branch info */ }),
113
- // ...
125
+ // Workflow tool search + local filter pipeline, not a raw API proxy
126
+ const findStudies = tool('clinicaltrials_find_studies', {
127
+ description: 'Matches patient demographics and medical profile to eligible clinical trials. Filters by age, sex, conditions, location, and healthy volunteer status. Returns ranked list of matching studies with eligibility explanations.',
128
+ // handler: listStudies() → filter by eligibility → rank by location proximity → slice
114
129
  });
115
130
  ```
116
131
 
132
+ > **Tip — mode consolidation.** When a tool has several related operations on the same noun, you can consolidate them under one tool with a `mode`/`operation` enum. This affects both naming (noun-led, e.g., `github_pull_request`) and handler design (dispatch by mode). Use when it tightens the surface; skip when ops diverge enough to warrant separate tools.
133
+
134
+ There is no fixed ceiling on tool count — tools need to earn their keep, but don't artificially limit the surface. If the domain genuinely has 20 distinct workflows, expose 20 tools.
135
+
136
+ #### Cut the surface
137
+
138
+ After mapping tools, review the full list critically. A tool that covers a niche use case, serves a tiny fraction of agents, or duplicates what another tool already handles is a candidate for deferral. Drop it from the design and note it as a future addition if demand warrants. Every tool in the surface is cognitive load for tool selection — a tight surface outperforms a comprehensive one.
139
+
140
+ #### Instruction tools
141
+
142
+ **Applies when:** the domain has recurring "how do I do X well given my current state" questions worth merging with static procedural content. Skip otherwise.
143
+
144
+ Some domains benefit from a tool whose output is **guidance, not data** — a markdown playbook tailored by live account state, with pre-filled next-step tool calls. These sit between Prompts (static templates, client-invokable) and action tools (do work, return data): they return advice, but the advice is worth more than static text because it merges procedural content with the agent's actual situation.
145
+
146
+ Characteristics:
147
+
148
+ - **Output is markdown guidance**, not structured data (though the output schema still has fields — typically `guidance`, `diagnostics`, and `nextToolSuggestions`)
149
+ - **Merges static procedural content with live state** — the value is the tailoring. "You have 12 staged files spanning 4 unrelated changes — split them into separate commits before pushing" beats a generic best-practices article. The same shape works in other domains: "Your slowest query is 2.3s on `orders.customer_id` — add the index before tuning the planner" (database advisor), "Error rate spiked 4× at 14:32 UTC, 4 minutes after the `web@a3f9c2` deploy — roll back before chasing the upstream provider" (incident triage).
150
+ - **`readOnlyHint: true`, `openWorldHint: false`** — no writes, deterministic given the same inputs and account state
151
+ - **Outputs `nextToolSuggestions`** — an array of recommended follow-up tool calls with arguments **pre-filled** from the diagnostics, not just tool names. The agent consumes the playbook, then executes steps with other tools.
152
+ - **Consolidate by `topic` enum** — what could be N separate per-topic tools collapses into one
153
+
117
154
  ```ts
118
- // Workflow tool — search + local filter pipeline, not a raw API proxy
119
- const findEligibleStudies = tool('clinicaltrials_find_eligible_studies', {
120
- description: 'Matches patient demographics and medical profile to eligible clinical trials. Filters by age, sex, conditions, location, and healthy volunteer status. Returns ranked list of matching studies with eligibility explanations.',
121
- // handler: listStudies() → filter by eligibility → rank by location proximity → slice
155
+ const wrapupInstructions = tool('git_wrapup_instructions', {
156
+ description: 'Procedural guidance tailored to current repo state. Returns best-practice markdown merged with live diagnostics (staged/unstaged files, branch info, recent commits) and pre-filled follow-up tool calls. Read-only; the agent then executes steps with other tools.',
157
+ annotations: { readOnlyHint: true, openWorldHint: false },
158
+ input: z.object({
159
+ topic: z.enum(['review-changes', 'stage-and-commit', 'push-to-remote'])
160
+ .describe('Playbook topic. Determines which static guidance is returned and which live state is fetched for tailoring.'),
161
+ }),
162
+ output: z.object({
163
+ guidance: z.string()
164
+ .describe('Markdown playbook content, tailored to current account state.'),
165
+ diagnostics: z.record(z.unknown())
166
+ .describe('Live state used to tailor the guidance (e.g., staged file count, branch divergence, recent commit cadence).'),
167
+ nextToolSuggestions: z.array(z.object({
168
+ toolName: z.string().describe('Tool to call next.'),
169
+ reason: z.string().describe('Why this step is recommended given current state.'),
170
+ args: z.record(z.unknown()).describe('Arguments pre-filled from diagnostics.'),
171
+ })).describe('Recommended follow-up calls with arguments already populated.'),
172
+ }),
122
173
  });
123
174
  ```
124
175
 
125
- **When to consolidate vs. split:**
176
+ Prior art: [`git_wrapup_instructions`](https://github.com/cyanheads/git-mcp-server) walks through staging, commit, and push with repo state inspected. If a server has recurring "how do I do X well given my state" questions, an instruction tool typically beats N topic-specific tools and duplicating guidance in tool descriptions.
126
177
 
127
- | Consolidate (one tool) | Split (separate tools) |
128
- |:------------------------|:-----------------------|
129
- | Operations share the same noun and most parameters | Operations have fundamentally different inputs/outputs |
130
- | Related CRUD on a single entity | Read-only lookup vs. multi-step workflow |
131
- | Agent would naturally think of them together | Agent would use them in different contexts |
178
+ #### Workflow tool safety
132
179
 
133
- There is no fixed ceiling on tool count tools need to earn their keep, but don't artificially limit the surface. If the domain genuinely has 20 distinct workflows, expose 20 tools.
180
+ **Applies when:** a tool performs multi-step mutations with destructive modes (`send`/`apply`/`promote`) that benefit from human confirmation before the irreversible step fires. Skip for read-only or idempotent workflows.
181
+
182
+ Tools that perform multi-step mutations (the Workflow shape) have two safety considerations beyond single-call tools. Both are about giving the agent — and the human behind it — a chance to catch a bad invocation before it commits.
134
183
 
135
- **Audit: does each tool earn its keep?** After mapping tools, review the full list critically. A tool that covers a niche use case, serves a tiny fraction of agents, or duplicates what another tool already handles is a candidate for deferral. Drop it from the design and note it as a future addition if demand warrants. Every tool in the surface is cognitive load for tool selection a tight surface outperforms a comprehensive one.
184
+ **Elicit-guarded destructive modes with annotation fallback.** When a workflow's `mode` parameter switches between safe and destructive arms (`draft` vs `send`, `plan` vs `apply`), gate the destructive arm behind `ctx.elicit` when the client supports it, so a human confirms before the irreversible step fires. Elicitation isn't universally available headless stdio sessions and many non-interactive clients don't expose it. Fall back on `destructiveHint: true` in annotations so those clients' approval flows still surface the risk. Document the fallback in the handler so maintainers don't assume elicit always runs:
185
+
186
+ ```ts
187
+ annotations: { destructiveHint: true }, // fallback for clients without elicit
188
+ // ...
189
+ async handler(input, ctx) {
190
+ if (input.mode === 'apply' && ctx.elicit) {
191
+ const confirm = await ctx.elicit(
192
+ `Apply migration affecting ${affectedRowCount} rows in production? Cannot be rolled back automatically.`,
193
+ z.object({ confirmed: z.literal(true).describe('Type true to apply.') }),
194
+ );
195
+ if (confirm.action !== 'accept') throw new Error('Migration cancelled by user.');
196
+ }
197
+ // destructive step proceeds; destructiveHint covers clients that skipped elicit
198
+ }
199
+ ```
200
+
201
+ **Safe defaults on parameters that determine blast radius.** When a workflow accepts a parameter that controls how far-reaching a mutation is, default to the safer value. A bulk file-update tool defaulting `mode: 'preview'` (no writes) means a sloppy agent call shows a diff rather than blasting changes; an apply-plan tool defaulting `dryRun: true` means a misread plan previews rather than executes; an object-delete tool requiring an explicit `confirmCount` matching the result-set size means an unscoped query can't silently nuke a million rows. Agents that genuinely want the destructive behavior have to name it explicitly, which surfaces intent in the tool call and in logs.
136
202
 
137
203
  #### Tool descriptions
138
204
 
@@ -188,7 +254,7 @@ The output schema and `format` function control what the LLM reads back. Design
188
254
 
189
255
  - **Include IDs and references for chaining.** If the agent might act on a result, return the identifiers it needs for follow-up tool calls.
190
256
  - **Curate vs. pass-through depends on domain.** Medical/scientific data — don't trim fields that could alter correctness. CRUD responses — return what the agent needs, not the full API payload. Match fidelity to consequence.
191
- - **Surface what was done, not just results.** After a write operation, include the new state. (`git_commit` auto-includes post-commit `git status`. The LLM sees the repo state without an extra round trip.)
257
+ - **Surface what was done, not just results.** After a write operation, include the post-state so the LLM can chain without an extra round trip.
192
258
  - **Communicate filtering.** If the tool silently excluded content, tell the LLM what was excluded and how to get it back. The agent can't act on what it doesn't know about.
193
259
 
194
260
  ```ts
@@ -205,6 +271,8 @@ output: z.object({
205
271
 
206
272
  #### Batch input design
207
273
 
274
+ **Applies when:** the upstream API supports batch requests (filter-by-IDs, bulk GET) OR agents commonly need multiple items per call. Skip for inherently single-target operations.
275
+
208
276
  Some tools naturally operate on multiple items — fetching several entities, updating a set of records, running checks across a list. Decide during design whether a tool accepts single items, arrays, or both.
209
277
 
210
278
  **When to accept array input:**
@@ -233,6 +301,8 @@ Single-item tools don't need this — they either succeed or throw. The partial
233
301
 
234
302
  #### Convenience shortcuts for complex inputs
235
303
 
304
+ **Applies when:** a tool wraps a structured query language or filter system where the 80% case is a simple string. Skip when the primary input is already simple.
305
+
236
306
  When a tool wraps a complex query language or filter system, provide a simple shortcut parameter for the 80% case alongside the full-power escape hatch. This keeps simple queries simple while preserving full expressiveness.
237
307
 
238
308
  ```ts
@@ -288,14 +358,14 @@ Summarize each tool:
288
358
 
289
359
  | Aspect | Decision |
290
360
  |:-------|:---------|
291
- | **Name** | `snake_case`, `{domain}_{verb}_{noun}` — aim for 3 words: `patentsview_search_patents`, `clinicaltrials_find_studies`. Use the **canonical platform/brand name** as prefix (not abbreviations `patentsview_` not `patents_`, `clinicaltrials_` not `ct_`). The verb+noun pair should be unambiguous within the server — if two tools could plausibly share a name, the noun isn't specific enough (e.g., `read_fulltext` not `read_text` when structured metadata is a separate concept). |
292
- | **Granularity** | One tool per user-meaningful workflow, not per API call. Consolidate related operations with `operation`/`mode` enum. |
361
+ | **Name** | Lowercase snake_case with a canonical server prefix. **3 segments is the strong default** (`{server}_{verb}_{noun}` — e.g., `pubmed_search_articles`, `clinicaltrials_find_studies`). **2 is fine when the operation name is canonical** and no noun adds signal (`git_pull`, `git_status` — "pull" already implies the remote). Don't invent a word to pad to 3. **4 is fine when the noun is inherently two words** (`patentsview_search_patent_families`) or the prefix is multi-part. Use the canonical platform/brand name as prefix, not abbreviations (`patentsview_` not `patents_`, `clinicaltrials_` not `ct_`). The verb+noun pair should be unambiguous within the server — if two tools could plausibly share a name, the noun isn't specific enough (`read_fulltext` not `read_text` when structured metadata is a separate concept). **Treat name length as a scope smell only when** the extra segment is the *verb* overreaching (e.g., `foo_create_and_send_notification` → split or use modes). |
362
+ | **Granularity** | Scope each tool to one coherent agent action. The implementation can be a single API call (`pubmed_search_articles`), a multi-step workflow, or internal-only match the unit to the work, don't constrain by call count. |
293
363
  | **Description** | Concrete capability statement. Add operational guidance (prerequisites, constraints, gotchas) when non-obvious. |
294
364
  | **Input schema** | `.describe()` on every field. Constrained types (enums, literals, regex). Explain costs/tradeoffs of parameter choices. |
295
365
  | **Output schema** | Designed for the LLM's next action. Include chaining IDs. Communicate filtering. Post-write state where useful. |
296
366
  | **Error messages** | Name what went wrong and what the LLM should do about it. Include hints for common recovery paths. |
297
367
  | **Annotations** | `readOnlyHint`, `destructiveHint`, `idempotentHint`, `openWorldHint`. Helps clients auto-approve safely. |
298
- | **Auth scopes** | `tool:noun:read`, `tool:noun:write`. Skip for read-only or stdio-only servers. |
368
+ | **Auth scopes** | `tool:<snake_tool_name>:<verb>` or `resource:<kebab-resource-name>:<verb>` (e.g., `tool:inventory_search:read`, `resource:echo-app-ui:read`). Domain-led `<domain>:<verb>` (e.g., `inventory:read`) is an acceptable alternative — pick one convention per server and stay consistent. Skip for read-only or stdio-only servers. |
299
369
 
300
370
  ### 5. Design Resources
301
371
 
@@ -323,6 +393,8 @@ Skip for purely data/action-oriented servers.
323
393
 
324
394
  **Services** — one per external dependency. Init/accessor pattern. Skip if all tools are thin wrappers with no shared state.
325
395
 
396
+ **Server-as-service.** When the server IS the source of truth (knowledge graph, in-memory task tracker, local scratchpad, embedded inference wrapper), the resilience table below doesn't apply — there's no upstream to retry. The design questions shift to state management: what's tenant-scoped vs. global, what TTLs apply, what survives a restart, what the storage backend is. Plan persistence via `ctx.state` for tenant-scoped KV (auto-namespaced by `tenantId`), or use a `StorageService` provider directly when data must cross tenants. Service init still happens in `setup()`, accessed via `getMyService()` at request time. Calls within the server are local and synchronous-ish — the API-efficiency table below also doesn't apply.
397
+
326
398
  For services wrapping external APIs, plan the resilience layer. See `docs/service-resilience.md` for full rationale.
327
399
 
328
400
  | Concern | Decision |
@@ -403,6 +475,24 @@ Each step is independently testable.
403
475
 
404
476
  Keep it concise. The design doc is a working reference, not a spec document — enough to orient a developer (or agent) implementing the server, not more.
405
477
 
478
+ **Workflow Analysis example.** For multi-step workflow tools, document the upstream call sequence in a table — it drives several downstream decisions during implementation: the service-layer method shape, retry boundaries, where cleanup or elicit belongs, and what post-action state to fetch for the response.
479
+
480
+ `deploy_release` (5–8 upstream calls, plus elicit):
481
+
482
+ | # | Call | Purpose | Mode gate |
483
+ |:--|:-----|:--------|:----------|
484
+ | 0 | `ctx.elicit` confirmation | Human approval before promote | `promote` (when available) |
485
+ | 1 | `POST /releases` | Create release record | always |
486
+ | 2 | `PUT /releases/{id}/artifacts` | Attach build artifacts | always |
487
+ | 3 | `GET /releases/{id}/preflight` | Health checks, smoke tests | always |
488
+ | 4 | `POST /releases/{id}/canary` | Deploy to 5% of traffic | `canary` |
489
+ | 5 | `POST /releases/{id}/promote` | Roll out to 100% | `promote` |
490
+ | 6 | `POST /releases/{id}/rollback` | Restore previous version | `rollback` |
491
+ | 7 | `GET /releases/{id}` | Post-action state for response | always |
492
+ | — | `DELETE /releases/{id}/canary-traffic` | Cleanup canary if mid-flow error | on error + `cleanupOnError` |
493
+
494
+ The table surfaces design questions early: should the elicit happen before or after the artifacts are attached? Does cleanup drop the canary on any failure, or only failures past the promote step? What does the response body need from the final GET — version, traffic percentage, health summary? Answering these during design is far cheaper than mid-implementation.
495
+
406
496
  ### 9. Confirm and Proceed
407
497
 
408
498
  If the user has already authorized implementation (e.g., "build me a ___ server"), proceed directly to scaffolding using the design doc as the plan. Otherwise, present the design doc to the user for review before implementing.
@@ -420,22 +510,31 @@ Execute the plan using the scaffolding skills:
420
510
 
421
511
  ## Checklist
422
512
 
513
+ Items without an `If …:` prefix apply to every design. Conditional items only apply when the trigger fires — otherwise skip them.
514
+
423
515
  - [ ] External APIs/dependencies researched and verified (docs fetched, SDKs identified)
424
- - [ ] Domain operations mapped (nouns + verbs)
516
+ - [ ] User goals enumerated first (3–10 outcomes agents will accomplish, scaled to domain size), then domain operations mapped as raw material
425
517
  - [ ] Each operation classified as tool, resource, prompt, or excluded
426
- - [ ] Related operations consolidated (operation/mode enum) — not one tool per endpoint
518
+ - [ ] Catastrophically irreversible operations excluded from the tool surface (stay in vendor UI) — not just `destructiveHint`
519
+ - [ ] Tool surface audited — niche, overlapping, or low-value tools cut or deferred
520
+ - [ ] Tool surface is self-sufficient — a tool-only agent can accomplish everything the server is for
521
+ - [ ] Workflow and Instruction variants considered where they add value (single-action tools are the default)
427
522
  - [ ] Tool descriptions are concrete and include operational guidance where non-obvious
428
523
  - [ ] Parameter `.describe()` text explains what the value is, what it affects, and tradeoffs
429
524
  - [ ] Input schemas use constrained types (enums, literals, regex) over free strings
430
525
  - [ ] Output schemas designed for LLM's next action — chaining IDs, post-write state, filtering communicated
431
526
  - [ ] `format()` renders all data the LLM needs — different clients forward different surfaces (Claude Code → `structuredContent`, Claude Desktop → `content[]`); both must carry the same data, not just a count or title
432
527
  - [ ] Error messages guide recovery — name what went wrong and what to do next
433
- - [ ] Annotations set correctly (`readOnlyHint`, `destructiveHint`, etc.)
434
- - [ ] Tool surface is self-sufficient — a tool-only agent can accomplish everything the server is for
435
- - [ ] MCP Apps tools identified where interactive UI adds value (and `format()` provides full text fallback for non-app hosts)
436
- - [ ] Resource URIs use `{param}` templates, pagination planned for large lists
437
- - [ ] Service layer planned (or explicitly skipped with reasoning)
438
- - [ ] Resilience planned for external API services (retry boundary, backoff, parse classification)
439
- - [ ] Server config env vars identified
528
+ - [ ] Annotations set correctly (`readOnlyHint`, `destructiveHint`, `idempotentHint`, `openWorldHint`)
440
529
  - [ ] Design doc written to `docs/design.md`
441
530
  - [ ] Design confirmed with user (or user pre-authorized implementation)
531
+ - [ ] **If ops share a noun:** related operations consolidated under one tool with `mode`/`operation` enum
532
+ - [ ] **If the server has workflow tools:** call-flow documented (upstream sequence + mode arms) in design doc's Workflow Analysis
533
+ - [ ] **If state-aware procedural guidance adds value:** instruction tool considered with `nextToolSuggestions` pre-filled from diagnostics
534
+ - [ ] **If workflow tools have destructive modes:** destructive arm guarded by `ctx.elicit` when available, with `destructiveHint` annotation as fallback for non-interactive clients
535
+ - [ ] **If a parameter determines blast radius:** safe default set (e.g., `mode: 'preview'`, `dryRun: true`, `confirmCount` required)
536
+ - [ ] **If interactive UI adds value to results:** MCP Apps tool identified (with `format()` text fallback for non-app hosts)
537
+ - [ ] **If the server exposes resources:** URIs use `{param}` templates, pagination planned for large lists
538
+ - [ ] **If the server has external deps or shared state:** service layer planned (or explicitly skipped with reasoning)
539
+ - [ ] **If services wrap external APIs:** resilience planned (retry boundary, backoff, parse classification)
540
+ - [ ] **If the server needs runtime config:** env vars identified in `server-config.ts`
@@ -4,7 +4,7 @@ description: >
4
4
  Exercise tools, resources, and prompts with real-world inputs to verify behavior end-to-end. Use after adding or modifying definitions, or when the user asks to test, try out, or verify their MCP surface. Calls each definition with realistic and adversarial inputs and produces a report of issues, pain points, and recommendations.
5
5
  metadata:
6
6
  author: cyanheads
7
- version: "1.2"
7
+ version: "1.3"
8
8
  audience: external
9
9
  type: debug
10
10
  ---
@@ -78,8 +78,8 @@ After testing everything, present a structured report:
78
78
 
79
79
  | Definition | Type | Status | Issues |
80
80
  |:-----------|:-----|:-------|:-------|
81
- | `search_items` | tool | pass | — |
82
- | `get_item` | tool | issues | Error message unhelpful for missing ID |
81
+ | `acme_search_items` | tool | pass | — |
82
+ | `acme_get_item` | tool | issues | Error message unhelpful for missing ID |
83
83
  | `item://` | resource | fail | Crashes on nonexistent ID |
84
84
 
85
85
  #### Detailed findings
@@ -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