Expand the project structure section to include all directories and files with detailed descriptions. The updated structure now shows:
- Complete src/ layout with all modules
- Test suite organization (unit, integration, e2e, mcp)
- Migration and script directories
- OpenSpec structure with all spec categories
- Configuration files
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Implemented full test coverage for existing features:
- Unit tests (18 tests): Validation logic for email, phone, firstName
- Integration tests (29 tests): Member model, GraphQL queries/mutations
- E2E tests (5 tests): Complete GraphQL API flows over HTTP
- MCP server tests (12 tests): All 6 MCP tools
Test organization:
- tests/unit/ - Pure logic tests
- tests/integration/ - Database and resolver tests
- tests/e2e/ - Full API request/response tests
- tests/mcp/ - MCP server tool tests
- tests/conftest.py - Shared fixtures
All 57 tests passing ✓
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Add two new MCP tools for flexible GraphQL operations:
- get_graphql_schema: Expose complete schema via introspection
- execute_graphql_query: Execute arbitrary queries and mutations
These tools complement existing dedicated member tools by enabling
AI agents to:
- Discover the GraphQL schema dynamically
- Construct custom queries with specific field selection
- Handle complex queries without requiring new dedicated tools
- Work with query variables for parameterized operations
The implementation reuses the existing GraphQLClient class and
adds proper error handling for API unavailability and validation
errors. Schema introspection is formatted as human-readable text
while query results are returned as formatted JSON.
Updated README.md with:
- Documentation for both new tools
- Usage examples for schema discovery and query execution
- Guidance on when to use general vs dedicated tools
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Update the Claude Code MCP configuration to use 'uv run' instead of
direct python execution. This ensures the virtual environment and
dependencies are properly activated when the MCP server starts.
Also added a note about working directory requirements.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
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>
Add comprehensive documentation for running the GraphQL API:
- Complete setup instructions (dependencies, migrations, seeding)
- Server startup commands and endpoints
- Member data model documentation
- GraphQL query and mutation examples
- curl command examples
Replace placeholder "when implemented" comments with actual working instructions.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Add comprehensive README.md documenting project purpose, architecture,
tech stack, and development workflow. Includes OpenSpec proposal
(add-initial-readme) with project documentation specification.
The README describes current state only (early development phase) and
serves as entry point for developers and AI assistants.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>