mcp-sunsama 0.2.2 โ 0.4.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/.claude/settings.local.json +2 -1
- package/CHANGELOG.md +22 -0
- package/CLAUDE.md +9 -1
- package/README.md +2 -1
- package/bun.lock +31 -23
- package/dev/sample-data/get-archived-tasks/get-archived-tasks-response.json +3179 -0
- package/dev/sample-data/get-archived-tasks/get-archived-tasks.sh +20 -0
- package/dev/user-stories/filter-tasks-by-stream.md +18 -0
- package/dev/user-stories/get-archived-tasks.md +32 -0
- package/dev/user-stories/implementation-notes.md +19 -0
- package/dist/main.js +54 -1
- package/dist/schemas.d.ts +17 -0
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +7 -0
- package/package.json +3 -3
- package/src/config/transport.ts +12 -6
- package/src/main.ts +71 -12
- package/src/schemas.ts +9 -0
- package/src/utils/task-trimmer.ts +33 -19
- package/TODO_PREPUBLISH.md +0 -182
package/TODO_PREPUBLISH.md
DELETED
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
# MCP Sunsama - Pre-Publish Checklist
|
|
2
|
-
|
|
3
|
-
## ๐จ Critical Blockers (Must Fix Before Publishing)
|
|
4
|
-
|
|
5
|
-
### 1. Package Configuration Issues
|
|
6
|
-
- [x] โ
**Remove `"private": true`** from package.json (publishing now enabled)
|
|
7
|
-
- [x] โ
Add essential package.json metadata:
|
|
8
|
-
- [x] โ
`"version": "0.1.0"`: Initial version
|
|
9
|
-
- [x] โ
`"description": "MCP server for Sunsama API integration"`: Package description
|
|
10
|
-
- [x] โ
`"type": "module"`: ES module support
|
|
11
|
-
- [x] โ
`"keywords": ["mcp", "sunsama", "task-management", "api", "productivity"]`: Search keywords
|
|
12
|
-
- [x] โ
`"author": "Robert Niimi <robertn702@gmail.com>"`: Author information
|
|
13
|
-
- [x] โ
`"license": "MIT"`: License specification
|
|
14
|
-
- [x] โ
`"repository": {"type": "git", "url": "https://github.com/robertn702/mcp-sunsama.git"}`: Git repository
|
|
15
|
-
- [x] โ
`"homepage": "https://github.com/robertn702/mcp-sunsama#readme"`: Homepage URL
|
|
16
|
-
- [x] โ
`"bugs": {"url": "https://github.com/robertn702/mcp-sunsama/issues"}`: Bug tracker
|
|
17
|
-
- [x] โ
`"main": "dist/main.js"`: Entry point
|
|
18
|
-
- [x] โ
`"types": "dist/main.d.ts"`: TypeScript definitions
|
|
19
|
-
- [x] โ
`"bin": {"mcp-sunsama": "./dist/main.js"}`: CLI executable
|
|
20
|
-
- [x] โ
`"publishConfig": {"access": "public"}`: NPM publish settings
|
|
21
|
-
|
|
22
|
-
### 2. Build System Configuration
|
|
23
|
-
- [x] โ
**Fix tsconfig.json** - Build output now properly configured
|
|
24
|
-
- [x] โ
Change `"noEmit": false`
|
|
25
|
-
- [x] โ
Add `"outDir": "dist"`
|
|
26
|
-
- [x] โ
Add `"declaration": true` for TypeScript definitions
|
|
27
|
-
- [x] โ
Add `"declarationMap": true` for source maps
|
|
28
|
-
- [x] โ
Add `"exclude": ["dist", "node_modules"]`
|
|
29
|
-
- [x] โ
Remove `"allowImportingTsExtensions"` (incompatible with emit)
|
|
30
|
-
|
|
31
|
-
### 3. Legal Requirements
|
|
32
|
-
- [x] โ
**Create LICENSE file** (MIT License to match author's other projects)
|
|
33
|
-
|
|
34
|
-
## ๐ฅ High Priority Setup
|
|
35
|
-
|
|
36
|
-
### 4. Changeset Configuration
|
|
37
|
-
- [x] โ
Install changeset: `bun add -D @changesets/cli`
|
|
38
|
-
- [x] โ
Initialize changeset: `bunx changeset init`
|
|
39
|
-
- [x] โ
Add changeset scripts to package.json:
|
|
40
|
-
```json
|
|
41
|
-
{
|
|
42
|
-
"scripts": {
|
|
43
|
-
"changeset": "changeset",
|
|
44
|
-
"version": "changeset version",
|
|
45
|
-
"release": "bun run build && changeset publish"
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
```
|
|
49
|
-
- [x] โ
Configure changeset for public access
|
|
50
|
-
|
|
51
|
-
### 5. Build Scripts & Inspection
|
|
52
|
-
- [x] โ
Build script exists: `"build": "bunx tsc"`
|
|
53
|
-
- [ ] Add additional inspection scripts from mcp-openweathermap:
|
|
54
|
-
```json
|
|
55
|
-
{
|
|
56
|
-
"scripts": {
|
|
57
|
-
"inspect:built": "bunx @modelcontextprotocol/inspector --config ./mcp-inspector.json --server sunsama-built",
|
|
58
|
-
"inspect:http": "bunx @modelcontextprotocol/inspector --config ./mcp-inspector.json --server sunsama-http"
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
```
|
|
62
|
-
- [x] โ
Test build process: `bun run build`
|
|
63
|
-
- [x] โ
Verify dist/ directory is created with .js and .d.ts files
|
|
64
|
-
|
|
65
|
-
### 6. Dependencies Audit
|
|
66
|
-
- [x] โ
Runtime dependencies properly classified
|
|
67
|
-
- [x] โ
**Fix dev dependencies**: Move TypeScript to devDependencies from peerDependencies
|
|
68
|
-
- [x] โ
Add missing `@changesets/cli` to devDependencies
|
|
69
|
-
|
|
70
|
-
## ๐ Medium Priority Improvements
|
|
71
|
-
|
|
72
|
-
### 7. Documentation Enhancements
|
|
73
|
-
- [ ] Add npm installation instructions to README.md
|
|
74
|
-
- [ ] Add npm version badge
|
|
75
|
-
- [ ] Add license badge
|
|
76
|
-
- [ ] Add contribution guidelines section
|
|
77
|
-
- [ ] Update usage examples for npm installation
|
|
78
|
-
- [ ] Add CLAUDE.md file following mcp-openweathermap pattern with:
|
|
79
|
-
- Development commands
|
|
80
|
-
- Architecture overview
|
|
81
|
-
- Core components documentation
|
|
82
|
-
- Version sync instructions (FastMCP server version)
|
|
83
|
-
|
|
84
|
-
### 8. Package Architecture โ
Confirmed
|
|
85
|
-
- [x] โ
**Executable CLI tool** (following mcp-openweathermap pattern)
|
|
86
|
-
- Uses `"bin"` field for CLI executable
|
|
87
|
-
- Server application distributed via npm
|
|
88
|
-
- Matches established MCP server pattern
|
|
89
|
-
|
|
90
|
-
### 9. Testing Infrastructure
|
|
91
|
-
- [ ] Add test files (currently no tests found)
|
|
92
|
-
- [ ] Add `"test"` script that actually runs tests
|
|
93
|
-
- [ ] Consider adding integration tests for Sunsama API
|
|
94
|
-
- [ ] Add CI/CD workflow for automated testing
|
|
95
|
-
|
|
96
|
-
## ๐งช Pre-Publish Testing Checklist
|
|
97
|
-
|
|
98
|
-
### Phase 1: Fix Critical Issues
|
|
99
|
-
- [x] โ
Complete all critical blockers above
|
|
100
|
-
- [x] โ
Test TypeScript compilation: `bun run typecheck`
|
|
101
|
-
- [x] โ
Test build process: `bun run build`
|
|
102
|
-
|
|
103
|
-
### Phase 2: Package Validation
|
|
104
|
-
- [ ] Validate package contents: `npm pack --dry-run`
|
|
105
|
-
- [ ] Review file list - ensure only necessary files included
|
|
106
|
-
- [ ] Check package size is reasonable
|
|
107
|
-
|
|
108
|
-
### Phase 3: Local Testing
|
|
109
|
-
- [ ] Create test package: `npm pack`
|
|
110
|
-
- [ ] Install .tgz file locally in test project
|
|
111
|
-
- [ ] Verify import/require works correctly
|
|
112
|
-
- [ ] Test actual MCP server functionality
|
|
113
|
-
|
|
114
|
-
### Phase 4: Version Management
|
|
115
|
-
- [ ] Create first changeset: `bunx changeset add`
|
|
116
|
-
- [ ] Write meaningful changeset description
|
|
117
|
-
- [ ] Run version bump: `bun run version`
|
|
118
|
-
- [ ] Review generated CHANGELOG.md
|
|
119
|
-
|
|
120
|
-
### Phase 5: Final Publish
|
|
121
|
-
- [ ] **Important**: Update FastMCP server version in `src/main.ts` to match package.json version
|
|
122
|
-
- [ ] Final build: `bun run build`
|
|
123
|
-
- [ ] Final tests: `bun run test`
|
|
124
|
-
- [ ] Publish: `bun run release`
|
|
125
|
-
- [ ] Verify package appears on npm
|
|
126
|
-
- [ ] Test installation from npm: `npm install mcp-sunsama`
|
|
127
|
-
|
|
128
|
-
## ๐ Current Status Assessment
|
|
129
|
-
|
|
130
|
-
### โ
What's Good
|
|
131
|
-
- โ
Well-structured TypeScript codebase with full CRUD operations
|
|
132
|
-
- โ
Comprehensive task mutation tools (create, update-complete, delete)
|
|
133
|
-
- โ
Good README.md documentation
|
|
134
|
-
- โ
Modern build tooling (Bun) and TypeScript setup
|
|
135
|
-
- โ
Environment configuration handling with dual transport modes
|
|
136
|
-
- โ
Proper error handling and logging patterns
|
|
137
|
-
- โ
Schema validation with Zod
|
|
138
|
-
|
|
139
|
-
### โ
All Major Issues Resolved
|
|
140
|
-
- [x] โ
Package marked as private (blocks publishing) - FIXED
|
|
141
|
-
- [x] โ
No build output configuration (noEmit: true) - FIXED
|
|
142
|
-
- [x] โ
Missing LICENSE file - FIXED
|
|
143
|
-
- [x] โ
No changeset setup - FIXED
|
|
144
|
-
- [x] โ
Missing essential package.json metadata - FIXED
|
|
145
|
-
- [x] โ
TypeScript in wrong dependency category - FIXED
|
|
146
|
-
|
|
147
|
-
### โ
Architecture Confirmed
|
|
148
|
-
- โ
MCP server application (matches mcp-openweathermap pattern)
|
|
149
|
-
- โ
NPM publishing is appropriate distribution method
|
|
150
|
-
- โ
CLI executable pattern established
|
|
151
|
-
- โ
Dual transport support (stdio/HTTP) implemented
|
|
152
|
-
|
|
153
|
-
## ๐ Quick Start Command Sequence
|
|
154
|
-
|
|
155
|
-
Ready for first publication:
|
|
156
|
-
|
|
157
|
-
```bash
|
|
158
|
-
# 1. Create first changeset
|
|
159
|
-
bunx changeset add
|
|
160
|
-
|
|
161
|
-
# 2. Version and publish
|
|
162
|
-
bun run version
|
|
163
|
-
bun run release
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
**All setup steps completed!** โ
|
|
167
|
-
|
|
168
|
-
## ๐ Important Notes
|
|
169
|
-
|
|
170
|
-
- **Version Sync**: Always keep FastMCP server version in `src/main.ts` line ~31 synchronized with package.json version
|
|
171
|
-
- **Package Type**: โ
Confirmed as executable CLI tool (matches mcp-openweathermap pattern)
|
|
172
|
-
- **Target Audience**: MCP users who want Sunsama task management integration
|
|
173
|
-
- **Security**: โ
No sensitive information in source code (uses environment variables)
|
|
174
|
-
- **Architecture**: โ
Dual transport MCP server with comprehensive task management tools
|
|
175
|
-
|
|
176
|
-
## ๐ฏ Priority Order
|
|
177
|
-
|
|
178
|
-
1. **Critical Blockers** (Sections 1-3): Must be completed before any publishing attempt
|
|
179
|
-
2. **Changeset Setup** (Section 4): Required for version management
|
|
180
|
-
3. **Build Verification** (Section 5): Ensure compilation works
|
|
181
|
-
4. **Documentation** (Section 7): Improve user experience
|
|
182
|
-
5. **Testing** (Section 9): Add comprehensive test coverage
|