Integrates with CoinMarketCap API to retrieve real-time cryptocurrency price information and market data
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Python Server MCPget current price of Bitcoin"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Python Server MCP - Cryptocurrency Price Service
This project implements an MCP (Model Context Protocol) server that provides cryptocurrency price information. The server is built using Python and the MCP framework to create an API that can be consumed by different clients.
Docker
Docker build:
docker build -t mcp/python-server-mcp -f Dockerfile .
Add the following to your mcp.json file:
{
"mcpServers": {
"python-server-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-p",
"8000:8000",
"-e",
"ENVIRONMENT",
"-e",
"COINMARKETCAP_API_KEY",
"mcp/python-server-mcp"
],
"env": {
"ENVIRONMENT": "PRODUCTION",
"COINMARKETCAP_API_KEY": "your-api-key",
}
}
}
}Related MCP server: Coin MCP Server
Features
Real-time cryptocurrency price retrieval
Environment-based configuration (development, production, staging, local)
CoinMarketCap API integration
Docker container deployment
Requirements
Python 3.12+
uv (package and virtual environment manager)
Docker (optional, for container execution)
Installation
Using uv (recommended)
# Clone the repository
git clone <repository-url>
cd PythonServerMcpCreate and activate virtual environment with uv
uv venv
source .venv/bin/activateInstall dependencies
uv sync
Configuration
Create a
.envfile in the project root with the following variables:
ENVIRONMENT=DEV # Options: LOCAL, DEV, STAGING, PROD
COINMARKETCAP_API_KEY=your_api_key_hereYou can also create specific environment files for each environment:
.dev.env- For development environment.staging.env- For staging environment.prod.env- For production environment
Usage
Local Execution
python main.pyThis will start the MCP server that will listen for requests through standard input/output (stdio).
Using Docker
# Build the image
docker build -t test-mcp -f Dockerfile --platform linux/amd64 .
# Run the container
docker run -it test-mcpProject Structure
.
├── main.py
└── src
├── __init__.py
├── core
│ ├── common
│ │ ├── crypto_schema.py
│ │ └── schema.py
│ ├── config.py
│ ├── settings
│ │ ├── __init__.py
│ │ ├── base.py
│ │ ├── development.py
│ │ ├── environment.py
│ │ ├── local.py
│ │ ├── production.py
│ │ └── staging.py
│ └── utils
│ ├── datetime.py
│ ├── extended_enum.py
│ ├── filename_generator.py
│ ├── passwords.py
│ ├── query_utils.py
│ └── redis.py
├── mcp_server.py
├── resources
│ ├── __init__.py
│ └── coinmarketcap_resource.py
├── server.py
├── services
│ ├── __init__.py
│ └── coinmarketcap_service.py
└── tools
├── __init__.py
└── prices.pyDevelopment
Adding New Tools to the MCP Server
To add a new tool to the MCP server, follow these steps:
Define the function in the
src/__init__.pyfileRegister the tool in the
main()functionDocument the tool with docstrings
Example:
@server.add_tool
def my_new_tool(parameter1: str, parameter2: int) -> str:
"""
Description of what the tool does.
Args:
parameter1: Description of parameter 1
parameter2: Description of parameter 2
Returns:
Description of what is returned
"""
# Tool implementation
return resultThis server cannot be installed
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.