Crypto Sentinel Agent
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
DLT, FastAPI, and FastMCP Integration
This project is a demonstration of how to integrate dlt (data load tool), FastAPI, and FastMCP to create a simple cryptocurrency market analysis agent.
Project Overview
The project consists of three main components:
Data Pipeline: A
dltpipeline that ingests cryptocurrency market data from the CoinGecko API and loads it into a local DuckDB database.API Backend: A
FastAPIapplication that exposes the data from the DuckDB database through a REST API.Agent: A
FastMCPagent that provides tools to interact with the API, refresh the data, and perform market analysis.
Related MCP server: crypto-insight-mcp
How it Works
┌───────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ CoinGecko API │ ◄─── │ dlt Pipeline │ ───► │ DuckDB Database │
└───────────────────┘ └──────────────────┘ └──────────────────┘
▲
│
│
┌───────────────────┐ ┌──────────────────┐ ┌────┴─────┐
│ User │ ◄─── │ FastMCP Agent │ ◄─── │ FastAPI │
└───────────────────┘ └──────────────────┘ └──────────┘Components
Data Pipeline (dlt)
The data pipeline is defined in data_pipeline/ingest_coins.py. It uses the dlt library to:
Fetch the top 10 cryptocurrencies by market cap from the CoinGecko API.
Load the data into a DuckDB database named
crypto_pipeline.duckdb.The data is stored in a table named
top_coinswithin themarket_dataschema.
API Backend (FastAPI)
The API backend is defined in backend.py. It uses the FastAPI framework to create a simple API with the following endpoints:
GET /: Returns a status message.GET /coins: Returns a list of cryptocurrencies from the database. It supportsmin_priceandlimitquery parameters for filtering and pagination.
Agent (fastmcp)
The agent is defined in agent.py. It uses the FastMCP framework to create an agent with the following tools:
get_crypto_market_data: Fetches cryptocurrency data from the FastAPI backend.refresh_data: Triggers thedltpipeline to refresh the data from the CoinGecko API.analyze_market: Performs a simple market analysis on the data.
How to Run
1. Install Dependencies
Install the required Python packages from requirements.txt:
pip install -r requirements.txt2. Run the Data Pipeline
Run the data pipeline to populate the database:
python data_pipeline/ingest_coins.pyThis will create a crypto_pipeline.duckdb file in the project root.
3. Run the API Backend
Start the FastAPI server:
python backend.pyThe API will be available at http://localhost:8000.
4. Run the Agent
In a separate terminal, run the agent:
python agent.pyYou can now interact with the agent in your terminal.
Verifying the Data
You can manually verify the data in the database using the provided scripts:
check_data.py: Shows the top 5 coins by price.check_metadata.py: Showsdltmetadata for the loaded data.
Run them like this:
python check_data.py
python check_metadata.pyAdding the Agent to Gemini CLI
To add the FastMCP agent to the Gemini CLI, create a settings.json file inside your .gemini folder (if it doesn't already exist). Then, copy and paste the following configuration into your settings.json file:
{
"mcpServers": {
"Crypto Sentinel Agent": {
"command": "/Users/adpuz/Documents/Projects/dlt_fastapi_mcp/.venv/bin/python",
"args": [
"/Users/adpuz/Documents/Projects/dlt_fastapi_mcp/agent.py"
]
}
}
}Make sure the command and args paths are correct for your environment. After saving the settings.json file, you can use the @Crypto Sentinel Agent in the Gemini CLI to interact with your agent, for example, by typing @Crypto Sentinel Agent check the latest crypto market data.
This server cannot be deployed
Maintenance
Related MCP Connectors
Your agent needs crypto prices it can rely on — spot, ranked market tables, history, OHLC, per-venue tickers, and what is trending right now. **What you can ask for** • "What is the price of these 20 tokens in USD and EUR right now?" • "Give me the top 100 by market cap with 24h and 7d change." • "Chart this coin's price over the last year, hourly." • "Where does this token trade, and at what spread per venue?" • "What is trending on CoinGecko today?" **How to use it** Point any MCP client at https://mcp.aisa.one/crypto-market-data/mcp and sign in with OAuth — there is no key to create or paste. 21 CoinGecko tools: simple price and token price by contract, supported currencies, coin list and detail, ranked markets, history, market charts and ranges, OHLC, per-coin tickers, categories, exchanges and their tickers, token data and charts, and trending. **It is also a door to the rest** The same login reaches 26 sources and 580+ operations. Price the token here, then ask the same agent what X is posting about it — without adding a second server. **What it costs** Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident. **Where else it reaches** https://mcp.aisa.one/finance/mcp for equities, crypto and prediction markets in one place.
Market Data App MCP — wraps the Market Data App API (marketdata.app)
CoinGecko MCP — wraps CoinGecko free API (no auth required)
Agent-native crypto market-data over MCP+REST: order flow, whales, liquidations, calibrated scores
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables interaction with the CoinGecko Pro API to access cryptocurrency data including price history and market metrics through both MCP and OpenAI function calling.9MIT
- AlicenseAqualityDmaintenanceMCP server for accessing crypto market data (prices, portfolio analytics) from CoinGecko and performing RAG-based search over internal documents with responsible-AI guardrails.4MIT
- AlicenseNot gradedqualityAmaintenanceEnables fetching cryptocurrency prices, historical OHLC data, and news via CryptoCompare API through an MCP gateway.464 npmMIT
- AlicenseNot gradedqualityBmaintenanceWraps the CoinGecko free API to provide cryptocurrency data via MCP tools, with natural language querying support through Pipeworx gateway.274 npmMIT