恐惧贪婪指数服务

提供美国股市实时恐惧贪婪指数数据及历史对比分析的服务,支持结构化数据和JSON格式输出。

  • by ycjcl868
  • TypeScript
  • 混合部署
  • 4 星标
  • 更新于
在 GitHub 查看 ycjcl868/mcp-server-fear-greed

使用说明

MCP服务器恐惧与贪婪指数

一个模型上下文协议(MCP)服务器,为美国股市提供访问CNN恐惧与贪婪指数的服务。该服务器实时抓取市场情绪数据,并以以下两种方式呈现: structuredContent 和文本 content。

特性/功能

  • 实时恐惧与贪婪指数获取当前市场情绪评分(0-100)
  • 历史比较查看之前的收盘价、周数据、月数据和年数据
  • 详细的市场指标访问各个组件的分数,包括:
    • 市场动量(标普500指数 & 标普125指数)
    • 股价强度与广度
    • 看跌/看涨期权比率
    • 市场波动率(VIX)
    • 垃圾债券需求
    • 避风港需求
  • 灵活输出选择结构化Markdown格式或原始JSON格式

要求

  • Node.js 18 或更高版本
  • VS Code、Cursor、Windsurf、Claude Desktop 或任何其他 MCP 客户端

入门指南/开始使用

本地(工作室)

首先,将Fear & Greed MCP服务器与您的客户端一起安装。一个典型的配置如下:

{
  "mcpServers": {
    "mcp-server-fear-greed": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-server-fear-greed@latest"
      ]
    }
  }
}
Install in VS Code

你也可以使用VS Code命令行界面(CLI)来安装mcp-server-fear-greed MCP服务器:

# For VS Code
code --add-mcp '{"name":"mcp-server-fear-greed","command":"npx","args":["mcp-server-fear-greed@latest"]}'

安装完成后,Fear & Greed MCP 服务器将可在您的 VS Code 中与 GitHub Copilot 代理一起使用。

Install in Cursor

首选 Cursor Settings -> MCP -> Add new MCP Server随你喜欢来命名, npx mcp-server-fear-greed你也可以通过点击来验证配置或添加类似命令的参数 Edit。

{
  "mcpServers": {
    "mcp-server-fear-greed": {
      "command": "npx",
      "args": [
        "mcp-server-fear-greed@latest"
      ]
    }
  }
}
Install in Windsurf

跟随风帆冲浪MCP(注:MCP可能指某种特定的课程、计划或指南,具体含义需根据上下文确定) 文件/文档使用以下配置:

{
  "mcpServers": {
    "mcp-server-fear-greed": {
      "command": "npx",
      "args": [
        "mcp-server-fear-greed@latest"
      ]
    }
  }
}
Install in Claude Desktop

按照MCP安装指南进行安装 指南;引导,使用以下配置:

{
  "mcpServers": {
    "mcp-server-fear-greed": {
      "command": "npx",
      "args": [
        "mcp-server-fear-greed@latest"
      ]
    }
  }
}

远程(SSE/可流式HTTP)

同时,使用 --port $your_port 参数用于启动浏览器,MCP(多协议控制器)可以转换为SSE(服务器发送事件)和可流式传输的HTTP服务器。

# normal run remote mcp server
npx mcp-server-fear-greed --port 8089

您可以使用两个MCP服务器远程端点中的一个:

  • 可流式传输的HTTP(推荐): http://127.0.0.1::8089/mcp
  • 上海证券交易所 http://127.0.0.1::8089/sse

然后在MCP客户端配置中,设置 url 到SSE终端:

{
  "mcpServers": {
    "mcp-server-fear-greed": {
      "url": "http://127.0.0.1::8089/sse"
    }
  }
}

url 到Streamable的HTTP:

{
  "mcpServers": {
    "mcp-server-fear-greed": {
      "type": "streamable-http", // If there is MCP Client support
      "url": "http://127.0.0.1::8089/mcp"
    }
  }
}

内存中调用

如果您的MCP客户端是基于JavaScript/TypeScript开发的,您可以直接使用进程内调用来避免用户需要安装命令行界面以使用Fear & Greed MCP。

import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { InMemoryTransport } from '@modelcontextprotocol/sdk/inMemory.js';

// type: module project usage
import { createServer } from 'mcp-server-fear-greed';
// commonjs project usage
// const { createServer } = await import('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),
]);

// list tools
const result = await client.listTools();
console.log(result);

// call tool
const toolResult = await client.callTool({
  name: 'get_fear_greed_index',
  arguments: {
    format: 'json'
  },
});
console.log(toolResult);

API 参考

工具: get_fear_greed_index

获取当前的恐惧与贪婪指数及相关的市场指标。

参数

  • format (可选):输出格式
    • "structured" (默认):返回格式化后的带有组织数据的Markdown
    • "json"返回原始JSON数据

示例用法

// Get structured output
await client.callTool("get_fear_greed_index");

// Get JSON output
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中立
  • 五十六到七十五贪婪
  • 76-100极端贪婪

发展

访问 http://127.0.0.1:6274/

npm run dev

错误处理

服务器包含全面的错误处理机制:

  • 网络请求失败被捕获并报告
  • 无效的API响应得到了妥善处理
  • 缺失的数据字段已用合理的默认值填充
  • 所有错误均包含描述性信息