股票行情ChatGPT应用

一个使用Model Context Protocol (MCP) SDK的TypeScript ChatGPT应用,用于显示Alpha Vantage的股票涨跌榜。

  • by mulder3010
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 mulder3010/chatgpt-app-mcp

使用说明

带MCP的ChatGPT应用程序-股票热门

一个最小的TypeScript ChatGPT应用程序,使用模型上下文协议(MCP)SDK显示Alpha Vantage的最大赢家和输家。

特性

  • 🔧 MCP服务器 -暴露a topmovers 获取股市动态的工具
  • 📊 交互式小部件 -为涨幅最大、跌幅最大和最活跃的股票提供响应表
  • 🚀 快速后端 -用于MCP集成的简单HTTP服务器
  • 🔐 阿尔法Vantage集成 -实时股市数据
  • 🌐 ngrok准备就绪 -通过HTTPS隧道实现轻松的本地开发

先决条件

快速开始

1.克隆和安装

git clone https://github.com/mulder3010/chatgpt-app-mcp.git
cd chatgpt-app-mcp
npm install

2.配置环境

cp .env.example .env
# Edit .env and add your Alpha Vantage API key

3.建设项目

npm run build

4.运行服务器

npm start

MCP服务器将启动 http://localhost:3000

5.使用ngrok进行暴露(用于ChatGPT集成)

在单独的终端中:

ngrok http 3000

复制HTTPS URL(例如。, https://abc123.ngrok.app)

发展

对于开发过程中的热重新加载:

npm run dev

项目结构

chatgpt-app-mcp/
├── src/
│   ├── server.ts           # Main MCP server & Express app
│   └── types.ts            # TypeScript type definitions
├── web/
│   ├── src/
│   │   └── widget.tsx      # React widget component
│   └── dist/               # Compiled widget assets
├── build-widget.js         # Widget build script
├── package.json
├── tsconfig.json
└── README.md

运作原理

  1. MCP服务器:实现模型上下文协议,注册:

    • A. topmovers 称为Alpha Vantage的工具 TOP_GAINERS_LOSERS 端点
    • 呈现小部件UI的HTML资源模板
  2. 小部件:负载中,呼叫 window.openai.callTool("topmovers", {limit}) 以获取数据并呈现三个响应表:

    • 顶级赢家
    • 顶级失败者
    • 最活跃
  3. 快递服务器:为MCP端点提供服务 /mcp 通过HTTP/SSE传输

与ChatGPT一起使用

  1. 在ChatGPT中启用开发人员模式(设置→ 开发者→ 启用开发人员模式)
  2. 创建新连接器:
    • 类型:MCP
    • 网址: https://your-ngrok-url.ngrok.app/mcp
  3. 测试连接
  4. 试着问:“给我看看今天股票走势最好的股票”

api参考

工具: topmovers

参数:

  • limit (可选,数字):每个类别显示的库存数量(默认值:10)

退货:

{
  top_gainers: Array<{
    ticker: string;
    price: string;
    change_amount: string;
    change_percentage: string;
    volume: string;
  }>;
  top_losers: Array<{...}>;
  most_actively_traded: Array<{...}>;
}

环境变量

变量 描述 必填
ALPHA_VANTAGE_API_KEY 您的Alpha Vantage API密钥 是
PORT 服务器端口(默认值:3000) 否

故障排除

API费率限制:Alpha Vantage免费套餐有费率限制(5次通话/分钟,100次通话/天)。对于生产用途,考虑升级。

CORS问题:小部件在具有严格CSP的iframe中运行。网络请求必须指向中指定的允许域 openai/widgetCSP.

ngrok会议:免费ngrok网址将在2小时后过期。重新启动ngrok并更新您的ChatGPT连接器URL。

许可证

麻省理工学院

资源