MCP ExplorerExplorer

Studio

@martinemdeon 5 days ago
3 MIT
FreeCommunity
AI Systems
🌞 Turn any CLI command into a one-room MCP server. Clean, compact. Move-in ready.

Overview

What is Studio

Studio is a command-line interface (CLI) tool designed to facilitate the creation and management of multi-command processor (MCP) servers. It allows users to define, configure, and utilize custom command tools with a focus on simplicity and efficiency.

Use cases

Studio can be used for a variety of purposes, including setting up echo servers, running Git log commands, or generating Rails scaffolds. It provides a versatile environment for developers to create specialized command tools tailored to their tasks.

How to use

To use Studio, install it via the command ‘gem install studio’. Define new tools with the command ‘claude mcp add studio ’. You can also set up configurations in your MCP server and interact with it using JSON-RPC protocols for various operations.

Key features

Key features of Studio include the ability to create blueprints for tools, interactive command server functionality, customizable command/event handling, and simple integrations with text prompts to gather user input.

Where to use

Studio can be used in development environments for CLI tools, within scripts for automated tasks, or as part of a broader application development pipeline where custom command execution is necessary. It fits well in scenarios where lightweight, tailored command servers are needed.

Content

Studio

Make any CLI into a single tool MCP server.

Bright Studio Apt – No Walls, No Rules – 800/mo OBO.

Wired and wild. No questions, no backups. rm -rf compatible. Cash only. Basement-ish. BYO everything. Just enough, nothing more.

Text 404 to /dev/null for more details!

Install

$ gem install studio

Claude Code

#                <serv-name> studio <cmd> <arguments or blueprints>
$ claude mcp add echo-server studio echo "{{text#What do you want to say?}}"
$ claude mcp add git-log studio git log --one-line -n 20 "{{branch}}"

Cursor

Make sure studio is installed, then

Install MCP Server

Add to your .cursor/mcp.json manually:

{
  "mcpServers": {
    "echo": {
      "command": "studio",
      "args": [
        "echo",
        "{{text#What do you want to say?}}"
      ]
    },
    "rails": {
      "command": "studio",
      "args": [
        "rails",
        "generate",
        "{{generator # A valid rails generator like scaffold, model}}"
      ]
    }
  }
}

VSCode

Pay attention, one says stdio, the other says studio! (uh oh, what have I done?)

Do you speak MCP?

$ studio echo

Now you’re speaking to the mcp server, so say something smart.

ping

{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "ping"
}

or not… just play ping pong if you wish.

initialize

{
  "jsonrpc": "2.0",
  "id": "2",
  "method": "initialize",
  "params": {
    "protocolVersion": "2024-11-05",
    "capabilities": {},
    "clientInfo": {
      "name": "test-client",
      "version": "1.0.0"
    }
  }
}

that’s better…

list tools

{
  "jsonrpc": "2.0",
  "id": "3",
  "method": "tools/list"
}

Oh look, a hammer…

use tool

{
  "jsonrpc": "2.0",
  "id": "4",
  "method": "tools/call",
  "params": {
    "name": "echo",
    "arguments": {
      "args": [
        "hello",
        "world"
      ]
    }
  }
}

Blueprints

Use blueprints (templates) to keep your studio tidy.

studio rails generate "{{generator # A valid rails generator like scaffold, model}}"

This creates an Studio server with one argument: generator.
Everything after the # will be used as the description of the argument.

Blueprints use the format: {{name # description}}.

  • name: The argument name that will be exposed in the MCP tool schema
  • description: A description of what the argument should contain. May contain spaces.

This is a simple studio, not one of those fancy 1 bedroom flats. Blueprint types, flags, arrays? The landlord will upgrade the place for free eventually, right? Right?

Development

Keys to the City. Run bin/setup to move in. Run bin/rake for a quick inspection.

Bump version.rb, tag it vX.Y.Z, push to GitHub. Trusted publishing will be happy to receive your rent check.

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, tag the release vX.Y.Z, then push the tag to github. Trusted publishing will do the rest.

Home Is Where You Make It

This is your studio too. Bugs, features, ideas? Swing by the repo:
🏠 https://github.com/martinemde/studio

Lease Terms: MIT

Move in under the standard terms, no fine print. Full text here: MIT License.

Tools

No tools

Comments