mcp-server-dev

Debug MCP server integration failures for Claude tools with FastMCP or TypeScript.

8|1|Updated Mar 30, 2026
One-click install
npx skills add https://github.com/drewid74/ai_skills --skill mcp-server-dev-drewid74
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: mcp-server-dev
Source: https://github.com/drewid74/ai_skills/tree/main/mcp-server-dev
Command: npx skills add https://github.com/drewid74/ai_skills --skill mcp-server-dev-drewid74

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps you build and troubleshoot an MCP server so your custom Claude tools reliably appear, connect, and return correctly structured results.

Core Features & Use Cases

  • MCP server implementation guidance: Develop atomic tools (one action per tool) using FastMCP or the official TypeScript SDK patterns.

  • Correct transport setup: Choose stdio for local runs and SSE/HTTP for Docker/remote deployments, avoiding common connection failures.

  • Protocol-accurate outputs: Enforce structured dict/list responses, raise real exceptions on failure, and keep tool naming consistent (e.g., verb_noun) to improve tool routing.

  • Use Case: You wrapped a REST API as an MCP tool but Claude says the tool is not being called; use this Skill to correct the transport, registration configuration, and the response format so the tool is callable and returns valid JSON.

Quick Start

Ask your AI assistant to produce an MCP server using FastMCP with one verb_noun tool per action, configured for stdio locally and SSE when containerized, including guards for auth, safe file paths, and structured dict/list outputs.

Frequently Asked Questions about mcp-server-dev

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Why does my MCP server tool not register or execute when called by Claude?

MCP server integration failures often stem from incorrect transport setup, missing registrations in .mcp.json, or non-protocol structured returns. Ensuring deterministic verb_noun naming and structured dict/list outputs resolves tool routing and execution issues.

How do I build a FastMCP server with correctly callable tools?

Build FastMCP servers by developing atomic tools with one action per tool, enforcing protocol-safe structured dict/list responses, and raising real exceptions on failure to ensure tools are callable and return valid JSON.

When should I use stdio versus SSE/HTTP transport for MCP servers?

Use stdio transport for local MCP server runs and switch to SSE/HTTP transport for Docker or remote deployments to avoid common connection failures when exposing Claude tools from custom backends.

How do I wrap a REST API into an MCP tool call for Claude?

Wrap REST APIs into MCP tool calls by creating atomic tools with deterministic naming, applying auth guards and safe path practices, and returning structured dict/list outputs to ensure correct registration and execution.

What are the limitations of using TypeScript MCP servers with Claude tools?

TypeScript MCP server failures frequently occur from incorrect transport wiring, invalid response formats, or improper registration in claude_desktop_config.json, requiring protocol-accurate structured returns and exception-based failure handling to resolve.