MCP.so
Sign In
Servers

VectorMCP

@sergiobayona

A easy-to-use and minimal server implementation for the Model Context Protocol (MCP) in Ruby.

Overview

What is VectorMCP?

VectorMCP is a Ruby library for implementing the Model Context Protocol (MCP) specification. It allows developers to create MCP servers that expose tools, resources, and prompts to LLM clients such as the Claude Desktop app or custom clients.

How to use VectorMCP?

Install the gem with gem install vector_mcp or add it to your Gemfile. Create a server instance with VectorMCP.new, register tools and resources using register_tool and register_resource, then call server.run to start listening on STDIN/STDOUT. Requests must be newline-delimited JSON-RPC objects.

Key features of VectorMCP

  • Implements core server-side MCP specification.
  • Define and register custom tools for LLM invocation.
  • Expose data sources as resources for LLM reading.
  • Provide structured prompt templates.
  • Stdio transport (stable); SSE transport (work-in-progress).
  • Extensible handlers with default MCP method implementations.
  • Ruby-like API using blocks for registration.
  • Automatic conversion of return values to MCP content format.

Use cases of VectorMCP

  • Expose your Ruby application’s functions to an LLM client like Claude Desktop.
  • Let LLMs read dynamic data from databases, APIs, or files via resources.
  • Provide reusable prompt templates for consistent LLM interactions.
  • Build a process-based MCP server for automated tool calling workflows.
  • Add custom authentication or per-connection state using session objects.

FAQ from VectorMCP

What is the Model Context Protocol (MCP)?

MCP is a specification that enables LLMs to discover and interact with external tools, resources, and prompts provided by separate applications called MCP servers. VectorMCP implements the server side of MCP in Ruby.

What transports does VectorMCP support?

VectorMCP supports Stdio (stable) transport using standard input/output. SSE (Server-Send Events) transport is under active development and currently unavailable in the released gem.

What are the runtime requirements for VectorMCP?

VectorMCP is a Ruby gem requiring Ruby. When SSE transport becomes available, it will require additional gems: async, async-http, falcon, and rack.

How do I register a tool with VectorMCP?

Use server.register_tool(name:, description:, input_schema:) with a block. The block receives the arguments hash and a session object, and its return value is automatically converted to MCP content format.

What types of return values are supported for tools?

Return values can be a String, a Hash matching MCP content structure, other hashes (JSON-encoded), binary strings (Base64-encoded), or an Array of these. Non-matching objects are converted using to_s.

More from Other