Renderer MCP Server
AI-powered assistant for the Renderer portfolio framework. Enables users to explore documentation, validate TOML configurations, generate templates, and customize portfolios through natural language.
README
Renderer MCP Server
<div align="center">
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
</div>
š 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
š¦ Installation
NPM (Recommended)
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
-
Install the server:
npm install -g renderer-mcp-server -
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" } } } } - macOS:
-
Get a GitHub Token (Optional but recommended):
- Go to https://github.com/settings/tokens
- Create a new token with
reposcope - Add it to the config above
-
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:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes
- Add tests if applicable
- Commit:
git commit -m 'Add amazing feature' - Push:
git push origin feature/amazing-feature - 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
š Related Projects
- Renderer - The portfolio framework this server supports
- Model Context Protocol - The protocol specification
- MCP SDK - Official MCP SDK
š¬ Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Renderer Docs: Documentation
š Acknowledgments
- Built with Model Context Protocol SDK
- Powers the Renderer framework
- Inspired by the MCP community
<div align="center">
Made with ā¤ļø by Nishikanta Ray
ā Star this repo if you find it helpful!
</div>
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.