Files
clubber/openspec/changes/add-mcp-server/tasks.md
T
gurixandClaude 8d14e7e75a feat: add MCP server for AI-powered member management
This change implements a Model Context Protocol (MCP) server that
enables AI assistants to manage society members through natural
language interactions.

Changes:
- Add MCP server implementation (src/mcp_server.py)
- Implement 4 core tools:
  * list_members - Query all members
  * get_member - Get specific member by ID
  * create_member - Create new member
  * update_member - Update member information
- Add mcp and httpx dependencies to pyproject.toml
- Update README with comprehensive MCP server documentation
- Create OpenSpec proposal in openspec/changes/add-mcp-server/

The MCP server connects to the GraphQL API via HTTP and provides
structured tools that abstract away GraphQL complexity.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-20 13:54:52 +01:00

2.1 KiB

Implementation Tasks

1. Dependencies

  • 1.1 Add mcp package to pyproject.toml dependencies
  • 1.2 Run uv sync to install new dependency

2. MCP Server Implementation

  • 2.1 Create src/mcp_server.py with server scaffold
  • 2.2 Implement GraphQL client class with httpx
  • 2.3 Implement list_members tool
  • 2.4 Implement get_member tool with ID parameter
  • 2.5 Implement create_member tool with member input
  • 2.6 Implement update_member tool with member update input
  • 2.7 Add configuration via environment variable CLUBBER_API_URL
  • 2.8 Add proper error handling and validation
  • 2.9 Add tool descriptions and parameter schemas

3. Documentation

  • 3.1 Update README with "MCP Server" section
  • 3.2 Document installation and setup steps
  • 3.3 Document environment variable configuration
  • 3.4 Add Claude Code integration instructions
  • 3.5 Provide usage examples for each tool
  • 3.6 Document running the server (python -m src.mcp_server)

4. Testing & Validation

  • 4.1 Start GraphQL API server
  • 4.2 Test list_members tool returns all members
  • 4.3 Test get_member tool with valid ID
  • 4.4 Test get_member tool with invalid ID (error handling)
  • 4.5 Test create_member tool with minimal data (firstName only)
  • 4.6 Test create_member tool with complete data
  • 4.7 Test create_member tool with invalid email (validation error)
  • 4.8 Test update_member tool updates member successfully
  • 4.9 Test update_member tool with invalid ID (error handling)
  • 4.10 Verify MCP server works with Claude Code

5. Code Quality

  • 5.1 Run Black formatting: uv run black src/mcp_server.py
  • 5.2 Run isort: uv run isort src/mcp_server.py
  • 5.3 Run ruff linting: uv run ruff check src/mcp_server.py
  • 5.4 Add type hints to all functions
  • 5.5 Add docstrings to classes and key functions

6. Git & OpenSpec

  • 6.1 Commit all changes with conventional commit message
  • 6.2 Validate OpenSpec proposal: openspec validate add-mcp-server --strict
  • 6.3 Push to remote branch