Python Server MCP – Kryptowährungspreisdienst
Dieses Projekt implementiert einen MCP-Server (Model Context Protocol), der Preisinformationen zu Kryptowährungen bereitstellt. Der Server basiert auf Python und dem MCP-Framework, um eine API zu erstellen, die von verschiedenen Clients genutzt werden kann.
Docker
Docker-Build: docker build -t mcp/python-server-mcp -f Dockerfile .
Fügen Sie Ihrer mcp.json Datei Folgendes hinzu:
{
"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
Merkmale
Echtzeit-Abruf von Kryptowährungspreisen
Umgebungsbasierte Konfiguration (Entwicklung, Produktion, Staging, lokal)
CoinMarketCap API-Integration
Bereitstellung von Docker-Containern
Anforderungen
Python 3.12+
uv (Paket- und virtueller Umgebungsmanager)
Docker (optional, zur Containerausführung)
Installation
Verwendung von UV (empfohlen)
# Clone the repository
git clone <repository-url>
cd PythonServerMcpErstellen und aktivieren Sie virtuelle Umgebungen mit UV
uv venv
source .venv/bin/activateInstallieren von Abhängigkeiten
uv sync
Konfiguration
Erstellen Sie im Projektstammverzeichnis eine
.envDatei mit den folgenden Variablen:
ENVIRONMENT=DEV # Options: LOCAL, DEV, STAGING, PROD
COINMARKETCAP_API_KEY=your_api_key_hereSie können auch spezifische Umgebungsdateien für jede Umgebung erstellen:
.dev.env– Für die Entwicklungsumgebung.staging.env– Für die Staging-Umgebung.prod.env– Für die Produktionsumgebung
Verwendung
Lokale Ausführung
python main.pyDadurch wird der MCP-Server gestartet, der über die Standardeingabe/-ausgabe (stdio) auf Anforderungen wartet.
Verwenden von Docker
# Build the image
docker build -t test-mcp -f Dockerfile --platform linux/amd64 .
# Run the container
docker run -it test-mcpProjektstruktur
.
├── 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.pyEntwicklung
Hinzufügen neuer Tools zum MCP-Server
Um dem MCP-Server ein neues Tool hinzuzufügen, gehen Sie folgendermaßen vor:
Definieren Sie die Funktion in der Datei
src/__init__.pyRegistrieren Sie das Tool in der Funktion
main()Dokumentieren Sie das Tool mit Docstrings
Beispiel:
@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.