python-mcp-server-generator

โดย github

โปรเจกต์สร้างเซิร์ฟเวอร์ MCP Python แบบสมบูรณ์ พร้อมเครื่องมือ ทรัพยากร และการกำหนดค่าที่เหมาะสม สร้างโครงสร้างโปรเจกต์ Python ใหม่โดยใช้ uv กับ MCP SDK โครงสร้างไดเรกทอรีที่เหมาะสม และ .gitignore รองรับทั้งการเชื่อมต่อแบบ stdio (ภายในเครื่อง) และ streamable-http (ระยะไกล) พร้อมการกำหนดค่าโฮสต์ พอร์ต และโหมดไร้สถานะ สร้างเครื่องมือ ทรัพยากร และพรอมต์ที่ตกแต่งแล้ว พร้อมการสร้างสคีมาอัตโนมัติจากคำแนะนำประเภทและ docstring รวมถึงการจัดการข้อผิดพลาดที่ครอบคลุม การรองรับ async/await...

npx skills add https://github.com/github/awesome-copilot --skill python-mcp-server-generator

Generate Python MCP Server

Create a complete Model Context Protocol (MCP) server in Python with the following specifications:

Requirements

  1. Project Structure: Create a new Python project with proper structure using uv
  2. Dependencies: Include mcp[cli] package with uv
  3. Transport Type: Choose between stdio (for local) or streamable-http (for remote)
  4. Tools: Create at least one useful tool with proper type hints
  5. Error Handling: Include comprehensive error handling and validation

Implementation Details

Project Setup

  • Initialize with uv init project-name
  • Add MCP SDK: uv add "mcp[cli]"
  • Create main server file (e.g., server.py)
  • Add .gitignore for Python projects
  • Configure for direct execution with if __name__ == "__main__"

Server Configuration

  • Use FastMCP class from mcp.server.fastmcp
  • Set server name and optional instructions
  • Choose transport: stdio (default) or streamable-http
  • For HTTP: optionally configure host, port, and stateless mode

Tool Implementation

  • Use @mcp.tool() decorator on functions
  • Always include type hints - they generate schemas automatically
  • Write clear docstrings - they become tool descriptions
  • Use Pydantic models or TypedDicts for structured outputs
  • Support async operations for I/O-bound tasks
  • Include proper error handling

Resource/Prompt Setup (Optional)

  • Add resources with @mcp.resource() decorator
  • Use URI templates for dynamic resources: "resource://{param}"
  • Add prompts with @mcp.prompt() decorator
  • Return strings or Message lists from prompts

Code Quality

  • Use type hints for all function parameters and returns
  • Write docstrings for tools, resources, and prompts
  • Follow PEP 8 style guidelines
  • Use async/await for asynchronous operations
  • Implement context managers for resource cleanup
  • Add inline comments for complex logic

Example Tool Types to Consider

  • Data processing and transformation
  • File system operations (read, analyze, search)
  • External API integrations
  • Database queries
  • Text analysis or generation (with sampling)
  • System information retrieval
  • Math or scientific calculations

Configuration Options

  • For stdio Servers:

    • Simple direct execution
    • Test with uv run mcp dev server.py
    • Install to Claude: uv run mcp install server.py
  • For HTTP Servers:

    • Port configuration via environment variables
    • Stateless mode for scalability: stateless_http=True
    • JSON response mode: json_response=True
    • CORS configuration for browser clients
    • Mounting to existing ASGI servers (Starlette/FastAPI)

Testing Guidance

  • Explain how to run the server:
    • stdio: python server.py or uv run server.py
    • HTTP: python server.py then connect to http://localhost:PORT/mcp
  • Test with MCP Inspector: uv run mcp dev server.py
  • Install to Claude Desktop: uv run mcp install server.py
  • Include example tool invocations
  • Add troubleshooting tips

Additional Features to Consider

  • Context usage for logging, progress, and notifications
  • LLM sampling for AI-powered tools
  • User input elicitation for interactive workflows
  • Lifespan management for shared resources (databases, connections)
  • Structured output with Pydantic models
  • Icons for UI display
  • Image handling with Image class
  • Completion support for better UX

Best Practices

  • Use type hints everywhere - they're not optional
  • Return structured data when possible
  • Log to stderr (or use Context logging) to avoid stdout pollution
  • Clean up resources properly
  • Validate inputs early
  • Provide clear error messages
  • Test tools independently before LLM integration

Generate a complete, production-ready MCP server with type safety, proper error handling, and comprehensive documentation.

Skills เพิ่มเติมจาก github

console-rendering
github
คำแนะนำสำหรับการใช้ระบบเรนเดอร์คอนโซลที่ใช้ struct tag ใน Go
official
acquire-codebase-knowledge
github
ใช้ทักษะนี้เมื่อผู้ใช้ขอให้ทำแผนที่ จัดทำเอกสาร หรือเริ่มต้นใช้งานในโค้ดเบสที่มีอยู่จริง โดยจะเริ่มทำงานเมื่อมีข้อความแจ้งเช่น "ทำแผนที่โค้ดเบสนี้" "จัดทำเอกสาร…
official
acreadiness-assess
github
Run the AgentRC readiness assessment on the current repository and produce a static HTML dashboard at reports/index.html. Wraps `npx github:microsoft/agentrc…
official
acreadiness-generate-instructions
github
สร้างไฟล์คำแนะนำ AI agent ที่ปรับแต่งตามคำสั่ง AgentRC instructions สร้างไฟล์ .github/copilot-instructions.md (ค่าเริ่มต้น แนะนำสำหรับ Copilot ใน VS…)
official
acreadiness-policy
github
ช่วยผู้ใช้เลือก เขียน หรือใช้ AgentRC policy นโยบายปรับแต่งการให้คะแนนความพร้อมโดยปิดการตรวจสอบที่ไม่เกี่ยวข้อง เปลี่ยนระดับผลกระทบ/ระดับ การตั้งค่า…
official
add-educational-comments
github
เพิ่มความคิดเห็นเชิงการศึกษาให้กับไฟล์โค้ดเพื่อเปลี่ยนให้เป็นแหล่งเรียนรู้ที่มีประสิทธิภาพ ปรับระดับความลึกและน้ำเสียงของคำอธิบายตามระดับความรู้ที่กำหนดได้สามระดับ: ผู้เริ่มต้น ระดับกลาง และระดับสูง ขอไฟล์โดยอัตโนมัติหากไม่มีไฟล์ที่ให้ไว้ พร้อมการจับคู่รายการแบบมีหมายเลขเพื่อการเลือกที่รวดเร็ว ขยายไฟล์ได้สูงสุด 125% โดยใช้เฉพาะความคิดเห็นเชิงการศึกษา (ขีดจำกัดสูงสุด: 400 บรรทัดใหม่; 300 บรรทัดสำหรับไฟล์ที่มีมากกว่า 1,000 บรรทัด) รักษาการเข้ารหัสไฟล์ รูปแบบการเยื้อง ความถูกต้องของไวยากรณ์ และ...
official
adobe-illustrator-scripting
github
เขียน ดีบัก และปรับสคริปต์อัตโนมัติของ Adobe Illustrator ให้เหมาะสมโดยใช้ ExtendScript (JavaScript/JSX) ใช้เมื่อสร้างหรือแก้ไขสคริปต์ที่จัดการ...
official
agent-governance
github
นโยบายเชิงประกาศ การจำแนกเจตนา และเส้นทางการตรวจสอบสำหรับควบคุมการเข้าถึงเครื่องมือและพฤติกรรมของเอเจนต์ AI นโยบายการกำกับดูแลที่ประกอบได้กำหนดเครื่องมือที่อนุญาต/บล็อก ตัวกรองเนื้อหา การจำกัดอัตรา และข้อกำหนดการอนุมัติ — จัดเก็บเป็นคอนฟิกูเรชัน ไม่ใช่โค้ด การจำแนกเจตนาเชิงความหมายตรวจจับพรอมต์อันตราย (การขโมยข้อมูล การยกระดับสิทธิ์ การฉีดพรอมต์) ก่อนการดำเนินการเครื่องมือโดยใช้สัญญาณตามรูปแบบ ตัวตกแต่งการกำกับดูแลระดับเครื่องมือบังคับใช้นโยบายที่ฟังก์ชัน...
official