{
  "access": "public",
  "type": "tutorial",
  "format": "markdown",
  "title": "Quick Start Guide",
  "chunked": true,
  "url": "https://library.datagrout.ai/quick-start",
  "summary": "**Get running with DataGrout in 5 minutes.**",
  "content_markdown": "# Quick Start\n\n**Get running with DataGrout in 5 minutes.**\n\n---\n\n## What can you build?\n\nPick a use case and jump straight to the tools that power it:\n\n| Use Case | What it does | Tools |\n|----------|-------------|-------|\n| **Cross-system data sync** | Pull records from one system, reshape them, push to another | [Discovery](discovery-tools), [Prism](prism-tools), [Flow](flow-inspect-tools) |\n| **Automated reporting** | Fetch data, aggregate, group, and visualize — on a schedule | [Frame](frame-tools), [Prism](prism-tools) (chart), [Scheduler](scheduler-tools) |\n| **Data exploration** | Filter, sort, group, pivot, join — no LLM, zero credits | [Data](data-tools), [Frame](frame-tools) |\n| **Agent memory** | Store facts, query knowledge, enforce constraints across sessions | [Logic](logic-tools) |\n| **Content security** | Detect prompt injection before it reaches your agent loops | [Warden](warden-tools) |\n| **Scheduled workflows** | Defer or recur any tool call or multi-step plan | [Scheduler](scheduler-tools), [Flow](flow-inspect-tools) |\n| **Conditional routing** | Branch workflows based on data conditions | [Flow](flow-inspect-tools) (route) |\n| **Numeric computation** | Generate sequences, compute statistics, detect trends, normalize data, find outliers, rank values | [Math](math-tools) |\n\nAll tools work together — chain a [Discovery](discovery-tools) search into a [Flow](flow-inspect-tools) workflow that uses [Frame](frame-tools) to aggregate and [Prism](prism-tools) to chart the result.\n\n---\n\n## 1. Create a Server\n\nA server is your multiplexed endpoint. All your integrations connect to it, and your agents connect through it.\n\n1. Click the **server dropdown** (top-left) and select **Create New Server**\n2. Enter a **name** (required) and optional **description**\n3. Click **Create Server**\n\nYour server gets a UUID and an MCP endpoint URL:\n\n```\nhttps://gateway.datagrout.ai/servers/{your-uuid}/mcp\n```\n\nYou can find this URL anytime in **Settings > Server Info**. Copy it -- you'll need it to connect.\n\n---\n\n## 2. Create an Access Token\n\n1. Open the **server dropdown** and click the **Settings** icon\n2. Go to the **Authentication** tab\n3. Click **Create Access Token**\n4. Give it a name (or leave blank for an auto-generated one)\n5. Copy the token immediately -- it won't be shown again\n\n---\n\n## 3. Add an Integration\n\n1. Go to the **Home** page (the integrations marketplace)\n2. Find the integration you want (Salesforce, QuickBooks, etc.) and click **Add**\n3. You'll be redirected to the integration details page to complete setup\n\nIf the integration requires OAuth, you'll be prompted to authenticate. For MCP servers, provide the server URL and any required credentials.\n\n---\n\n## 4. Test It\n\n### Option A: Use the Playground\n\nNavigate to the **Playground**, select your server, and type a goal:\n\n```\nShow me all my customers\n```\n\nThe Playground discovers the right tools, builds a plan, and executes it.\n\n### Option B: Use the Sandbox\n\nEach integration has a **Sandbox** tab on its detail page. Select a tool from the dropdown, fill in arguments, and execute it directly in the browser. No agent or SDK required.\n\n### Option C: Use the Inspectors\n\nThe **MCP Inspector** and **JSONRPC Inspector** are free public tools for testing your server connection at the protocol level. Open either inspector, point it at your server URL, and send requests interactively.\n\n### Option D: Use cURL (JSONRPC)\n\nThe JSONRPC endpoint accepts plain HTTP POST requests with no handshake or session setup:\n\n```bash\ncurl -X POST https://gateway.datagrout.ai/servers/{your-uuid}/rpc \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer {your-token}\" \\\n  -d '{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 1,\n    \"method\": \"tools/list\",\n    \"params\": {}\n  }'\n```\n\nThe MCP endpoint (`/mcp`) works with cURL in theory, but requires an SSE initialization handshake and session ID management across requests. The `/rpc` endpoint is stateless and far simpler for quick testing.\n\n### Option E: Use the Conduit SDK\n\n```python\n# pip install datagrout-conduit\nfrom datagrout_conduit import Client\n\nclient = Client(\n    url=\"https://gateway.datagrout.ai/servers/{your-uuid}/mcp\",\n    token=\"{your-token}\"\n)\n\ntools = client.list_tools()\nprint(f\"{len(tools)} tools available\")\n\n# Discover tools by goal\nresults = client.discover(goal=\"get customer by email\")\nfor tool in results:\n    print(f\"  {tool.name} (score: {tool.score:.2f})\")\n```\n\nSee [Conduit SDK](conduit-sdk) for setup in Python, TypeScript, and Rust.\n\n---\n\n## 5. Try Discovery\n\nOnce connected, use the Discovery tools to find what's available:\n\n```bash\ncurl -X POST https://gateway.datagrout.ai/servers/{your-uuid}/rpc \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer {your-token}\" \\\n  -d '{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 2,\n    \"method\": \"tools/call\",\n    \"params\": {\n      \"name\": \"data-grout@1/discovery.discover@1\",\n      \"arguments\": {\n        \"goal\": \"find a customer by email\",\n        \"limit\": 5\n      }\n    }\n  }'\n```\n\nDiscovery returns ranked tools with semantic scores. Your agent sees only the tools relevant to its goal, not the entire catalog.\n\n---\n\n## Next Steps\n\n- [Core Concepts](core-concepts) -- Understand servers, tools, discovery, and policies\n- [Discovery Tools](discovery-tools) -- Complete reference for discovery, plan, guide, and perform\n- [Using the Playground](playground-guide) -- Interactive discovery and execution\n- [Interaction Settings](interaction-settings) -- Configure policies, redaction, and response format\n"
}