MCP.so
Sign In
Servers

VectorMCP

@sergiobayona

A server implementation for the Model Context Protocol (MCP) in Ruby.

Overview

What is VectorMCP?

VectorMCP is a Ruby implementation of the Model Context Protocol (MCP) server-side specification. It provides a framework for exposing tools, resources, prompts, roots, sampling, middleware, and security over the MCP streamable HTTP transport. It is designed for Ruby developers building MCP‑compliant servers, especially those using Rack or Rails.

How to use VectorMCP?

Install the gem (gem install vector_mcp), require it in Ruby, then create a VectorMCP::Server instance, register tools (either class‑based via VectorMCP::Tool or block‑based via register_tool), and call server.run(port: 8080). The server can also be mounted inside a Rack app or Rails routes using server.rack_app.

Key features of VectorMCP

  • Streamable HTTP transport with session management and resumability
  • Class‑based and block‑based tool registration APIs
  • Mountable in Rack and Rails via rack_app
  • Opt‑in authentication (API key, custom, OAuth 2.1) and authorization
  • Token‑based field anonymization middleware
  • Image‑aware tools, resources, prompts, roots, and server‑initiated sampling

Use cases of VectorMCP

  • Build an MCP server that exposes callable tools and resources for AI assistants
  • Mount an MCP endpoint inside an existing Rails application for ActiveRecord‑backed tools
  • Implement OAuth 2.1 authentication for MCP clients like Claude Desktop
  • Anonymize sensitive fields (e.g., emails, SSNs) before they reach the LLM context
  • Create a standalone HTTP server that handles tool invocations, resource reads, and prompt templates

FAQ from VectorMCP

What transport does VectorMCP use?

VectorMCP ships with streamable HTTP as its built‑in transport, supporting POST /mcp for JSON‑RPC messages, GET /mcp for SSE streams, and DELETE /mcp for session termination.

Does VectorMCP support OAuth 2.1?

Yes. Pass a resource_metadata_url: to enable_authentication! to enable RFC 9728 discovery. Unauthenticated requests return a 401 with a WWW‑Authenticate header pointing to the metadata document.

What Ruby version is required?

Ruby 3.2 or higher.

Can I use VectorMCP with Rails?

Yes. VectorMCP can be mounted in Rails routes via mount MCP_APP => "/mcp". It also includes VectorMCP::Rails::Tool for ActiveRecord‑backed tools.

How does field anonymization work?

The VectorMCP::Middleware::Anonymizer replaces sensitive string values with stable opaque tokens on outbound tool results and restores them on inbound tool arguments, keeping the original data hidden from the LLM.

More from Other