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>
2.0 KiB
2.0 KiB
1. Setup
- 1.1 Create git worktree for feature branch
- 1.2 Verify GraphQL API introspection is enabled (should be default in Strawberry)
2. Implementation
- 2.1 Add
get_graphql_schematool to MCP server- Add introspection query constant
- Implement tool handler that executes introspection
- Format schema response as readable text
- Add tool to list_tools() handler
- 2.2 Add
execute_graphql_querytool to MCP server- Add tool definition with query and variables parameters
- Implement tool handler that executes arbitrary queries
- Format query results as JSON
- Add proper error handling for invalid queries
- Add tool to list_tools() handler
3. Testing
- 3.1 Test
get_graphql_schematool- Verify introspection returns complete schema
- Test error handling when API is unavailable
- 3.2 Test
execute_graphql_querytool- Test simple query execution (e.g., list members)
- Test query with variables (e.g., get member by ID)
- Test mutation execution (e.g., create member)
- Test error handling for invalid queries
- Test error handling for validation errors
4. Documentation
- 4.1 Update README.md
- Add section for new GraphQL tools
- Document
get_graphql_schematool usage - Document
execute_graphql_querytool with examples - Explain when to use general tools vs dedicated member tools
- 4.2 Add usage examples
- Example: Discover schema with AI agent
- Example: Execute custom query
- Example: Execute query with variables
5. Integration
- 5.1 Verify backward compatibility
- Ensure existing dedicated tools still work
- Test that MCP server starts successfully
- 5.2 Manual testing with MCP client
- Test schema retrieval via MCP
- Test query execution via MCP
- Verify formatted output is readable
6. Finalization
- 6.1 Run code formatting (Black, isort, ruff)
- 6.2 Review changes for simplicity
- 6.3 Commit changes with conventional commit message
- 6.4 Remove worktree after merge