mcp-server

seeeeeeong/mcp-server

3.1

If you are the rightful owner of mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

This is a custom Model Context Protocol (MCP) server template built with Python, designed for integration with Claude Desktop and other MCP clients.

Tools
1
Resources
0
Prompts
0

MCP Server

A custom Model Context Protocol (MCP) server implementation.

Overview

This is a template MCP server built with Python. It provides a foundation for creating custom MCP servers that can integrate with Claude Desktop and other MCP clients.

Features

  • Built with the official MCP Python SDK
  • Example tool implementation
  • Ready for customization
  • Easy setup with uv

Installation

Prerequisites

  • Python 3.12 or higher
  • uv package manager

Setup

  1. Clone this repository:
git clone <your-repo-url>
cd mcp-server
  1. Install dependencies:
uv sync

Usage

Running the Server

Run the server directly:

uv run python src/mcp_server/server.py

Configuring with Claude Desktop

Add to your Claude Desktop configuration file:

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "mcp-server": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/mcp-server",
        "run",
        "python",
        "src/mcp_server/server.py"
      ]
    }
  }
}

Development

Project Structure

mcp-server/
├── src/
│   └── mcp_server/
│       ├── __init__.py
│       └── server.py       # Main server implementation
├── pyproject.toml          # Project configuration
└── README.md

Customization

The server includes an example tool. Modify src/mcp_server/server.py to:

  1. Add Resources: Implement @server.list_resources() and @server.read_resource()
  2. Add Tools: Modify @server.list_tools() and @server.call_tool()
  3. Add Prompts: Implement @server.list_prompts() and @server.get_prompt()

Example Tool

The server includes a simple example tool:

{
    "name": "example_tool",
    "description": "An example tool - replace with your own",
    "inputSchema": {
        "type": "object",
        "properties": {
            "message": {
                "type": "string",
                "description": "A message to process"
            }
        },
        "required": ["message"]
    }
}

Resources

License

MIT