npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@betterhunt/render-mcp-server

v1.0.9

Published

Model Context Protocol server for Render.com API integration

Downloads

96

Readme

Render MCP Server

A Model Context Protocol (MCP) server that enables Claude Code to interact with Render.com's API for managing deployments, services, and infrastructure.

Features

  • Service Management: List, create, update, and delete Render services
  • Deployment Management: Monitor deployments, view logs, and trigger new deployments
  • Database Management: Handle Render PostgreSQL and Redis instances
  • Environment Variables: Manage environment variables for services
  • Webhook Management: Create and manage webhooks for service events
  • Full TypeScript Support: Type-safe implementation with comprehensive error handling

Installation

NPX (Recommended for Claude Code)

npx @betterhunt/render-mcp-server@latest --access-token YOUR_RENDER_API_TOKEN

Local Development

git clone <repository-url>
cd render-mcp-server
npm install
npm run build
npm start -- --access-token YOUR_RENDER_API_TOKEN

Configuration

Claude Code Integration

Add the following to your Claude Code configuration file (e.g., claude_desktop_config.json):

{
  "mcpServers": {
    "render": {
      "command": "npx",
      "args": [
        "-y",
        "@betterhunt/render-mcp-server@latest",
        "--access-token",
        "your-render-api-token-here"
      ],
      "env": {}
    }
  }
}

Environment Variables (for local dev only)

  • RENDER_API_TOKEN (optional if using CLI arg): Your Render API token
  • MCP_SERVER_PORT: Server port (default: 3000)
  • LOG_LEVEL: Logging level (default: info)
  • RENDER_API_BASE_URL: Render API base URL (default: https://api.render.com/v1)
  • REQUEST_TIMEOUT: Request timeout in milliseconds (default: 30000)
  • MAX_RETRIES: Maximum number of retries for failed requests (default: 3)

Available Tools

Service Management

  • list_services: List all Render services with optional filtering

    {
      ownerId?: string;    // Filter by owner ID
      type?: ServiceType;  // Filter by service type
      limit?: number;      // Number of results (1-100, default: 20)
      cursor?: string;     // Pagination cursor
    }
  • get_service: Get detailed information about a specific service

    {
      serviceId: string;   // The service ID (e.g., "srv-...")
    }
  • create_service: Create a new Render service

    {
      type: ServiceType;   // Service type
      name: string;        // Service name
      ownerId: string;     // Owner ID
      repo: string;        // GitHub repository URL
      branch?: string;     // Branch to deploy
      buildCommand?: string;
      startCommand?: string;
      region?: Region;
      plan?: string;
      envVars?: Array<{key: string; value: string}>;
    }
  • update_service: Update an existing service

    {
      serviceId: string;
      name?: string;
      branch?: string;
      buildCommand?: string;
      startCommand?: string;
      plan?: string;
    }
  • delete_service: Delete a service

    {
      serviceId: string;
    }

Deployment Management

  • list_deployments: List all deployments for a service

    {
      serviceId: string;
      limit?: number;
      cursor?: string;
    }
  • get_deployment: Get deployment details

    {
      serviceId: string;
      deploymentId: string;
    }
  • create_deployment: Trigger a new deployment

    {
      serviceId: string;
      clearCache?: boolean;
    }
  • get_deployment_logs: Retrieve deployment logs

    {
      serviceId: string;
      deploymentId: string;
    }

Database Management

  • list_databases: List all PostgreSQL and Redis databases

    {
      ownerId?: string;
      limit?: number;
      cursor?: string;
    }
  • get_database: Get database details

    {
      databaseId: string;
    }

Environment Variables

  • get_env_vars: Get environment variables for a service

    {
      serviceId: string;
    }
  • set_env_vars: Set or update environment variables

    {
      serviceId: string;
      envVars: Array<{key: string; value: string}>;
    }

Webhook Management

  • list_webhooks: List webhooks for a service

    {
      serviceId: string;
    }
  • create_webhook: Create a new webhook

    {
      serviceId: string;
      url: string;
      events: string[];
    }

Usage Examples

Creating a New Service

// Using Claude Code
const result = await callTool('create_service', {
  type: 'web_service',
  name: 'my-api',
  ownerId: 'usr-xxx',
  repo: 'https://github.com/myuser/myrepo',
  branch: 'main',
  buildCommand: 'npm install && npm run build',
  startCommand: 'npm start',
  region: 'oregon',
  envVars: [
    { key: 'NODE_ENV', value: 'production' },
    { key: 'PORT', value: '3000' }
  ]
});

Triggering a Deployment

const deployment = await callTool('create_deployment', {
  serviceId: 'srv-xxx',
  clearCache: true
});

Managing Environment Variables

// Get current env vars
const currentVars = await callTool('get_env_vars', {
  serviceId: 'srv-xxx'
});

// Update env vars
const updated = await callTool('set_env_vars', {
  serviceId: 'srv-xxx',
  envVars: [
    { key: 'API_KEY', value: 'new-key' },
    { key: 'DEBUG', value: 'false' }
  ]
});

Development

Running in Development Mode

npm run dev

Running Tests

npm test

Linting

npm run lint

Security Considerations

  • Never commit your API token to version control
  • Use environment variables for sensitive configuration
  • The server validates all inputs before making API calls
  • API tokens are never logged or exposed in error messages

Error Handling

The server includes comprehensive error handling:

  • Rate Limiting: Automatically handles Render API rate limits with retry information
  • Authentication Errors: Clear messages for invalid or missing API tokens
  • Validation Errors: Detailed validation error messages for invalid inputs
  • Network Errors: Graceful handling of network timeouts and connection issues

Troubleshooting

Common Issues

  1. "RENDER_API_TOKEN environment variable is required"

    • Ensure you've set the RENDER_API_TOKEN in your environment or .env file
  2. "Invalid API token"

    • Verify your API token is correct and has the necessary permissions
    • Render API tokens should start with rnd_
  3. "Rate limit exceeded"

    • The server will indicate when to retry
    • Consider implementing request queuing for high-volume operations
  4. Connection timeouts

    • Increase the REQUEST_TIMEOUT environment variable
    • Check your network connection to Render's API

Debug Mode

Enable debug logging by setting:

LOG_LEVEL=debug

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests for new functionality
  5. Submit a pull request

License

MIT License - see LICENSE file for details

Support

For issues specific to this MCP server, please open an issue on GitHub.

For Render API documentation, visit: https://api-docs.render.com/

Version History

  • 1.0.0: Initial release with core functionality
    • Service management
    • Deployment operations
    • Database handling
    • Environment variables
    • Webhook management