mcp-tool-creation
Build Rust MCP Tools with rmcp
Rust MCP tools need clear schemas, validation, and async behavior. This skill guides developers through rmcp tool macros, parameter design, errors, tests, and common patterns.
Stop for confirmation before installing.
Review the plan and obtain explicit user consent before changing files.
Install with my Agent
Copy this request to your Agent. It includes the canonical Skill page and manifest.
Review the Skillstore skill "mcp-tool-creation" from https://skillstore.io/skills/emillindfors-mcp-tools-guide.md and its manifest at https://skillstore.io/api/skills/emillindfors-mcp-tools-guide/manifest. Verify the artifact. Stop and obtain explicit user consent before installing or changing files.Your Agent should still show its plan and request any confirmation required by the security policy.
Agent-readable resources
Use these links when an AI agent, crawler, or script needs clean context instead of reading the full page.
Test it
Using "mcp-tool-creation". Design a search tool for a Rust MCP server.
Expected outcome:
- A typed request object with query, limit, offset, and optional filters.
- Validation rules for empty queries and maximum limits.
- A result shape that separates matches from error messages.
Using "mcp-tool-creation". Review an existing rmcp tool.
Expected outcome:
The response highlights unclear descriptions, missing validation, weak error types, and test cases to add.
Using "mcp-tool-creation". Plan testing for a tool suite.
Expected outcome:
- Unit tests for each tool result.
- Edge cases for invalid parameters.
- Async behavior checks for slow dependencies.
Security Audit
High RiskThe static matches are mainly false positives caused by markdown backticks, Rust attributes, example function names, and prose. No prompt injection or malware intent was found. Three semantic content risks remain in examples: unsafe SQL, unrestricted file reads, and API key query strings.
Confirmed security concerns (3)
Risk Factors
⚙️ External commands (55)
🌐 Network access (2)
🔑 Env variables (2)
Share & cite this report
Share the versioned assessment report, neutral badge, embed card, and citations. Skillstore reports evidence without deciding whether this Skill is safe.
Copy report link
https://skillstore.io/skills/emillindfors-mcp-tools-guide/audits/4?utm_source=security_passport&utm_medium=share&utm_campaign=versioned_reportMarkdown badge
[](https://skillstore.io/skills/emillindfors-mcp-tools-guide?utm_source=security_passport_badge)HTML badge
<a href="https://skillstore.io/skills/emillindfors-mcp-tools-guide?utm_source=security_passport_badge"><img src="https://skillstore.io/badges/skills/emillindfors-mcp-tools-guide/security.svg" alt="Skillstore security assessment" loading="lazy"></a>Embed card
<iframe src="https://skillstore.io/embed/skills/emillindfors-mcp-tools-guide.html" title="Skillstore Security Assessment" sandbox="allow-popups allow-popups-to-escape-sandbox" loading="lazy" referrerpolicy="no-referrer" width="420" height="180"></iframe>Academic citations (APA · BibTeX · CFF)
APA citation
EmilLindfors. (2026). mcp-tool-creation security audit report (audit version 4) [Author version unspecified]. Skillstore. https://skillstore.io/skills/emillindfors-mcp-tools-guide/audits/4BibTeX citation
@techreport{emillindfors-emillindfors-mcp-tools-guide-2026,
author = {EmilLindfors},
title = {mcp-tool-creation security audit report (audit version 4)},
institution = {Skillstore},
year = {2026},
number = {4},
url = {https://skillstore.io/skills/emillindfors-mcp-tools-guide/audits/4},
note = {Author version unspecified}
}CITATION.cff
cff-version: 1.2.0
message: "If you use this Skill, cite its author and this versioned security audit report."
title: "mcp-tool-creation security audit report (audit version 4)"
version: "unspecified"
type: report
authors:
- name: "EmilLindfors"
date-released: "2026-07-05"
url: "https://skillstore.io/skills/emillindfors-mcp-tools-guide/audits/4"
identifiers:
- type: other
value: "skillstore:emillindfors-mcp-tools-guide:audit:4"
description: "Skillstore immutable audit report identifier"
Skillstore Score
Why this score Evidence Confidence: MediumWhat You Can Build
Design a New Rust MCP Tool
Plan parameters, returns, errors, and schema behavior before writing the implementation.
Review Tool API Shape
Check whether descriptions, parameter types, and result handling are clear for AI callers.
Teach rmcp Patterns
Use concise examples to explain macros, aggregate parameters, validation, testing, and async choices.
Try These Prompts
Explain how to create a simple rmcp tool that accepts two typed parameters and returns a typed result.
Design an rmcp tool API for <task>. Include parameter types, result type, validation rules, and error cases.
Review this Rust MCP tool for schema quality, error handling, async behavior, testing gaps, and security risks: <paste implementation>.
Plan a production rmcp tool suite for <domain>. Include tool boundaries, request structs, permissions, tests, and operations concerns.
Best Practices
- Start with clear tool descriptions and typed parameters before implementation.
- Validate inputs early, return structured errors, and avoid exposing sensitive data.
- Add unit tests, edge cases, and async performance checks for every tool.
Avoid
- Using broad string parameters when enums or structured request types fit better.
- Returning raw internal errors that reveal secrets, paths, or service details.
- Copying examples for production without adding authorization, rate limits, and validation.
Frequently Asked Questions
Does this skill generate a full MCP server?
Which SDK does it focus on?
Can I use it with Claude, Codex, and Claude Code?
Does it cover testing?
Are the examples production-ready?
Can it help with schema design?
Developer Details
Author
EmilLindforsLicense
MIT
Skillstore revision
r1
Version notice
The author did not declare a version.
Ref
30c73eac2afe762f6aa9c4553158769369d47351
Maintenance freshness
7/20/2026
Usage
5 downloads · 158 views
File structure
📄 SKILL.md