py-mcp-server-template
This repository is a template to help you create your own MCP (Model Context Protocol) servers in Python. Fork this repository to get started.
Setup with uv
This project uses uv
for Python packaging and virtual environment management. If you don't have uv
installed, please refer to the official uv installation guide.
- Clone your forked repository:Copy
- Create and activate the virtual environment:
uv
typically creates a.venv
directory in your project root.Copy - Install dependencies:
This project uses
pyproject.toml
to manage dependencies.If you add new dependencies, define them in yourCopypyproject.toml
file and run this command again. If you are using arequirements.txt
file for some reason, you can install it withuv pip install -r requirements.txt
.
Running the Server
The mcp_server.py
script starts the MCP server.
To run the server directly:
Integrating with Claude Desktop or Cursor
To use this MCP server with an application like Claude Desktop or Cursor, you'll need to configure it in the application's settings. The configuration will typically involve specifying the command to run your server.
Here's an example configuration snippet. You'll need to replace /ABSOLUTE/PATH/TO/PARENT/FOLDER/YOUR_REPOSITORY_NAME
with the actual absolute path to your project directory on your system.
Explanation of the configuration:
"my-custom-python-server"
: This is a name you give to your server configuration."command": "uv"
: Specifiesuv
as the command to execute."args"
: A list of arguments for theuv
command:"run"
: Tellsuv
to execute a command within its managed environment."--python"
: Specifies the Python interpreter to use. It's important to point this to the Python interpreter inside youruv
virtual environment (.venv/bin/python
)."/ABSOLUTE/PATH/TO/PARENT/FOLDER/YOUR_REPOSITORY_NAME/mcp_server.py"
: The absolute path to your server script.
"workingDirectory"
: Specifies the working directory for the server process, which should be your project's root directory.
Important:
- Ensure the paths in the
args
andworkingDirectory
are correct for your system. - If the application cannot locate
uv
, you might need to specify its full path in the"command"
field. You can typically find this path by runningwhich uv
in your terminal on macOS or Linux, orwhere uv
on Windows. - The server listens on
stdio
by default as configured inmcp_server.py
(mcp.run(transport='stdio')
), which is typically what applications like Cursor expect.
After configuring, the application should be able to communicate with your Python MCP server.
This server cannot be installed
A template repository for creating custom Model Context Protocol (MCP) servers in Python that can be integrated with applications like Claude Desktop or Cursor.
Related MCP Servers
- -securityAlicense-qualityA Python-based server that implements the Model Context Protocol to interface with Claude Desktop as an MCP client, supporting interaction through efficient memory management.Last updated -1PythonMIT License
- -securityFlicense-qualityA Model Context Protocol server built with mcp-framework that allows users to create and manage custom tools for processing data, integrating with the Claude Desktop via CLI.Last updated -484TypeScript
- -securityAlicense-qualityA streamlined foundation for building Model Context Protocol servers in Python, designed to make AI-assisted development of MCP tools easier and more efficient.Last updated -13PythonMIT License
- -securityFlicense-qualityA starter template for building Model Context Protocol (MCP) servers, enabling developers to create and add custom tools that can be integrated with Claude Desktop.Last updated -TypeScript