Skip to main content
Glama

Cloudflare Remote PostgreSQL Database MCP Server

claude-code-prp-setup.md8.26 kB
# Claude Code PRP Setup Documentation This document explains the comprehensive Product Requirement Prompt (PRP) system setup for MCP (Model Context Protocol) servers that was implemented across three Claude Code sessions. ## Overview We created a specialized PRP system tailored for building production-ready MCP servers with GitHub OAuth authentication, PostgreSQL database integration, and Cloudflare Workers deployment. This system enables developers to go from concept to deployed MCP server through a single, well-structured PRP execution. ## Session 1: Initial PRP Template Creation ### What Was Created - **File**: `PRPs/templates/prp_mcp_server.md` (534 lines) - **Purpose**: A comprehensive PRP template for building production-ready MCP servers ### Key Features 1. **Production-Ready Patterns**: Based on the existing remote-mcp-server-with-auth codebase 2. **Authentication Integration**: GitHub OAuth flow patterns with cookie-based approval 3. **Database Integration**: PostgreSQL connection management with security best practices 4. **Validation Loops**: 6-level validation from syntax checking to production deployment 5. **Tool Development Patterns**: Three patterns (simple, authenticated, database-integrated) ### Template Structure ``` - Context Section: Critical documentation links and common gotchas - Implementation Blueprint: Step-by-step tasks with code patterns - Validation Loops: Comprehensive testing at every level - Tool Patterns: Reusable patterns for MCP tool development - Integration Points: Cloudflare Workers, OAuth, database connections ``` ## Session 2: CLAUDE.md Adaptation ### The Challenge The original CLAUDE.md file was written for a Python-based MCP builder project using UV package management, but the actual codebase is Node.js/TypeScript using Cloudflare Workers. ### What Was Updated - **File**: `CLAUDE.md` (completely rewritten, 932 lines) - **Removed**: All Python/UV references and vertical slice architecture - **Added**: Node.js/npm/TypeScript patterns and Wrangler CLI documentation ### Key Additions 1. **Wrangler CLI Commands**: Complete reference with real examples - Development: `wrangler dev`, `wrangler dev --config` - Deployment: `wrangler deploy`, `wrangler deploy --dry-run` - Secrets: `wrangler secret put/list/delete` - KV Storage: `wrangler kv namespace create/list` - Monitoring: `wrangler tail`, `wrangler types` 2. **Project Architecture Documentation**: - File structure with TypeScript sources - Three MCP server patterns (standard, Sentry-enabled, simple math) - Authentication flow architecture - Database security implementation 3. **Development Standards**: - TypeScript with Zod validation - Error handling patterns - MCP-compatible response formats - Sentry monitoring integration (optional) ## Session 3: Complete PRP System Implementation ### What Was Created #### 1. Core PRP Commands - **`.claude/commands/prp-mcp-create.md`** (118 lines) - Creates comprehensive MCP server PRPs - Deep research methodology - Integration with TodoWrite tool - **`.claude/commands/prp-mcp-execute.md`** (261 lines) - Executes MCP server PRPs with validation - Multi-stage deployment process - Production deployment verification #### 2. AI Documentation Library - **`PRPs/ai_docs/mcp_patterns.md`** (491 lines) - Core MCP development patterns - Security best practices - Tool/resource/prompt patterns - **`PRPs/ai_docs/cloudflare_workers_setup.md`** (539 lines) - Complete deployment guide - Environment configuration - Troubleshooting common issues - **`PRPs/ai_docs/oauth_integration.md`** (701 lines) - GitHub OAuth 2.0 flow - Cookie security implementation - Permission management patterns #### 3. MCP-Specific PRP Template - **`PRPs/templates/prp_mcp_base.md`** (574 lines) - Specialized template for MCP servers - References all ai_docs - Comprehensive validation loops - Production-ready patterns ### Validation Results - 2,700+ lines of documentation created - All cross-references validated - Integration with existing codebase patterns confirmed - Commands follow established PRP conventions ## How the System Works ### 1. Creating an MCP Server PRP ```bash # Developer runs: /prp-mcp-create "Build an MCP server for weather data with caching" # Claude Code: 1. Uses TodoWrite to plan research 2. Analyzes existing codebase patterns 3. Reads PRPs/templates/prp_mcp_base.md 4. Customizes template with specific requirements 5. Includes all necessary context from ai_docs 6. Generates comprehensive PRP document ``` ### 2. Executing the MCP Server PRP ```bash # Developer runs: /prp-mcp-execute weather-mcp-server.md # Claude Code: 1. Creates comprehensive todo list 2. Sets up project structure 3. Implements MCP server with tools 4. Adds authentication if required 5. Integrates database if needed 6. Runs validation loops: - TypeScript compilation - Local testing with wrangler dev - MCP Inspector testing - OAuth flow verification - Production deployment ``` ## Key Benefits 1. **Consistency**: Every MCP server follows proven patterns 2. **Security**: Built-in authentication and SQL injection protection 3. **Production-Ready**: Includes monitoring, error handling, and deployment 4. **Comprehensive**: From initial setup to production deployment 5. **Validated**: Multi-level testing ensures quality ## File Structure Created ``` .claude/ ├── commands/ │ ├── prp-mcp-create.md # Creates MCP server PRPs │ └── prp-mcp-execute.md # Executes MCP server PRPs PRPs/ ├── templates/ │ ├── prp_base.md # General PRP template (existing) │ ├── prp_mcp_server.md # Session 1 template │ └── prp_mcp_base.md # Session 3 template (primary) └── ai_docs/ ├── mcp_patterns.md # Core development patterns ├── cloudflare_workers_setup.md # Deployment guide └── oauth_integration.md # Authentication patterns CLAUDE.md # Adapted implementation guide ``` ## Usage Instructions ### For Developers 1. **To create a new MCP server**: ```bash # Start Claude Code in your project claude-code # Create a PRP for your MCP server /prp-mcp-create "Build an MCP server for [your use case]" # Execute the generated PRP /prp-mcp-execute [generated-prp-file.md] ``` 2. **To understand the patterns**: - Read `CLAUDE.md` for implementation patterns - Check `PRPs/ai_docs/` for specific topics - Review `src/` files for working examples 3. **To deploy to production**: ```bash # Set up secrets wrangler secret put GITHUB_CLIENT_ID wrangler secret put GITHUB_CLIENT_SECRET wrangler secret put DATABASE_URL # Deploy wrangler deploy ``` ## Next Steps 1. **Test the System**: Create a sample MCP server using the PRP commands 2. **Iterate on Templates**: Update templates based on real-world usage 3. **Add More Patterns**: Extend ai_docs with additional patterns as discovered 4. **Community Contribution**: Share successful MCP server PRPs as examples ## Technical Details ### PRP Philosophy - **Context is King**: Every PRP includes comprehensive context - **Validation-Driven**: Multiple validation loops ensure quality - **Production-First**: Always consider deployment and monitoring ### MCP Server Architecture - **Cloudflare Workers**: Serverless runtime with global distribution - **Durable Objects**: Stateful MCP agent persistence - **GitHub OAuth**: Secure authentication with permission management - **PostgreSQL**: Database integration with connection pooling ### Security Considerations - SQL injection protection via pattern validation - HMAC-signed cookies for OAuth approval - Role-based access control for tools - Error message sanitization ## Conclusion This PRP system transforms MCP server development from a complex, error-prone process into a streamlined, validated workflow. By leveraging Claude Code's capabilities and the proven patterns from the remote-mcp-server-with-auth codebase, developers can create production-ready MCP servers in under 30 minutes with confidence in security, scalability, and maintainability.

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/technophile-04/sre-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server