{"id":51030979,"url":"https://github.com/dreamfactorysoftware/create-dreamfactory","last_synced_at":"2026-06-22T00:30:52.544Z","repository":{"id":339493423,"uuid":"1149882946","full_name":"dreamfactorysoftware/create-dreamfactory","owner":"dreamfactorysoftware","description":"One-command DreamFactory setup with Claude AI integration. Governed database APIs with field-level RBAC in minutes.","archived":false,"fork":false,"pushed_at":"2026-02-04T16:23:58.000Z","size":106,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-02-20T03:39:53.620Z","etag":null,"topics":["ai-agents","claude-ai","database-api","database-governance","docker-compose","dreamfactory","llm-tools","mcp","model-context-protocol","rbac","scaffolding-tool","self-hosted"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dreamfactorysoftware.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"docs/security-rbac.md","support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-04T16:23:56.000Z","updated_at":"2026-02-04T16:31:04.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/dreamfactorysoftware/create-dreamfactory","commit_stats":null,"previous_names":["dreamfactorysoftware/create-dreamfactory"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/dreamfactorysoftware/create-dreamfactory","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dreamfactorysoftware%2Fcreate-dreamfactory","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dreamfactorysoftware%2Fcreate-dreamfactory/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dreamfactorysoftware%2Fcreate-dreamfactory/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dreamfactorysoftware%2Fcreate-dreamfactory/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dreamfactorysoftware","download_url":"https://codeload.github.com/dreamfactorysoftware/create-dreamfactory/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dreamfactorysoftware%2Fcreate-dreamfactory/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34630753,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-21T02:00:05.568Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agents","claude-ai","database-api","database-governance","docker-compose","dreamfactory","llm-tools","mcp","model-context-protocol","rbac","scaffolding-tool","self-hosted"],"created_at":"2026-06-22T00:30:52.444Z","updated_at":"2026-06-22T00:30:52.525Z","avatar_url":"https://github.com/dreamfactorysoftware.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# @dreamfactory/create\n\n\u003e One command to get governed database APIs with AI agent integration\n\n[![npm version](https://img.shields.io/npm/v/@dreamfactory/create)](https://www.npmjs.com/package/@dreamfactory/create)\n[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)\n[![Docker](https://img.shields.io/badge/docker-ready-blue.svg)](https://hub.docker.com/r/dreamfactorysoftware/df-docker)\n[![MCP](https://img.shields.io/badge/MCP-compatible-purple.svg)](https://modelcontextprotocol.io)\n\n## TL;DR\n\n**Give Claude AI (or any LLM) secure database access in 3 minutes:**\n\n```bash\nnpx @dreamfactory/create my-project\n```\n\n**What you get:** Self-hosted REST API for your databases with field-level security, SQL injection protection, and Claude Desktop integration out of the box.\n\n**Perfect for:** AI agents, chatbots, LLM-powered analytics, RAG applications, agentic workflows.\n\n**Supported databases:** PostgreSQL, MySQL, MongoDB (OSS) | Oracle, SQL Server, Snowflake, SAP HANA (Commercial).\n\n---\n\n## Problem\n\nConnecting AI agents directly to databases:\n- ❌ Exposes credentials to LLMs\n- ❌ Lacks governance and audit trails\n- ❌ Risks SQL injection from prompt injection attacks\n- ❌ No field-level access control\n\n## Solution\n\nDreamFactory provides a secure API layer with:\n- ✅ Field-level RBAC (block PII from AI queries)\n- ✅ Parameterized queries (prevents SQL injection)\n- ✅ Audit logging (track all AI database access)\n- ✅ 25+ database connectors (Oracle, SQL Server, PostgreSQL, MySQL, MongoDB, Snowflake, etc.)\n- ✅ Identity passthrough for end-user attribution\n\n## Quick Start\n\n```bash\nnpx @dreamfactory/create my-project\ncd my-project\n\n# DreamFactory + Claude AI integration ready in 3 minutes ⚡\n```\n\n## What You Get\n\n- **DreamFactory OSS** running in Docker\n- **PostgreSQL demo database** (Pagila dataset with 15 tables, 100k+ records)\n- **MCP server** for Claude Desktop integration\n- **Pre-configured RBAC** with example access rules\n- **Auto-generated API key** ready to use\n\n## Why DreamFactory for AI Applications\n\n**The Problem with Direct Database Access:**\nWhen AI agents connect directly to databases, they see everything - including PII, credentials, and sensitive business data. Prompt injection attacks can trick LLMs into executing malicious SQL, and there's no audit trail of what the AI accessed.\n\n**DreamFactory's AI-First Solution:**\n- **No Exposed Credentials:** API keys instead of database passwords\n- **Field-Level Control:** Block specific columns (SSN, credit cards, salaries) from AI queries\n- **SQL Injection Proof:** All queries are parameterized automatically\n- **Identity Passthrough:** Track which end-user triggered each AI query\n- **Complete Audit Trail:** Log every API call for compliance (GDPR, HIPAA, SOC 2)\n\n## AI Use Cases\n\n### 1. Claude Desktop with Production Databases\n```\nScenario: Data analyst needs to query production PostgreSQL via natural language\nSetup: 5 minutes with this package\nSecurity: RBAC blocks PII fields, read-only access\nBenefit: Instant insights without SQL knowledge or security risks\n```\n\n### 2. Customer Support Chatbot\n```\nScenario: Support bot needs customer order history and account status\nSetup: Connect your database, configure RBAC to allow orders table (read-only)\nSecurity: Block customer.email, customer.phone, payment.card_number\nBenefit: Bot answers questions without exposing sensitive data\n```\n\n### 3. AI-Powered Analytics Dashboard\n```\nScenario: LLM generates reports from sales, inventory, and customer data\nSetup: DreamFactory API + your favorite LLM (GPT-4, Claude, Llama)\nSecurity: Row-level filters (tenant_id = {user.tenant_id})\nBenefit: Multi-tenant SaaS with AI features, zero data leakage\n```\n\n### 4. RAG with Structured + Unstructured Data\n```\nScenario: Hybrid search across vector DB (documents) + relational DB (metadata)\nSetup: DreamFactory for SQL, your vector DB for embeddings\nSecurity: Consistent RBAC across both data sources\nBenefit: AI answers questions using both knowledge sources\n```\n\n### 5. Agentic Workflows with Database State\n```\nScenario: AI agent manages inventory, orders, notifications\nSetup: DreamFactory REST API with POST/PUT permissions for specific tables\nSecurity: Restrict AI to specific operations (e.g., can create orders, can't delete)\nBenefit: Autonomous AI workflows with governance guardrails\n```\n\n## Comparison to Alternatives\n\n| Feature | DreamFactory | Direct DB Access | Custom API | Supabase |\n|---------|--------------|------------------|------------|----------|\n| **Field-level RBAC** | ✅ | ❌ | Manual | Row-level only |\n| **Oracle/SQL Server/Snowflake** | ✅ (Commercial) | ✅ | Manual | ❌ |\n| **Identity Passthrough** | ✅ | ❌ | Manual | ✅ |\n| **Audit Logging** | ✅ | ❌ | Manual | ✅ |\n| **SQL Injection Protection** | ✅ | Risk | Risk | ✅ |\n| **Self-hosted** | ✅ | ✅ | ✅ | ✅ |\n| **AI/MCP Integration** | ✅ | ❌ | Manual | ❌ |\n| **Time to Setup** | 3 min | N/A | Weeks | Minutes |\n\n## Example: Claude AI Integration\n\nAfter setup, restart Claude Desktop and try these prompts:\n\n### Schema Exploration\n```\nYou: \"What tables are in the demo database?\"\nClaude: Queries and lists: actor, film, customer, rental, payment, store, etc.\n\nYou: \"Show me the schema for the customer table\"\nClaude: Returns columns: customer_id, first_name, last_name, email, phone, address_id...\n```\n\n### Data Queries with Natural Language\n```\nYou: \"Show me the top 10 most rented films\"\nClaude: SELECT film.title, COUNT(*) as rentals\n        FROM rental JOIN inventory JOIN film\n        GROUP BY film.title ORDER BY rentals DESC LIMIT 10\n\nYou: \"Find all customers who rented action movies in the last month\"\nClaude: [Executes complex JOIN across customer, rental, film, category tables]\n```\n\n### RBAC in Action\n```\nYou: \"Get all customer records with their email addresses\"\nClaude: Returns customer data, but email field shows null (blocked by RBAC)\n\nYou: \"Show payment amounts for customer ID 5\"\nClaude: Returns payment records, but amount field is blocked by field-level restrictions\n```\n\n### Multi-Step Analysis\n```\nYou: \"Which actor appears in the most films?\"\nClaude: Queries actor_film join table, returns top actor\n\nYou: \"Now show me all their films sorted by rental count\"\nClaude: Uses previous context to query films for that actor + rental stats\n```\n\n## Architecture\n\n```\n┌─────────────────┐\n│  Claude Desktop │\n└────────┬────────┘\n         │ MCP Protocol\n         ▼\n┌─────────────────────────────┐\n│  DreamFactory API Layer     │\n│  ┌───────────────────────┐  │\n│  │ Field-level RBAC      │  │\n│  │ Parameterized Queries │  │\n│  │ Audit Logging         │  │\n│  └───────────────────────┘  │\n└─────────┬───────────────────┘\n          │ Secure Connection\n          ▼\n    ┌──────────────┐\n    │   Database   │\n    └──────────────┘\n```\n\n## CLI Options\n\n```bash\nnpx @dreamfactory/create [options] [project-name]\n\nOptions:\n  -p, --port \u003cnumber\u003e           DreamFactory port (default: 8080)\n  --admin-password \u003cpassword\u003e   Admin password\n  --skip-claude                 Skip Claude Desktop configuration\n  --no-demo                     Skip demo database setup\n  -h, --help                    Display help\n  -V, --version                 Display version\n```\n\n## Examples\n\n### Basic Setup\n```bash\nnpx @dreamfactory/create my-api\n```\n\n### Custom Port\n```bash\nnpx @dreamfactory/create my-api --port 3000\n```\n\n### Skip Claude Integration\n```bash\nnpx @dreamfactory/create my-api --skip-claude\n```\n\n### Production Setup (No Demo)\n```bash\nnpx @dreamfactory/create production-api --no-demo --port 8443\n```\n\n## Requirements\n\n- **Node.js** 18+ (for running the setup tool)\n- **Docker** \u0026 **Docker Compose** (for running DreamFactory)\n- **8GB RAM** recommended\n- **10GB disk space** for Docker images\n\n## What Gets Created\n\n```\nmy-project/\n├── docker-compose.yml       # DreamFactory, MySQL, Redis, Demo DB\n├── Dockerfile               # DreamFactory image configuration\n├── docker-entrypoint.sh     # Startup script\n├── .env                     # Credentials (DO NOT COMMIT)\n├── daemon/                  # MCP daemon (Node.js)\n│   ├── src/\n│   ├── dist/\n│   └── package.json\n├── README.md                # Project documentation\n└── SETUP.md                 # Example queries and guides\n```\n\n## Post-Setup\n\n### Access DreamFactory\n- **Admin UI:** http://localhost:8080\n- **API Docs:** http://localhost:8080/api/v2/docs\n- **Demo DB API:** http://localhost:8080/api/v2/demo_db\n\n### Manage Services\n```bash\ncd my-project\n\n# Start\ndocker-compose up -d\n\n# Stop\ndocker-compose down\n\n# Logs\ndocker-compose logs -f web\n\n# Restart\ndocker-compose restart\n```\n\n### Connect Your Databases\n\n1. Log into admin interface\n2. Navigate to **Services → Create**\n3. Select database type (PostgreSQL, MySQL, MongoDB, etc.)\n4. Enter connection details\n5. Test \u0026 Save\n\nYour database is now available at:\n```\nhttp://localhost:8080/api/v2/YOUR_SERVICE_NAME\n```\n\n## Claude Desktop Integration\n\nThe setup automatically configures Claude Desktop. To use:\n\n1. **Restart Claude Desktop**\n2. **Start a new chat**\n3. **Try these prompts:**\n   - \"List all tables in the demo database\"\n   - \"Show me the schema for the film table\"\n   - \"Get the top 10 most rented films\"\n   - \"Find all customers who rented action movies\"\n\n## Updating Your Installation\n\n### Update DreamFactory Core\nGet the latest DreamFactory features and bug fixes:\n\n```bash\ncd my-project\n\n# Pull latest Docker images\ndocker compose pull\n\n# Restart with new images\ndocker compose up -d\n\n# Verify update\ncurl http://localhost:8080/api/v2/system/environment | jq '.platform.version_current'\n```\n\n**What gets updated:**\n- ✅ DreamFactory core application\n- ✅ MCP server (PHP package inside DreamFactory)\n- ✅ Security patches and bug fixes\n- ✅ New database connectors (if added to OSS)\n\n### Update MCP Daemon\nThe MCP daemon (Node.js proxy in `daemon/` folder) rarely needs updates. When it does:\n\n**Option 1: Manual Update** (Quick)\n```bash\ncd my-project/daemon\nnpm update  # Updates dependencies only\n```\n\n**Option 2: Fresh Install** (For major daemon changes)\n```bash\n# Run create command again in new directory\nnpx @dreamfactory/create@latest my-project-v2\n# Copy .env from old project if desired\n```\n\n**Future:** v0.2.0 will include `npx @dreamfactory/create upgrade` command for seamless updates.\n\n### When to Update\n\n**Update DreamFactory immediately for:**\n- Security vulnerabilities\n- Critical bug fixes\n- New features you need\n\n**Update daemon only when:**\n- Release notes mention daemon changes\n- You encounter MCP connection issues\n- New authentication methods are added\n\n### Version Pinning (Production)\n\nFor production stability, pin Docker image versions:\n\n```yaml\n# docker-compose.yml\nservices:\n  web:\n    image: dreamfactorysoftware/df-docker:5.0.0  # Specific version\n    # Instead of: dreamfactorysoftware/df-docker:latest\n```\n\nThen update deliberately:\n```bash\n# Edit docker-compose.yml to new version\ndocker compose pull\ndocker compose up -d\n```\n\n## Security Best Practices\n\n### Production Checklist\n- [ ] Change admin password (stored in `.env`)\n- [ ] Configure HTTPS (use nginx/Caddy reverse proxy)\n- [ ] Set up field-level RBAC for all services\n- [ ] Enable audit logging\n- [ ] Rotate API keys regularly\n- [ ] Use environment-specific credentials\n- [ ] Never commit `.env` to version control\n\n### RBAC Configuration\n1. Create roles for different use cases (read-only, admin, etc.)\n2. Assign roles to API keys or users\n3. Configure field-level restrictions:\n   - Block PII fields (email, phone, SSN)\n   - Restrict sensitive columns (salary, credit card)\n   - Apply row-level filters\n\n## Upgrading to Commercial\n\nOSS supports PostgreSQL, MySQL, MongoDB. Need more?\n\n### DreamFactory Commercial Adds:\n- **20+ Additional Connectors**\n  - Oracle, SQL Server, SAP HANA, Snowflake, IBM DB2\n  - Salesforce, ServiceNow, Microsoft Dynamics\n  - SOAP, WSDL, Custom APIs\n- **Enterprise Authentication**\n  - Active Directory / LDAP\n  - SAML 2.0 SSO\n  - OAuth 2.0 providers\n- **Advanced Security**\n  - Field-level encryption\n  - Data masking\n  - Advanced RBAC rules\n- **Enterprise Support**\n  - Professional support \u0026 SLA\n  - Dedicated success manager\n  - Custom integrations\n- **Analytics \u0026 Monitoring**\n  - API usage analytics\n  - Rate limiting \u0026 throttling\n  - Performance monitoring\n\n### Need Oracle, SQL Server, or Other Enterprise Databases?\n\nThe commercial edition includes 20+ additional connectors. **We provide free access to community developers** - no payment required, we just want feedback.\n\nIf you need enterprise database connectors, email **[dspsupport@dreamfactory.com](mailto:dspsupport@dreamfactory.com?subject=NPX%20Package%20-%20Enterprise%20Connectors)** with:\n- You're using `@dreamfactory/create`\n- Which connectors you need (Oracle, SQL Server, Snowflake, SAP HANA, etc.)\n- Your use case\n\nYou'll get commercial Docker images and setup guidance at no cost. We're actively looking for feedback from developers building AI applications.\n\n## Documentation\n\n### Guides Included with This Package\n- **[FAQ](./docs/FAQ.md)** - Frequently asked questions: AI integration, security, Claude Desktop, troubleshooting\n- **[AI Integration Guide](./docs/ai-integration.md)** - Complete guide: MCP, REST API patterns, security, RAG, agentic workflows\n- **[Security \u0026 RBAC](./docs/security-rbac.md)** - Field-level access control, PII protection, audit logging\n- **[Connecting Your Database](./docs/connecting-your-database.md)** - Step-by-step database configuration\n- **[Troubleshooting](./docs/troubleshooting.md)** - Common issues, debugging, performance tuning\n\n### External Resources\n- [DreamFactory Official Docs](https://guide.dreamfactory.com)\n- [API Documentation](https://guide.dreamfactory.com/docs/generating-a-database-backed-api/)\n- [Model Context Protocol](https://modelcontextprotocol.io)\n- [ROADMAP](./ROADMAP.md) - Upcoming features and vision\n\n## Troubleshooting\n\n### Docker Issues\n```bash\n# Check Docker is running\ndocker ps\n\n# Check Docker Compose version\ndocker-compose --version\n\n# View logs\ncd my-project\ndocker-compose logs -f\n```\n\n### Port Conflicts\nThe CLI automatically detects port conflicts and suggests alternatives.\n\n### DreamFactory Won't Start\n```bash\n# Rebuild containers\ndocker-compose down -v\ndocker-compose up --build\n```\n\n### Claude Desktop Not Connecting\n1. Verify MCP config at `~/.config/Claude/claude_desktop_config.json` (Linux)\n2. Check API key in config matches `.env`\n3. Restart Claude Desktop\n4. Verify DreamFactory is running: `curl http://localhost:8080/api/v2/system/environment`\n\n## Contributing\n\nWe welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## License\n\nApache License 2.0 - see [LICENSE](LICENSE)\n\n## Support\n\n- [GitHub Issues](https://github.com/dreamfactorysoftware/create-dreamfactory/issues)\n- [Community Forum](https://community.dreamfactory.com)\n- [Commercial Support](https://www.dreamfactory.com/support)\n\n## About DreamFactory\n\nDreamFactory is an open-source REST API platform for databases, with enterprise features available commercially. Founded in 2013, DreamFactory powers thousands of applications worldwide.\n\n**Created with ❤️ by [DreamFactory Software](https://www.dreamfactory.com)**\n\n---\n\n**Keywords:** dreamfactory, database-api, rest-api, postgresql, mysql, mongodb, oracle, sql-server, claude, mcp, model-context-protocol, ai-agent, llm-database, rbac, field-level-security, database-governance, api-gateway, self-hosted, docker, scaffolding\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdreamfactorysoftware%2Fcreate-dreamfactory","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdreamfactorysoftware%2Fcreate-dreamfactory","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdreamfactorysoftware%2Fcreate-dreamfactory/lists"}