diff --git a/.cursor/rules/rp-styleguide.mdc b/.cursor/rules/rp-styleguide.mdc index 9c4fefc5..60a049f0 100644 --- a/.cursor/rules/rp-styleguide.mdc +++ b/.cursor/rules/rp-styleguide.mdc @@ -10,6 +10,7 @@ These are generic terms: endpoint, worker, cluster, template, handler, fine-tune Prefer using paragraphs to bullet points unless directly asked. When using bullet points, end each line with a period. +When a bullet point has a bold label followed by description text, use a colon after the bold text instead of a hyphen (e.g., "**List volumes:** Retrieve all network volumes." not "**List volumes** - Retrieve all network volumes."). When creating a tutorial, always include these sections: diff --git a/docs.json b/docs.json index cfabedbb..83121e08 100644 --- a/docs.json +++ b/docs.json @@ -40,7 +40,8 @@ "get-started", "get-started/concepts", "get-started/manage-accounts", - "get-started/api-keys" + "get-started/api-keys", + "get-started/mcp-servers" ] }, { diff --git a/get-started/mcp-servers.mdx b/get-started/mcp-servers.mdx new file mode 100644 index 00000000..09a233ce --- /dev/null +++ b/get-started/mcp-servers.mdx @@ -0,0 +1,301 @@ +--- +title: "Use Runpod's MCP servers" +sidebarTitle: "Runpod MCP servers" +description: "Connect AI tools to Runpod using the Model Context Protocol for infrastructure management and documentation access." +--- + +Runpod provides two [Model Context Protocol (MCP)](https://modelcontextprotocol.io) servers that connect AI tools and coding agents directly to Runpod: + +- **[Runpod API MCP server](#runpod-api-mcp-server):** Manage Pods, endpoints, templates, volumes, and registries through the Runpod REST API. Requires a [Runpod API key](/get-started/api-keys). +- **[Runpod docs MCP server](#runpod-docs-mcp-server):** Search Runpod documentation for features, code examples, and guides. No authentication required. + +## Runpod API MCP server + +The Runpod API MCP server gives AI tools access to the [Runpod REST API](/api-reference/overview), letting you create and manage Pods, Serverless endpoints, templates, network volumes, and container registries through natural language. + +**Endpoint:** Available via npm package `@runpod/mcp-server` + +**Source code:** [github.com/runpod/runpod-mcp](https://github.com/runpod/runpod-mcp) + +**Authentication:** Requires a [Runpod API key](/get-started/api-keys) + +### Supported clients + +- [Claude Code](#claude-code) +- [Codex CLI](#codex-cli) +- [Cursor](#cursor) +- [VS Code with Copilot](#vs-code-with-copilot) +- [Claude Desktop](#claude-desktop) +- [Windsurf](#windsurf) +- [Cline](#cline) +- [Gemini CLI](#gemini-cli) + +### Claude Code + +```bash +claude mcp add runpod --scope user -e RUNPOD_API_KEY=your_api_key_here -- npx -y @runpod/mcp-server@latest +``` + +Replace `your_api_key_here` with your Runpod API key. The `--scope user` flag makes the server available across all your projects. Run `/mcp` inside Claude Code to verify the connection. + +### Codex CLI + +[Codex CLI](https://github.com/openai/codex) is OpenAI's terminal-based coding agent. + +```bash +codex mcp add runpod --env RUNPOD_API_KEY=your_api_key_here -- npx -y @runpod/mcp-server@latest +``` + +### Cursor + +Add the following to `.cursor/mcp.json` (project-level) or `~/.cursor/mcp.json` (global). This configuration works with both the Cursor IDE and the [Cursor Agent](https://cursor.com/docs/cli/mcp): + +```json +{ + "mcpServers": { + "runpod": { + "command": "npx", + "args": ["-y", "@runpod/mcp-server@latest"], + "env": { + "RUNPOD_API_KEY": "your_api_key_here" + } + } + } +} +``` + +### VS Code with Copilot + +1. Open the Command Palette (Ctrl+Shift+P on Windows/Linux or Cmd+Shift+P on macOS). +2. Run **MCP: Add Server** and select **stdio**. +3. Enter the following details: + - **Name:** `Runpod` + - **Command:** `npx` + - **Arguments:** `-y @runpod/mcp-server@latest` +4. Add environment variable `RUNPOD_API_KEY` with your Runpod API key. +5. Select **Global** or **Workspace** and click **Add**. + +### Claude Desktop + +Add the following to your Claude Desktop config file: + +- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json` +- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json` + +```json +{ + "mcpServers": { + "runpod": { + "command": "npx", + "args": ["-y", "@runpod/mcp-server@latest"], + "env": { + "RUNPOD_API_KEY": "your_api_key_here" + } + } + } +} +``` + +Restart Claude Desktop after saving the file. + +### Windsurf + +Edit `~/.codeium/windsurf/mcp_config.json` (or open from **Settings** > **Cascade** > **MCP Servers** > **View raw config**): + +```json +{ + "mcpServers": { + "runpod": { + "command": "npx", + "args": ["-y", "@runpod/mcp-server@latest"], + "env": { + "RUNPOD_API_KEY": "your_api_key_here" + } + } + } +} +``` + +### Cline + +Open the Cline sidebar in VS Code, click the **MCP Servers** icon, then select **Configure MCP Servers** to edit `cline_mcp_settings.json`: + +```json +{ + "mcpServers": { + "runpod": { + "command": "npx", + "args": ["-y", "@runpod/mcp-server@latest"], + "env": { + "RUNPOD_API_KEY": "your_api_key_here" + }, + "disabled": false + } + } +} +``` + +### Gemini CLI + +Add to `~/.gemini/settings.json` (global) or `.gemini/settings.json` (project-level): + +```json +{ + "mcpServers": { + "runpod": { + "command": "npx", + "args": ["-y", "@runpod/mcp-server@latest"], + "env": { + "RUNPOD_API_KEY": "your_api_key_here" + } + } + } +} +``` + +### Other clients + +For any other MCP-compatible client, use the following connection details: + +- **Command:** `npx` +- **Args:** `-y @runpod/mcp-server@latest` +- **Environment:** `RUNPOD_API_KEY=your_api_key_here` + +### Usage examples + +Once connected, you can interact with your Runpod resources using natural language: + +``` +List all my Runpod Pods +``` + +``` +Create a new Runpod Pod with the following specifications: +- Name: ml-training-pod +- Image: runpod/pytorch:2.1.0-py3.10-cuda11.8.0-devel-ubuntu22.04 +- GPU Type: NVIDIA GeForce RTX 4090 +- GPU Count: 1 +- Cloud Type: SECURE +``` + +``` +Create a Runpod Serverless endpoint with the following configuration: +- Name: image-generation-endpoint +- Template ID: 30zmvf89kd +- Minimum workers: 0 +- Maximum workers: 5 +``` + +``` +Stop the Pod named "ml-training-pod" +``` + +## Runpod docs MCP server + +The Runpod docs MCP server provides access to Runpod's documentation knowledge base, making it easier to get answers about features and how to use them. + +**Endpoint:** `https://docs.runpod.io/mcp` + +**Authentication:** None required + +### Claude Code + +```bash +claude mcp add runpod-docs --scope user --transport http https://docs.runpod.io/mcp +``` + +### Codex CLI + +```bash +codex mcp add runpod-docs --url https://docs.runpod.io/mcp +``` + +### Cursor + +Add to your `.cursor/mcp.json` file: + +```json +{ + "mcpServers": { + "runpod-docs": { + "url": "https://docs.runpod.io/mcp" + } + } +} +``` + +### VS Code with Copilot + +1. Open the Command Palette (Ctrl+Shift+P on Windows/Linux or Cmd+Shift+P on macOS). +2. Run **MCP: Add Server** and select **HTTP**. +3. Enter `https://docs.runpod.io/mcp` as the URL and `Runpod Docs` as the name. +4. Select **Global** or **Workspace** and click **Add**. + +### Claude Desktop + +1. Open **Settings** in Claude Desktop. +2. Navigate to **Connectors** and select **Add custom connector**. +3. Enter `https://docs.runpod.io/mcp` as the URL and click **Add**. + +### Windsurf + +Add to `~/.codeium/windsurf/mcp_config.json`: + +```json +{ + "mcpServers": { + "runpod-docs": { + "serverUrl": "https://docs.runpod.io/mcp" + } + } +} +``` + +### Cline + +Add to `cline_mcp_settings.json`: + +```json +{ + "mcpServers": { + "runpod-docs": { + "url": "https://docs.runpod.io/mcp", + "disabled": false + } + } +} +``` + +### Gemini CLI + +Add to `~/.gemini/settings.json`. Note that Gemini CLI uses `httpUrl` instead of `url`: + +```json +{ + "mcpServers": { + "runpod-docs": { + "httpUrl": "https://docs.runpod.io/mcp" + } + } +} +``` + +### Other clients + +For any other MCP-compatible client, use URL `https://docs.runpod.io/mcp` (HTTP transport). + +### Usage examples + +With the docs MCP server connected, you can ask questions about Runpod features: + +``` +Explain the Runpod Serverless model caching feature +``` + +``` +How do I configure environment variables for a Serverless endpoint? +``` + +``` +How does global networking work in Runpod? +``` diff --git a/hosting/overview.mdx b/hosting/overview.mdx index baac2a63..65f23300 100644 --- a/hosting/overview.mdx +++ b/hosting/overview.mdx @@ -1,22 +1,28 @@ --- -title: "Overview" +title: "Community Cloud hosting" +description: "Runpod is no longer accepting new hosts for Community Cloud." --- -## Runpod GPU hosting opportunity +## Community Cloud host program -Runpod offers a diverse range of GPUs, made possible through proprietary servers and collaboration with trusted community members. If you're interested in integrating your hardware into the Runpod ecosystem, follow the steps below. +Runpod is no longer accepting new hosts for Community Cloud. The Community Cloud host program, which allowed individual compute providers to contribute GPU resources to the Runpod platform, is closed to new participants. -## How to join as a host +Existing Community Cloud hosts can continue to operate their hardware on the platform. Existing Community Cloud resources also remain available to users. -1. Check Eligibility: Make sure you adhere to our [minimum requirements](/hosting/partner-requirements). -2. Connect with us: Currently, we onboard hosts through a manual vetting process. If you have high-quality machines that satisfy our hosting requirements, and at least 20 GPUs in total, please fill out [this form](https://share.hsforms.com/1GYpMeNlSQc6n11toAlgNngecykq). +If you are an existing host and need support, contact the Runpod team through your provider dashboard or at [support@runpod.io](mailto:support@runpod.io). -## Additional hosting information +## For existing hosts -* Pricing: While GPU on-demand prices are consistent, hosts can define a minimum bid price for spot rental. Even though we try as much as possible to maintain stable prices over time, we need to adjust to market trends. +The following information applies to current Community Cloud hosts: -* Safety & Trust: We mandate KYC (Know Your Customer) verification for all hosts to safeguard our users and combat fraud. For larger providers, we require a Provider Agreement and a Service Level Agreement to be completed. +- **Pricing:** While GPU on-demand prices are consistent, hosts can define a minimum bid price for spot rental. Prices may be adjusted over time to reflect market trends. +- **Safety and trust:** All hosts are required to complete KYC (Know Your Customer) verification. Larger providers must complete a Provider Agreement and Service Level Agreement. +- **Provider dashboard:** Existing hosts have access to a provider dashboard to manage resources, deploy hardware, and plan capacity. +- **Rental rates:** Runpod does not publish utilization data publicly. Contact the Runpod team directly for statistics on GPU demand and how hardware quality affects revenue. -* Hosting Experience: As one of our trusted providers, you have access to a fully customized dashboard to manage your resources that you can leverage to deploy hardware and plan your expansion. +## Looking for GPU compute? -* Rental Rates: We do not make utilization data publicly available. However, we are more than happy to provide statistics and information about popular GPU models when directly discussing with you. Furthermore, lots of different variables can impact occupancy. We are more than happy to provide you with in-depth data about how different hardware quality levels can impact your revenue. +If you are looking to use GPUs on Runpod (not host them), see: + +- [Choose a Pod](/pods/choose-a-pod) to find the right GPU for your workload. +- [Serverless overview](/serverless/overview) to run workloads without managing infrastructure. diff --git a/overview.mdx b/overview.mdx index fc3b3ab5..18d8119b 100644 --- a/overview.mdx +++ b/overview.mdx @@ -21,8 +21,8 @@ If you're new to Runpod, start here to learn the essentials and deploy your firs Create API keys to manage your access to Runpod resources. - - Learn how to manage your account, teams, and billing. + + Connect your AI tools to Runpod's MCP servers to manage resources and access docs. @@ -48,12 +48,13 @@ Serverless provides pay-per-second computing with automatic scaling for producti Learn how Serverless billing works and how to optimize your costs. + + Write a handler function, build a worker image, create an endpoint, and send your first request. + Deploy a large language model for text or image generation in minutes using vLLM. - - Build a custom worker and deploy it as a Serverless endpoint. - + ## Pods diff --git a/pods/choose-a-pod.mdx b/pods/choose-a-pod.mdx index 0f0735a8..9a518da8 100644 --- a/pods/choose-a-pod.mdx +++ b/pods/choose-a-pod.mdx @@ -62,7 +62,9 @@ When selecting a Pod, consider these strategies for balancing performance and co Secure Cloud operates in T3/T4 data centers with high reliability, redundancy, security, and fast response times to minimize downtime. It's designed for sensitive and enterprise workloads. -Community Cloud connects individual compute providers to users through a peer-to-peer GPU computing platform. Hosts are invite-only and vetted to maintain quality standards. Community Cloud offers competitive pricing with good server quality, though with less redundancy for power and networking compared to Secure Cloud. +Community Cloud connects individual compute providers to users through a peer-to-peer GPU computing platform. Community Cloud offers competitive pricing with good server quality, though with less redundancy for power and networking compared to Secure Cloud. + +Runpod is no longer accepting new hosts for Community Cloud. Existing Community Cloud resources remain available to users. ## Next steps diff --git a/snippets/tooltips.jsx b/snippets/tooltips.jsx index 1751ca50..c700bd92 100644 --- a/snippets/tooltips.jsx +++ b/snippets/tooltips.jsx @@ -155,6 +155,12 @@ export const NetworkVolumeTooltip = () => { ); }; +export const NetworkVolumesTooltip = () => { + return ( + network volumes + ); +}; + export const VolumeDiskTooltip = () => { return (