Skip to content

Commit 3ac26b0

Browse files
committed
v0.4.1: AL-266 compliance — icon.svg + README tool-surface heading
Pre-submission Smithery checklist (AL-266) gaps closed: - Add icon.svg at repo root (text wordmark; Smithery autopicks). - Rename README "All 16 tools" → "MCP tool surface (18 tools)" to match the reviewer-scannable heading convention; corrects stale count. - Backfill CHANGELOG entry for v0.4.0 (dot-notation rename, outputSchema, annotations) which was committed but never released to npm. Smoke-verified built server: 18 tools, dot-notation names, outputSchema + annotations present on tools/list response.
1 parent 1da3277 commit 3ac26b0

6 files changed

Lines changed: 49 additions & 5 deletions

File tree

CHANGELOG.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,41 @@ All notable changes to `@automatelab/ai-seo-mcp` are documented in this file.
44

55
The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

7+
## [0.4.1] - 2026-05-23
8+
9+
### Added
10+
11+
- **`icon.svg`** at repo root — text wordmark picked up automatically by Smithery and other catalog scanners.
12+
- **`smithery.yaml`** with `commandFunction` and `configSchema` so Smithery's probe can start the server (without this the listing shows "No capabilities found").
13+
14+
### Changed
15+
16+
- README "All 16 tools" section renamed to **"MCP tool surface (18 tools)"** — exact tool inventory + naming tree, scannable without launching the server.
17+
18+
## [0.4.0] - 2026-05-20
19+
20+
### Changed
21+
22+
- **Breaking: tool rename to dot-notation.** All tools migrated from flat snake_case (`audit_page`, `check_robots`, …) to a navigable dot-notation tree (`audit.page`, `check.robots`, …). Categories: `audit.*`, `check.*`, `score.*`, `llms_txt.*`, `rewrite.*`, `extract.*`, `diff.*`, `report.*`. Update any saved invocations.
23+
24+
### Added
25+
26+
- **`outputSchema` (Zod) on every tool** — callers can type-check responses; hosts can reason about return shape before calling. Returns now also surface `structuredContent` alongside the legacy `content` text block.
27+
- **MCP `annotations` on every tool**`title`, `readOnlyHint`, `destructiveHint`, `idempotentHint`, `openWorldHint`. Hosts use these to decide whether to auto-approve a call, prompt the user, or block.
28+
- **`.describe()` on every input parameter** that lacked one (`audit.site`, `report.save`) — input schemas are now fully self-documenting.
29+
30+
### Migration
31+
32+
- `server.tool()``server.registerTool()` throughout.
33+
- Rename map (use sed/IDE find-replace on any saved configs):
34+
`audit_page → audit.page`, `audit_schema → audit.schema`, `audit_canonical → audit.canonical`,
35+
`audit_site → audit.site`, `audit_sitemap → audit.sitemap`,
36+
`check_robots → check.robots`, `check_sitemap → check.sitemap`, `check_technical → check.technical`,
37+
`score_ai_overview_eligibility → score.ai_overview_eligibility`, `score_citation_worthiness → score.citation_worthiness`, `test_citation → score.test_citation`,
38+
`generate_llms_txt → llms_txt.generate`, `validate_llms_txt → llms_txt.validate`,
39+
`rewrite_for_aeo → rewrite.aeo`, `rewrite_for_geo → rewrite.geo`,
40+
`extract_entities → extract.entities`, `diff_pages → diff.pages`, `save_audit_report → report.save`.
41+
742
## [0.3.4] - 2026-05-18
843

944
### Added

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ Then call `audit_page` with `render: "headless"`. Use static for everything else
110110
---
111111

112112
<details>
113-
<summary>All 16 tools</summary>
113+
<summary>MCP tool surface (18 tools)</summary>
114114

115115
| Tool | Purpose |
116116
|------|---------|

icon.svg

Lines changed: 9 additions & 0 deletions
Loading

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@automatelab/ai-seo-mcp",
3-
"version": "0.4.0",
3+
"version": "0.4.1",
44
"mcpName": "io.github.AutomateLab-tech/ai-seo-mcp",
55
"description": "AI Citation Toolkit - audit, score, and rewrite web pages for AI-citation eligibility. AEO/GEO/LLM visibility for any MCP client.",
66
"license": "MIT",

server.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@
66
"url": "https://github.com/AutomateLab-tech/ai-seo-mcp",
77
"source": "github"
88
},
9-
"version": "0.4.0",
9+
"version": "0.4.1",
1010
"packages": [
1111
{
1212
"registryType": "npm",
1313
"identifier": "@automatelab/ai-seo-mcp",
14-
"version": "0.4.0",
14+
"version": "0.4.1",
1515
"transport": {
1616
"type": "stdio"
1717
}

src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ import { ToolFetchError } from "./lib/fetch.js";
4848

4949
const server = new McpServer({
5050
name: "@automatelab/ai-seo-mcp",
51-
version: "0.4.0",
51+
version: "0.4.1",
5252
});
5353

5454
type ToolResponse = {

0 commit comments

Comments
 (0)