Skip to main content
Glama
NishikantaRay

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: Components Build MCP

πŸ“¦ 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesWhat you want to learn about (e.g., 'TOML configuration', 'project setup', 'blog system')

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses the core read-only behavior (returning doc sections based on a query), but it does not describe result format, scope of coverage, or any limitations. There is no contradiction, but only basic behavior is conveyed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one concise sentence and front-loads the core behavior. 'Search and explore' is slightly redundant, but it is not padded with unnecessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-parameter doc-search tool, the description is almost sufficient, but the lack of output schema means the agent does not know what 'documentation sections' look like. It also lacks sibling differentiation, which matters given the overlapping search_renderer_features tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single query parameter, including an example. The description adds no extra meaning beyond saying results are query-based, so it meets the baseline without improving on the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('Search and explore') and resource ('Renderer framework documentation'), and says it returns relevant documentation sections based on the query. However, it does not distinguish this from the sibling tool search_renderer_features, so an agent might struggle to choose between them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus alternatives such as search_renderer_features, get_setup_guide, or get_config_example. The usage context is only implied by the generic query example, with no exclusions or conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_starter_templateB

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

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesYour full name
emailNoYour email address
githubNoYour GitHub username
twitterNoYour Twitter/X username
linkedinNoYour LinkedIn username
include_blogNoInclude blog page
include_resumeNoInclude resume page
include_projectsNoInclude projects page

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description must disclose behavioral traits. It only says it 'generate[s] a complete starter template' but does not say whether it writes files, returns a downloadable archive, overwrites existing content, or has any side effects. This is a meaningful gap for a generation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that is front-loaded with the core action and resource. It is concise with no filler, though 'complete' and 'customized' are somewhat vague and could carry more specific meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations and no output schema, the description should explain what the generated template includes, how it is delivered, and any prerequisite knowledge. It offers none of that, leaving an agent to guess the tool's behavior beyond the bare generation action.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides descriptions for all parameters, including defaults for include_blog and include_resume. The description adds only the general notion of 'customized configuration,' so it does not meaningfully supplement the schema. Baseline 3 is appropriate given 100% schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states a specific verb ('generate') and resource ('complete starter template for a Renderer portfolio') with 'customized configuration' indicating the tool's distinctive behavior. This clearly separates it from sibling tools that explore docs, read files, or validate configs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Purpose implies the tool is used when creating a new customized Renderer portfolio template, but there is no explicit guidance about when to choose this over siblings like get_setup_guide or get_config_example. The usage context is inferred rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_config_exampleA

Get example TOML configuration with explanations for a specific section.

ParametersJSON Schema
NameRequiredDescriptionDefault
config_typeYesType of configuration example needed

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the behavioral burden. It discloses that the tool returns example configuration content and explanations, which is useful, but it does not mention auth requirements, error behavior, output formatting, or side effects. For a simple read-only tool this is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no redundant details. Every word contributes to describing the tool's purpose and output.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has only one required enum parameter and no output schema, the description explains the return content ('example TOML configuration with explanations') sufficiently for a caller to understand what to expect. It lacks sibling routing and deeper behavior but is complete enough for a simple config-example retrieval tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema already documents the single enum parameter. The description adds the phrase 'specific section' which maps to the config_type enum, but it does not clarify what each enum value should produce or how to choose among them. This is baseline value over an already-complete schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Get' and names the exact resource: example TOML configuration with explanations for a specific section. This clearly separates it from sibling tools like get_renderer_file or get_setup_guide, since those deal with renderer files and setup guides rather than TOML configuration examples.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives such as generate_starter_template or valdate_toml_config. The description implies use when an example config is needed, but it does not state exclusions or provide routing criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_renderer_fileA

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

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesFile path in the repository (e.g., 'config/home.toml', 'docs/HOME_CONFIG.md')

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden of behavioral disclosure. 'Get the contents' clearly signals a read-only, non-destructive operation. However, it does not describe what happens for missing files, directory paths, or very large files, nor does it specify the return format. It is transparent enough for a simple fetch but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no padding. The main action is stated first, followed by a brief utility note. Every sentence earns its place, and it is easy to scan quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter tool with no output schema, the description covers the core purpose and typical use cases. It could be more complete by mentioning that file paths may be discovered via list_renderer_files, but the essential information for a basic call is present. It is adequate without being exhaustive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already fully documents the only parameter, 'path', with examples. The description adds little beyond the schemaβ€”it repeats that the file is from the repository. This meets the baseline of 3 given 100% schema description coverage, but the description does not enhance understanding of the path parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: 'Get the contents of a specific file from the Renderer repository.' This clearly distinguishes it from sibling tools like list_renderer_files (which lists files) and get_config_example (which gets a specific config example). The purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'Useful for viewing examples, configs, or source code' provides general context for when to use the tool, but it does not explicitly mention alternatives or exclusion criteria. An agent would benefit from a pointer to list_renderer_files for discovering file paths, but the guidance is not misleadingβ€”just minimally sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_setup_guideA

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

ParametersJSON Schema
NameRequiredDescriptionDefault
levelNoExperience levelbeginner

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden. It discloses that the tool returns step-by-step instructions, which is reasonable for a simple retrieval tool, but it does not describe output format, side effects, or how the level parameter affects the returned guide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler or redundancy. Every word contributes to identifying the tool's purpose, making it appropriately concise for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one optional, fully documented parameter and no output schema, the description is nearly sufficient. An agent can infer the return value and how to invoke it, though explicitly noting the output format would make it fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: the only parameter has an enum, a default, and a description ('Experience level'). The tool description adds no parameter-specific detail, but the schema already fully documents the parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get'), the resource ('step-by-step setup instructions'), and the framework ('Renderer'). It is specific enough to be understood, but it does not explicitly contrast itself with sibling tools like explore_renderer_docs or generate_starter_template.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intended use case is inferable: call this when the user asks for Renderer setup instructions. However, the description does not provide explicit when-not-to-use guidance or compare against closely related sibling tools, leaving alternative selection to the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_renderer_filesB

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

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoDirectory path (e.g., 'config', 'docs', 'js'). Leave empty for root.

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden for behavioral disclosure. It only restates the basic listing action and does not clarify whether the listing is recursive, whether hidden files are included, how invalid paths are handled, or what output format is returned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short, direct sentence with no filler. The action and scope are front-loaded, and there is no unnecessary wording to remove.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-parameter list tool, this is minimally viable: the purpose is clear and the parameter is well documented in the schema. However, with no output schema and no sibling routing guidance, the listing behavior and relationship to other tools remain underspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: the single 'path' parameter is documented with examples and a clean root default. The description adds no additional parameter meaning, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states an explicit action (list) and a clear resource (files and directories in the Renderer repository). This distinguishes it from siblings like get_renderer_file, which retrieves file content, and explore_renderer_docs, which explores docs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool versus sibling alternatives. There is no mention of exclusions, nor is there any statement like 'use this when you need a directory listing.'

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_renderer_featuresB

Search for specific features or capabilities in the Renderer framework.

ParametersJSON Schema
NameRequiredDescriptionDefault
featureYesFeature to search for (e.g., 'dark mode', 'analytics', '@mentions')

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It only says the tool searches but does not explain matching behavior, result format, scope, or what kind of output the agent should expect. The behavior is largely opaque beyond the action name itself.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no filler or repeated content. It is front-loaded with the action and resource, though it is perhaps too sparse to fully support the tool's behavioral gaps.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema and no annotations, so the description should explain what the agent can expect from the search. It does not describe return values, result granularity, or how the search behaves, leaving important context missing for a complete call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the single 'feature' parameter is already well documented by the schema with examples. The description adds no additional parameter semantics, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific action ('Search') and a specific resource ('features or capabilities in the Renderer framework'). It communicates the tool's function, though it does not explicitly distinguish itself from the overlapping sibling 'explore_renderer_docs'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrasing 'Search for specific features' implies the tool is meant for targeted lookups, but the description provides no explicit guidance on when to use this tool versus alternatives like explore_renderer_docs or get_renderer_file. There are no exclusions or when-not-to-use conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_toml_configA

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

ParametersJSON Schema
NameRequiredDescriptionDefault
config_typeYesType of configuration file
config_contentYesThe TOML configuration content to validate

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It discloses that the tool checks for errors and provides suggestions, implying a read-only validation operation, but it does not state whether the operation has side effects, what the return format looks like, or whether it writes anything. The lack of explicit non-mutating disclosure is a gap, though the validation intent is conveyed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no fluff. The first sentence states the core action, and the second adds a useful behavioral detail. The only minor redundancy is 'Checks for common errors' overlapping somewhat with 'Validate', but it still earns its place by introducing the suggestion feature.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a low-complexity tool with 100% schema coverage and no output schema, the description covers the core action and expected behavior. However, it omits return value structure and explicit usage timing, which an agent would need to fully trust the call. A little more detail about what constitutes a successful validation would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and both parameters have descriptive names and descriptions in the schema. The description adds no additional parameter-level meaning, so the baseline score of 3 applies. The config_type enum is documented in the schema, and the description does not need to repeat it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Validate'), a clear resource ('TOML configuration'), and the exact scope ('syntax and structure'). It also mentions the outcome ('Checks for common errors and provides suggestions'), which fully differentiates this tool from its sibling tools that handle documentation exploration and example generation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool's use caseβ€”validating TOML configurationsβ€”but does not explicitly say when to use it versus alternatives. No exclusions or alternative tool references are provided. However, the sibling tools are clearly unrelated to validation, so the usage context is reasonably clear but still left implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 8 tool updatesv1.0.0
    • First observedexplore_renderer_docs
    • First observedgenerate_starter_template
    • First observedget_config_example
    • First observedget_renderer_file
    • First observedget_setup_guide
    • First observedlist_renderer_files
    • First observedsearch_renderer_features
    • First observedvalidate_toml_config

TDQS

A3.7/5.0
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 issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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
    D
    maintenance
    Provides AI assistants with tools to grade, generate, and validate UI components against the components.build specification. Supports searching documentation, checking compliance, and generating framework-agnostic accessible components.
    11
    19
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to navigate and query hierarchical documentation structures, supporting markdown files with YAML metadata and OpenAPI 3.x specifications. It features intelligent full-text search, metadata filtering, and a built-in web interface for both human and AI-driven documentation access.
    6
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Retrieval Augmented Generation system that enables AI assistants to perform semantic searches and manage document indices for markdown files. It supports PostgreSQL with pgvector and integrates both Google Gemini and Ollama for intelligent embedding generation.
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/NishikantaRay/renderer-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server