Skip to main content
Glama
Renderer MCP Server

Renderer MCP Server

Renderer MCP Server

npm version License: MIT Model Context Protocol

AI-powered assistant for the Renderer portfolio framework

Helps users explore documentation, validate configurations, generate templates, and customize their portfolios through natural language.

Features • Installation • Usage • Tools • Configuration


🌟 Features

  • šŸ“š Interactive Documentation - Search and explore Renderer docs with natural language queries

  • āœ… Configuration Validation - Validate TOML configs with detailed error messages

  • šŸŽØ Template Generation - Generate starter templates customized to your needs

  • šŸ’” Smart Examples - Get configuration examples with explanations

  • šŸ” Feature Discovery - Search for specific Renderer features and capabilities

  • šŸ“– Setup Guides - Step-by-step guides for beginners and advanced users

  • šŸ—‚ļø Repository Browser - Browse Renderer repository files and directories

Related MCP server: Gen-PDF MCP Server

šŸ“¦ Installation

npm install -g renderer-mcp-server

From Source

git clone https://github.com/NishikantaRay/renderer-mcp-server.git
cd renderer-mcp-server
npm install
npm run build
npm link

šŸš€ Usage

With Claude Desktop

  1. Install the server:

    npm install -g renderer-mcp-server
  2. Configure Claude Desktop:

    Edit your Claude config file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

    Add the server configuration:

    {
      "mcpServers": {
        "renderer": {
          "command": "renderer-mcp",
          "env": {
            "GITHUB_TOKEN": "your_github_token_here"
          }
        }
      }
    }
  3. Get a GitHub Token (Optional but recommended):

  4. Restart Claude Desktop

With Other MCP Clients

Any MCP-compatible client can use this server:

import { Client } from "@modelcontextprotocol/sdk/client/index.js";

const client = new Client({
  name: "my-client",
  version: "1.0.0",
});

// Connect to the server
await client.connect({
  command: "renderer-mcp",
  env: {
    GITHUB_TOKEN: process.env.GITHUB_TOKEN,
  },
});

šŸ› ļø Available Tools

1. explore_renderer_docs

Search and explore Renderer framework documentation.

Query: "How do I configure dark mode?"
Returns: Relevant documentation sections

2. get_renderer_file

Get contents of specific files from the Renderer repository.

Path: "config/home.toml"
Returns: File contents with syntax highlighting

3. list_renderer_files

List files and directories in the Renderer repository.

Path: "config"
Returns: Directory listing with file types

4. validate_toml_config

Validate TOML configuration files.

Config Content: "[profile]\nname = 'John'"
Config Type: "home"
Returns: Validation results with suggestions

5. generate_starter_template

Generate customized starter templates.

Input: { name: "John Doe", github: "johndoe", include_projects: true }
Returns: Complete project structure and configs

6. get_config_example

Get example configurations with explanations.

Config Type: "projects"
Returns: Annotated example configuration

7. search_renderer_features

Search for specific features.

Feature: "analytics"
Returns: Feature documentation and examples

8. get_setup_guide

Get setup instructions.

Level: "beginner" | "advanced"
Returns: Step-by-step setup guide

šŸ“‹ Configuration

Environment Variables

  • GITHUB_TOKEN (optional): GitHub personal access token for higher API rate limits

    • Without token: 60 requests/hour

    • With token: 5000 requests/hour

    • Scope required: public_repo

Custom Repository

By default, the server connects to NishikantaRay/renderer. To use a fork or different repository:

Edit src/constants.ts:

export const DEFAULT_CONFIG: RendererConfig = {
    owner: "your-username",
    repo: "your-repo",
    branch: "main"
};

šŸ“ Project Structure

renderer-mcp-server/
ā”œā”€ā”€ src/
│   ā”œā”€ā”€ index.ts           # Main server entry point
│   ā”œā”€ā”€ types.ts           # TypeScript type definitions
│   ā”œā”€ā”€ constants.ts       # Tool definitions and config
│   ā”œā”€ā”€ github.ts          # GitHub API interactions
│   └── tools/             # Tool implementations
│       ā”œā”€ā”€ validator.ts   # TOML validation
│       ā”œā”€ā”€ template.ts    # Template generation
│       ā”œā”€ā”€ examples.ts    # Configuration examples
│       ā”œā”€ā”€ features.ts    # Feature search
│       └── guides.ts      # Setup guides
ā”œā”€ā”€ build/                 # Compiled JavaScript
ā”œā”€ā”€ package.json
ā”œā”€ā”€ tsconfig.json
└── README.md

šŸ”§ Development

Prerequisites

  • Node.js 18 or higher

  • npm or yarn

  • TypeScript 5.3+

Setup

# Clone the repository
git clone https://github.com/NishikantaRay/renderer-mcp-server.git
cd renderer-mcp-server

# Install dependencies
npm install

# Build
npm run build

# Watch mode (for development)
npm run watch

Testing

# Build the project
npm run build

# Test with MCP inspector
npx @modelcontextprotocol/inspector renderer-mcp

šŸ“ Example Interactions

Generate a Portfolio

User: "Create a portfolio template for John Doe with GitHub and LinkedIn"

Server: Generates complete starter template with:

  • Customized TOML configurations

  • Project structure

  • Setup instructions

  • Next steps

Validate Configuration

User: "Validate this TOML: [profile]\nname = 'Jane'"

Server:

  • āœ… Validates syntax

  • Checks for required fields

  • Provides suggestions

  • Shows parsed structure

Explore Features

User: "How do I add dark mode to my portfolio?"

Server: Returns documentation about:

  • Theme configuration

  • Available options

  • Implementation details

  • Code examples

šŸ¤ Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository

  2. Create a feature branch: git checkout -b feature/amazing-feature

  3. Make your changes

  4. Add tests if applicable

  5. Commit: git commit -m 'Add amazing feature'

  6. Push: git push origin feature/amazing-feature

  7. Open a Pull Request

Development Guidelines

  • Follow TypeScript best practices

  • Keep functions small and focused

  • Add JSDoc comments for public APIs

  • Update README for new features

  • Test thoroughly before submitting

šŸ“„ License

MIT License - see LICENSE file for details

šŸ’¬ Support

šŸ™ Acknowledgments


Made with ā¤ļø by Nishikanta Ray

⭐ Star this repo if you find it helpful!

Available Tools

8 tools
explore_renderer_docsB

Search and explore Renderer framework documentation. Returns relevant documentation sections based on your query.

Inputs: query (required).

generate_starter_templateB

Generate a complete starter template for a Renderer portfolio with customized configuration.

Inputs: name (required), email, github, twitter, +4 more.

get_config_exampleA

Get example TOML configuration with explanations for a specific section.

Inputs: config_type (required).

get_renderer_fileA

Get the contents of a specific file from the Renderer repository. Useful for viewing examples, configs, or source code.

Inputs: path (required).

get_setup_guideA

Get step-by-step setup instructions for using the Renderer framework.

Inputs: level.

list_renderer_filesB

List files and directories in a specific path of the Renderer repository.

Inputs: path.

search_renderer_featuresB

Search for specific features or capabilities in the Renderer framework.

Inputs: feature (required).

validate_toml_configA

Validate TOML configuration syntax and structure. Checks for common errors and provides suggestions.

Inputs: config_type (required), config_content (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 8 tools

    Disambiguation4/5

    Most tools are clearly distinct by resource and action, such as listing files versus getting file contents. The main overlap is between explore_renderer_docs and search_renderer_features, which both surface framework information and could be confused.

    Naming Consistency5/5

    All tool names use lowercase snake_case and follow a consistent verb_noun pattern, e.g., get_renderer_file, list_renderer_files, validate_toml_config. This makes the set predictable and easy to navigate.

    Tool Count5/5

    Eight tools is a well-scoped size for a framework documentation and configuration server. Each tool addresses a meaningful task without unnecessary redundancy or bloat.

    Completeness4/5

    The tool set covers documentation exploration, file access, config validation, examples, templates, and setup guidance, which addresses the core workflow. A minor gap is that there is no direct tool for rendering or previewing a project, but that may be outside the server's stated purpose.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • -
      license
      Not graded
      quality
      Not graded
      maintenance
      Enables AI assistants to generate professional documentation using structured templates based on the POWER framework. Provides access to standardized templates for README, architecture, API, components, and schema documentation.
      -
    • A
      license
      B
      quality
      A
      maintenance
      Provides comprehensive Terragrunt documentation, configuration generation, and tooling integration for AI assistants, enabling intelligent assistance with Terragrunt configurations, CLI commands, and HCL syntax.
      8
      7
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Generate production-ready PDFs from Markdown, HTML, or built-in templates (invoices, resumes, reports) directly from Claude or any MCP-compatible AI agent via the DocRenders API.
      6
      16 npm
      MIT