From 4e3987b554cc8c329469819cc228aeb10d2eb7e7 Mon Sep 17 00:00:00 2001 From: Rachel Lee Nabors Date: Wed, 31 Dec 2025 19:04:38 +0000 Subject: [PATCH 1/2] adds cheat sheet with print styles --- app/_components/cheat-sheet.tsx | 150 ++++++ app/cheat-sheet-print.css | 333 ++++++++++++++ app/en/references/_meta.tsx | 3 + app/en/references/cli-cheat-sheet/page.mdx | 506 +++++++++++++++++++++ 4 files changed, 992 insertions(+) create mode 100644 app/_components/cheat-sheet.tsx create mode 100644 app/cheat-sheet-print.css create mode 100644 app/en/references/cli-cheat-sheet/page.mdx diff --git a/app/_components/cheat-sheet.tsx b/app/_components/cheat-sheet.tsx new file mode 100644 index 000000000..66ccdafe7 --- /dev/null +++ b/app/_components/cheat-sheet.tsx @@ -0,0 +1,150 @@ +"use client"; + +import { AlertTriangle, Info, Lightbulb } from "lucide-react"; +import type React from "react"; + +interface CheatSheetSectionProps { + title: string; + icon: string; + color: + | "red" + | "orange" + | "purple" + | "blue" + | "green" + | "cyan" + | "pink" + | "yellow"; + children: React.ReactNode; +} + +const colorClasses = { + red: "bg-red-500/10 border-red-500/20 dark:bg-red-500/10 dark:border-red-400/30", + orange: + "bg-orange-500/10 border-orange-500/20 dark:bg-orange-500/10 dark:border-orange-400/30", + purple: + "bg-purple-500/10 border-purple-500/20 dark:bg-purple-500/10 dark:border-purple-400/30", + blue: "bg-blue-500/10 border-blue-500/20 dark:bg-blue-500/10 dark:border-blue-400/30", + green: + "bg-green-500/10 border-green-500/20 dark:bg-green-500/10 dark:border-green-400/30", + cyan: "bg-cyan-500/10 border-cyan-500/20 dark:bg-cyan-500/10 dark:border-cyan-400/30", + pink: "bg-pink-500/10 border-pink-500/20 dark:bg-pink-500/10 dark:border-pink-400/30", + yellow: + "bg-yellow-500/10 border-yellow-500/20 dark:bg-yellow-500/10 dark:border-yellow-400/30", +}; + +const headerColorClasses = { + red: "bg-red-500 text-white", + orange: "bg-orange-500 text-white", + purple: "bg-purple-500 text-white", + blue: "bg-blue-500 text-white", + green: "bg-green-500 text-white", + cyan: "bg-cyan-500 text-white", + pink: "bg-pink-500 text-white", + yellow: "bg-yellow-500 text-black", +}; + +export function CheatSheetSection({ + title, + icon, + color, + children, +}: CheatSheetSectionProps) { + return ( +
+
+ {icon} + {title} +
+
+ {children} +
+
+ ); +} + +export function CheatSheetGrid({ + children, + pageNumber, +}: { + children: React.ReactNode; + pageNumber?: number; +}) { + const pageClass = pageNumber ? `cheat-sheet-page-${pageNumber}` : ""; + return ( +
+ {children} +
+ ); +} + +export function CommandBlock({ children }: { children: React.ReactNode }) { + return ( +
+      {children}
+    
+ ); +} + +export function CommandList({ children }: { children: React.ReactNode }) { + return
{children}
; +} + +export function CommandItem({ + command, + description, +}: { + command: string; + description?: string; +}) { + return ( +
+ + {command} + + {description && ( +
+ {description} +
+ )} +
+ ); +} + +export function InfoBox({ + type = "tip", + children, +}: { + type?: "tip" | "note" | "warning"; + children: React.ReactNode; +}) { + const styles = { + tip: "bg-green-50 dark:bg-green-900/20 border-green-200 dark:border-green-800 text-green-800 dark:text-green-200", + note: "bg-blue-50 dark:bg-blue-900/20 border-blue-200 dark:border-blue-800 text-blue-800 dark:text-blue-200", + warning: + "bg-yellow-50 dark:bg-yellow-900/20 border-yellow-200 dark:border-yellow-800 text-yellow-800 dark:text-yellow-200", + }; + + const icons = { + tip: Lightbulb, + note: Info, + warning: AlertTriangle, + }; + + const Icon = icons[type]; + + return ( +
+ + {children} +
+ ); +} diff --git a/app/cheat-sheet-print.css b/app/cheat-sheet-print.css new file mode 100644 index 000000000..289a83af0 --- /dev/null +++ b/app/cheat-sheet-print.css @@ -0,0 +1,333 @@ +/* Print styles for cheat sheet */ +@media print { + /* Page setup for landscape A4/Letter */ + @page { + size: landscape; + margin: 0.5in 0.4in 0.25in 0.4in; + + @top-left { + content: "Arcade CLI Cheat Sheet"; + font-size: 7pt; + font-weight: bold; + } + + @top-center { + content: "Last updated Dec 31, 2024"; + font-size: 6pt; + color: #666; + } + + @top-right { + content: "docs.arcade.dev | github.com/ArcadeAI | discord.gg/arcade"; + font-size: 6pt; + color: #666; + } + } + + /* Hide navigation and other UI elements */ + .nextra-navbar, + .nextra-sidebar, + .nextra-toc, + .nextra-footer, + .nextra-breadcrumb, + .nx-mt-8, + header, + footer, + nav, + aside, + .no-print, + div[class*="mt-12"][class*="mb-8"][class*="text-xs"][class*="text-end"], + div[class*="text-gray-600"][class*="text-end"] time { + display: none !important; + } + + /* Full width content */ + main { + max-width: 100% !important; + padding: 0 !important; + } + + .nx-container { + max-width: 100% !important; + padding: 0 !important; + } + + /* Reset dark mode styles - but be more selective */ + .cheat-sheet-section, + .cheat-sheet-section * { + color: black !important; + border-color: #d1d5db !important; + } + + /* Page title styling - hide in print */ + h1 { + display: none !important; + } + + /* Hide h2 headers in print */ + h2 { + display: none !important; + } + + /* Responsive grid layout for print - 5 columns, 2 rows per page */ + .cheat-sheet-grid { + display: grid !important; + grid-template-columns: repeat(5, 1fr) !important; + grid-auto-rows: calc((100vh - 0.5in - 0.3rem) / 2) !important; + gap: 0.3rem !important; + width: 100% !important; + padding: 0 !important; + margin: 0 !important; + } + + /* Force page break after every 10th item (2 rows of 5) */ + .cheat-sheet-section:nth-child(10n) { + page-break-after: always !important; + margin-bottom: 0 !important; + } + + /* Section cards - responsive sizing */ + .cheat-sheet-section { + page-break-inside: avoid !important; + border: 0.5pt solid #d1d5db !important; + background: white !important; + font-size: 7pt !important; + height: 100% !important; + display: flex !important; + flex-direction: column !important; + } + + /* Section headers - more compact */ + .cheat-sheet-section > div:first-child { + background: #f3f4f6 !important; + color: black !important; + border-bottom: 0.5pt solid #d1d5db !important; + padding: 3pt 4pt !important; + font-weight: bold !important; + font-size: 7pt !important; + } + + /* Section content - more compact and flexible */ + .cheat-sheet-section > div:last-child { + padding: 4pt !important; + flex: 1 !important; + overflow: auto !important; + font-size: 6pt !important; + } + + /* All headings inside sections - smaller */ + .cheat-sheet-section h3, + .cheat-sheet-section strong { + font-size: 6pt !important; + margin: 2pt 0 !important; + font-weight: bold !important; + } + + .cheat-sheet-section h4 { + font-size: 5.5pt !important; + margin: 2pt 0 !important; + font-weight: bold !important; + } + + /* Override any markdown-generated styles */ + .cheat-sheet-section .prose, + .cheat-sheet-section .markdown { + font-size: 5.5pt !important; + } + + .cheat-sheet-section .prose code, + .cheat-sheet-section .markdown code { + font-size: 5.5pt !important; + } + + /* Hide Nextra's terminal UI wrapper */ + .my-4.overflow-hidden.rounded-lg.border > .flex.items-center.justify-between { + display: none !important; + } + + /* Remove terminal wrapper styling */ + .my-4.overflow-hidden.rounded-lg.border { + border: none !important; + background: transparent !important; + margin: 0 !important; + padding: 0 !important; + } + + /* Remove padding from terminal overflow container */ + .my-4.overflow-hidden.rounded-lg.border .overflow-x-auto { + padding: 0 !important; + } + + /* All code elements - smaller for print with light grey background, no borders */ + code, + pre, + .font-mono, + [data-rehype-pretty-code-fragment], + .cheat-sheet-section code, + .cheat-sheet-section pre, + .cheat-sheet-section .font-mono { + font-family: "Courier New", Courier, monospace !important; + font-size: 5.5pt !important; + background: #f0f0f0 !important; + border: none !important; + padding: 1pt 2pt !important; + margin: 1pt 0 !important; + line-height: 1.2 !important; + } + + /* Pre blocks and code containers - light grey background, minimal padding */ + pre, + .cheat-sheet-section pre, + [data-rehype-pretty-code-fragment] pre { + background: #eeeeee !important; + border: none !important; + padding: 2pt 3pt !important; + margin: 2pt 0 !important; + } + + /* Code blocks inside pre elements */ + pre code, + .cheat-sheet-section pre code, + [data-rehype-pretty-code-fragment] code { + background: transparent !important; + padding: 0 !important; + } + + /* Remove padding from ALL pre elements in sections */ + .cheat-sheet-section pre { + padding: 2pt 3pt !important; + } + + /* Remove padding/margin from spans inside code blocks */ + .cheat-sheet-section pre span, + .cheat-sheet-section code span, + .cheat-sheet-section .nextra-code span { + padding: 0 !important; + margin: 0 !important; + display: inline !important; + } + + /* Remove any nextra code block decorations */ + .nextra-code-block, + .nextra-code, + [data-theme], + [data-language] { + border: none !important; + background: #eeeeee !important; + } + + /* Command items - more compact */ + .cheat-sheet-section .space-y-1 code { + display: block !important; + padding: 1pt 2pt !important; + margin-bottom: 1pt !important; + background: #f0f0f0 !important; + } + + /* Descriptions - smaller */ + .text-xs { + font-size: 6pt !important; + line-height: 1.2 !important; + } + + /* Reduce all spacing */ + .space-y-2 { + gap: 2pt !important; + } + + .space-y-3 { + gap: 3pt !important; + } + + .mb-2, + .mt-2 { + margin: 2pt 0 !important; + } + + .mb-3, + .mt-3 { + margin: 3pt 0 !important; + } + + /* Info boxes */ + .bg-green-50, + .bg-blue-50, + .bg-yellow-50 { + background: #f9fafb !important; + border: 0.5pt solid #d1d5db !important; + padding: 4pt !important; + } + + /* Tables */ + .cheat-sheet-section table { + width: 100% !important; + border-collapse: collapse !important; + font-size: 5pt !important; + margin: 2pt 0 !important; + } + + .cheat-sheet-section td, + .cheat-sheet-section th { + padding: 0.5pt 1pt !important; + text-align: left !important; + border: none !important; + font-size: 5pt !important; + } + + .cheat-sheet-section td:first-child { + font-weight: bold !important; + white-space: nowrap !important; + padding-right: 2pt !important; + } + + .cheat-sheet-section th { + background: #f3f4f6 !important; + font-weight: bold !important; + border-bottom: 0.5pt solid #d1d5db !important; + padding: 1pt !important; + } + + /* Links - show URL */ + a[href]:after { + content: none !important; + } + + /* Page breaks */ + .page-break { + page-break-after: always !important; + } + + /* Hide print header by default */ + .print-header, + .print-only { + display: none !important; + } + + .no-print { + display: none !important; + } + + /* Ensure proper spacing and smaller text */ + .cheat-sheet-section p { + margin: 1pt 0 !important; + font-size: 5.5pt !important; + line-height: 1.2 !important; + } + + /* General text in sections */ + .cheat-sheet-section { + font-size: 5.5pt !important; + } + + .cheat-sheet-section ul, + .cheat-sheet-section ol { + margin: 2pt 0 !important; + padding-left: 10pt !important; + font-size: 5.5pt !important; + } + + .cheat-sheet-section li { + margin: 1pt 0 !important; + font-size: 5.5pt !important; + } +} diff --git a/app/en/references/_meta.tsx b/app/en/references/_meta.tsx index 18bfa648f..3ead237da 100644 --- a/app/en/references/_meta.tsx +++ b/app/en/references/_meta.tsx @@ -18,6 +18,9 @@ export const meta: MetaRecord = { mcp: { title: "Arcade MCP", }, + "cli-cheat-sheet": { + title: "CLI Cheat Sheet", + }, }; export default meta; diff --git a/app/en/references/cli-cheat-sheet/page.mdx b/app/en/references/cli-cheat-sheet/page.mdx new file mode 100644 index 000000000..db1283113 --- /dev/null +++ b/app/en/references/cli-cheat-sheet/page.mdx @@ -0,0 +1,506 @@ +--- +title: Arcade CLI Cheat Sheet +description: Quick reference for all Arcade CLI commands - perfect for printing! +--- + +import { + CheatSheetGrid, + CheatSheetSection, + CommandItem, + CommandList, + CommandBlock, + InfoBox +} from '../../../_components/cheat-sheet' +import '../../../cheat-sheet-print.css' + +# Arcade CLI Cheat Sheet + +
+ 📄 Print-friendly! Use your browser's print function (Ctrl/Cmd + P) to get a landscape-oriented version perfect for events and quick reference. The layout will automatically adjust for optimal printing. +
+ + + + + + Install Arcade CLI globally using `uv` (recommended) or `pip`. + + ```bash + uv tool install arcade-mcp # Recommended + pip install arcade-mcp # Alternative + ``` + + Verify installation: + + ```bash + arcade --version + ``` + + Create and run your first server: + + ```bash + arcade new my_server + cd my_server + arcade mcp http + ``` + + Get help on any command: + + ```bash + arcade --help + arcade --help + ``` + + Use `uv` for faster installs and better dependency management + + + + + + Authenticate with Arcade Cloud for deployments and secrets management. + + | Command | Description | + |---------|-------------| + | `arcade login` | Opens browser for OAuth authentication | + | `arcade login --host ` | Login to custom Arcade instance | + | `arcade logout` | Clear local credentials | + | `arcade whoami` | Show logged-in user and active context | + | `arcade dashboard` | Open Arcade web UI in browser | + | `arcade dashboard --local` | Open local dashboard | + + Credentials are stored in `~/.arcade/credentials.yaml` + + + + + + Organizations group projects and team members. Projects contain servers, secrets, and configurations. + + ```bash + # List all organizations + arcade org list + + # Switch active organization + arcade org set + ``` + + Switching organization also resets your active project to that org's default. + + Projects contain servers, secrets, and configurations. + + ```bash + # List projects in active org + arcade project list + + # Switch active project + arcade project set + ``` + + All deploy/secret commands use your active project context. + + + Use `arcade whoami` to see current org/project. + + + + + + Scaffold a new MCP server project with boilerplate code. + + ### Minimal Template (Quick Start) + + ```bash + arcade new my_server + ``` + Creates **pyproject.toml**, **src/my_server/__init__.py**, **src/my_server/server.py**. + + ### Full Template (Production) + + ```bash + arcade new my_server --full + ``` + + Creates: **pyproject.toml**, **my_server/** (package with tools), **tests/**, **evals/**, **Makefile**, **.pre-commit-config.yaml**, **.ruff.toml**, **LICENSE**, **README.md**. + + ### Options + + | Flag | Description | + |------|--------------| + | `--dir ` | Output directory (default: current) | + | `--full`, `-f` | Create full starter project | + + + + + + Start your server locally for development and testing. + + ### Transport Types + + ```bash + # For MCP clients (Claude, Cursor) + arcade mcp stdio + + # For web/API testing + arcade mcp http + ``` + + ### Examples + ```bash + arcade mcp http --port 8080 --reload --debug + arcade mcp stdio --tool-package github + arcade mcp http --discover-installed --show-packages + ``` + + Use `--reload` for faster development iteration + + + + + + View available tools and their schemas from local or remote servers. + + ```bash + # List all tools + arcade show + + # Show local tools only + arcade show --local + + # Show tool details + arcade show -t + + # Full response structure + arcade show -t --full + + # Filter by server + arcade show -T + ``` + + ### Options + + | Flag | Description | + |------|--------------| + | `-t`, `--tool ` | Show specific tool details | + | `-T`, `--server ` | Filter by server | + | `--local`, `-l` | Show local catalog only | + | `--full`, `-f` | Show complete response (auth, logs) | + + + + + + Auto-configure MCP clients to connect to your server. + + ### Supported Clients + + | Client | Command | + |------|--------------| + | Claude Desktop
(`stdio` only) | `arcade configure claude` | + | Cursor IDE
(`stdio` or `http`) | `arcade configure cursor` | + | VS Code
(`stdio` or `http`) | `arcade configure vscode` | + + Claude Desktop only supports `stdio` transport via configuration file. + + ### Options + + | Flag | Description | Default | + |------|-------------|--------| + | `--transport ` | `stdio` or `http` | `stdio` | + | `--host ` | `local` or `arcade` | `local` | + | `--port ` | Port for HTTP transport | `8000` | + | `--name ` | Server name in config | directory name | + | `--entrypoint ` | Entry file for stdio | `server.py` | + +
+ + + + Deploy your MCP server to Arcade Cloud for production use. + + ```bash + arcade deploy + ``` + + ### Options + + | Flag | Description | Default | + |------|-------------|--------| + | `-e`, `--entrypoint ` | Python file that runs MCPApp | `server.py` | + | `--server-name ` | Explicit server name | auto-detected | + | `--server-version ` | Explicit server version | auto-detected | + | `--skip-validate` | Skip local health checks | off | + | `--secrets ` | Secret sync mode (see below) | `auto` | + + ### Secrets Handling + + | Mode | Description | + |------|-------------| + | `auto` | Sync only required secret keys (default) | + | `all` | Sync entire .env file | + | `skip` | Don't sync any secrets | + + Run from your project root (where `pyproject.toml` is located). + + + + + + Manage deployed servers in Arcade Cloud. + + ```bash + # List all servers + arcade server list + + # Get server details + arcade server get + + # Enable a server + arcade server enable + + # Disable a server + arcade server disable + + # Delete a server (permanent!) + arcade server delete + ``` + + + Delete is permanent and cannot be undone + + + + + + View and stream logs from deployed servers. + + ```bash + # View recent logs (last 1h) + arcade server logs + + # Stream live logs + arcade server logs -f # Stream live logs + ``` + + ### Time Range Options + + | Flag | Description | Example | + |------|-------------|---------| + | `-s`, `--since + + + + Store API keys and sensitive configuration for your deployed servers. Secrets are encrypted and scoped to your active project. + + ### List Secrets + ```bash + arcade secret list + ``` + Shows: Key, Type, Description, Last accessed. + + ### Set Secrets + + ```bash + arcade secret set KEY=value + arcade secret set KEY1=v1 KEY2=v2 + ``` + + ### From `.env` File + + ```bash + arcade secret set --from-env + arcade secret set --from-env -f .env.prod + ``` + + ### Delete Secrets + ```bash + arcade secret unset KEY1 KEY2 + ``` + + + Use `arcade secret set --from-env` to sync local .env to Arcade Cloud before deploying. + + + + + + Test tool-calling accuracy with evaluation suites. + ### Run Evaluations + ```bash + arcade evals # Current dir + arcade evals ./evals/ # Specific dir + ``` + ### Capture Mode + ```bash + arcade evals --capture + ``` +### Output Options + +| Flag | Description | +| ---------------------- | ------------------------------------------------- | +| `--details`, `-d` | Show detailed results | +| `--failed-only`, `-f` | Show only failed evals | +| `--file ` | Write results to file | +| `--format ` | Output format: `txt`, `md`, `html`, `json`, `all` | +| `--max-concurrent ` | Concurrent evaluations (default: 1) | +| `--add-context` | Include system/additional messages + + + + +
+ + + + + + + + + + + + + + +
--hostBind address (127.0.0.1)
--portPort number (8000)
--reloadAuto-reload on changes
--debugVerbose logging
--tool-packageLoad specific package
--discover-installedFind arcade-* packages
--show-packagesList loaded packages
--env-filePath to .env file
--nameServer name
--versionServer version
--otel-enableSend logs to OTel
+
+
+ + + + Available on most commands: + + | Flag | Description | + |------|-------------| + | `-h`, `--help` | Show command help | + | `-v`, `--version` | Show CLI version | + | `-d`, `--debug` | Enable debug output | + | `--host ` | Arcade Engine host | + | `--port ` | Arcade Engine port | + | `--tls` | Force TLS connection | + | `--no-tls` | Disable TLS connection | + + + Use `--debug` when troubleshooting issues + + + + + Set these in your shell or `.env` file: + + | Variable | Description | + |----------|--------------| + | `OPENAI_API_KEY` | OpenAI API key (for evals) | + | `ANTHROPIC_API_KEY` | Anthropic API key (for evals) | + | `ARCADE_API_BASE_URL` | Override Arcade API URL | + + ```bash + # In shell + export OPENAI_API_KEY=sk-... + + # Or in .env file + OPENAI_API_KEY=sk-... + ANTHROPIC_API_KEY=sk-ant-... + ``` + + + + + ### Minimal Template (`arcade new my_server`) + +
+    my_server/
+    ├── pyproject.toml          # Dependencies & metadata
+    └── src/my_server/
+        ├── __init__.py
+        └── server.py           # MCPApp entry point
+    
+ + ### Full Template (`arcade new my_server --full`) + +
+    my_server/
+    ├── pyproject.toml          # Dependencies & metadata
+    ├── .pre-commit-config.yaml # Git hooks
+    ├── .ruff.toml              # Linter config
+    ├── Makefile                # Common commands
+    ├── LICENSE
+    ├── README.md
+    ├── my_server/              # Package directory
+    │   ├── __init__.py
+    │   └── tools/
+    │       ├── __init__.py
+    │       └── hello.py        # Example tool
+    ├── tests/
+    │   ├── __init__.py
+    │   └── test_my_server.py
+    └── evals/
+        └── eval_my_server.py   # Evaluation suites
+    
+ + + Add `.env` (local secrets) and `.env.example` (template) to your project. + + +
+ + + ### Common Issues + + | Error | Solution | + |-------|-----------| + | "Not logged in" | Run `arcade login` | + | "Legacy credentials" | Run `arcade logout` then `arcade login` | + | "Module not found" | Run `uv pip install arcade-mcp[evals]` | + | "Server not healthy" | Check `arcade server logs -f` | + | "No tools found" | Verify `--tool-package` or `--discover-installed` | + + ### Debug Tips + ```bash + arcade --debug # Verbose output + arcade server logs -f # Stream live logs + arcade show --local # Verify local tools + ``` + + + + + - Use `--reload` during development for faster iteration + - Use `stdio` transport for Claude Desktop and Cursor + - Use `http` transport for web testing and debugging + - Always set secrets before deploying servers + - Run evaluations before every deploy + - Use `--full` template for production projects + - Check logs immediately after deploying + - Use `--debug` flag to see detailed request info + - Keep `.env.example` updated for your team + - Use project context when working with multiple projects + + + + + Standard development cycle for building MCP servers: + + 1. **`arcade login`** — Authenticate with Arcade Cloud + 2. **`arcade new my_server`** — Create project (Minimal template) + 3. **Edit `src/my_server/server.py`** — Add your tools + 4. **`arcade mcp http --reload`** — Run locally with hot reload + 5. **`arcade configure cursor`** — Connect your IDE + 6. **Test tools in IDE** — Verify functionality + 7. **`arcade evals`** — Run evaluation suites + 8. **`arcade secret set --from-env`** — Sync secrets + 9. **`arcade deploy`** — Deploy to cloud (requires `server.py` entrypoint) + 10. **`arcade server logs -f`** — Monitor logs + + +
+ From 8b764cec6611a9b744f85c4201107ee033896d26 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 31 Dec 2025 19:07:50 +0000 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=A4=96=20Regenerate=20LLMs.txt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/llms.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/llms.txt b/public/llms.txt index 286da23b9..e6ae3115e 100644 --- a/public/llms.txt +++ b/public/llms.txt @@ -1,4 +1,4 @@ - + # Arcade @@ -27,6 +27,7 @@ Arcade delivers three core capabilities: Deploy agents even your security team w ## API Reference - [Arcade API Reference](https://docs.arcade.dev/en/references/api.md): The Arcade API Reference documentation provides users with essential information on how to interact with the Arcade API, including the base URL for requests and links to the OpenAPI specification. It emphasizes the requirement of having an account in good standing and adherence to the Terms of +- [Arcade CLI Cheat Sheet](https://docs.arcade.dev/en/references/cli-cheat-sheet.md): The Arcade CLI Cheat Sheet serves as a quick reference guide for users to efficiently utilize all commands related to the Arcade CLI, including installation, authentication, project management, and server operations. It is designed for easy printing and provides essential commands and tips for various - [Arcade MCP (MCP Server SDK) - Python Overview](https://docs.arcade.dev/en/references/mcp/python/overview.md): This documentation page provides an overview of the Arcade MCP (MCP Server SDK) for Python, detailing its purpose as a secure framework for programmatically building MCP servers with a minimal API. Users will learn about the key components, such as the `M - [Errors](https://docs.arcade.dev/en/references/mcp/python/errors.md): This documentation page provides an overview of domain-specific error types associated with the MCP server and its components, detailing the MCP exception hierarchy for improved error handling and debugging. Users can learn about various exceptions, such as `MCPError`, `ServerError`, - [Middleware](https://docs.arcade.dev/en/references/mcp/python/middleware.md): This documentation page provides an overview of the Middleware component in the Arcade MCP Server SDK for Python, detailing how users can intercept and modify requests and responses during processing. It outlines the base classes and methods for creating custom middleware, as well as built-in middleware