About MCP Server with Combined Tools
A Rust MCP server built with the poem framework that exposes tools for counters, integer addition, and IP address checks. It is intended for MCP clients connecting through its SSE endpoint.
Key features
- 01Increment and decrement counters
- 02Read the current counter value
- 03Add two integers
- 04Validate IPv4 addresses
- 05Check IP addresses against CIDR ranges
Use cases
- 01Adjust and read a counter through an MCP client
- 02Add two integer values
- 03Validate an IPv4 address string
- 04Check whether an IP belongs to a CIDR range
MCP support
Exposes counter, addition, IPv4 validation, and CIDR-checking tools to MCP clients through an SSE endpoint at `/sse`.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMCP 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
-
Clone the repository:
git clone https://github.com/yourusername/mcp-server.git cd mcp-server -
Build the project:
cargo build --release -
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.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.