- Explore MCP Servers
- anet-mcp-server
Anet Mcp Server
What is Anet Mcp Server
anet-mcp-server is a high-performance Rust server implementing the Model Control Protocol (MCP) that facilitates communication between clients and AI models using a standardized protocol.
Use cases
Use cases include creating AI agent systems, developing custom JSON-RPC 2.0 service layers, and facilitating real-time interactions between tools and AI models.
How to use
To use anet-mcp-server, install it by adding it to your Cargo.toml file. Start a NATS server, then run the example server provided in the repository to demonstrate its core functionalities.
Key features
Key features include a JSON-RPC 2.0 compatible API, NATS transport layer for message passing, an extensible tool system, support for prompts and resources, and asynchronous request handling with Tokio.
Where to use
anet-mcp-server is suitable for fields such as AI service development, microservices architecture, AI orchestration, and building LLM-based tools.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Overview
What is Anet Mcp Server
anet-mcp-server is a high-performance Rust server implementing the Model Control Protocol (MCP) that facilitates communication between clients and AI models using a standardized protocol.
Use cases
Use cases include creating AI agent systems, developing custom JSON-RPC 2.0 service layers, and facilitating real-time interactions between tools and AI models.
How to use
To use anet-mcp-server, install it by adding it to your Cargo.toml file. Start a NATS server, then run the example server provided in the repository to demonstrate its core functionalities.
Key features
Key features include a JSON-RPC 2.0 compatible API, NATS transport layer for message passing, an extensible tool system, support for prompts and resources, and asynchronous request handling with Tokio.
Where to use
anet-mcp-server is suitable for fields such as AI service development, microservices architecture, AI orchestration, and building LLM-based tools.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Content
Anet MCP Server
A Rust implementation of the Model Control Protocol (MCP) server that enables communication between clients and AI models via a standardized protocol.
This project provides a scalable and asynchronous framework for building AI services using Rust, Tokio, and NATS. It is designed for developers building AI agent systems, LLM-based tools, or custom JSON-RPC 2.0 service layers. The architecture supports real-time message passing, making it ideal for microservices, AI orchestration, and tool-based model interaction.
Features
- ✅ JSON-RPC 2.0 compatible API
- 🔄 NATS transport layer for message passing
- 🛠️ Extensible tool system
- 🧠 Support for prompts and resources
- ⚡ Asynchronous request handling with Tokio
Requirements
- Rust 1.70+
- NATS server running locally or accessible via network
Installation
Add the following to your Cargo.toml:
[dependencies]
anet_mcp_server = "0.1.0"
Getting Started
Running the Example Server
The repository includes a basic example server that demonstrates core functionality:
# Start a NATS server in another terminal or ensure one is already running
# Example:
nats-server
# Run the example server
cargo run --example basic_server
Testing the Server
You can test the server using the included test client:
cargo run --example test_client
This will send various requests to the server and print the responses.
Usage
Creating a Server
use anet_mcp_server::{
ServerBuilder, ServerCapabilities,
transport::nats::NatsTransport,
};
use serde_json::json;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let transport = NatsTransport::new("nats://localhost:4222", "mcp.requests").await?;
let server = ServerBuilder::new()
.transport(transport)
.name("my-mcp-server")
.version("0.1.0")
.capabilities(ServerCapabilities {
tools: Some(json!({})),
prompts: Some(json!({})),
resources: Some(json!({})),
notification_options: None,
experimental_capabilities: None,
})
.build()?;
server.run().await
}
Implementing a Custom Tool
use anet_mcp_server::{Content, Tool};
use async_trait::async_trait;
use serde_json::{json, Value};
struct MyTool;
#[async_trait]
impl Tool for MyTool {
fn name(&self) -> String {
"my_tool".to_string()
}
fn description(&self) -> String {
"A custom tool".to_string()
}
fn input_schema(&self) -> Value {
json!({
"type": "object",
"properties": {
"input": { "type": "string" }
}
})
}
async fn call(&self, input: Option<Value>) -> anyhow::Result<Vec<Content>> {
Ok(vec![Content::Text {
text: "Tool response".to_string()
}])
}
}
API Reference
The server implements the following JSON-RPC methods:
initialize– Initialize the connection and get server informationlistTools– Get a list of available toolscallTool– Call a specific tool with argumentslistResources– Get a list of available resourcesreadResource– Read a specific resourcelistPrompts– Get a list of available promptsgetPrompt– Get a specific prompt with arguments
Architecture
The server follows a modular design:
- server – Core server logic and request handling
- transport – Message transport layer (currently NATS)
- tools – Tool interfaces and implementations
- types – Common data structures
License
MIT License
Let me know if you want badges, contribution guidelines, or example JSON-RPC payloads added to the README as well.
Dev Tools Supporting MCP
The following are the main code editors that support the Model Context Protocol. Click the link to visit the official website for more information.










