Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
76
66%
Does it follow best practices?
Impact
88%
1.60xAverage score across 3 eval scenarios
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./data/0b1c2d3e-4f5a-6b7c-8d9e-0f1a2b3c4d5e/SKILL.mdSecurity
2 findings — 2 medium severity. This skill can be installed but you should review these findings before use.
The skill exposes the agent to untrusted, user-generated content from public third-party sources, creating a risk of indirect prompt injection. This includes browsing arbitrary URLs, reading social media posts or forum comments, and analyzing content from unknown websites.
Third-party content exposure detected (high risk: 1.00). The skill explicitly instructs the agent to WebFetch external, public resources (e.g., "Use WebFetch to load: https://modelcontextprotocol.io/llms-full.txt" and raw.githubusercontent.com SDK READMEs) and to use web search/WebFetch to gather API docs, meaning the agent ingests untrusted third-party content that can materially influence tool design and actions.
The skill fetches instructions or code from an external URL at runtime, and the fetched content directly controls the agent’s prompts or executes code. This dynamic dependency allows the external source to modify the agent’s behavior without any changes to the skill itself.
Potentially malicious external URL detected (high risk: 0.80). The skill explicitly instructs using WebFetch at runtime to load external specification/docs that the agent is meant to ingest and follow — specifically https://modelcontextprotocol.io/llms-full.txt, https://raw.githubusercontent.com/modelcontextprotocol/python-sdk/main/README.md, and https://raw.githubusercontent.com/modelcontextprotocol/typescript-sdk/main/README.md — so fetched content can directly control agent instructions.
6770aaa
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.