TOYBOX MCP Server
Creates and manages repositories for storing and versioning artifacts published from Claude Desktop.
Automatically deploys published artifacts to a personal portfolio website with customizable themes and layouts.
Supports React-based artifacts that can be published to the portfolio site.
Supports TypeScript-based artifacts that can be published to the portfolio site.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@TOYBOX MCP ServerPublish this code snippet to my TOYBOX"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
TOYBOX MCP Server
Zero-friction publishing platform for Claude artifacts via Model Context Protocol (MCP).
Overview
TOYBOX MCP Server enables Claude Desktop users to publish their artifacts to a personal GitHub Pages portfolio site through simple conversational commands. No technical knowledge required!
Related MCP server: GitHub MCP Server
Features
š Zero-friction setup: Initialize your TOYBOX with one command
š¦ Instant publishing: Publish artifacts directly from Claude Desktop
šØ Professional presentation: Automated portfolio site with responsive design
š§ Customizable: Configure themes, layouts, and branding
š± Mobile-friendly: Works perfectly on all devices
š Secure: All code validation and safe deployment practices
Prerequisites
GitHub Account: Create one at github.com
GitHub CLI: Install from cli.github.com
Authentication: Run
gh auth loginand follow the browser flow
Installation
No installation required! TOYBOX uses npx for zero-friction setup.
Configuration
Add to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\\Claude\\claude_desktop_config.json
{
"mcpServers": {
"toybox": {
"command": "npx",
"args": ["@isnbh0/toybox-mcp-server@latest"]
}
}
}For production use, pin to a specific version:
{
"mcpServers": {
"toybox": {
"command": "npx",
"args": ["@isnbh0/toybox-mcp-server@1.0.0"]
}
}
}Usage
1. Initialize Your TOYBOX
In Claude Desktop:
"I want to create a TOYBOX for my projects"Claude will:
Check your GitHub authentication
Create a repository from the TOYBOX template
Enable GitHub Pages
Set up local development environment
2. Publish Artifacts
Create any artifact in Claude Desktop, then:
"Publish this to my TOYBOX"Claude will:
Generate a unique ID for your artifact
Commit and push to GitHub
Provide the live URL
3. Manage Your Collection
"Show me all my TOYBOX projects"
"Update my TOYBOX theme to dark mode"
"Change my TOYBOX title to 'My Creative Projects'"Available Commands
Command | Description |
| Set up a new TOYBOX repository |
| Publish an artifact to your TOYBOX |
| Show all published artifacts |
| Modify TOYBOX settings |
Configuration Options
Title: Display name for your portfolio
Description: Subtitle text
Theme:
auto,light, ordarkLayout:
gridorlistviewFooter: Show/hide footer section
Repository Structure
When initialized, your TOYBOX repository contains:
toybox/
āāā src/artifacts/ # Your published artifacts
āāā TOYBOX_CONFIG.json # Site configuration
āāā (template files...) # React app infrastructureTroubleshooting
Authentication Issues
gh auth status # Check authentication
gh auth login # Re-authenticate if neededBuild Failures
Ensure your artifact code is valid React/TypeScript
Check for syntax errors or missing imports
Verify all dependencies are available
Repository Not Found
Make sure you've run
initialize_toyboxfirstCheck that the repository exists on GitHub
Verify GitHub Pages is enabled
Contributing
This project is part of the TOYBOX ecosystem. See the main repository for contribution guidelines.
License
MIT License - see LICENSE file for details.
Available Tools
5 toolsinitialize_toyboxA
Initialize a complete TOYBOX with local repository, GitHub remote, and Pages setup
| Name | Required | Description | Default |
|---|---|---|---|
| repoName | No | Name for the repository (default: toybox) | toybox |
| templateOwner | No | GitHub username or organization that owns the TOYBOX template (default: isnbh0) | isnbh0 |
| templateRepo | No | Name of the template repository (default: toybox-template) | toybox-template |
| config | No | TOYBOX configuration options | |
| debug | No | Enable debug mode to use local template (can still create GitHub remote) | |
| localTemplatePath | No | Path to local template directory (optional, defaults to built-in template) | |
| createRemote | No | Create a GitHub repository and set up remote (default: true) | |
| isPrivate | No | Create GitHub repository as private (default: false) |
TDQS
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 mentions the tool creates multiple components (local repo, GitHub remote, Pages setup) which implies write operations, but doesn't specify permissions needed, whether changes are reversible, or potential side effects like overwriting existing files. The description adds some context but leaves important behavioral aspects unclear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose. Every word earns its place - 'Initialize' (action), 'complete TOYBOX' (scope), and the three components being set up. There's zero waste or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex initialization tool with 8 parameters, no annotations, and no output schema, the description is adequate but has clear gaps. It states what the tool does but doesn't cover behavioral aspects like error conditions, success indicators, or what 'complete' initialization entails. Given the complexity and lack of structured metadata, the description should provide more operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 8 parameters thoroughly. The description doesn't add any meaningful parameter semantics beyond what's in the schema - it doesn't explain relationships between parameters or provide usage examples. The baseline of 3 is appropriate when the schema does all the parameter documentation work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Initialize') and the comprehensive scope ('complete TOYBOX with local repository, GitHub remote, and Pages setup'). It distinguishes from sibling tools like 'setup_remote' (which only handles remote setup) and 'update_config' (which only updates configuration) by covering the full initialization process.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool should be used for initial setup of a TOYBOX project, providing clear context. However, it doesn't explicitly state when NOT to use it (e.g., for existing projects) or mention alternatives like using 'setup_remote' separately for remote-only setup, which would be helpful for agent decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_artifactsB
List all published artifacts in your TOYBOX
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states it lists artifacts but doesn't disclose behavioral traits such as whether this is a read-only operation, if it requires authentication, how results are formatted (e.g., pagination, sorting), or any rate limits. The description is minimal and lacks essential context for safe use.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It is appropriately sized and front-loaded, making it easy to understand at a glance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'published artifacts' entail, the return format, or any behavioral nuances. For a tool with no structured support, more context is needed to ensure proper usage by an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, meaning no parameters are documented in the schema. The description doesn't add parameter details, which is acceptable since there are no parameters to explain. A baseline of 4 is appropriate as it doesn't need to compensate for missing schema information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List') and resource ('all published artifacts in your TOYBOX'), providing a specific verb+resource combination. It doesn't explicitly differentiate from sibling tools like 'publish_artifact' or 'setup_remote', but the scope is clear enough to understand its distinct function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., whether 'initialize_toybox' must be called first), exclusions, or comparisons to other tools like 'update_config' for configuration-related tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
publish_artifactC
Publish a new artifact to your TOYBOX. Artifacts are uniquely identified by a slug-based ID with UUID suffix.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | The React component code for the artifact (do not include React import - uses new JSX transform) | |
| metadata | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states that artifacts are 'uniquely identified by a slug-based ID with UUID suffix', which adds some context about identification. However, it lacks critical details: it doesn't mention if this is a write operation (implied by 'publish'), what permissions are needed, whether it's idempotent, or what happens on failure. For a mutation tool with zero annotation coverage, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose ('Publish a new artifact to your TOYBOX') and followed by a clarifying detail about identification. Every sentence adds value without redundancy, making it appropriately sized and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (2 parameters with nested objects, no output schema, and no annotations), the description is incomplete. It lacks information on return values, error handling, authentication needs, or side effects. For a mutation tool with significant input structure, this leaves too many gaps for effective agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%, and the description adds no parameter-specific information beyond what the schema provides. It mentions 'slug-based ID with UUID suffix', which relates to the 'slug' parameter in metadata, but this is already covered in the schema description. Since schema coverage is moderate, the description doesn't compensate enough to elevate the score above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('publish') and resource ('artifact to your TOYBOX'), specifying it creates something new. It distinguishes from siblings like 'list_artifacts' by focusing on creation rather than listing. However, it doesn't explicitly differentiate from 'initialize_toybox' or 'setup_remote' in terms of when to use each, keeping it from a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'initialize_toybox' or 'update_config'. It mentions that artifacts are uniquely identified, but this is more about behavior than usage context. Without explicit when/when-not instructions or named alternatives, it offers minimal usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
setup_remoteB
Set up a GitHub remote repository for an existing local TOYBOX (one-time setup)
| Name | Required | Description | Default |
|---|---|---|---|
| repoName | Yes | Name for the GitHub repository | |
| isPrivate | No | Create repository as private (default: false) | |
| enablePages | No | Enable GitHub Pages for the repository (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but is minimal. It states the tool sets up a remote repository but doesn't disclose behavioral traits like whether it requires GitHub authentication, modifies local git config, handles errors, or what happens on success/failure. For a setup tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose ('Set up a GitHub remote repository') and adds necessary context ('for an existing local TOYBOX', 'one-time setup'). Every word earns its place with no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a setup tool with 3 parameters, no annotations, and no output schema, the description is incomplete. It lacks details on authentication needs, what 'set up' entails (e.g., creates repo, adds remote, configures branches), error handling, or return values. For this complexity, it should provide more behavioral context to compensate for missing structured data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents parameters (repoName, isPrivate, enablePages). The description adds no parameter-specific information beyond implying the tool is for TOYBOX setup. Baseline 3 is appropriate as the schema does the heavy lifting, but the description doesn't enhance parameter understanding (e.g., explaining TOYBOX context for repoName).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Set up') and target resource ('GitHub remote repository'), specifying it's for an existing local TOYBOX and a one-time setup. It distinguishes from sibling tools like 'initialize_toybox' (which likely creates local) and 'publish_artifact' (which might push content). However, it doesn't explicitly differentiate from all siblings (e.g., 'update_config' could be related).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context ('for an existing local TOYBOX', 'one-time setup'), suggesting this tool is for initial remote configuration rather than ongoing operations. However, it lacks explicit guidance on when to use alternatives (e.g., vs. 'initialize_toybox' for local setup) or prerequisites (e.g., GitHub authentication, existing local repo).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_configC
Update TOYBOX configuration (title, theme, layout, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| config | Yes |
TDQS
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 states this is an update operation, implying mutation, but doesn't cover critical aspects like required permissions, whether changes are reversible, side effects, rate limits, or what the response looks like. This is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's front-loaded with the core purpose and includes examples of updatable fields, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and low schema description coverage (0%), the description is incomplete. It lacks details on behavioral traits, error handling, and response format, leaving the agent with insufficient context to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions specific updatable fields ('title, theme, layout, etc.'), which adds meaning beyond the schema's property names. However, with 0% schema description coverage, it doesn't fully compensate by explaining the 'config' object structure, enum values, or optional vs. required fields. The baseline is 3 due to some added context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Update') and resource ('TOYBOX configuration'), and specifies the scope of what can be updated ('title, theme, layout, etc.'). It doesn't explicitly differentiate from sibling tools, but the specificity of 'configuration' distinguishes it from tools like 'list_artifacts' or 'publish_artifact'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., whether the TOYBOX must be initialized first), exclusions, or recommend other tools for related tasks. The context is implied but not explicit.
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.
5 tool updates
- First observed
initialize_toybox - First observed
list_artifacts - First observed
publish_artifact - First observed
setup_remote - First observed
update_config
TDQS
Each tool has a clearly distinct purpose with no overlap: initialization, listing artifacts, publishing artifacts, remote setup, and configuration updates. The descriptions clearly differentiate their functions, making misselection unlikely.
All tools follow a consistent verb_noun pattern (e.g., initialize_toybox, list_artifacts, publish_artifact), with no deviations in style or convention. This predictability enhances usability and clarity.
With 5 tools, the server is well-scoped for managing a TOYBOX system, covering core operations like setup, artifact management, and configuration without being overly sparse or bloated. Each tool serves a clear, necessary function.
The toolset provides good coverage for the TOYBOX domain, including initialization, artifact lifecycle (list/publish), remote setup, and configuration updates. A minor gap exists in artifact deletion or modification, but agents can likely work around this for basic workflows.
Maintenance
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
Build, clone & publish websites by chatting with Claude. Live in seconds, custom domains + SSL.
Publish AI-generated HTML to a private, unguessable link, straight from Claude or ChatGPT.
Publish AI-generated HTML to a live page on your own domain ā from Claude, ChatGPT, or Cursor.
- dropOAuthio.neuronik
Publish web pages straight from your AI assistant and share them with a link.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceConnects Claude Desktop to GitHub repositories, enabling users to perform git operations and GitHub API interactions through natural conversation.467-
- AlicenseNot gradedqualityNot gradedmaintenanceConnects Claude Desktop directly to GitHub repositories and git commands, enabling users to clone repos, check status, commit changes, push code, create repositories, and manage GitHub resources through natural conversation.467-
- AlicenseAqualityDmaintenanceEnables users to upload files and generate tracked, shareable links directly from AI agents like Claude Desktop or Cursor. It supports publishing various file formats including text, PDFs, and images, while providing tools for artifact management and analytics.877MIT
- AlicenseNot gradedqualityDmaintenanceA local-first personal AI agent infrastructure that extends Claude Desktop with tools for Google services, web scraping, local memory, knowledge upload, and dynamic workflows via MCP.1MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/isnbh0/toybox-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server