crypto_price_tracker
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., "@crypto_price_trackerwhat's the 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.
šŖ MCP Crypto Price Lookup Server using ALPACA API
This project sets up a cryptocurrency price lookup service powered by the ALPACA API and built for integration with MCP (Multi-Agent Control Protocol).
The server allows AI agents or clients to fetch real-time cryptocurrency prices and market data efficiently using Alpaca's API.
š¦ Step 1: Set Up the Environment with uv
We'll use uv ā a fast, modern Python package manager ā to create and manage the project environment.
š ļø Installation & Setup
Run these commands in your terminal (not in Jupyter):
# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# Create and navigate to your project directory
mkdir mcp-crypto-server
cd mcp-crypto-server
# Initialize a new project
uv init
# Create and activate the virtual environment
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install required dependencies
uv add "mcp[cli]" httpxRelated MCP server: crypto-news-mcp
Step 2: Running the MCP Server
Once the environment is set up, we're ready to build and run our crypto price lookup tool. Copy the server script from the scripts folder:
cp ../mcp_server.py .
Start the MCP server:
uv run mcp_server.pyš” Check out mcp_server.py for implementation details on how the tool interfaces with the Alpaca API.
About the Server
The MCP-compatible server includes tools that:
Fetch real-time crypto prices (e.g., BTC/USD, ETH/USD)
Access market data using Alpaca's REST API
Serve AI agents with quick, formatted responses
Step 3: Configure Your MCP Server
Add the following to your MCP config to register the server:
{
"mcpServers": {
"crypto-price-tracker": {
"command": "/ABSOLUTE/PATH/TO/uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/GenAI_Agents//mcp-crypto-server",
"run",
"mcp_server.py"
]
}
}
}š Replace /ABSOLUTE/PATH/TO/... with the full paths to your uv binary and project folder.
Step 4: Restart Claude Desktop for the changes to take effect.
Step 5: Try ask the price of Bitcoin
You can add your own tools to mcp_server.py
"""
This script demonstrates how to create a simple MCP server that fetches
the current price of a cryptocurrency using the CoinGecko API.
It uses the FastMCP library to create the server and handle requests.
"""
import httpx
from dotenv import load_dotenv
from mcp.server.fastmcp import FastMCP
load_dotenv()
COINGECKO_BASE_URL = "https://api.coingecko.com/api/v3"
# Create our MCP server with a descriptive name
mcp = FastMCP("crypto_price_tracker")
# Now let's define our first tool - getting the current price of a cryptocurrency
@mcp.tool()
async def get_crypto_price(crypto_id: str, currency: str = "usd") -> str:
"""
Get the current price of a cryptocurrency in a specified currency.
Parameters:
- crypto_id: The ID of the cryptocurrency (e.g., 'bitcoin', 'ethereum')
- currency: The currency to display the price in (default: 'usd')
Returns:
- Current price information as a formatted string
"""
# Construct the API URL
url = f"{COINGECKO_BASE_URL}/simple/price"
# Set up the query parameters
params = {
"ids": crypto_id,
"vs_currencies": currency
}
try:
# Make the API call
async with httpx.AsyncClient() as client:
response = await client.get(url, params=params)
response.raise_for_status() # Raise an exception for HTTP errors
# Parse the response
data = response.json()
# Check if we got data for the requested crypto
if crypto_id not in data:
return f"Cryptocurrency '{crypto_id}' not found. Please check the ID and try again."
# Format and return the price information
price = data[crypto_id][currency]
return f"The current price of {crypto_id} is {price} {currency.upper()}"
except httpx.HTTPStatusError as e:
return f"API Error: {e.response.status_code} - {e.response.text}"
except Exception as e:
return f"Error fetching price data: {str(e)}"
# You can add more tools here, following the same pattern as above
# Run the MCP server
# This will start the server and listen for incoming requests
if __name__ == "__main__":
mcp.run()š Then Level Up: Build the yFinance Stock Server
Once you're familiar with the flow, move on to this more advanced stock tracker š¹
š GitHub Repo: https://github.com/Adity-star/mcp-yfinance-server
š Detailed Blog: š How I Built My Own Stock Server with Python, yFinance, and a Touch of Nerdy Ambition
Enjoy Learnings !
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Related MCP Servers
- AlicenseAqualityFmaintenanceAn MCP server that delivers cryptocurrency sentiment analysis to AI agents.548MIT
- Alicense-qualityDmaintenanceAn MCP server that provides real-time cryptocurrency news sourced from NewsData for AI agents.16MIT
- FlicenseBqualityDmaintenanceA Model Context Protocol server that provides real-time cryptocurrency price fetching capabilities using the CoinGecko API. It enables LLMs to retrieve and process the latest price for any coin by its name or symbol.2
- Alicense-qualityBmaintenanceMCP server providing market data for 15,000+ cryptocurrencies including prices, history, trends, and deep coin metadata via CoinGecko.591Apache 2.0
Related MCP Connectors
MCP server for AI dialogue using various LLM models via AceDataCloud
MCP server for Gainium ā manage trading bots, deals, and balances via AI assistants
MCP server connecting AI agents to non-custodial staking data across 130+ networks.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Adity-star/mcp-crypto-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server