1. Conduid
  2. Data
  3. Anet MCP Server
MCP server · Data

Anet MCP Server

🚀 A high-performance Rust server for Model Control Protocol (MCP) with JSON-RPC 2.0, NATS messaging, async support, and pluggable AI tools.

Unclaimed last commit a year ago data
34Low

Scored 6 months ago · breakdown

About Anet MCP Server

Anet MCP Server is an MCP server published by marekkucak in the Data category: 🚀 A high-performance Rust server for Model Control Protocol (MCP) with JSON-RPC 2.0, NATS messaging, async support, and pluggable AI tools.

The repository has 1 stars and 0 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

From source
git clone https://github.com/marekkucak/anet-mcp-server

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Anet MCP Server

Powered by Claude · Grounded in docs

I know everything about Anet MCP Server. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

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 information
  • listTools – Get a list of available tools
  • callTool – Call a specific tool with arguments
  • listResources – Get a list of available resources
  • readResource – Read a specific resource
  • listPrompts – Get a list of available prompts
  • getPrompt – 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.

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About Anet MCP Server

How do I install Anet MCP Server?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Anet MCP Server safe to use with an AI agent?

Its trust score is 34 out of 100 (low). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Anet MCP Server still maintained?

The last commit was a year ago. That's long enough that you should check whether the maintainer is responding to issues before depending on it.