Files
clubber/openspec/changes/archive/2025-11-20-add-mcp-server/tasks.md
T

49 lines
2.1 KiB
Markdown
Raw Normal View History

# Implementation Tasks
## 1. Dependencies
- [x] 1.1 Add `mcp` package to pyproject.toml dependencies
- [x] 1.2 Run `uv sync` to install new dependency
## 2. MCP Server Implementation
- [x] 2.1 Create `src/mcp_server.py` with server scaffold
- [x] 2.2 Implement GraphQL client class with httpx
- [x] 2.3 Implement `list_members` tool
- [x] 2.4 Implement `get_member` tool with ID parameter
- [x] 2.5 Implement `create_member` tool with member input
- [x] 2.6 Implement `update_member` tool with member update input
- [x] 2.7 Add configuration via environment variable CLUBBER_API_URL
- [x] 2.8 Add proper error handling and validation
- [x] 2.9 Add tool descriptions and parameter schemas
## 3. Documentation
- [x] 3.1 Update README with "MCP Server" section
- [x] 3.2 Document installation and setup steps
- [x] 3.3 Document environment variable configuration
- [x] 3.4 Add Claude Code integration instructions
- [x] 3.5 Provide usage examples for each tool
- [x] 3.6 Document running the server (`python -m src.mcp_server`)
## 4. Testing & Validation
- [x] 4.1 Start GraphQL API server
- [x] 4.2 Test `list_members` tool returns all members
- [x] 4.3 Test `get_member` tool with valid ID
- [x] 4.4 Test `get_member` tool with invalid ID (error handling)
- [x] 4.5 Test `create_member` tool with minimal data (firstName only)
- [x] 4.6 Test `create_member` tool with complete data
- [x] 4.7 Test `create_member` tool with invalid email (validation error)
- [x] 4.8 Test `update_member` tool updates member successfully
- [x] 4.9 Test `update_member` tool with invalid ID (error handling)
- [x] 4.10 Verify MCP server works with Claude Code
## 5. Code Quality
- [x] 5.1 Run Black formatting: `uv run black src/mcp_server.py`
- [x] 5.2 Run isort: `uv run isort src/mcp_server.py`
- [x] 5.3 Run ruff linting: `uv run ruff check src/mcp_server.py`
- [x] 5.4 Add type hints to all functions
- [x] 5.5 Add docstrings to classes and key functions
## 6. Git & OpenSpec
- [x] 6.1 Commit all changes with conventional commit message
- [x] 6.2 Validate OpenSpec proposal: `openspec validate add-mcp-server --strict`
- [x] 6.3 Push to remote branch