### Start Dynoxide MCP Server Source: https://dynoxide.dev/docs/cli Starts the MCP server. Use `--http` to enable Streamable HTTP transport instead of the default stdio transport. ```bash dynoxide mcp ``` ```bash dynoxide mcp --http --port 19280 ``` -------------------------------- ### Install Dynoxide with Homebrew Source: https://dynoxide.dev/docs/installation Install Dynoxide on macOS using the Homebrew package manager. ```bash brew install nubo-db/tap/dynoxide ``` -------------------------------- ### Start Dynoxide Server Source: https://dynoxide.dev/docs/quick-start Run Dynoxide to start a DynamoDB-compatible endpoint with an in-memory database. It listens on http://localhost:8000. ```bash dynoxide ``` -------------------------------- ### Start Dynoxide HTTP Server Source: https://dynoxide.dev/docs/cli Runs the Dynoxide HTTP server. Use `--port` to specify the listening port and `--db-path` for persistent storage. ```bash dynoxide --port 8000 ``` ```bash dynoxide --db-path data.db --port 8000 ``` -------------------------------- ### Start Dynoxide with Persistent Storage Source: https://dynoxide.dev/docs/quick-start Run Dynoxide and specify a database file path to enable persistent storage. Data will be saved to 'data.db' and survive server restarts. ```bash dynoxide --db-path data.db ``` -------------------------------- ### Integration Test Example Source: https://dynoxide.dev/docs/sdk Demonstrates using `Database::memory()` for isolated integration tests. The database is automatically managed and cleaned up. ```rust #[test] fn test_user_creation() { let db = Database::memory().unwrap(); // create table, put item, assert... } ``` -------------------------------- ### Install Dynoxide with npm Source: https://dynoxide.dev/docs/installation Use this command to install Dynoxide as a development dependency in your Node.js project. ```bash npm install --save-dev dynoxide ``` -------------------------------- ### Install Dynoxide with Cargo Source: https://dynoxide.dev/docs/installation Install Dynoxide using Cargo, Rust's package manager, if you have Rust installed. ```bash cargo install dynoxide-rs ``` -------------------------------- ### Run Dynoxide with npx Source: https://dynoxide.dev/docs/installation Execute Dynoxide directly from your project's node_modules after installation. ```bash npx dynoxide ``` -------------------------------- ### Install Encrypted Dynoxide with Cargo Source: https://dynoxide.dev/docs/installation Install the encrypted build of Dynoxide using Cargo, enabling SQLCipher and OpenSSL features. ```bash cargo install dynoxide-rs --no-default-features --features encrypted-full ``` -------------------------------- ### Python boto3 SDK Example Source: https://dynoxide.dev/docs/quick-start Integrate with Dynoxide using Python's boto3 SDK. Configure the DynamoDB resource with the correct endpoint URL. Access key and secret are not validated. ```python import boto3 dynamodb = boto3.resource( 'dynamodb', endpoint_url='http://localhost:8000', region_name='us-east-1', aws_access_key_id='anything', aws_secret_access_key='anything' ) table = dynamodb.Table('users') table.put_item(Item={'id': '2', 'name': 'Grace'}) ``` -------------------------------- ### Start MCP Server with HTTP Transport Source: https://dynoxide.dev/docs/mcp Run the Dynoxide MCP server with HTTP transport enabled on a specified port. Agents can then connect via `http://localhost:19280`. ```bash dynoxide mcp --http --port 19280 ``` -------------------------------- ### Use Dynoxide GitHub Action with Snapshot Source: https://dynoxide.dev/docs/installation Configure the Dynoxide GitHub Action to pre-load a database snapshot from a given URL. Specify the port to run on. ```yaml - uses: nubo-db/dynoxide@v1 with: snapshot-url: https://example.com/test-data.db.zst port: 8000 ``` -------------------------------- ### Configure Encryption Key via File Source: https://dynoxide.dev/docs/configuration Provide a 64-character hex string encryption key using `--encryption-key-file`. Generate a key using openssl. ```bash openssl rand -hex 32 > key.hex dynoxide --db-path data.db --encryption-key-file key.hex ``` -------------------------------- ### Enable MCP Co-hosting Source: https://dynoxide.dev/docs/configuration Run the HTTP server and MCP server together by passing the `--mcp` flag. Configure custom ports and read-only mode if needed. ```bash dynoxide --mcp dynoxide --mcp --mcp-port 19280 --mcp-read-only ``` -------------------------------- ### Use Dynoxide GitHub Action Source: https://dynoxide.dev/docs/installation Integrate Dynoxide into your CI pipelines using the dedicated GitHub Action. Specify the port to run on. ```yaml - uses: nubo-db/dynoxide@v1 with: port: 8000 ``` -------------------------------- ### Configure Network Host Binding Source: https://dynoxide.dev/docs/configuration Use `--host 0.0.0.0` to bind the server to all network interfaces, which is useful in containerized environments like Docker or CI. ```bash dynoxide --host 0.0.0.0 ``` -------------------------------- ### Download Dynoxide Binary for Linux Source: https://dynoxide.dev/docs/installation Download and extract the Dynoxide binary for Linux x86_64 from GitHub releases using curl. ```bash curl -fsSL https://github.com/nubo-db/dynoxide/releases/latest/download/dynoxide-x86_64-unknown-linux-gnu.tar.gz | tar xz ``` -------------------------------- ### Initialize Embedded Database Source: https://dynoxide.dev/docs/sdk Instantiate a Dynoxide Database object. Supports in-memory databases for testing, persistent file-backed databases, and encrypted databases using a provided hex key. ```rust use dynoxide::Database; // In-memory database (great for tests) let db = Database::memory().unwrap(); ``` ```rust // Persistent, file-backed let db = Database::new("data.db").unwrap(); ``` ```rust // Encrypted (requires the encryption feature) let db = Database::new_encrypted("data.db", "your-hex-key").unwrap(); ``` -------------------------------- ### Configure Encryption Key via Environment Variable Source: https://dynoxide.dev/docs/configuration Alternatively, set the `DYNOXIDE_ENCRYPTION_KEY` environment variable with the key's content. ```bash DYNOXIDE_ENCRYPTION_KEY=$(cat key.hex) dynoxide --db-path data.db ``` -------------------------------- ### Configure MCP Server with Response Size Limits Source: https://dynoxide.dev/docs/mcp Set response size limits for the MCP server using `--max-items` and `--max-size-bytes` to control resource consumption. ```bash dynoxide mcp --max-items 100 --max-size-bytes 65536 ``` -------------------------------- ### Create DynamoDB Table with AWS CLI Source: https://dynoxide.dev/docs/quick-start Use the AWS CLI to create a DynamoDB table named 'users' with a string ID attribute. Ensure the endpoint is set to Dynoxide's address. ```bash aws dynamodb create-table \ --table-name users \ --attribute-definitions AttributeName=id,AttributeType=S \ --key-schema AttributeName=id,KeyType=HASH \ --billing-mode PAY_PER_REQUEST \ --endpoint-url http://localhost:8000 ``` -------------------------------- ### Import Data with Anonymization Rules Source: https://dynoxide.dev/docs/cli Imports data and applies anonymization rules defined in a TOML file. Use `--rules` to specify the rules file. ```bash dynoxide import \ --source ./export/ \ --schema schema.json \ --rules rules.toml \ --output anonymised.db ``` -------------------------------- ### Write Item to DynamoDB Table with AWS CLI Source: https://dynoxide.dev/docs/quick-start Use the AWS CLI to add an item to the 'users' table. Specify the table name, item details, and the Dynoxide endpoint. ```bash aws dynamodb put-item \ --table-name users \ --item '{"id":{"S":"1"},"name":{"S":"Ada"},"role":{"S":"engineer"}}' \ --endpoint-url http://localhost:8000 ``` -------------------------------- ### Import Data with Schema Source: https://dynoxide.dev/docs/cli Imports data from a DynamoDB Export. Specify the source directory with `--source` and the schema file with `--schema`. ```bash dynoxide import \ --source ./export-data/ \ --schema schema.json \ --output snapshot.db ``` -------------------------------- ### Add dynoxide-rs Dependency Source: https://dynoxide.dev/docs/sdk Include the dynoxide-rs crate in your Cargo.toml. Use the 'native-sqlite' feature for general use or 'encryption' for encrypted storage. ```toml [dependencies] dynoxide-rs = { version = "0.9", default-features = false, features = ["native-sqlite"] } ``` ```toml [dependencies] dynoxide-rs = { version = "0.9", default-features = false, features = ["encryption"] } ``` -------------------------------- ### Provide Data Model Schema for MCP Source: https://dynoxide.dev/docs/configuration Pass a OneTable schema file to the MCP server using `mcp --data-model` to provide context about entities, keys, and GSIs. ```bash dynoxide mcp --data-model schema.json ``` -------------------------------- ### Configure MCP Server for Read-Only Access Source: https://dynoxide.dev/docs/mcp Use the `--read-only` flag to configure the MCP server for read-only access, suitable for pointing at production snapshots. ```bash dynoxide mcp --read-only --db-path prod-snapshot.db ``` -------------------------------- ### Configure MCP Server for Claude Code Source: https://dynoxide.dev/docs/mcp Add this JSON configuration to your MCP settings to enable the 'dynoxide' server for Claude Code, granting it DynamoDB access. ```json { "mcpServers": { "dynoxide": { "command": "dynoxide", "args": ["mcp", "--db-path", "dev.db"] } } } ``` -------------------------------- ### Read Item from DynamoDB Table with AWS CLI Source: https://dynoxide.dev/docs/quick-start Use the AWS CLI to retrieve an item from the 'users' table by its key. Specify the table name, key, and the Dynoxide endpoint. ```bash aws dynamodb get-item \ --table-name users \ --key '{"id":{"S":"1"}}' \ --endpoint-url http://localhost:8000 ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.