Build an MCP server for esa.io API operations using Deno and TypeScript. Follows TDD, includes user info, CRUD operations for posts, and proper FastMCP logging patterns.
Build an MCP server that integrates with esa.io API for managing posts and user information. Uses Deno, TypeScript, and FastMCP framework with strict TDD practices.
Create an MCP server that uses esa.io API for basic operations. Environment variables (`ESA_TOKEN`, `ESA_TEAM_NAME`) are managed via `.env` file. Reference esa.io API documentation at https://docs.esa.io/posts/102.
Execute in strict sequential order with git commits after each phase:
1. Initialize Deno project (`deno init`, configure `biome.json`)
2. Set up environment variables (`.env`, Deno loading with dotenv)
3. Build API client foundation (authentication, base URL)
4. Initialize Memory Bank (`projectbrief.md`, `techContext.md`)
1. Implement user info retrieval (`/user` endpoint with tests)
2. Implement post list retrieval (`/posts` endpoint with search, tests)
3. Implement post detail retrieval (`/posts/:post_number` with tests)
4. Add comprehensive error handling
5. Update Memory Bank (`systemPatterns.md`, `activeContext.md`, `progress.md`)
1. Implement post creation (`POST /posts` with tests)
2. Implement post updates (`PATCH /posts/:post_number` with tests)
3. Implement post deletion (`DELETE /posts/:post_number` with tests)
4. Create documentation (`.ray_local/cursor_docs/`)
5. Update Memory Bank (`productContext.md`)
After ANY code modification, run in sequence:
1. Type checking: `deno check`
2. Tests: `deno test`
3. Formatting: `deno fmt`
4. Linting: `deno lint`
Or use combined task: `deno task check:all` (runs fmt, lint --fix, check sequentially)
**CRITICAL - MCP Server Logging:**
**no-unused-vars:**
**General:**
Always use `as const` for constant definitions to enable strict type inference:
```typescript
// Correct
export const MY_OPTIONS = {
optionA: 'valueA',
optionB: 123,
} as const;
// Incorrect
export const MY_OPTIONS = {
optionA: 'valueA',
optionB: 123,
};
```
1. `GET /user` - Retrieve current user information
2. `GET /posts` - List posts (with search capability)
3. `GET /posts/:post_number` - Get specific post details
4. `POST /posts` - Create new post
5. `PATCH /posts/:post_number` - Update existing post
6. `DELETE /posts/:post_number` - Delete post
Leave a review
No reviews yet. Be the first to review this skill!
# Download SKILL.md from killerskills.ai/api/skills/esaio-mcp-server-development/raw