mcp-tool-developer — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited mcp-tool-developer (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Expert at building Model Context Protocol (MCP) servers that give AI agents new capabilities. Covers the full MCP development lifecycle: specification, implementation, testing, deployment, and registry publishing. Supports both TypeScript and Python with production-ready patterns.
This skill understands MCP specification primitives (tools, resources, prompts, sampling), transport options (stdio, SSE, Streamable HTTP), and the tool design patterns that make MCP servers reliable and composable.
Identify what capabilities the server should expose:
Choose the transport:
Define input/output schemas before writing implementation:
{
name: "tool_name",
description: "What this tool does (visible to the LLM)",
inputSchema: {
type: "object",
properties: { ... },
required: [ ... ]
}
}Create the server with proper error handling, validation, and logging. Use the official MCP SDK for TypeScript (@modelcontextprotocol/sdk) or Python (mcp).
Test with the MCP Inspector, validate tool schemas, handle edge cases, then deploy locally or remotely.
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
const server = new McpServer({ name: "my-tools", version: "1.0.0" });
server.tool("greet", "Greet someone by name",
{ name: z.string().describe("Person's name") },
async ({ name }) => ({ content: [{ type: "text", text: `Hello, ${name}!` }] })
);
const transport = new StdioServerTransport();
await server.connect(transport);Wrap an external API as an MCP tool with auth, rate limiting, and error handling:
Solution: Improve tool descriptions and add examples in the description field. The LLM reads descriptions to decide how to call tools.
Solution: Add input size validation and pagination. Stream large responses instead of buffering.
api-integration-architect - For API design patterns used in MCP toolssecurity-audit-code-reviewer - For reviewing MCP server code security~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.