mcp-builder/SKILL.md
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).
npx skillsauth add lidge-jun/cli-jaw-skills mcp-builderInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create MCP servers that enable LLMs to interact with external services. Quality is measured by how well the server enables LLMs to accomplish real-world tasks.
github_create_issue, github_list_repos)Start with the sitemap: https://modelcontextprotocol.io/sitemap.xml
Fetch pages with .md suffix for markdown (e.g., https://modelcontextprotocol.io/specification/draft.md).
Key areas: specification overview, transport mechanisms (streamable HTTP, stdio), tool/resource/prompt definitions.
Recommended stack: TypeScript with streamable HTTP (remote) or stdio (local).
| Resource | Location |
|----------|----------|
| MCP Best Practices | reference/mcp_best_practices.md |
| TypeScript Guide | reference/node_mcp_server.md |
| Python Guide | reference/python_mcp_server.md |
| TypeScript SDK README | https://raw.githubusercontent.com/modelcontextprotocol/typescript-sdk/main/README.md |
| Python SDK README | https://raw.githubusercontent.com/modelcontextprotocol/python-sdk/main/README.md |
Review the service's API docs to identify key endpoints, auth requirements, and data models. Prioritize the most common operations.
See language-specific guides for setup:
Create shared utilities: API client with auth, error handling helpers, response formatting (JSON/Markdown), pagination support.
For each tool:
Input schema: Use Zod (TypeScript) or Pydantic (Python) with constraints, clear descriptions, and examples.
Output schema: Define outputSchema where possible; use structuredContent for structured responses.
Implementation:
Annotations: Set readOnlyHint, destructiveHint, idempotentHint, openWorldHint as appropriate.
Resources: Read-only data the model can fetch (file contents, API responses, config values). Register with registerResource() or resource() depending on SDK version. Handlers receive a uri argument.
Prompts: Reusable parameterised prompt templates the client can surface. Register with registerPrompt() or equivalent. Useful for complex multi-step workflows the model can invoke by name.
The SDK API for registration methods (tool() vs registerTool(), etc.) has changed across versions. Verify against the current SDK README or Context7 before using.
Best practices:
Code quality: no duplicated code, consistent error handling, full type coverage, clear tool descriptions.
Build and test:
npm run build, then npx @modelcontextprotocol/inspectorpython -m py_compile your_server.py, then MCP InspectorSee language-specific guides for detailed testing and quality checklists.
Test whether LLMs can effectively use your server to answer realistic, complex questions.
Load reference/evaluation.md for complete guidelines.
Each question should be: independent, read-only, complex (multiple tool calls), realistic, verifiable (single clear answer), and stable over time.
<evaluation>
<qa_pair>
<question>Find discussions about AI model launches with animal codenames...</question>
<answer>3</answer>
</qa_pair>
</evaluation>
| Language | Package | Notes |
|----------|---------|-------|
| TypeScript | @modelcontextprotocol/sdk (npm) | Use Context7 for current patterns |
| Go | modelcontextprotocol/go-sdk (GitHub) | Official Go SDK |
| C# | Official C# SDK for .NET | .NET ecosystem |
development
Goal execution guidelines with PABCD integration, verification tiers, documentation workflow, and AI-driven planning
tools
A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.
development
Use this skill any time a spreadsheet file is the primary input or output (.xlsx, .xlsm, .csv, .tsv). This includes: creating, reading, editing, analyzing, or formatting spreadsheets; cleaning messy tabular data; converting between formats; and data visualization with charts. Also use for pandas-based data analysis when the deliverable is a spreadsheet. Do NOT trigger when the primary deliverable is a Word document, HTML report, standalone Python script, database pipeline, or Google Sheets API integration.
tools
Use this skill when the user wants to build a financial model, 3-statement model, DCF valuation, cap table, scenario analysis, or financial projections in Excel. Trigger on: 'financial model', '3-statement model', 'DCF', 'cap table', 'pro forma', 'projections', 'sensitivity analysis', 'waterfall', 'debt schedule', 'break-even', 'discounted cash flow', 'capitalization table', 'fundraising model', 'WACC calculation', 'scenario analysis model'. Input is a text prompt with assumptions. Output is a single .xlsx file with formula-driven, interconnected statement sheets.