Commit Graph
16 Commits
Author SHA1 Message Date
gurixandClaude 703bb201e9 chore: add local MCP server configuration
Add .mcp.json for local MCP server testing and development.
Configures the clubber MCP server with uv run to ensure proper
virtual environment activation and connection to local GraphQL API.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 12:04:36 +01:00
gurixandClaude d220c27b67 docs: add OpenSpec proposal for GraphQL tools
Add comprehensive proposal for general GraphQL tools in MCP server:
- proposal.md: Problem statement and impact analysis
- tasks.md: Implementation checklist
- specs/mcp-integration/spec.md: 3 new MCP tool requirements
- specs/graphql-api/spec.md: GraphQL introspection requirement

Proposal introduces get_graphql_schema and execute_graphql_query tools
to enable AI agents to discover and interact with the GraphQL API
dynamically for complex tasks beyond dedicated member tools.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 11:58:55 +01:00
gurixandClaude a94f7d0321 feat: add general GraphQL tools to MCP server
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>
2025-11-21 11:15:22 +01:00
gurix 3cc9e9283f fix: remove accidentally tracked worktree directory 2025-11-20 14:28:34 +01:00
gurixandClaude 093cba8f6d chore: archive add-mcp-server proposal and create mcp-integration spec
Archived the add-mcp-server proposal to archive/2025-11-20-add-mcp-server/
and created the mcp-integration capability spec with 7 requirements.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-20 14:28:02 +01:00
gurixandClaude 7c5201498b docs: update MCP server config with tested uv run command
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>
2025-11-20 14:26:27 +01:00
gurix c86c6d9a64 chore: mark all add-mcp-server tasks as completed 2025-11-20 13:57:53 +01:00
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
gurixandClaude 5bb27bdadf chore: archive add-graphql-member-api proposal and create capability specs
Archive completed GraphQL API implementation proposal:
- Move proposal to openspec/changes/archive/2025-11-20-add-graphql-member-api/
- Create capability specs in openspec/specs/:
  - database-layer: SQLAlchemy async with Alembic migrations
  - graphql-api: Strawberry GraphQL with FastAPI integration
  - member-crud: Member management with conditional validation
  - project-setup: Python 3.11+ with uv package manager

All 73 tasks completed and validated.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-20 13:26:43 +01:00
gurixandClaude 2688616ec6 docs: mark all tasks as completed in add-graphql-member-api proposal
All 73 validation checkboxes marked as completed after successful implementation and testing.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-20 13:25:13 +01:00
gurixandClaude e27701e9bf docs: update README with API server setup and usage instructions
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>
2025-11-20 12:53:09 +01:00
gurixandClaude 1559c48104 feat: implement GraphQL member management API
Implement complete member management system with GraphQL API per OpenSpec proposal.
Only firstName is required; all other fields are optional with conditional validation.

Key features:
- GraphQL CRUD operations (create, read, update, delete members)
- SQLAlchemy 2.0 async with SQLite database
- Alembic database migrations
- Conditional validation (email/phone validated only when provided)
- Member fields: firstName (required), lastName, address, email, phone (all optional)
- Database seed script with sample member
- FastAPI with Strawberry GraphQL integration

Implementation details:
- Python 3.11+ with uv package manager
- Async database sessions throughout
- Proper error handling and validation
- Code quality: black, isort, ruff
- Comprehensive end-to-end testing completed

All 20 tasks from OpenSpec proposal completed successfully.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-20 12:21:13 +01:00
gurixandClaude f3f5e0282c feat: add OpenSpec proposal for GraphQL member API
Create comprehensive OpenSpec proposal for implementing a minimal GraphQL API
for member management with flexible validation requirements.

Key features:
- Only firstName required for member creation
- Conditional validation (email/phone format validated only when provided)
- Full CRUD operations via GraphQL
- SQLite database with Alembic migrations
- FastAPI + Strawberry GraphQL integration

Includes 4 capability specs:
- project-setup: Python project structure with uv dependency management
- database-layer: SQLAlchemy async models with nullable fields
- graphql-api: Strawberry schema with minimal required fields
- member-crud: Business logic with conditional validation

Implementation broken down into 20 discrete tasks across 5 phases.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-20 11:29:06 +01:00
gurixandClaude 88a82b1e4e chore: archive add-initial-readme change and create project-documentation spec
Move completed change to archive (2025-11-19-add-initial-readme) and create
project-documentation specification with 4 requirements for README maintenance.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-19 22:29:22 +01:00
gurixandClaude 57b37c366d docs: add initial README and OpenSpec proposal
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>
2025-11-19 22:26:28 +01:00
gurix df76a89c1b Initial commit 2025-11-19 22:13:05 +01:00