Mcp Dev Toolkit

PassAudited by ClawScan on May 12, 2026.

Overview

This is a coherent developer toolkit, but its example MCP tool patterns should be scoped carefully before use because they demonstrate broad file, API, and database access.

This skill appears safe as a development reference and scaffold. Before using its examples in a real MCP server, restrict file paths, API endpoints, and database permissions, and review generated dependencies with a lockfile.

Findings (4)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

If copied directly into an MCP server, an agent could write files anywhere the server process has permission.

Why it was flagged

The reference pattern demonstrates an MCP tool that writes arbitrary user-supplied paths without showing path allowlists, confirmation, or workspace restrictions. This is purpose-aligned documentation, but should be scoped before deployment.

Skill content
server.tool("write_file", { path: z.string(), content: z.string() }, async ({ path, content }) => { await fs.writeFile(path, content, "utf-8");
Recommendation

Add workspace allowlists, path normalization, explicit user approval for writes, and clear limits before using this pattern in a real MCP server.

What this means

A copied tool could let an agent send requests to unintended services or perform API mutations if credentials are included in headers.

Why it was flagged

The API wrapper pattern accepts arbitrary URLs, headers, and POST bodies. This is expected for API-integration guidance, but it is a broad escape-hatch style tool if deployed without endpoint restrictions.

Skill content
server.tool("api_post", { url: z.string(), body: z.record(z.any()), headers: z.record(z.string()).optional() }, async ({ url, body, headers: extraHeaders }) => { const resp = await fetch(url, { method: "POST"
Recommendation

Restrict allowed domains and methods, avoid passing arbitrary headers, redact secrets from logs, and require user confirmation for mutating API calls.

What this means

If deployed with a highly privileged database credential, an agent could read more database data than intended.

Why it was flagged

The database pattern uses a database connection string from the environment. That is normal for database MCP tools, but it means the resulting server can access data according to that credential's privileges.

Skill content
const pool = new pg.Pool({ connectionString: process.env.DATABASE_URL });
Recommendation

Use least-privilege, read-only database users where possible, restrict schemas/tables, and keep the SELECT-only checks or stronger query controls.

What this means

Future dependency updates could change behavior or introduce vulnerabilities in generated projects.

Why it was flagged

The scaffold script generates project dependency ranges rather than pinned versions. It does not install them automatically, but users who install later will receive compatible newer versions.

Skill content
"dependencies": { "@modelcontextprotocol/sdk": "^1.0.0", "zod": "^3.22.0" }
Recommendation

Review generated dependencies, use lockfiles, and pin versions for production MCP servers.