MCP Server with Combined Tools

by RGGH

252 downloads
Not rated
GitHub

About

An MCP server implemented in Rust using the poem framework that exposes multiple tools via a Server-Sent Events (SSE) endpoint. It provides counter management, integer addition, IP address validation, and CIDR range checking for clients requiring real-time interaction.

Details

Author
RGGH
Downloads
252
Categories
Other

- Rust implementation with the poem framework
- Counter increment, decrement, and get value tools
- Integer addition via an adder tool
- IPv4 address validation tool
- IP-in-CIDR range checker tool
- Real-time SSE endpoint at /sse

Clone the repository, build with cargo build --release, then run cargo run to start the server on http://127.0.0.1:8000. Connect an SSE client to the /sse endpoint to interact with the tools.

MCP Server with Combined Tools

This project implements a Model Context Protocol (MCP) server in Rust using the poem framework. The server provides multiple tools for managing counters, adding numbers, validating IP addresses, and checking if an IP is in a CIDR range. The tools are exposed via a Server-Sent Events (SSE) endpoint, allowing clients to interact with the server in real-time.

Features

- Counter:
- Increment, decrement, and get the current value of a counter.

- Adder:
- Add two integers together.

- IP Validator:
- Validate if a given string is a valid IPv4 address.

- CIDR Checker:
- Check if an IP address is within a specified CIDR range.

Endpoints

- /sse: A Server-Sent Events (SSE) endpoint that exposes the tools in real-time.

Tools

- Increment: Increment the counter by 1.
- Decrement: Decrement the counter by 1.
- Get Value: Retrieve the current counter value.
- Add: Add two numbers together.
- Is Valid IPv4: Check if a string is a valid IPv4 address.
- Is IP in CIDR: Check if an IP address is within a CIDR range.

Setup

Requirements

- Rust 1.60 or higher
- Cargo (Rust's package manager and build system)

Installation

1. Clone the repository:

   git clone https://github.com/yourusername/mcp-server.git
   cd mcp-server
   

2. Build the project:

   cargo build --release
   

3. Run the server:

   cargo run
   

The server will start and listen on http://127.0.0.1:8000.

Dependencies

- poem: A web framework for Rust.
- poem_mcpserver: A library for implementing MCP servers with tools and SSE endpoints.
- tokio: Asynchronous runtime for Rust.

Example Usage

Once the server is running, you can connect to the /sse endpoint via an SSE client. Here's an example using JavaScript in the browser:

const eventSource = new EventSource('http://127.0.0.1:8000/sse');

eventSource.onmessage = function(event) {
console.log('Received data:', event.data);
};

License

This project is licensed under the MIT License. See the LICENSE file for more details.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.