🚀 MCP Server恐惧与贪婪指数
这是一个基于模型上下文协议(MCP)的服务器,可提供美国股市的CNN恐惧与贪婪指数。该服务器能够获取实时市场情绪数据,并以structuredContent和文本content两种形式呈现。



✨ 主要特性
- 实时恐惧与贪婪指数:获取当前市场情绪得分(0 - 100)。
- 历史数据对比:查看前一交易日、上周、上月和去年的数据。
- 详细市场指标:访问各个组成部分的得分,包括:
- 市场动量(标准普尔500指数和标准普尔125指数)
- 股票价格强度与广度
- 看跌/看涨期权比率
- 市场波动率(VIX)
- 垃圾债券需求
- 避险资产需求
- 灵活输出格式:可选择结构化的Markdown格式或原始JSON格式。
📦 安装指南
环境要求
- Node.js 18 或更高版本
- VS Code、Cursor、Windsurf、Claude Desktop 或其他 MCP 客户端
本地安装(标准输入输出)
首先,使用客户端安装恐惧与贪婪MCP服务器。典型的配置如下:
{
"mcpServers": {
"mcp-server-fear-greed": {
"command": "npx",
"args": [
"-y",
"mcp-server-fear-greed@latest"
]
}
}
}
在VS Code中安装
你也可以使用VS Code命令行界面安装mcp-server-fear-greed MCP服务器:
code --add-mcp '{"name":"mcp-server-fear-greed","command":"npx","args":["mcp-server-fear-greed@latest"]}'
安装完成后,恐惧与贪婪MCP服务器即可在VS Code中与GitHub Copilot代理一起使用。
在Cursor中安装
前往Cursor设置 -> MCP -> 添加新的MCP服务器。自定义名称,输入npx mcp-server-fear-greed。你还可以通过点击编辑来验证配置或添加命令参数。
{
"mcpServers": {
"mcp-server-fear-greed": {
"command": "npx",
"args": [
"mcp-server-fear-greed@latest"
]
}
}
}
在Windsurf中安装
遵循Windsurf MCP 文档。使用以下配置:
{
"mcpServers": {
"mcp-server-fear-greed": {
"command": "npx",
"args": [
"mcp-server-fear-greed@latest"
]
}
}
}
在Claude Desktop中安装
遵循MCP安装 指南,使用以下配置:
{
"mcpServers": {
"mcp-server-fear-greed": {
"command": "npx",
"args": [
"mcp-server-fear-greed@latest"
]
}
}
}
远程安装(SSE / 可流式HTTP)
同时,使用--port $your_port参数启动浏览器MCP,可将其转换为SSE和可流式HTTP服务器。
npx mcp-server-fear-greed --port 8089
你可以使用以下两个MCP服务器远程端点之一:
- 可流式HTTP(推荐):
http://127.0.0.1::8089/mcp
- SSE:
http://127.0.0.1::8089/sse
然后在MCP客户端配置中,将url设置为SSE端点:
{
"mcpServers": {
"mcp-server-fear-greed": {
"url": "http://127.0.0.1::8089/sse"
}
}
}
将url设置为可流式HTTP端点:
{
"mcpServers": {
"mcp-server-fear-greed": {
"type": "streamable-http",
"url": "http://127.0.0.1::8089/mcp"
}
}
}
内存调用
如果你的MCP客户端是基于JavaScript / TypeScript开发的,你可以直接使用进程内调用,避免要求用户安装命令行界面来使用恐惧与贪婪MCP。
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { InMemoryTransport } from '@modelcontextprotocol/sdk/inMemory.js';
import { createServer } from 'mcp-server-fear-greed';
const client = new Client(
{
name: 'test fear greed client',
version: '1.0',
},
{
capabilities: {},
},
);
const server = createServer();
const [clientTransport, serverTransport] = InMemoryTransport.createLinkedPair();
await Promise.all([
client.connect(clientTransport),
server.connect(serverTransport),
]);
const result = await client.listTools();
console.log(result);
const toolResult = await client.callTool({
name: 'get_fear_greed_index',
arguments: {
format: 'json'
},
});
console.log(toolResult);
📚 详细文档
工具:get_fear_greed_index
获取当前的恐惧与贪婪指数及相关市场指标。
参数
format(可选):输出格式
"structured"(默认):返回格式化的Markdown数据
"json":返回原始JSON数据
使用示例
await client.callTool("get_fear_greed_index");
await client.callTool("get_fear_greed_index", { format: "json" });
响应结构
该工具返回的数据结构如下:
{
"fear_and_greed": {
"score": 75,
"rating": "greed",
"timestamp": "2025-07-18T23:59:57+00:00",
"previous_close": 75.31,
"previous_1_week": 75.26,
"previous_1_month": 54.29,
"previous_1_year": 45.94
},
"fear_and_greed_historical": {
"timestamp": 1752883197000,
"score": 75,
"rating": "greed"
},
"market_momentum_sp500": {
"timestamp": 1752871567000,
"score": 61.2,
"rating": "greed"
},
"market_momentum_sp125": {
"timestamp": 1752871567000,
"score": 61.2,
"rating": "greed"
},
"stock_price_strength": {
"timestamp": 1752883197000,
"score": 80,
"rating": "extreme greed"
},
"stock_price_breadth": {
"timestamp": 1752883197000,
"score": 84,
"rating": "extreme greed"
},
"put_call_options": {
"timestamp": 1752871897000,
"score": 79.6,
"rating": "extreme greed"
},
"market_volatility_vix": {
"timestamp": 1752869701000,
"score": 50,
"rating": "neutral"
},
"market_volatility_vix_50": {
"timestamp": 1752869701000,
"score": 50,
"rating": "neutral"
},
"junk_bond_demand": {
"timestamp": 1752877800000,
"score": 88.8,
"rating": "extreme greed"
},
"safe_haven_demand": {
"timestamp": 1752868799000,
"score": 81.4,
"rating": "extreme greed"
}
}
恐惧与贪婪指数评级
该指数使用以下评级标准:
- 0 - 25:极度恐惧
- 26 - 45:恐惧
- 46 - 55:中性
- 56 - 75:贪婪
- 76 - 100:极度贪婪
开发
访问 http://127.0.0.1:6274/:
npm run dev
错误处理
服务器包含全面的错误处理机制:
- 捕获并报告网络请求失败情况。
- 优雅处理无效的API响应。
- 用合理的默认值填充缺失的数据字段。
- 所有错误均包含详细的描述信息。