20
.
05
.
2025
20
.
05
.
2025
Ruby on Rails
LLM

Ruby on Rails and Model Context Protocol

Paweł Strzałkowski
Chief Technology Officer

If you have been following the advancements in Artificial Intelligence, you might have heard about the increasing need for a standardized way for AI models, to interact with external data sources and tools. This is where the Model Context Protocol (MCP) comes into play.

MCP is an open protocol designed to standardize how applications provide context to LLMs. As the official website, modelcontextprotocol.io, puts it:

MCP is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications. Just as USB-C provides a standardized way to connect your devices to various peripherals and accessories, MCP provides a standardized way to connect AI models to different data sources and tools.

This protocol was introduced by Anthropic in November 2024. The goal was to address the challenge of integrating AI models with diverse systems, which previously often required custom, one-off solutions. Since its introduction, MCP has seen growing adoption and support from major players in the AI field, including OpenAI and Google DeepMind.

How MCP Works

At its core, MCP defines a client-server architecture. AI applications act as clients, requesting information or actions from MCP servers. These servers, in turn, expose data sources or tools in a standardized way. This interaction allows AI models to access and utilize context from various systems like databases, content repositories, or business applications.

The MCP specification outlines several transport methods for this communication. Three key methods are:

  • stdio (Standard Input/Output): A local transfer method, for clients and servers running on the same machine.
  • SSE (Server-Sent Events): An HTTP-based method for servers to stream updates to clients.
  • Streamable-http: Another HTTP-based transport, allowing for efficient data streaming.

MCP in the Ruby Ecosystem

While the overall MCP landscape is evolving quickly, the scene within the Ruby community is also beginning to grow. Although there isn't an official Ruby SDK provided by the initial creators, the community has started to develop its own solutions.

Several gems are already available for developers looking to experiment with or implement MCP in their Ruby applications. Some examples include:

This growing collection of tools shows a great interest in bringing MCP's capabilities to Ruby on Rails and the broader Ruby ecosystem.

Resources and Community

For those interested in diving deeper into MCP, there are several valuable resources:

If you have additional insight and understand MCP much deeper, I strongly recommend reading articles written by seuros, the author of action_mcp gem.

Furthermore, community discussions are taking place on Discord channels, which can be great places to ask questions, share knowledge, and connect with other developers:

As AI continues to integrate more deeply into various applications, protocols like MCP will likely play a crucial role in ensuring standardized communication. The Ruby community's early engagement suggests a promising future for MCP adoption within our ecosystem.

Paweł Strzałkowski
Chief Technology Officer

Check my Twitter

Check my Linkedin

Did you like it? 

Sign up To VIsuality newsletter

READ ALSO

Ruby on Rails and Model Context Protocol

17
.
03
.
2024
Paweł Strzałkowski
Ruby on Rails
LLM
Title image

Highlights from wroclove.rb 2025

02
.
10
.
2024
Kaja Witek
Conferences
Ruby
Jarosław Kowalewski - Migration from Heroku using Kamal

Migration from Heroku using Kamal

14
.
11
.
2023
Jarosław Kowalewski
Backend
store-vs-store_accessor by Michał Łęcicki

Active Record - store vs store_accessor

14
.
11
.
2023
Michał Łęcicki
Ruby
Ruby on Rails
How to become a Ruby Certified Programmer Title image

How to become a Ruby Certified Programmer

14
.
11
.
2023
Michał Łęcicki
Ruby
Visuality
Vector Search in Ruby - Paweł Strzałkowski

Vector Search in Ruby

17
.
03
.
2024
Paweł Strzałkowski
ChatGPT
Embeddings
Postgresql
Ruby
Ruby on Rails
LLM Embeddings in Ruby - Paweł Strzałkowski

LLM Embeddings in Ruby

17
.
03
.
2024
Paweł Strzałkowski
Ruby
LLM
Embeddings
ChatGPT
Ollama
Handling Errors in Concurrent Ruby, Michał Łęcicki

Handling Errors in Concurrent Ruby

14
.
11
.
2023
Michał Łęcicki
Ruby
Ruby on Rails
Tutorial
Recap of Friendly.rb 2024 conference

Insights and Inspiration from Friendly.rb: A Ruby Conference Recap

02
.
10
.
2024
Kaja Witek
Conferences
Ruby on Rails

Covering indexes - Postgres Stories

14
.
11
.
2023
Jarosław Kowalewski
Ruby on Rails
Postgresql
Backend
Ula Sołogub - SQL Injection in Ruby on Rails

The Deadly Sins in RoR security - SQL Injection

14
.
11
.
2023
Urszula Sołogub
Backend
Ruby on Rails
Software
Michal - Highlights from Ruby Unconf 2024

Highlights from Ruby Unconf 2024

14
.
11
.
2023
Michał Łęcicki
Conferences
Visuality
Cezary Kłos - Optimizing Cloud Infrastructure by $40 000 Annually

Optimizing Cloud Infrastructure by $40 000 Annually

14
.
11
.
2023
Cezary Kłos
Backend
Ruby on Rails

Smooth Concurrent Updates with Hotwire Stimulus

14
.
11
.
2023
Michał Łęcicki
Hotwire
Ruby on Rails
Software
Tutorial

Freelancers vs Software house

02
.
10
.
2024
Michał Krochecki
Visuality
Business

Table partitioning in Rails, part 2 - Postgres Stories

14
.
11
.
2023
Jarosław Kowalewski
Backend
Postgresql
Ruby on Rails

N+1 in Ruby on Rails

14
.
11
.
2023
Katarzyna Melon-Markowska
Ruby on Rails
Ruby
Backend

Turbo Streams and current user

07
.
05
.
2025
Mateusz Bilski
Hotwire
Ruby on Rails
Backend
Frontend

Showing progress of background jobs with Turbo

14
.
11
.
2023
Michał Łęcicki
Ruby on Rails
Ruby
Hotwire
Frontend
Backend

Table partitioning in Rails, part 1 - Postgres Stories

14
.
11
.
2023
Jarosław Kowalewski
Postgresql
Backend
Ruby on Rails

Indexing partitioned table - Postgres Stories

14
.
11
.
2023
Jarosław Kowalewski
Backend
Postgresql

Table partitioning types - Postgres Stories

14
.
11
.
2023
Jarosław Kowalewski
Postgresql
Backend