trackmcp
Back to directory
RGGH

rig-mcp-server

View on GitHub

Rig MCP Server Example (April 7, 2025)

7 stars RustServers & Infrastructure Updated Aug 20, 2025
mcp-serverrigrust

Documentation

Rust

๐Ÿ” Rust MCP Server + Inspector Example: SSE Transport with an Add Tool

credit : https://dev.to/joshmo_dev/using-model-context-protocol-with-rig-m7o

This project demonstrates how to set up an MCP (Model Context Protocol) server and client using Server-Sent Events (SSE) for communication. It includes a simple tool that adds two numbers and integrates with the RIG agent for LLM prompting.


๐Ÿš€ Getting Started

Clone this repo and run with:

bash
cargo run

In a separate terminal start the MCP Inspector with:

bash
npx @modelcontextprotocol/inspector sse http://127.0.0.1:3001/sse

You'll see output like:

code
Starting MCP inspector...
Proxy server listening on port 3000
New SSE connection
Query parameters: { transportType: 'sse', url: 'http://localhost:3001/sse' }
SSE transport: url=http://localhost:3001/sse, headers=
Connected to SSE transport
Connected MCP client to backing server transport
Created web app transport
Set up MCP proxy
๐Ÿ” MCP Inspector is up and running at http://localhost:5173 ๐Ÿš€

You can now view the web interface at http://localhost:5173


๐Ÿ› ๏ธ Features

  • โœ… Sets up a custom MCP server using `ServerSseTransport`
  • โœ… Connects a MCP client to the server
  • โœ… Registers a custom tool: `AddTool`, which adds two numbers
  • โœ… Lists registered tools via MCP
  • โœ… Integrates with RIG and prompts an LLM agent using the tool

๐Ÿง  Code Overview

rust
#[tool(
    name = "Add",
    description = "Adds two numbers together.",
    params(a = "The first number to add", b = "The second number to add")
)]
async fn add_tool(a: f64, b: f64) -> Result {
    Ok(tool_text_content!((a + b).to_string()))
}

This defines the `Add` tool that is registered in the MCP server.

The main function sets up:

  • Tracing
  • The MCP server and transport (SSE)
  • A MCP client that initializes and lists available tools
  • A RIG agent with OpenAI backend, which uses the MCP tool

The agent then runs a prompt:

rust
let response = agent.prompt("Add 10 + 10").await;

๐Ÿงช Sample Output

When run successfully, you'll see logs like:

code
Initialized: Ok(...)
Tools: Ok([...])
Building RIG agent
Prompting RIG agent
Agent response: Some("20")

๐Ÿงฐ Tech Stack

  • ๐Ÿฆ€ Rust with tokio
  • ๐Ÿ“ก SSE transport from `mcp_core`
  • ๐Ÿ”ง MCP server/client architecture
  • ๐Ÿค– RIG agent with OpenAI model
  • ๐ŸŒ MCP Inspector web interface

๐Ÿ“ฆ Dependencies

Make sure you have these in your `Cargo.toml`:

toml
[dependencies]
tokio = { version = "1", features = ["full"] }
anyhow = "1"
serde_json = "1"
mcp_core = "..."
mcp_core_macros = "..."
rig = "..."

> Replace `...` with the appropriate versions based on your environment.


๐Ÿ“ Inspector GUI

Visit http://localhost:5173 to view and interact with the MCP Inspector UI.


โœ… Test Log Sample

code
Query parameters: { transportType: 'sse', url: 'http://localhost:3001/sse' }
Connected to SSE transport
Connected MCP client to backing server transport
Set up MCP proxy
Received message for sessionId cdd4a8be-57e2-44e3-9b81-3df300e86f22
Screenshot from 2025-04-07 23-22-21

๐Ÿ“ฌ Questions or Feedback?

Feel free to open an issue or start a discussion!

code
// Code block

Frequently asked questions

What is rig-mcp-server?

rig-mcp-server is Rig MCP Server Example (April 7, 2025)

How do I install rig-mcp-server?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is rig-mcp-server open source?

Yes โ€” it is hosted on GitHub at https://github.com/RGGH/rig-mcp-server and has 7 stars.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP