wmcp-annotate 1.0.0
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/AGENTS.md +108 -0
- package/IMPLEMENTATION_PLAN.md +187 -0
- package/LAUNCH.md +217 -0
- package/PRD.md +199 -0
- package/PROMPT.md +62 -0
- package/README.md +140 -0
- package/dist/commands/generate.d.ts +3 -0
- package/dist/commands/generate.d.ts.map +1 -0
- package/dist/commands/generate.js +46 -0
- package/dist/commands/generate.js.map +1 -0
- package/dist/commands/scan.d.ts +3 -0
- package/dist/commands/scan.d.ts.map +1 -0
- package/dist/commands/scan.js +24 -0
- package/dist/commands/scan.js.map +1 -0
- package/dist/commands/suggest.d.ts +3 -0
- package/dist/commands/suggest.d.ts.map +1 -0
- package/dist/commands/suggest.js +36 -0
- package/dist/commands/suggest.js.map +1 -0
- package/dist/commands/validate.d.ts +3 -0
- package/dist/commands/validate.d.ts.map +1 -0
- package/dist/commands/validate.js +39 -0
- package/dist/commands/validate.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +44 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/analyzer.d.ts +10 -0
- package/dist/lib/analyzer.d.ts.map +1 -0
- package/dist/lib/analyzer.js +80 -0
- package/dist/lib/analyzer.js.map +1 -0
- package/dist/lib/generator.d.ts +12 -0
- package/dist/lib/generator.d.ts.map +1 -0
- package/dist/lib/generator.js +136 -0
- package/dist/lib/generator.js.map +1 -0
- package/dist/lib/output.d.ts +6 -0
- package/dist/lib/output.d.ts.map +1 -0
- package/dist/lib/output.js +35 -0
- package/dist/lib/output.js.map +1 -0
- package/dist/lib/scanner.d.ts +19 -0
- package/dist/lib/scanner.d.ts.map +1 -0
- package/dist/lib/scanner.js +159 -0
- package/dist/lib/scanner.js.map +1 -0
- package/dist/lib/validator.d.ts +13 -0
- package/dist/lib/validator.d.ts.map +1 -0
- package/dist/lib/validator.js +178 -0
- package/dist/lib/validator.js.map +1 -0
- package/dist/types.d.ts +109 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/docs/index.html +563 -0
- package/marketing/email-outreach.md +183 -0
- package/marketing/landing-page.md +165 -0
- package/marketing/social-posts.md +192 -0
- package/package.json +58 -0
- package/scripts/publish.sh +33 -0
- package/specs/generate-command.md +147 -0
- package/specs/scan-command.md +92 -0
- package/specs/suggest-command.md +120 -0
- package/specs/validate-command.md +108 -0
- package/src/commands/generate.ts +48 -0
- package/src/commands/scan.ts +28 -0
- package/src/commands/suggest.ts +39 -0
- package/src/commands/validate.ts +44 -0
- package/src/index.ts +51 -0
- package/src/lib/analyzer.ts +90 -0
- package/src/lib/generator.ts +149 -0
- package/src/lib/output.ts +40 -0
- package/src/lib/scanner.ts +185 -0
- package/src/lib/validator.ts +192 -0
- package/src/types.ts +124 -0
- package/tsconfig.json +20 -0
package/AGENTS.md
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# AGENTS.md - wmcp-annotate
|
|
2
|
+
|
|
3
|
+
## Project Overview
|
|
4
|
+
CLI tool to automatically analyze websites and generate WebMCP tool annotations.
|
|
5
|
+
|
|
6
|
+
## Tech Stack
|
|
7
|
+
- Node.js 20+
|
|
8
|
+
- TypeScript
|
|
9
|
+
- Playwright (browser automation)
|
|
10
|
+
- Commander.js (CLI)
|
|
11
|
+
- Vitest (testing)
|
|
12
|
+
- Claude API (AI analysis)
|
|
13
|
+
|
|
14
|
+
## Commands
|
|
15
|
+
|
|
16
|
+
### Install dependencies
|
|
17
|
+
```bash
|
|
18
|
+
npm install
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### Build
|
|
22
|
+
```bash
|
|
23
|
+
npm run build
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### Test
|
|
27
|
+
```bash
|
|
28
|
+
npm test
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### Run locally
|
|
32
|
+
```bash
|
|
33
|
+
npm run dev -- scan https://example.com
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Lint
|
|
37
|
+
```bash
|
|
38
|
+
npm run lint
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Backpressure Commands
|
|
42
|
+
Run these after each implementation task:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
# Build check
|
|
46
|
+
npm run build
|
|
47
|
+
|
|
48
|
+
# Type check
|
|
49
|
+
npx tsc --noEmit
|
|
50
|
+
|
|
51
|
+
# Tests
|
|
52
|
+
npm test
|
|
53
|
+
|
|
54
|
+
# Lint
|
|
55
|
+
npm run lint
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## File Structure
|
|
59
|
+
```
|
|
60
|
+
wmcp-annotate/
|
|
61
|
+
├── src/
|
|
62
|
+
│ ├── index.ts # CLI entry point
|
|
63
|
+
│ ├── commands/
|
|
64
|
+
│ │ ├── scan.ts # Scan command
|
|
65
|
+
│ │ ├── suggest.ts # Suggest command
|
|
66
|
+
│ │ ├── generate.ts # Generate command
|
|
67
|
+
│ │ └── validate.ts # Validate command
|
|
68
|
+
│ ├── lib/
|
|
69
|
+
│ │ ├── scanner.ts # Playwright scanning logic
|
|
70
|
+
│ │ ├── analyzer.ts # AI analysis
|
|
71
|
+
│ │ ├── generator.ts # Code generation
|
|
72
|
+
│ │ └── validator.ts # Compliance checking
|
|
73
|
+
│ ├── templates/ # Output templates
|
|
74
|
+
│ └── types.ts # TypeScript types
|
|
75
|
+
├── tests/
|
|
76
|
+
│ ├── scan.test.ts
|
|
77
|
+
│ ├── suggest.test.ts
|
|
78
|
+
│ ├── generate.test.ts
|
|
79
|
+
│ └── validate.test.ts
|
|
80
|
+
├── specs/ # Requirements specs
|
|
81
|
+
├── package.json
|
|
82
|
+
├── tsconfig.json
|
|
83
|
+
└── README.md
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Environment Variables
|
|
87
|
+
```bash
|
|
88
|
+
ANTHROPIC_API_KEY=sk-ant-... # For AI analysis
|
|
89
|
+
WMCP_RATE_LIMIT=10 # Free tier limit
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Key Dependencies
|
|
93
|
+
- playwright: browser automation
|
|
94
|
+
- commander: CLI framework
|
|
95
|
+
- @anthropic-ai/sdk: AI analysis
|
|
96
|
+
- handlebars: template engine
|
|
97
|
+
- ajv: JSON Schema validation
|
|
98
|
+
|
|
99
|
+
## Coding Standards
|
|
100
|
+
- Use TypeScript strict mode
|
|
101
|
+
- Async/await for all async operations
|
|
102
|
+
- Error handling with specific error types
|
|
103
|
+
- JSDoc comments for public APIs
|
|
104
|
+
- 100% test coverage for core logic
|
|
105
|
+
|
|
106
|
+
## Learnings
|
|
107
|
+
(Updated during development)
|
|
108
|
+
-
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
# IMPLEMENTATION_PLAN.md - wmcp-annotate
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
Build `wmcp-annotate` CLI tool for WebMCP adoption.
|
|
5
|
+
|
|
6
|
+
## Status
|
|
7
|
+
🔵 IN PROGRESS
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Phase 1: Project Setup (Day 1)
|
|
12
|
+
|
|
13
|
+
### Task 1.1: Initialize project ⬜
|
|
14
|
+
- [ ] Create package.json with name "wmcp-annotate"
|
|
15
|
+
- [ ] Set up TypeScript config (strict mode)
|
|
16
|
+
- [ ] Add dependencies: playwright, commander, @anthropic-ai/sdk, handlebars, ajv
|
|
17
|
+
- [ ] Add dev dependencies: vitest, typescript, eslint, prettier
|
|
18
|
+
- [ ] Create src/ directory structure
|
|
19
|
+
- [ ] Add npm scripts: build, test, dev, lint
|
|
20
|
+
|
|
21
|
+
### Task 1.2: CLI scaffolding ⬜
|
|
22
|
+
- [ ] Create src/index.ts with Commander setup
|
|
23
|
+
- [ ] Add scan, suggest, generate, validate command stubs
|
|
24
|
+
- [ ] Add global options (--output, --format, --verbose)
|
|
25
|
+
- [ ] Add version and help commands
|
|
26
|
+
- [ ] Test: `wmcp-annotate --help` works
|
|
27
|
+
|
|
28
|
+
### Task 1.3: Types definition ⬜
|
|
29
|
+
- [ ] Create src/types.ts with interfaces:
|
|
30
|
+
- ScanResult, ScannedElement
|
|
31
|
+
- ToolSuggestion, ToolDefinition
|
|
32
|
+
- ValidationResult, ValidationIssue
|
|
33
|
+
- [ ] Export all types
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Phase 2: Scan Command (Day 1-2)
|
|
38
|
+
|
|
39
|
+
### Task 2.1: Scanner core ⬜
|
|
40
|
+
- [ ] Create src/lib/scanner.ts
|
|
41
|
+
- [ ] Implement launchBrowser() with Playwright
|
|
42
|
+
- [ ] Implement scanPage(url) → identifies forms, buttons, links
|
|
43
|
+
- [ ] Handle SPA wait (networkidle)
|
|
44
|
+
- [ ] Extract element metadata (selector, label, inputs)
|
|
45
|
+
|
|
46
|
+
### Task 2.2: API interception ⬜
|
|
47
|
+
- [ ] Intercept fetch/XHR requests
|
|
48
|
+
- [ ] Capture API endpoints and parameters
|
|
49
|
+
- [ ] Add to scan results
|
|
50
|
+
|
|
51
|
+
### Task 2.3: Scan command integration ⬜
|
|
52
|
+
- [ ] Connect scanner to CLI command
|
|
53
|
+
- [ ] Add --depth option for multi-page crawl
|
|
54
|
+
- [ ] Add --output and --format options
|
|
55
|
+
- [ ] Test with 3 different websites
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Phase 3: Suggest Command (Day 2-3)
|
|
60
|
+
|
|
61
|
+
### Task 3.1: Analyzer core ⬜
|
|
62
|
+
- [ ] Create src/lib/analyzer.ts
|
|
63
|
+
- [ ] Implement Claude API integration
|
|
64
|
+
- [ ] Create prompt template for tool analysis
|
|
65
|
+
- [ ] Parse AI response into ToolSuggestion[]
|
|
66
|
+
|
|
67
|
+
### Task 3.2: Schema generation ⬜
|
|
68
|
+
- [ ] Generate JSON Schema from form inputs
|
|
69
|
+
- [ ] Handle different input types (text, number, select, checkbox)
|
|
70
|
+
- [ ] Add descriptions from labels/placeholders
|
|
71
|
+
- [ ] Set required fields correctly
|
|
72
|
+
|
|
73
|
+
### Task 3.3: Suggest command integration ⬜
|
|
74
|
+
- [ ] Connect analyzer to CLI command
|
|
75
|
+
- [ ] Add --scan-file option to use existing scan
|
|
76
|
+
- [ ] Cache results (1 hour TTL)
|
|
77
|
+
- [ ] Add rate limiting for free tier
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Phase 4: Generate Command (Day 3-4)
|
|
82
|
+
|
|
83
|
+
### Task 4.1: Generator core ⬜
|
|
84
|
+
- [ ] Create src/lib/generator.ts
|
|
85
|
+
- [ ] Create Handlebars templates:
|
|
86
|
+
- templates/js-esm.hbs
|
|
87
|
+
- templates/ts.hbs
|
|
88
|
+
- templates/react.hbs
|
|
89
|
+
- [ ] Implement template rendering
|
|
90
|
+
|
|
91
|
+
### Task 4.2: Code generation ⬜
|
|
92
|
+
- [ ] Generate valid navigator.modelContext.registerTool() code
|
|
93
|
+
- [ ] Add execute handler stubs with implementation hints
|
|
94
|
+
- [ ] Add TypeScript types for TS output
|
|
95
|
+
- [ ] Add React hook wrapper for React output
|
|
96
|
+
|
|
97
|
+
### Task 4.3: Generate command integration ⬜
|
|
98
|
+
- [ ] Connect generator to CLI command
|
|
99
|
+
- [ ] Add --suggest-file option
|
|
100
|
+
- [ ] Add --format option (js, ts, react, vue)
|
|
101
|
+
- [ ] Test generated code is valid
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Phase 5: Validate Command (Day 4-5)
|
|
106
|
+
|
|
107
|
+
### Task 5.1: Validator core ⬜
|
|
108
|
+
- [ ] Create src/lib/validator.ts
|
|
109
|
+
- [ ] Query navigator.modelContext.tools from page
|
|
110
|
+
- [ ] Implement validation rules from spec
|
|
111
|
+
- [ ] Return structured ValidationResult
|
|
112
|
+
|
|
113
|
+
### Task 5.2: Validation rules ⬜
|
|
114
|
+
- [ ] NAME_FORMAT: camelCase check
|
|
115
|
+
- [ ] DESCRIPTION_MISSING/TOO_SHORT
|
|
116
|
+
- [ ] SCHEMA_INVALID: JSON Schema validation
|
|
117
|
+
- [ ] HANDLER_NOT_ASYNC
|
|
118
|
+
- [ ] READONLY_HINT
|
|
119
|
+
|
|
120
|
+
### Task 5.3: Validate command integration ⬜
|
|
121
|
+
- [ ] Connect validator to CLI command
|
|
122
|
+
- [ ] Add --strict and --ci flags
|
|
123
|
+
- [ ] Generate report in multiple formats
|
|
124
|
+
- [ ] Exit codes for CI
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Phase 6: Polish & Publish (Day 5-6)
|
|
129
|
+
|
|
130
|
+
### Task 6.1: Documentation ⬜
|
|
131
|
+
- [ ] Write comprehensive README.md
|
|
132
|
+
- [ ] Add usage examples for each command
|
|
133
|
+
- [ ] Add CI integration examples
|
|
134
|
+
- [ ] Add troubleshooting section
|
|
135
|
+
|
|
136
|
+
### Task 6.2: Testing ⬜
|
|
137
|
+
- [ ] Add unit tests for each module
|
|
138
|
+
- [ ] Add integration tests with real websites
|
|
139
|
+
- [ ] Achieve 80%+ code coverage
|
|
140
|
+
- [ ] Add test fixtures
|
|
141
|
+
|
|
142
|
+
### Task 6.3: Publishing ⬜
|
|
143
|
+
- [ ] Set up npm publish workflow
|
|
144
|
+
- [ ] Create GitHub repository
|
|
145
|
+
- [ ] Add GitHub Actions CI
|
|
146
|
+
- [ ] Publish v1.0.0 to npm
|
|
147
|
+
- [ ] Add badges to README
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## Phase 7: Marketing Launch (Day 6-7)
|
|
152
|
+
|
|
153
|
+
### Task 7.1: Content ⬜
|
|
154
|
+
- [ ] Write Dev.to article
|
|
155
|
+
- [ ] Create demo video
|
|
156
|
+
- [ ] Write Twitter thread
|
|
157
|
+
- [ ] Prepare HN post
|
|
158
|
+
|
|
159
|
+
### Task 7.2: Launch ⬜
|
|
160
|
+
- [ ] Post to Hacker News
|
|
161
|
+
- [ ] Tweet announcement
|
|
162
|
+
- [ ] Post to Dev.to
|
|
163
|
+
- [ ] Share in AI/dev communities
|
|
164
|
+
|
|
165
|
+
### Task 7.3: Outreach ⬜
|
|
166
|
+
- [ ] Email 50 potential enterprise customers
|
|
167
|
+
- [ ] Reach out to WebMCP early adopters
|
|
168
|
+
- [ ] Contact AI agent builders
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## Completion Checklist
|
|
173
|
+
- [ ] All commands working
|
|
174
|
+
- [ ] Tests passing
|
|
175
|
+
- [ ] Published to npm
|
|
176
|
+
- [ ] Documentation complete
|
|
177
|
+
- [ ] Marketing launched
|
|
178
|
+
- [ ] First paying customers
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## Notes
|
|
183
|
+
(Add learnings and blockers here)
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
**STATUS: PLANNING_COMPLETE**
|
package/LAUNCH.md
ADDED
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
# 🚀 wmcp-annotate Launch Checklist
|
|
2
|
+
|
|
3
|
+
**Status:** Ready to launch
|
|
4
|
+
**Date:** February 24, 2026
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## ✅ Completed
|
|
9
|
+
|
|
10
|
+
- [x] Core CLI implementation (scan, suggest, generate, validate)
|
|
11
|
+
- [x] TypeScript build passing
|
|
12
|
+
- [x] Package.json configured for npm
|
|
13
|
+
- [x] README.md with full documentation
|
|
14
|
+
- [x] Landing page HTML (`docs/index.html`)
|
|
15
|
+
- [x] Social posts written (LinkedIn, Twitter/X, HN)
|
|
16
|
+
- [x] Email outreach templates ready
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## 🔐 Needs Your Action (npm publish)
|
|
21
|
+
|
|
22
|
+
Run these commands:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
cd ~/workspace/projects/wmcp-annotate
|
|
26
|
+
|
|
27
|
+
# 1. Login to npm (one-time)
|
|
28
|
+
npm login
|
|
29
|
+
|
|
30
|
+
# 2. Publish to npm registry
|
|
31
|
+
npm publish --access public
|
|
32
|
+
|
|
33
|
+
# 3. Verify it's live
|
|
34
|
+
npm info wmcp-annotate
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## 📱 Social Media Posts (Copy & Post)
|
|
40
|
+
|
|
41
|
+
### LinkedIn (Post Now)
|
|
42
|
+
```
|
|
43
|
+
Google just changed how AI agents interact with websites. Is your site ready?
|
|
44
|
+
|
|
45
|
+
Two weeks ago, Google and Microsoft shipped WebMCP in Chrome 146—a W3C standard that lets websites declare structured tools for AI agents.
|
|
46
|
+
|
|
47
|
+
Instead of AI scraping your DOM or analyzing screenshots (expensive, fragile), WebMCP lets you tell agents exactly what your site can do.
|
|
48
|
+
|
|
49
|
+
The problem? 99% of sites don't have these annotations yet.
|
|
50
|
+
|
|
51
|
+
So we built wmcp-annotate.
|
|
52
|
+
|
|
53
|
+
One command:
|
|
54
|
+
|
|
55
|
+
npx wmcp-annotate generate https://your-site.com
|
|
56
|
+
|
|
57
|
+
It scans your site, uses AI to suggest tool definitions, and generates ready-to-use code.
|
|
58
|
+
|
|
59
|
+
Think of it as "making your website API-first for AI."
|
|
60
|
+
|
|
61
|
+
We're launching today. Open source core, Pro tier for teams.
|
|
62
|
+
|
|
63
|
+
→ GitHub: https://github.com/avatarconsulting/wmcp-annotate
|
|
64
|
+
→ Try it: npm install -g wmcp-annotate
|
|
65
|
+
|
|
66
|
+
If you're building AI agents or want your SaaS to be agent-friendly, this is the fastest path.
|
|
67
|
+
|
|
68
|
+
Questions? Drop them below.
|
|
69
|
+
|
|
70
|
+
#AI #WebDevelopment #Automation #AIAgents #WebMCP
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Twitter/X Thread (Post Now)
|
|
74
|
+
```
|
|
75
|
+
🧵 Google just shipped the biggest change to web automation since Selenium.
|
|
76
|
+
|
|
77
|
+
WebMCP is now in Chrome 146.
|
|
78
|
+
|
|
79
|
+
Here's what it means and how to get your site ready in 5 minutes:
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
WebMCP lets websites declare "tools" that AI agents can call directly.
|
|
84
|
+
|
|
85
|
+
No more:
|
|
86
|
+
- DOM scraping
|
|
87
|
+
- Screenshot analysis (2000+ tokens each!)
|
|
88
|
+
- Broken automation when CSS changes
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
Instead, your site says:
|
|
93
|
+
"Here's a searchProducts tool. It takes a query string. Here's how to call it."
|
|
94
|
+
|
|
95
|
+
The AI agent calls the tool. Gets structured data back. Done.
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
The catch? 99% of websites don't have WebMCP annotations.
|
|
100
|
+
|
|
101
|
+
Someone needs to add them.
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
Enter: wmcp-annotate
|
|
106
|
+
|
|
107
|
+
We built a CLI that:
|
|
108
|
+
1. Scans your site
|
|
109
|
+
2. Identifies forms/buttons/APIs
|
|
110
|
+
3. Uses AI to generate tool definitions
|
|
111
|
+
4. Outputs ready-to-use code
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
npx wmcp-annotate generate https://your-site.com
|
|
116
|
+
|
|
117
|
+
That's it. You get JavaScript you can copy-paste into your app.
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
Open source core. Free to use.
|
|
122
|
+
Pro tier ($49/mo) for unlimited AI + CI integration.
|
|
123
|
+
|
|
124
|
+
Try it: npm install -g wmcp-annotate
|
|
125
|
+
GitHub: https://github.com/avatarconsulting/wmcp-annotate
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### Hacker News (Submit to Show HN)
|
|
129
|
+
|
|
130
|
+
**Title:** Show HN: wmcp-annotate – Make any website AI-agent ready with WebMCP
|
|
131
|
+
|
|
132
|
+
**URL:** https://github.com/avatarconsulting/wmcp-annotate
|
|
133
|
+
|
|
134
|
+
**Text:**
|
|
135
|
+
```
|
|
136
|
+
Two weeks ago, Google and Microsoft shipped WebMCP in Chrome 146 (https://webmcp.link). It's a W3C standard that lets websites declare structured tools for AI agents—no more DOM scraping or screenshot parsing.
|
|
137
|
+
|
|
138
|
+
We built wmcp-annotate to help developers adopt it quickly.
|
|
139
|
+
|
|
140
|
+
What it does:
|
|
141
|
+
- Scans any website and identifies forms, buttons, API calls
|
|
142
|
+
- Uses Claude to generate meaningful tool definitions
|
|
143
|
+
- Outputs ready-to-use JS/TS/React code
|
|
144
|
+
- Validates existing implementations
|
|
145
|
+
|
|
146
|
+
Usage:
|
|
147
|
+
npm install -g wmcp-annotate
|
|
148
|
+
wmcp-annotate generate https://your-site.com --format typescript
|
|
149
|
+
|
|
150
|
+
Why this matters:
|
|
151
|
+
AI agents currently waste ~2000 tokens per screenshot to understand a page. With WebMCP, it's ~100 tokens to call a declared tool. That's 95% cost reduction. Plus, the automation is stable—no more broken scripts when CSS changes.
|
|
152
|
+
|
|
153
|
+
Business model:
|
|
154
|
+
Open source CLI (MIT). Pro tier ($49/mo) for unlimited AI analysis and CI integration. Enterprise ($499/mo) for teams.
|
|
155
|
+
|
|
156
|
+
We're a small consulting firm (Avatar Consulting) that does AI transformation for banks. This came out of client work—everyone wanted their internal tools to be agent-accessible.
|
|
157
|
+
|
|
158
|
+
Would love feedback on the tool and the approach.
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## 🌐 Landing Page
|
|
164
|
+
|
|
165
|
+
The HTML is ready at: `docs/index.html`
|
|
166
|
+
|
|
167
|
+
**To deploy:**
|
|
168
|
+
|
|
169
|
+
Option A - GitHub Pages:
|
|
170
|
+
```bash
|
|
171
|
+
# Push to gh-pages branch
|
|
172
|
+
git subtree push --prefix docs origin gh-pages
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
Option B - Vercel:
|
|
176
|
+
```bash
|
|
177
|
+
cd docs
|
|
178
|
+
vercel --prod
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
Option C - Just serve the HTML file anywhere
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## 📧 Email Outreach (Week 1)
|
|
186
|
+
|
|
187
|
+
Target list in `marketing/email-outreach.md`. Key targets:
|
|
188
|
+
|
|
189
|
+
1. **AI/ML Newsletter authors** - TheSequence, Import AI, Last Week in AI
|
|
190
|
+
2. **Dev tool journalists** - The Changelog, Dev.to editors
|
|
191
|
+
3. **VC contacts** - especially those who funded browser/AI tools
|
|
192
|
+
4. **SaaS founders** - tweet about AI compatibility
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## 📊 Success Metrics (Week 1)
|
|
197
|
+
|
|
198
|
+
- [ ] npm downloads > 500
|
|
199
|
+
- [ ] GitHub stars > 100
|
|
200
|
+
- [ ] HN front page (or close)
|
|
201
|
+
- [ ] 3+ inbound leads for Pro/Enterprise
|
|
202
|
+
- [ ] 5+ mentions in tweets/posts
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## 🎯 Post-Launch (Week 2+)
|
|
207
|
+
|
|
208
|
+
1. **Blog post:** "How we built wmcp-annotate" (dev story)
|
|
209
|
+
2. **Tutorial video:** 5-min demo on YouTube
|
|
210
|
+
3. **Integrations:** VS Code extension, GitHub Action
|
|
211
|
+
4. **Partnerships:** Reach out to Playwright, Puppeteer, browser-use
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
**Questions?** Text me or drop them in Command Center.
|
|
216
|
+
|
|
217
|
+
— Edison 💡
|
package/PRD.md
ADDED
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
# PRD: wmcp-annotate
|
|
2
|
+
|
|
3
|
+
## Product Overview
|
|
4
|
+
|
|
5
|
+
**wmcp-annotate** is a CLI tool that automatically analyzes websites and generates WebMCP tool annotations, enabling AI agents to interact with any web application through the new W3C WebMCP standard.
|
|
6
|
+
|
|
7
|
+
## Problem Statement
|
|
8
|
+
|
|
9
|
+
Google and Microsoft shipped WebMCP in Chrome 146 (February 2026) as a W3C standard. This protocol lets websites declare structured tools that AI agents can call directly—no DOM scraping, 89% token reduction vs screenshots.
|
|
10
|
+
|
|
11
|
+
**The problem:** 99% of websites don't have WebMCP annotations yet. Developers need to:
|
|
12
|
+
1. Understand the WebMCP spec
|
|
13
|
+
2. Identify which UI elements should become tools
|
|
14
|
+
3. Write the JavaScript registration code
|
|
15
|
+
4. Test and validate the implementation
|
|
16
|
+
|
|
17
|
+
This is manual, error-prone, and slow. Most teams won't do it.
|
|
18
|
+
|
|
19
|
+
## Solution
|
|
20
|
+
|
|
21
|
+
**wmcp-annotate** automates WebMCP adoption:
|
|
22
|
+
1. **Scan** any website and identify actionable elements (forms, buttons, links, APIs)
|
|
23
|
+
2. **Suggest** WebMCP tool definitions with proper schemas
|
|
24
|
+
3. **Generate** ready-to-use JavaScript code
|
|
25
|
+
4. **Validate** existing WebMCP implementations
|
|
26
|
+
5. **Inject** annotations into React/Vue/Svelte/vanilla codebases
|
|
27
|
+
|
|
28
|
+
## ICP (Ideal Customer Profile)
|
|
29
|
+
|
|
30
|
+
### Primary: Web Development Teams
|
|
31
|
+
- Frontend engineers at SaaS companies
|
|
32
|
+
- Agencies building client sites
|
|
33
|
+
- Enterprise IT teams modernizing internal apps
|
|
34
|
+
|
|
35
|
+
### Secondary: AI Agent Builders
|
|
36
|
+
- Teams building AI agents that need to interact with websites
|
|
37
|
+
- Automation engineers
|
|
38
|
+
- RPA modernization projects
|
|
39
|
+
|
|
40
|
+
## Key Features
|
|
41
|
+
|
|
42
|
+
### v1.0 (MVP - 2 weeks)
|
|
43
|
+
1. **Scan mode**: Analyze any URL, identify actionable elements
|
|
44
|
+
2. **Suggest mode**: Generate WebMCP tool definitions as JSON
|
|
45
|
+
3. **Generate mode**: Output ready-to-use JavaScript code
|
|
46
|
+
4. **Validate mode**: Check existing WebMCP implementations for compliance
|
|
47
|
+
|
|
48
|
+
### v1.1 (Week 3-4)
|
|
49
|
+
5. **Inject mode**: Add annotations to React/Vue/Svelte projects
|
|
50
|
+
6. **CI integration**: GitHub Actions / GitLab CI support
|
|
51
|
+
7. **Report mode**: Generate compliance reports
|
|
52
|
+
|
|
53
|
+
### v2.0 (Month 2)
|
|
54
|
+
8. **Watch mode**: Monitor sites for changes, suggest updates
|
|
55
|
+
9. **Catalog integration**: Publish to wmcp-catalog registry
|
|
56
|
+
10. **Enterprise**: Team workspaces, audit logs, SSO
|
|
57
|
+
|
|
58
|
+
## Non-Features (Out of Scope)
|
|
59
|
+
- Browser extension (use CLI instead)
|
|
60
|
+
- Visual editor (code-first approach)
|
|
61
|
+
- Hosting/proxy services
|
|
62
|
+
- WebMCP runtime (browser handles that)
|
|
63
|
+
|
|
64
|
+
## Technical Architecture
|
|
65
|
+
|
|
66
|
+
### CLI Structure
|
|
67
|
+
```
|
|
68
|
+
wmcp-annotate <command> [options]
|
|
69
|
+
|
|
70
|
+
Commands:
|
|
71
|
+
scan <url> Analyze a website for WebMCP opportunities
|
|
72
|
+
suggest <url> Generate tool definition suggestions
|
|
73
|
+
generate <url> Output JavaScript registration code
|
|
74
|
+
validate <url> Check WebMCP compliance
|
|
75
|
+
inject <dir> Add annotations to codebase
|
|
76
|
+
report <url> Generate compliance report
|
|
77
|
+
|
|
78
|
+
Options:
|
|
79
|
+
--output, -o Output file (default: stdout)
|
|
80
|
+
--format, -f Output format: json, js, ts, react, vue
|
|
81
|
+
--config, -c Config file path
|
|
82
|
+
--verbose, -v Verbose output
|
|
83
|
+
--headless Run browser in headless mode (default: true)
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Core Components
|
|
87
|
+
1. **Scanner**: Playwright-based crawler that identifies forms, buttons, links, API calls
|
|
88
|
+
2. **Analyzer**: AI-powered analysis to determine tool semantics
|
|
89
|
+
3. **Generator**: Template engine for JS/TS/React/Vue output
|
|
90
|
+
4. **Validator**: WebMCP spec compliance checker
|
|
91
|
+
5. **Injector**: AST-based code modification for existing projects
|
|
92
|
+
|
|
93
|
+
### Tech Stack
|
|
94
|
+
- **Runtime**: Node.js 20+
|
|
95
|
+
- **Browser**: Playwright
|
|
96
|
+
- **AI**: Claude API for semantic analysis
|
|
97
|
+
- **Parser**: TypeScript compiler API for injection
|
|
98
|
+
- **CLI**: Commander.js
|
|
99
|
+
- **Testing**: Vitest
|
|
100
|
+
|
|
101
|
+
## Success Metrics
|
|
102
|
+
|
|
103
|
+
### Week 1
|
|
104
|
+
- [ ] CLI scaffolding complete
|
|
105
|
+
- [ ] Scan command working on 3 test sites
|
|
106
|
+
- [ ] Suggest command generating valid schemas
|
|
107
|
+
|
|
108
|
+
### Week 2
|
|
109
|
+
- [ ] Generate command outputting working JS
|
|
110
|
+
- [ ] Validate command checking compliance
|
|
111
|
+
- [ ] 10 beta users testing
|
|
112
|
+
|
|
113
|
+
### Month 1
|
|
114
|
+
- [ ] 100 GitHub stars
|
|
115
|
+
- [ ] 50 npm weekly downloads
|
|
116
|
+
- [ ] 5 paying enterprise customers
|
|
117
|
+
- [ ] $5K MRR
|
|
118
|
+
|
|
119
|
+
### Month 3
|
|
120
|
+
- [ ] 1000 GitHub stars
|
|
121
|
+
- [ ] 500 npm weekly downloads
|
|
122
|
+
- [ ] 20 paying customers
|
|
123
|
+
- [ ] $25K MRR
|
|
124
|
+
|
|
125
|
+
## Pricing
|
|
126
|
+
|
|
127
|
+
### Open Source (Free)
|
|
128
|
+
- Scan, suggest, generate commands
|
|
129
|
+
- Community support
|
|
130
|
+
- Rate-limited AI analysis (10/day)
|
|
131
|
+
|
|
132
|
+
### Pro ($49/month)
|
|
133
|
+
- Unlimited AI analysis
|
|
134
|
+
- Inject command
|
|
135
|
+
- CI integration
|
|
136
|
+
- Email support
|
|
137
|
+
|
|
138
|
+
### Enterprise ($499/month)
|
|
139
|
+
- Team workspaces
|
|
140
|
+
- Audit logs
|
|
141
|
+
- SSO/SAML
|
|
142
|
+
- Priority support
|
|
143
|
+
- Custom integrations
|
|
144
|
+
|
|
145
|
+
## Go-to-Market
|
|
146
|
+
|
|
147
|
+
### Week 1: Launch
|
|
148
|
+
- [ ] Ship to npm
|
|
149
|
+
- [ ] Post on Hacker News
|
|
150
|
+
- [ ] Twitter/X announcement
|
|
151
|
+
- [ ] Dev.to article: "Make Your Site AI-Agent Ready in 5 Minutes"
|
|
152
|
+
|
|
153
|
+
### Week 2: Community
|
|
154
|
+
- [ ] Discord server
|
|
155
|
+
- [ ] GitHub discussions
|
|
156
|
+
- [ ] YouTube demo video
|
|
157
|
+
- [ ] Reach out to 50 AI agent builders
|
|
158
|
+
|
|
159
|
+
### Month 1: Revenue
|
|
160
|
+
- [ ] ProductHunt launch
|
|
161
|
+
- [ ] Paid ads on dev newsletters
|
|
162
|
+
- [ ] Partner with WebMCP early adopters
|
|
163
|
+
- [ ] Enterprise outreach (50 companies)
|
|
164
|
+
|
|
165
|
+
## Risks & Mitigations
|
|
166
|
+
|
|
167
|
+
| Risk | Impact | Mitigation |
|
|
168
|
+
|------|--------|------------|
|
|
169
|
+
| WebMCP spec changes | High | Version lock, follow W3C group |
|
|
170
|
+
| Competition from Google | High | Move fast, focus on DX |
|
|
171
|
+
| Low adoption | Medium | Strong content marketing |
|
|
172
|
+
| AI analysis quality | Medium | Human review option, feedback loop |
|
|
173
|
+
|
|
174
|
+
## Team
|
|
175
|
+
|
|
176
|
+
- **Edison** (Avatar Consulting): Product strategy, marketing
|
|
177
|
+
- **Atlas**: Implementation lead
|
|
178
|
+
- **Cipher**: Technical architecture
|
|
179
|
+
- **Aria**: Documentation, content
|
|
180
|
+
|
|
181
|
+
## Timeline
|
|
182
|
+
|
|
183
|
+
| Week | Milestone |
|
|
184
|
+
|------|-----------|
|
|
185
|
+
| 1 | CLI scaffold, scan/suggest commands |
|
|
186
|
+
| 2 | Generate/validate commands, beta launch |
|
|
187
|
+
| 3 | Inject command, CI integration |
|
|
188
|
+
| 4 | ProductHunt launch, enterprise outreach |
|
|
189
|
+
|
|
190
|
+
## Appendix
|
|
191
|
+
|
|
192
|
+
### WebMCP Reference
|
|
193
|
+
- Spec: https://webmcp.link
|
|
194
|
+
- Chrome flags: chrome://flags → WebMCP
|
|
195
|
+
- W3C Community Group: Web Machine Learning CG
|
|
196
|
+
|
|
197
|
+
### Competitive Landscape
|
|
198
|
+
- No direct competitors yet (first mover advantage)
|
|
199
|
+
- Indirect: Puppeteer, Playwright (low-level), browser extensions
|