agent-mcp-sql / app_requirements /5_feature_Docker_Deployment.txt
Timothy Eastridge
MVP requirements
f79f9b7
5. Feature: Docker Deployment
5.1 Story: As a developer, I need everything to run with docker-compose up.
5.1.1 Task: Create docker-compose.yml with services: neo4j (image: neo4j:5), mcp-server (build: ./mcp), agent (build: ./agent), frontend (build: ./frontend), postgres (image: postgres:15)
5.1.2 Task: Define service dependencies: mcp-server depends_on neo4j, agent depends_on mcp-server and postgres, frontend depends_on mcp-server
5.1.3 Task: Create .env.example with all required variables: NEO4J_AUTH, POSTGRES_CONNECTION, LLM_API_KEY, MCP_API_KEYS, annotated with descriptions
5.1.4 Task: Configure volume mounts: ./neo4j/data:/data for Neo4j, ./postgres/data:/var/lib/postgresql/data for PostgreSQL persistence
5.1.5 Task: Add health checks: Neo4j bolt port 7687, PostgreSQL port 5432, MCP server /health endpoint, with restart policies on failure
5.2 Story: As a developer, I need a test workflow to validate the system.
5.2.1 Task: Create init.cypher script that MCP server runs on startup to create "Entity Resolution Demo" workflow with 3 pre-configured instructions
5.2.2 Task: Via MCP write_graph, create instructions: (1) discover_schema with postgres target, (2) find_duplicates with similarity threshold 0.8, (3) merge_entities with merge strategy
5.2.3 Task: Run test by sending "Find duplicate customers" to chat, verify agent executes instruction #1, then pauses for exactly 5 minutes (check logs)
5.2.4 Task: During pause, use Neo4j Browser to edit instruction #2 parameters, changing threshold to 0.9, verify agent uses updated value
5.2.5 Task: After workflow completes, use MCP query_graph to verify all executions logged: "MATCH (e:Execution) RETURN count(e)" should equal 3