# Mcp Rb

> A lightweight Ruby framework for building MCP servers with a Sinatra-like DSL

- **Type:** MCP server
- **Install:** `agentstack add mcp-funwarioisii-mcp-rb`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [funwarioisii](https://agentstack.voostack.com/s/funwarioisii)
- **Installs:** 0
- **Category:** [Integrations](https://agentstack.voostack.com/c/integrations)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [funwarioisii](https://github.com/funwarioisii)
- **Source:** https://github.com/funwarioisii/mcp-rb
- **Website:** https://rubygems.org/gems/mcp-rb

## Install

```sh
agentstack add mcp-funwarioisii-mcp-rb
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# MCP-RB

A lightweight Ruby framework for implementing MCP (Model Context Protocol) servers with a Sinatra-like DSL.

## Installation

Add this line to your application's Gemfile:

```ruby
gem 'mcp-rb'
```

## Usage

Here's a simple example of how to create an MCP server:

```ruby
require 'mcp'

name "hello-world"

version "1.0.0"

# Define a resource
resource "hello://world" do
  name "Hello World"
  description "A simple hello world message"
  call { "Hello, World!" }
end

# Define a resource template
resource_template "hello://{user_name}" do
  name "Hello User"
  description "A simple hello user message"
  call { |args| "Hello, #{args[:user_name]}!" }
end

# Define a tool
tool "greet" do
  description "Greet someone by name"
  argument :name, String, required: true, description: "Name to greet"
  call do |args|
    "Hello, #{args[:name]}!"
  end
end

# Define a tool with nested arguments
tool "greet_full_name" do
  description "Greet someone by their full name"
  argument :person, required: true, description: "Person to greet" do
    argument :first_name, String, required: false, description: "First name"
    argument :last_name, String, required: false, description: "Last name"
  end
  call do |args|
    "Hello, First: #{args[:person][:first_name]} Last: #{args[:person][:last_name]}!"
  end
end

# Define a tool with an Array argument
tool "group_greeting" do
  description "Greet multiple people at once"
  argument :people, Array, required: true, items: String, description: "People to greet"
  call do |args|
    args[:people].map { |person| "Hello, #{person}!" }.join(", ")
  end
end
```

## Supported specifications

Reference: [MCP 2024-11-05](https://spec.modelcontextprotocol.io/specification/2024-11-05/)

- [Base Protocol](https://spec.modelcontextprotocol.io/specification/2024-11-05/basic/)
  - ping
  - stdio transport
- [Server features](https://spec.modelcontextprotocol.io/specification/2024-11-05/server/)
  - Resources
    - resources/read
    - resources/list
    - resources/templates/list
  - Tools
    - tools/list
    - tools/call

Any capabilities are not supported yet.

## Testing

```bash
rake test
rake test:unit # run only the unit tests, skipping tests that test a running server
```

Test with MCP Inspector

```bash
bunx @modelcontextprotocol/inspector $(pwd)/examples/hello_world.rb
```

## Formatting

```bash
bundle exec standardrb --fix
```

You can also use rake tasks:

```bash
rake lint      # Run standardrb to check code style
rake lint:fix  # Auto-fix standardrb issues
```

## Release

To release a new version:

1. Update version in `lib/mcp/version.rb`
2. Update `CHANGELOG.md`
3. Create a git tag

```bash
git add .
git commit -m "Release vx.y.z"
git tag vx.y.z
git push --tags
```

1. Build and push to RubyGems

```bash
gem build mcp-rb.gemspec
gem push mcp-rb-*.gem
```

## Changelog

See [CHANGELOG.md](CHANGELOG.md)

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [funwarioisii](https://github.com/funwarioisii)
- **Source:** [funwarioisii/mcp-rb](https://github.com/funwarioisii/mcp-rb)
- **License:** MIT
- **Homepage:** https://rubygems.org/gems/mcp-rb

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-funwarioisii-mcp-rb
- Seller: https://agentstack.voostack.com/s/funwarioisii
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
