比特币图表MCP服务器
一种MCP(模型上下文协议)服务器,使用CoinGecko API提供实时比特币价格图表和市场数据。
特性
- 实时比特币价格数据从CoinGecko API获取当前比特币价格
- 历史图表:为多个时间段(1小时、24小时、7天、30天、1年)生成图表
- 多种图表类型:折线图和面积图
- 多种格式:PNG和SVG输出格式
- 货币支持:美元和欧元定价
- 速率限制:遵守API限制的内置速率限制
安装
- 克隆或创建项目目录:
mkdir bitcoin-chart-mcp
cd bitcoin-chart-mcp- 安装依赖项:
npm install- 构建项目:
npm run build使用Claude代码
1.将MCP服务器添加到Claude代码中
claude mcp add bitcoin-chart node /path/to/bitcoin-chart-mcp/dist/index.js2.可用工具
get_bitcoin_chart
生成可定制的比特币价格图表。
参数:
timeframe:“1h”|“24h”|“7d”|“30d”|“1y”(默认值:“7d”)chartType:'line'|'area'(默认值:'line\])format:“png”|“svg”(默认值:“svg”)width:number(默认值:800)height:number(默认值:400)currency:'usd'|'eur'(默认值:'usd')
示例用法:
Show me a Bitcoin chart for the last 30 days as an area chartget_bitcoin_price
获取当前比特币价格和市场数据。
参数:
currency:'usd'|'eur'(默认值:'usd')
示例用法:
What's the current Bitcoin price?3.可用资源
图表资源
bitcoin://chart/current-PNG图表(默认7天)bitcoin://chart/svg/current-SVG图表(默认7天)
价格数据
bitcoin://price/current-当前价格JSON数据
api参考
比特币API类
处理与CoinGecko API的所有通信:
getCurrentPrice(currency)-获取当前比特币价格getHistoricalData(days, currency, interval)-获取历史价格数据getMarketChart(timeframe, currency)-获取市场图表数据
ChartGenerator类
生成图表可视化:
generateChart(data, config)-生成PNG图表generateSVGChart(data, config)-生成SVG图表
配置
服务器包括以下内置配置:
- 速率限制:API请求之间的2秒延迟
- 图表默认值:800x400px,7天时间范围
- 货币支持:美元和欧元
- 时间框架选项1小时、24小时、7天、30天、1年
例子
基本用法
// Get current price
const price = await bitcoinAPI.getCurrentPrice('usd');
// Generate 7-day chart
const chartData = await bitcoinAPI.getMarketChart('7d');
const chart = await chartGenerator.generateSVGChart(chartData, {
timeframe: '7d',
chartType: 'line'
});高级图表配置
const config = {
timeframe: '30d',
chartType: 'area',
width: 1200,
height: 600,
currency: 'eur'
};
const data = await bitcoinAPI.getMarketChart(config.timeframe, config.currency);
const chart = await chartGenerator.generateChart(data, config);发展
脚本
npm run build-构建TypeScript项目npm start-启动MCP服务器npm run dev-手表开发模式npm run clean-清理构建目录
项目结构
bitcoin-chart-mcp/
├── src/
│ ├── index.ts # Main MCP server
│ ├── bitcoin-api.ts # CoinGecko API client
│ ├── chart-generator.ts # Chart generation
│ └── types.ts # TypeScript types
├── dist/ # Built JavaScript files
├── package.json
├── tsconfig.json
└── README.md故障排除
常见问题
- 速率限制:服务器包括内置的速率限制。如果你遇到429个错误,内置的延迟应该会自动处理。
- 画布依赖关系:如果您遇到问题
canvas软件包中,您可能需要安装其他系统依赖项:
- macOS: brew install pkg-config cairo pango libpng jpeg giflib librsvg - 乌班图: sudo apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev
- 内存使用:大型图表或频繁的请求可能会消耗内存。考虑实施缓存以供生产使用。
错误处理
该服务器包括全面的错误处理功能,用于:
- API请求失败
- 无效参数
- 图表生成错误
- 网络超时
许可证
MIT许可证-有关详细信息,请参阅许可证文件。
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
支持
对于问题和疑问:
- 检查故障排除部分
- 查看CoinGecko API文档
- 在项目存储库中打开问题
