MR
Mayur Rathi
@github
⭐ 34.1k GitHub stars

Python-Mcp-Server-Generator

Python-Mcp-Server-Generator是一款code方向的AI技能,核心价值是Generate a complete MCP server project in Python with tools, resources, and proper configuration,可用于解决开发者在code领域的实际问题,帮助用户提升效率、自动化重复任务或优化工作流。

Generate a complete MCP server project in Python with tools, resources, and proper configuration

Last verified on: 2026-05-30
mkdir -p ./skills/python-mcp-server-generator && curl -sfL https://raw.githubusercontent.com/github/awesome-copilot/main/skills/python-mcp-server-generator/SKILL.md -o ./skills/python-mcp-server-generator/SKILL.md

Run in terminal / PowerShell. Requires curl (Unix) or PowerShell 5+ (Windows).

Skill Content

# 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.

🎯 Best For

  • Developers scaffolding new projects
  • Prototype builders
  • Claude users
  • GitHub Copilot users
  • Software engineers

💡 Use Cases

  • Bootstrapping React components
  • Creating API route handlers
  • Python code quality enforcement
  • Dependency management

📖 How to Use This Skill

  1. 1

    Install the Skill

    Copy the install command from the Terminal tab and run it. The SKILL.md file downloads to your local skills directory.

  2. 2

    Load into Your AI Assistant

    Open Claude or GitHub Copilot and reference the skill. Paste the SKILL.md content or use the system prompt tab.

  3. 3

    Apply Python-Mcp-Server-Generator to Your Work

    Open your project in the AI assistant and ask it to apply the skill. Start with a small module to verify the output quality.

  4. 4

    Review and Refine

    Review AI suggestions before committing. Run tests, check for regressions, and iterate on the skill output.

❓ Frequently Asked Questions

Can I customize the generated output?

Yes — modify the skill's prompt instructions to match your project conventions and coding style.

Is Python-Mcp-Server-Generator compatible with Cursor and VS Code?

Yes — this skill works with any AI coding assistant including Cursor, VS Code with Copilot, and JetBrains IDEs.

Do I need specific dependencies for Python-Mcp-Server-Generator?

Check the install command and Works With section. Most code skills only require the AI assistant and your codebase.

How do I install Python-Mcp-Server-Generator?

Copy the install command from the Terminal tab and run it. The skill downloads to ./skills/python-mcp-server-generator/SKILL.md, ready to use.

Can I customize this skill for my team?

Absolutely. Edit the SKILL.md file to add team-specific instructions, examples, or workflows.

⚠️ Common Mistakes to Avoid

Using generated code without understanding

Understand what generated code does before shipping it to production.

Skipping validation

Always test AI-generated code changes, even for simple refactors.

Missing dependency updates

Check if the skill requires updated dependencies or new packages.

🔗 Related Skills