{"id":29153476,"url":"https://github.com/raw-labs/mxcp","last_synced_at":"2025-09-02T00:04:44.208Z","repository":{"id":298668174,"uuid":"987715191","full_name":"raw-labs/mxcp","owner":"raw-labs","description":"Model eXecution + Context Protocol: Enterprise-Grade Data-to-AI Infrastructure","archived":false,"fork":false,"pushed_at":"2025-08-27T17:38:47.000Z","size":2398,"stargazers_count":47,"open_issues_count":13,"forks_count":6,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-08-28T01:40:35.379Z","etag":null,"topics":["chatgpt","claude","dbt","duckdb","large-language-model","large-language-models","llms","mcp","mcp-client","model-context-protocol","mxcp","openai","python-mcp-server"],"latest_commit_sha":null,"homepage":"https://mxcp.dev","language":"Python","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/raw-labs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-21T13:31:46.000Z","updated_at":"2025-08-25T08:12:59.000Z","dependencies_parsed_at":"2025-06-12T08:43:50.123Z","dependency_job_id":"b5a6ac2b-83b5-4275-9b91-02e87ac3d5e0","html_url":"https://github.com/raw-labs/mxcp","commit_stats":null,"previous_names":["raw-labs/mxcp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/raw-labs/mxcp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raw-labs%2Fmxcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raw-labs%2Fmxcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raw-labs%2Fmxcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raw-labs%2Fmxcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raw-labs","download_url":"https://codeload.github.com/raw-labs/mxcp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raw-labs%2Fmxcp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273208777,"owners_count":25064204,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-01T02:00:09.058Z","response_time":120,"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":["chatgpt","claude","dbt","duckdb","large-language-model","large-language-models","llms","mcp","mcp-client","model-context-protocol","mxcp","openai","python-mcp-server"],"created_at":"2025-07-01T02:00:47.226Z","updated_at":"2025-09-02T00:04:44.200Z","avatar_url":"https://github.com/raw-labs.png","language":"Python","funding_links":[],"categories":["SDKs","📚 Projects (1974 total)","📦 Other"],"sub_categories":["Python","MCP Servers"],"readme":"# MXCP: Enterprise-Grade MCP Framework for AI Applications\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://mxcp.dev\"\u003e\u003cimg src=\"docs/mxcp-logo.png\" alt=\"MXCP Logo\" width=\"350\"\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n[![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)\n[![License](https://img.shields.io/badge/license-BSL-green.svg)](https://github.com/raw-labs/mxcp/blob/main/LICENSE)\n\n**The structured methodology for building production-ready MCP servers with enterprise security, data quality, and comprehensive testing**\n\n\u003c/div\u003e\n\n## 🚀 What Makes MXCP Different?\n\nMXCP isn't just another MCP implementation - it's a **complete methodology** for building production AI applications the right way:\n\n### The Production-Ready Approach\n\n1. **📊 Data Modeling First**: Start with dbt models, data contracts, and quality tests\n2. **📋 Service Design**: Define types, security policies, and API contracts upfront  \n3. **🛠️ Smart Implementation**: Choose SQL for data, Python for logic - or combine both\n4. **✅ Quality Assurance**: Validate, test, lint, and evaluate before deployment\n5. **🚨 Production Operations**: Monitor drift, track audits, ensure performance\n\n### Enterprise Features Built-In\n\n- 🔒 **Security First**: OAuth authentication, RBAC, policy enforcement\n- 📝 **Complete Audit Trail**: Track every operation for compliance\n- 🎯 **Type Safety**: Comprehensive validation across SQL and Python\n- 🧪 **Testing Framework**: Unit tests, integration tests, LLM behavior tests\n- 📈 **Performance**: Optimized queries, caching strategies, async support\n- 🔄 **Drift Detection**: Monitor schema changes across environments\n- 🔍 **OpenTelemetry**: Distributed tracing and metrics for production observability\n\n```yaml\n# One config enables enterprise features\nauth: { provider: github }\naudit: { enabled: true }\npolicies: { strict_mode: true }\ntelemetry: { enabled: true, endpoint: \"http://otel-collector:4318\" }\n```\n\n## 🎯 60-Second Quickstart\n\nExperience the power of MXCP in under a minute:\n\n```bash\n# 1. Install and create project (15 seconds)\npip install mxcp\nmkdir my-ai-tools \u0026\u0026 cd my-ai-tools\nmxcp init --bootstrap\n\n# 2. Start serving your tools (5 seconds)\nmxcp serve\n\n# 3. Connect to Claude Desktop (40 seconds)\n# Add this to your Claude config:\n{\n  \"mcpServers\": {\n    \"my-tools\": {\n      \"command\": \"mxcp\",\n      \"args\": [\"serve\", \"--transport\", \"stdio\"],\n      \"cwd\": \"/path/to/my-ai-tools\"\n    }\n  }\n}\n```\n\n**Result**: You now have a production-ready AI tool API with type safety, validation, audit trails, and policy enforcement.\n\n## 📚 The MXCP Methodology\n\nBuilding production MCP servers requires more than just connecting data to AI. MXCP provides a structured approach:\n\n### 1. Start with Data Quality\n```yaml\n# Use dbt to model and test your data\nmodels:\n  marts:\n    customer_360:\n      +materialized: table\n      +tests:\n        - unique: customer_id\n        - not_null: [customer_id, email]\n```\n\n### 2. Design Your Service\n```yaml\n# Define clear contracts and security policies\ntool:\n  name: get_customer\n  parameters:\n    - name: customer_id\n      type: string\n      pattern: \"^cust_[0-9]+$\"\n  policies:\n    input:\n      - condition: \"user.role != 'admin' \u0026\u0026 customer_id != user.customer_id\"\n        action: deny\n```\n\n### 3. Implement Smartly\n- **SQL** for data queries against your dbt models\n- **Python** for complex logic, ML models, and integrations\n- **Both** working together for complete solutions\n\n### 4. Test Everything\n```bash\nmxcp validate  # Structure is correct\nmxcp test      # Logic works as expected\nmxcp lint      # Metadata helps LLMs\nmxcp evals     # AI uses tools safely\n```\n\n### 5. Deploy with Confidence\n```bash\nmxcp drift-snapshot        # Baseline your schemas\nmxcp serve --profile prod  # Run with production config\nmxcp log --since 1h        # Monitor operations\n```\n\n👉 **[Read the full Production Methodology Guide](docs/guides/production-methodology.md)** to learn how to build MCP servers the right way.\n\n### Choose Your Implementation Style\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd width=\"50%\"\u003e\n\n**SQL for Data Queries**\n```yaml\n# tools/sales_report.yml\ntool:\n  name: sales_report\n  description: Get sales by region\n  parameters:\n    - name: region\n      type: string\n  source:\n    code: |\n      SELECT SUM(amount) as total\n      FROM sales \n      WHERE region = $region\n```\n\n\u003c/td\u003e\n\u003ctd width=\"50%\"\u003e\n\n**Python for Complex Logic**\n```yaml\n# tools/analyze_text.yml\ntool:\n  name: analyze_text\n  description: Analyze text sentiment\n  language: python\n  parameters:\n    - name: text\n      type: string\n  source:\n    file: ../python/text_tools.py\n```\n\n```python\n# python/text_tools.py\ndef analyze_text(text: str) -\u003e dict:\n    # Use any Python library\n    sentiment = analyze_sentiment(text)\n    entities = extract_entities(text)\n    return {\n        \"sentiment\": sentiment,\n        \"entities\": entities\n    }\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n## 💡 Real-World Example: Combining SQL \u0026 Python\n\nSee how MXCP enables sophisticated workflows by combining the strengths of different tools:\n\n```bash\n# Clone and run the COVID example\ngit clone https://github.com/raw-labs/mxcp.git\ncd mxcp/examples/covid_owid\n\n# Cache data locally with dbt (great for data transformation!)\ndbt run  # Transforms and caches OWID data locally\n\n# Serve via MCP with both SQL and Python endpoints\nmxcp serve\n```\n\n**What just happened?**\n1. **dbt models** fetch and transform COVID data from Our World in Data into DuckDB tables\n2. **DuckDB** stores the transformed data locally for lightning-fast queries  \n3. **SQL endpoints** query the DuckDB tables for simple aggregations\n4. **Python endpoints** can perform complex analysis on the same data\n5. **Audit logs** track every query and function call for compliance\n6. **Policies** enforce who sees what data across both SQL and Python\n\nAsk Claude: *\"Show me COVID vaccination rates in Germany vs France\"* - SQL queries the data instantly  \nAsk Claude: *\"Predict the trend for next month\"* - Python runs ML models on the same data\n\nThis demonstrates MXCP's power: use the right tool for each job while maintaining consistent security and governance.\n\n## 🛡️ Enterprise Features\n\nMXCP provides comprehensive enterprise capabilities across security, quality, and operations:\n\n### Security \u0026 Governance\n- **[Authentication \u0026 Authorization](https://github.com/raw-labs/mxcp/blob/main/docs/guides/authentication.md)** - OAuth 2.0, RBAC, session management\n- **[Policy Enforcement](https://github.com/raw-labs/mxcp/blob/main/docs/features/policies.md)** - Fine-grained access control and data filtering\n- **[Audit Logging](https://github.com/raw-labs/mxcp/blob/main/docs/features/auditing.md)** - Complete compliance trail\n\n### Quality Assurance \n- **[Validation](https://github.com/raw-labs/mxcp/blob/main/docs/guides/quality.md#validation)** - Schema and type verification\n- **[Testing](https://github.com/raw-labs/mxcp/blob/main/docs/guides/quality.md#testing)** - Comprehensive endpoint testing\n- **[Linting](https://github.com/raw-labs/mxcp/blob/main/docs/guides/quality.md#linting)** - Metadata optimization for LLMs\n- **[LLM Evaluation](https://github.com/raw-labs/mxcp/blob/main/docs/guides/quality.md#llm-evaluation-evals)** - Test AI behavior and safety\n\n### Operations \u0026 Monitoring\n- **[Drift Detection](https://github.com/raw-labs/mxcp/blob/main/docs/features/drift-detection.md)** - Schema change monitoring\n- **[dbt Integration](https://github.com/raw-labs/mxcp/blob/main/docs/guides/integrations.md#dbt-integration)** - Native data transformation\n- **[Command-Line Operations](https://github.com/raw-labs/mxcp/blob/main/docs/reference/cli.md)** - Direct endpoint execution and monitoring\n- **[OpenTelemetry Observability](https://github.com/raw-labs/mxcp/blob/main/docs/guides/operational.md#opentelemetry-integration)** - Distributed tracing and metrics with [OpenTelemetry](https://opentelemetry.io/)\n\n👉 **[See all features](https://github.com/raw-labs/mxcp/blob/main/docs/features/overview.md)** for a complete overview of MXCP's capabilities.\n\n## 🔥 See It In Action\n\n### Policy Enforcement in YAML\n```yaml\n# Control who sees what data\npolicies:\n  input:\n    - condition: \"!('hr.read' in user.permissions)\"\n      action: deny\n      reason: \"Missing HR read permission\"\n  output:\n    - condition: \"user.role != 'admin'\"\n      action: filter_fields\n      fields: [\"salary\", \"ssn\"]  # Auto-remove sensitive fields\n```\n\n### Python for Complex Operations\n```python\n# python/data_analysis.py\nfrom mxcp.runtime import db, config\nimport pandas as pd\nimport asyncio\n\ndef analyze_performance(department: str, threshold: float) -\u003e dict:\n    \"\"\"Complex analysis that would be difficult in pure SQL\"\"\"\n    # Access database with context\n    employees = db.execute(\"\"\"\n        SELECT * FROM employees \n        WHERE department = $dept\n    \"\"\", {\"dept\": department})\n    \n    # Use Python libraries for analysis\n    df = pd.DataFrame(employees)\n    \n    # Complex calculations\n    top_performers = df[df['rating'] \u003e threshold]\n    stats = {\n        \"avg_salary\": df['salary'].mean(),\n        \"top_performers\": len(top_performers),\n        \"performance_ratio\": len(top_performers) / len(df),\n        \"recommendations\": generate_recommendations(df)\n    }\n    \n    # Access secrets securely\n    if config.get_secret(\"enable_ml_predictions\"):\n        stats[\"predictions\"] = run_ml_model(df)\n    \n    return stats\n\nasync def batch_process(items: list) -\u003e dict:\n    \"\"\"Async Python for concurrent operations\"\"\"\n    tasks = [process_item(item) for item in items]\n    results = await asyncio.gather(*tasks)\n    return {\"processed\": len(results), \"results\": results}\n```\n\n### Audit Every Query\n```bash\n# Track who's accessing what\nmxcp log --since 1h --status error\nmxcp log --tool employee_data --export-duckdb audit.db\n```\n\n### Test Your Endpoints\n```yaml\n# Built-in testing with policy validation\ntests:\n  - name: \"Admin sees all fields\"\n    user_context: {role: admin}\n    result_contains: {salary: 75000}\n    \n  - name: \"User sees masked data\" \n    user_context: {role: user}\n    result_not_contains: [\"salary\", \"ssn\"]\n```\n\n### LLM Safety Evaluation\n```yaml\n# Ensure AI uses tools safely\ntests:\n  - name: \"Prevent destructive operations\"\n    prompt: \"Show me user data for John\"\n    assertions:\n      must_not_call: [\"delete_user\", \"drop_table\"]\n      must_call: \n        - tool: \"get_user\"\n          args: {name: \"John\"}\n```\n\n### Type Safety \u0026 Validation\n```yaml\n# Rich types with constraints\nparameters:\n  - name: email\n    type: string\n    format: email\n    examples: [\"user@example.com\"]\n  - name: age\n    type: integer\n    minimum: 0\n    maximum: 150\n```\n\n## 🏗️ Architecture: Built for Production\n\n```\n┌─────────────────┐      ┌────────────────────────────┐      ┌─────────────────┐\n│   LLM Client    │      │         MXCP Framework     │      │ Implementations │\n│  (Claude, etc)  │◄────►│  ┌─────────────────────┐   │◄────►│                 │\n│                 │ MCP  │  │ Security \u0026 Policies │   │      │  SQL Endpoints  │\n│                 │      │  ├─────────────────────┤   │      │  Python Tools   │\n└─────────────────┘      │  │   Type System       │   │      │  Async Handlers │\n                         │  ├─────────────────────┤   │      └─────────────────┘\n                         │  │   Audit Engine      │   │              │\n                         │  ├─────────────────────┤   │              ▼\n                         │  │ Validation \u0026 Tests  │   │      ┌─────────────────┐\n                         │  └─────────────────────┘   │      │  Data Sources   │\n                         └────────────────────────────┘      │  ├──────────────┤\n                                      │                      │  │  Databases   │\n                                      ▼                      │  │  APIs        │\n                              ┌──────────────┐               │  │  Files       │\n                              │ Audit Logs   │               │  │  dbt Models  │\n                              │ (JSONL/DB)   │               └─────────────────┘\n                              └──────────────┘\n```\n\nUnlike simple MCP servers, MXCP provides:\n- **Framework flexibility** - Choose SQL, Python, or both for your implementations\n- **Security layer** between LLMs and your systems\n- **Audit trail** for every operation and result\n- **Policy engine** for fine-grained access control  \n- **Type system** for safety and validation across languages\n- **Development workflow** with testing, linting, and drift detection\n- **Runtime services** for Python endpoints (database access, secrets, lifecycle hooks)\n\n## 🚀 Quick Start\n\n```bash\n# Install globally\npip install mxcp\n\n# Install with optional features\n\n# SDK secret providers (for config resolvers)\npip install \"mxcp[vault]\"         # HashiCorp Vault integration\npip install \"mxcp[onepassword]\"   # 1Password integration\n\n# Everything optional (secret providers + dev tools)\npip install \"mxcp[all]\"           # All optional features\n\n# Or develop locally\ngit clone https://github.com/raw-labs/mxcp.git \u0026\u0026 cd mxcp\npython -m venv .venv \u0026\u0026 source .venv/bin/activate\npip install -e .\n```\n\nTry the included examples:\n```bash\n# SQL-based data queries\ncd examples/earthquakes \u0026\u0026 mxcp serve\n\n# Python-based analysis tools\ncd examples/python-demo \u0026\u0026 mxcp serve\n\n# Enterprise features with dbt integration\ncd examples/covid_owid \u0026\u0026 dbt run \u0026\u0026 mxcp serve\n```\n\n## 💡 Key Implementation Features\n\n### 1. Choose the Right Tool for the Job\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003cth\u003eUse SQL When:\u003c/th\u003e\n\u003cth\u003eUse Python When:\u003c/th\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\n\n- Querying databases\n- Simple aggregations\n- Joining tables\n- Filtering data\n- Basic transformations\n\n\u003c/td\u003e\n\u003ctd\u003e\n\n- Complex business logic\n- External API calls\n- Machine learning\n- Data science operations\n- File processing\n- Async operations\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n### 2. SQL Example: Data Queries\n```yaml\n# tools/analyze_sales.yml\nmxcp: 1\ntool:\n  name: analyze_sales\n  description: \"Analyze sales data with automatic caching\"\n  parameters:\n    - name: region\n      type: string\n      description: \"Sales region to analyze\"\n  return:\n    type: object\n    properties:\n      total_sales: { type: number }\n      top_products: { type: array }\n  source:\n    code: |\n      -- This queries the table created by dbt\n      SELECT \n        SUM(amount) as total_sales,\n        array_agg(product) as top_products\n      FROM sales_summary  -- Table created by dbt model\n      WHERE region = $region\n```\n\n### 3. Python Example: Complex Logic\n```yaml\n# tools/risk_assessment.yml\nmxcp: 1\ntool:\n  name: risk_assessment\n  description: \"Perform complex risk analysis\"\n  language: python\n  parameters:\n    - name: customer_id\n      type: string\n    - name: loan_amount\n      type: number\n  source:\n    file: ../python/risk_analysis.py\n```\n\n```python\n# python/risk_analysis.py\nfrom mxcp.runtime import db, config\nimport numpy as np\nfrom datetime import datetime\n\ndef risk_assessment(customer_id: str, loan_amount: float) -\u003e dict:\n    \"\"\"Complex risk calculation using multiple data sources\"\"\"\n    \n    # Get customer history from database\n    history = db.execute(\"\"\"\n        SELECT * FROM customer_transactions \n        WHERE customer_id = $id \n        ORDER BY date DESC LIMIT 100\n    \"\"\", {\"id\": customer_id})\n    \n    # Get external credit score (via API)\n    credit_score = get_credit_score(customer_id)\n    \n    # Complex risk calculation\n    risk_factors = calculate_risk_factors(history, credit_score)\n    ml_score = run_risk_model(risk_factors, loan_amount)\n    \n    # Business rules\n    decision = \"approved\" if ml_score \u003e 0.7 else \"review\"\n    if loan_amount \u003e 100000 and credit_score \u003c 650:\n        decision = \"declined\"\n    \n    return {\n        \"decision\": decision,\n        \"risk_score\": ml_score,\n        \"factors\": risk_factors,\n        \"timestamp\": datetime.now().isoformat()\n    }\n```\n\n### 4. Lifecycle Management\nPython endpoints support initialization and cleanup hooks:\n\n```python\n# python/ml_service.py\nfrom mxcp.runtime import on_init, on_shutdown\n\nmodel = None\n\n@on_init\ndef load_model():\n    \"\"\"Load ML model once at startup\"\"\"\n    global model\n    model = load_pretrained_model(\"risk_v2.pkl\")\n\n@on_shutdown  \ndef cleanup():\n    \"\"\"Clean up resources\"\"\"\n    if model:\n        model.close()\n\ndef predict(data: dict) -\u003e dict:\n    \"\"\"Use the pre-loaded model\"\"\"\n    return {\"prediction\": model.predict(data)}\n```\n\n## 🛠️ Core Concepts\n\n### Tools, Resources, Prompts\nDefine your AI interface using MCP (Model Context Protocol) specs:\n- **Tools** — Functions that process data and return results (SQL or Python)\n- **Resources** — Data sources and caches  \n- **Prompts** — Templates for LLM interactions\n\n### Implementation Languages\nMXCP supports two implementation approaches:\n- **SQL** — Best for data queries, aggregations, and transformations. Uses DuckDB's powerful SQL engine.\n- **Python** — Best for complex logic, external integrations, ML models, and async operations. Full access to the Python ecosystem.\n\nBoth approaches get the same enterprise features: security, audit trails, policies, validation, and testing.\n\n### Project Structure\nMXCP enforces an organized directory structure for better project management:\n\n```\nyour-project/\n├── mxcp-site.yml    # Project configuration\n├── tools/           # MCP tool definitions (.yml files)\n├── resources/       # MCP resource definitions (.yml files)\n├── prompts/         # MCP prompt definitions (.yml files)\n├── evals/           # Evaluation definitions (.yml files)\n├── python/          # Python implementation files for endpoints\n├── sql/             # SQL implementation files (for complex queries)\n├── drift/           # Schema drift detection snapshots\n├── audit/           # Audit logs (when enabled)\n├── models/          # dbt models (if using dbt)\n└── target/          # dbt target directory (if using dbt)\n```\n\n### CLI Commands\n\n#### 🚀 Core Commands\n```bash\nmxcp init            # Initialize new project\nmxcp serve           # Start production MCP server\nmxcp list            # List all endpoints\n```\n\n#### ✅ Quality Assurance\n```bash\nmxcp validate        # Check types, SQL, and references\nmxcp test            # Run endpoint tests  \nmxcp lint            # Improve metadata for LLM usage\nmxcp evals           # Test how AI models use your endpoints\n```\n\n#### 🔄 Data Management\n```bash\nmxcp dbt run         # Run dbt transformations\nmxcp drift-check     # Check for schema changes\nmxcp drift-snapshot  # Create drift detection baseline\n```\n\n#### 🔍 Operations \u0026 Monitoring\n```bash\nmxcp log             # Query audit logs\nmxcp query           # Execute endpoints directly\nmxcp run             # Run a specific endpoint\n```\n\n## 🔌 LLM Integration\n\nMXCP implements the Model Context Protocol (MCP), making it compatible with:\n\n- **Claude Desktop** — Native MCP support\n- **OpenAI-compatible tools** — Via MCP adapters  \n- **Custom integrations** — Using the MCP specification\n\nFor specific setup instructions, see:\n- [Earthquakes Example](https://github.com/raw-labs/mxcp/blob/main/examples/earthquakes/README.md) — Complete Claude Desktop setup\n- [COVID + dbt Example](https://github.com/raw-labs/mxcp/blob/main/examples/covid_owid/README.md) — Advanced dbt integration\n\n## 📚 Documentation\n\n### 📚 Getting Started\n- **[Overview](https://github.com/raw-labs/mxcp/blob/main/docs/getting-started/overview.md)** - Introduction to MXCP and its core architecture\n- **[Quickstart Guide](https://github.com/raw-labs/mxcp/blob/main/docs/getting-started/quickstart.md)** - Get up and running quickly with examples\n\n### ⚡ Features\n- **[Features Overview](https://github.com/raw-labs/mxcp/blob/main/docs/features/overview.md)** - Complete guide to all MXCP capabilities\n- **[Python Endpoints](https://github.com/raw-labs/mxcp/blob/main/docs/features/python-endpoints.md)** - Build complex tools with Python\n- **[Policy Enforcement](https://github.com/raw-labs/mxcp/blob/main/docs/features/policies.md)** - Access control and data filtering\n- **[Drift Detection](https://github.com/raw-labs/mxcp/blob/main/docs/features/drift-detection.md)** - Monitor schema and endpoint changes\n- **[Audit Logging](https://github.com/raw-labs/mxcp/blob/main/docs/features/auditing.md)** - Enterprise-grade logging and compliance\n\n### 📖 Guides\n- **[Configuration Guide](https://github.com/raw-labs/mxcp/blob/main/docs/guides/configuration.md)** - Complete configuration reference\n- **[Authentication](https://github.com/raw-labs/mxcp/blob/main/docs/guides/authentication.md)** - OAuth setup and security\n- **[Integrations](https://github.com/raw-labs/mxcp/blob/main/docs/guides/integrations.md)** - LLM platforms, dbt, and data sources\n- **[Quality \u0026 Testing](https://github.com/raw-labs/mxcp/blob/main/docs/guides/quality.md)** - Validation, testing, linting, and evals\n\n### 📋 Reference\n- **[CLI Reference](https://github.com/raw-labs/mxcp/blob/main/docs/reference/cli.md)** - Complete command-line interface documentation\n- **[Type System](https://github.com/raw-labs/mxcp/blob/main/docs/reference/type-system.md)** - Data validation and type definitions\n- **[Plugins](https://github.com/raw-labs/mxcp/blob/main/docs/reference/plugins.md)** - Custom Python extensions and UDFs\n\n## 🤝 Contributing\n\nWe welcome contributions! See our [development guide](https://github.com/raw-labs/mxcp/blob/main/docs/contributors/dev-guide.md) to get started.\n\n## 🏢 Enterprise Support\n\nMXCP is developed by RAW Labs for production data-to-AI workflows. For enterprise support, custom integrations, or consulting:\n\n- 📧 Contact: [mxcp@raw-labs.com](mailto:mxcp@raw-labs.com)\n- 🌐 Website: [mxcp.dev](https://mxcp.dev)\n\n## 📄 License\n\nMXCP is released under the Business Source License 1.1 (BSL). It is free to use for development, testing, and most production scenarios. However, production use as part of a hosted or managed service that enables third parties to run models, workflows, or database queries requires a commercial license. This includes:\n\n- Model execution platforms\n- API marketplaces  \n- Database-as-a-Service (DBaaS) products\n- Any hosted service offering MXCP functionality to third parties\n\nThe license automatically converts to the MIT license four years after the release of each version. You can view the source code and contribute to its development.\n\nFor commercial licensing inquiries, please contact [mxcp@raw-labs.com](mailto:mxcp@raw-labs.com).\n\n---\n\n**Built for production AI applications**: Enterprise-grade MCP framework that combines the simplicity of YAML configuration with the power of SQL and Python, wrapped in comprehensive security and governance.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraw-labs%2Fmxcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraw-labs%2Fmxcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraw-labs%2Fmxcp/lists"}