# Build Rust MCP Servers with rmcp

Rust developers need a direct path from MCP concepts to a working server. This skill explains rmcp setup, service patterns, transports, tests, and debugging steps.

## Install

```bash
npx skillstore add emillindfors/rmcp-quickstart
```

## Metadata

- Status: approved
- Slug: emillindfors-rmcp-quickstart
- Skillstore revision: r1
- Version status: missing
- Tree hash: 1eabf75c7c6f85232be7700a15b93abc6c4f2e9bad4e5298b7bdfefd0c3ace84
- Author: EmilLindfors
- GitHub username: EmilLindfors
- License: MIT
- Repository: https://github.com/EmilLindfors/claude-marketplace/tree/main/plugins/rust-mcp-server/skills/rmcp-quickstart
- Ref: a06681402992ceae98ba04d54cfd4ab004862696
- Supported tools: Claude, Codex, Claude Code
- Audit status: complete
- Agent install advisory: allowed
- Manual install advisory: allowed
- Artifact signature: available
- Audit attestation: unavailable
- Human verification: not\_verified
- Risk factors: external\_commands, network
- Quality score: 77
- Quality tier: bronze
- Public page: https://skillstore.pages.dev/skills/emillindfors-rmcp-quickstart
- Manifest: https://skillstore.pages.dev/api/skills/emillindfors-rmcp-quickstart/manifest

## Capabilities

- Explains MCP tools, resources, prompts, and transport choices.
- Shows how to add rmcp, Tokio, serde, schemars, and thiserror dependencies.
- Provides a complete Hello World MCP server pattern in Rust.
- Describes stdio, SSE, and HTTP streaming transport options.
- Covers unit tests, integration tests, logging, and common rmcp debugging issues.

## Use Cases

- Create a First MCP Server: Follow a simple rmcp pattern to create tools, choose stdio transport, and test local behavior.
- Evaluate Transport Options: Compare stdio, SSE, and HTTP streaming for local tools, cloud services, and web deployments.
- Debug rmcp Tool Definitions: Check macro usage, parameter types, async functions, tests, and logging when tools fail to appear.

## Prompt Templates

### Start a Basic Server

```
Help me create my first rmcp MCP server in Rust. Explain the project structure, dependencies, and the smallest useful tool.
```

### Choose a Transport

```
Compare stdio, SSE, and HTTP streaming for my rmcp server. Recommend one for local development and one for deployment.
```

### Add Typed Tools

```
Guide me through adding an rmcp tool with structured parameters, validation, and useful error messages.
```

### Review a Server Design

```
Review my planned rmcp server architecture for tool boundaries, async state handling, testing strategy, and deployment risks.
```

## Limitations

- It is a guide, not an installed Rust project or runnable server.
- Version notes may need confirmation against the current rmcp release.
- It does not cover production authentication, authorization, or deployment hardening in depth.
- It assumes the user already has a Rust toolchain and basic async Rust knowledge.

## Best Practices

- Start with one small tool and verify it with tests before adding resources or prompts.
- Use clear tool descriptions and typed parameters so clients can call tools safely.
- Confirm rmcp and MCP specification versions before copying dependency versions into production.

## Anti Patterns

- Do not expose broad filesystem, network, or shell access in a first MCP server.
- Do not skip tests for tool behavior, parameter validation, and server lifecycle handling.
- Do not choose a remote transport before defining authentication and deployment boundaries.

## Security Audit

- Audited at: 2026-07-06T15:21:55.352\+00:00
- Summary: The static alerts are false positives caused by Markdown code fences, inline Rust macro syntax, documentation links, and neutral guide text. No evidence found of executable shell control, unauthorized network access, prompt injection, system reconnaissance, or data exfiltration.

## Stats

- Views: 180
- Downloads: 9
- Favorites: 0
- Popularity score: 0
