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.
How to use VectorMCP?
Install the gem (gem install vector_mcp), create a VectorMCP::Server, register tools (using either the class-based VectorMCP::Tool DSL or the block-based register_tool API), and call server.run(port: 8080). Optionally mount the server in a Rack or Rails app via server.rack_app.
Key features of VectorMCP
- Streamable HTTP transport with session management and resumability
- Class-based tools via
VectorMCP::Tooland block-basedregister_toolAPI - Rack and Rails mounting through
server.rack_app - Opt-in authentication, authorization, and middleware hooks
- Image-aware tools, resources, and prompts; roots and server-initiated sampling
- Token-based field anonymization middleware for sensitive data
Use cases of VectorMCP
- Build a custom MCP server to expose business tools to LLM clients
- Integrate MCP endpoints into an existing Ruby on Rails application
- Create a secure, authenticated API for AI-driven tool invocation
- Implement a compliant MCP server with streaming and session support
FAQ from VectorMCP
What runtime dependencies does VectorMCP require?
Ruby 3.2 or later is required. The gem has no other mandatory runtime dependencies beyond the Ruby standard library.
What transport does VectorMCP use?
VectorMCP ships with streamable HTTP as its built-in transport. It supports POST /mcp for JSON-RPC, GET /mcp for SSE streams, and DELETE /mcp for session termination.
How does authentication work in VectorMCP?
Authentication is opt-in. You can enable API key authentication or a custom strategy. For OAuth 2.1 (RFC 9728) support, provide a resource_metadata_url: to enable automatic discovery and the OAuth dance.
Can I use VectorMCP with Rails?
Yes. VectorMCP provides a VectorMCP::Rails::Tool base class for ActiveRecord-backed tools and a full guide for mounting the server in config/routes.rb.
Is VectorMCP compliant with the MCP specification?
Yes. The server advertises MCP protocol version 2025-11-25 and accepts 2025-03-26 and 2024-11-05 headers for compatibility.