Token导航 LogoToken导航TokenDH.com
Market Intelligence logo
AI代理stdio官方级别未说明来源级核验

Market Intelligence

MCP Server

一个基于MCP(模型上下文协议)服务器的生产级后端服务,通过对话界面提供AI驱动的市场情报,并保留完整的上下文。

工具数

5

提示词数

0

GitHub Stars

0

资源数

0
Python金融数据上下文管理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

BalajiMittapalli

提供方

BalajiMittapalli

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

市场情报MCP后端服务

一个运行在MCP(模型上下文协议)服务器上的生产级后端服务,通过保持完整上下文的对话界面提供AI驱动的市场智能。

______________________________________________________________________

概述

这项服务通过结合以下要素提供实时市场情报:

  • MCP 服务器带有5种专用市场数据工具的FastMCP框架
  • 人工智能集成Groq LLM(llama-3.1-8b-instant)用于自然语言理解
  • 上下文管理基于会话的对话历史记录,采用持久化存储
  • 数据来源Alpha Vantage(市场数据)、NewsAPI(财经新闻)

______________________________________________________________________

建筑

User Query → FastAPI Endpoint → AI Agent → MCP Server → Market Tools
                                                ↓
                                    Alpha Vantage / NewsAPI
                                                ↓
                                        Real-time Data

核心组件

  1. MCP服务器 (app/mcp/server.py)

- 实现模型上下文协议 - 管理5种市场情报工具 - 处理工具执行和上下文

  1. 人工智能代理 (app/agents/market_intelligence_agent.py

- 处理自然语言查询 - 根据上下文规划工具使用 - 生成对话回复

  1. 上下文管理器 (app/services/context_manager.py)

- 每会话保持对话历史记录 - 在 SQLite 数据库中存储上下文 - 实现令牌预算管理

  1. API路由器 (app/api/router.py

- 暴露REST端点 - 管理会话和速率限制 - 提供流式和非流式响应

______________________________________________________________________

可用的MCP工具

工具描述数据来源
get_stock_price当前股价及变动百分比Alpha Vantage 全球报价
get_stock_info公司基本面和概况Alpha Vantage 概述
calculate_indicators相对强弱指数(RSI)和移动平均线(MA-20,MA-50)Alpha Vantage 日线时间序列数据
get_market_news最新财经新闻头条NewsAPI
get_market_summary主要指数(标准普尔500指数、道琼斯指数、纳斯达克指数、罗素指数)Alpha Vantage(阿尔法优势,此处为假设的翻译,实际可能指某个提供金融数据或分析服务的平台名)

______________________________________________________________________

API终端点

非流式终端(必需)

POST /api/query

接收问题并返回包含上下文的AI生成答案。

请求:

{
  "message": "Give me the latest news on the stock market",
  "session_id": "optional-session-id"
}

回答:

{
  "response": "AI-generated answer with context",
  "session_id": "abc-123-def",
  "metadata": {
    "tool_results": [...],
    "market_state": "closed",
    "market_open": false
  }
}

流式传输终端(额外奖励)

POST /api/query/stream

用于实时响应的服务器发送事件流端点。

额外的终点(或目标)

  • POST /api/session/new - 创建新的对话会话
  • GET /api/session/{id}/history - 获取对话历史记录
  • DELETE /api/session/{id} - 删除会话
  • GET /api/market/summary - 直接市场概要
  • GET /api/health - 健康检查
  • GET /metrics - Prometheus指标

______________________________________________________________________

测试

快速测试

# 1. Health Check
curl https://your-deployment-url.app/api/health

# 2. Create Session
curl -X POST https://your-deployment-url.app/api/session/new \
  -H "Content-Type: application/json" \
  -d '{}'

# 3. Query Endpoint (Required)
curl -X POST https://your-deployment-url.app/api/query \
  -H "Content-Type: application/json" \
  -d '{
    "message": "Give me the latest news on the stock market",
    "session_id": "SESSION_ID_FROM_STEP_2"
  }'

示例查询

# Stock price
curl -X POST https://your-deployment-url.app/api/query \
  -H "Content-Type: application/json" \
  -d '{"message": "What is the current price of AAPL?", "session_id": "SESSION_ID"}'

# Technical indicators
curl -X POST https://your-deployment-url.app/api/query \
  -H "Content-Type: application/json" \
  -d '{"message": "Give me RSI and moving averages for Tesla", "session_id": "SESSION_ID"}'

# Market summary
curl https://your-deployment-url.app/api/market/summary

# Streaming endpoint (bonus)
curl -N -X POST https://your-deployment-url.app/api/query/stream \
  -H "Content-Type: application/json" \
  -d '{"message": "Tell me about the tech sector", "session_id": "SESSION_ID"}'

______________________________________________________________________

技术栈

核心框架

  • Python 3.11或更高版本 - 编程语言
  • FastAPI(快速API) - 异步网络框架
  • FastMCP - 模型上下文协议实现
  • Uvicorn(注:Uvicorn是一个用于构建ASGI应用的ASGI服务器,常用于Python的异步Web框架中,如FastAPI) - ASGI服务器

人工智能与大型语言模型

  • Groq API - 大语言模型(LLM)推理(llama-3.1-8b-instant)
  • 提示工程 - 上下文感知的工具规划

数据来源

  • Alpha Vantage API - 实时股市数据
  • NewsAPI(新闻应用程序编程接口) - 金融新闻聚合
  • 雅虎财经 - 备用数据提供商

数据库与存储

  • SQLAlchemy 2.0 - 异步ORM(对象关系映射)
  • aiosqlite - 异步 SQLite 驱动程序
  • 会话存储(或会话级存储) - 会话持久性

制作特点

  • 速率限制 - SlowAPI(每个客户端每分钟30个请求)
  • 缓存 - 5分钟TTL(生存时间)且线程安全
  • 重试逻辑 - 带指数退避的坚持性(或:具有指数退避策略的坚持不懈)
  • 监测 - Prometheus 指标
  • 安全 可选的API密钥认证,CORS配置

______________________________________________________________________

上下文保持(或上下文保留)

上下文是如何被保留的

  1. 基于会话的存储

- 每个用户都会获得一个唯一的会话ID - 所有消息均存储在SQLite数据库中 - 跨查询维护的对话历史

  1. 上下文管理器

- 检索最后N条消息(默认:10条) - 包含元数据(时间戳、工具结果) - 清理旧消息以管理令牌预算

  1. 工具结果集成

- 每条消息中存储的工具输出 - 代理引用了之前的工具调用 - 支持后续提问,无需重复查询

示例

Query 1: "What is the price of AAPL?"
→ Agent calls get_stock_price tool
→ Stores result: $245.27

Query 2: "What about its RSI?" (no need to specify AAPL again)
→ Agent retrieves context (AAPL from previous query)
→ Calls calculate_indicators for AAPL
→ Returns RSI with full context

______________________________________________________________________

配置

环境变量

# Required
GROQ_API_KEY=your_groq_api_key
ALPHA_VANTAGE_KEY=your_alpha_vantage_key
NEWS_API_KEY=your_news_api_key

# Optional
GROQ_MODEL=llama-3.1-8b-instant
DATABASE_URL=sqlite+aiosqlite:///./market_intelligence.db
MAX_CONTEXT_MESSAGES=10
ALPHA_VANTAGE_CACHE_TTL=300
CORS_ALLOW_ALL=true

# Production (optional)
REQUIRE_API_KEY=true
API_KEYS=key1,key2,key3

______________________________________________________________________

MCP服务器配置

服务器初始化

使用FastMCP框架对MCP服务器进行初始化:

from mcp.server.fastmcp import FastMCP

mcp = FastMCP(
    name="Market Intelligence MCP",
    instructions=(
        "Provide actionable market intelligence leveraging live market data, "
        "curated news, and technical indicators. Maintain conversational context "
        "to personalize responses."
    ),
    log_level="INFO",
)

工具注册

每种市场情报工具都已在MCP服务器上注册:

mcp.add_tool(get_stock_price, name="get_stock_price", description="...")
mcp.add_tool(get_stock_info, name="get_stock_info", description="...")
mcp.add_tool(calculate_indicators, name="calculate_indicators", description="...")
mcp.add_tool(get_market_news, name="get_market_news", description="...")
mcp.add_tool(get_market_summary, name="get_market_summary", description="...")

MCP端点

  • /mcp - MCP HTTP 端点
  • /mcp/sse - MCP Server-Sent Events 端点

______________________________________________________________________

部署

本地开发

# Install dependencies
pip install -r requirements.txt

# Set environment variables
cp .env.example .env
# Edit .env with your API keys

# Run server
uvicorn app.main:app --reload --port 8000

Docker 部署

# Build image
docker build -t market-intelligence-api .

# Run container
docker run -p 8000:8000 \
  -e GROQ_API_KEY=$GROQ_API_KEY \
  -e ALPHA_VANTAGE_KEY=$ALPHA_VANTAGE_KEY \
  -e NEWS_API_KEY=$NEWS_API_KEY \
  market-intelligence-api

铁路部署

  1. 将代码推送到GitHub
  2. 将存储库连接到铁路系统
  3. 在设置 → 变量 中添加环境变量
  4. 通过Dockerfile自动部署

______________________________________________________________________

生产特性

速率限制

  • 客户端:每个IP每分钟30个请求
  • Alpha Vantage:使用令牌桶算法,每分钟5次请求
  • 超过限制时自动返回429响应

缓存

  • 股票价格的5分钟TTL(时间到期限制)
  • 线程安全的缓存实现
  • 预热后90%的缓存命中率

数据血缘(或数据来源追踪)

每个回复都包括:

  • source数据提供商(alpha_vantage,newsapi)
  • as_of数据的时间戳
  • cached是否来自缓存
  • market_state开放/关闭/非办公时间
  • delayed数据是否延迟

监测

  • Prometheus指标位于 /metrics
  • 请求次数、持续时间、错误率
  • 缓存命中/未命中率
  • Alpha Vantage API调用追踪

______________________________________________________________________

项目结构

Backend_MCP/
├── app/
│   ├── main.py                 # FastAPI application entry point
│   ├── agents/
│   │   └── market_intelligence_agent.py  # AI agent with tool planning
│   ├── api/
│   │   └── router.py           # REST API endpoints
│   ├── core/
│   │   └── config.py           # Configuration management
│   ├── mcp/
│   │   └── server.py           # MCP server implementation
│   ├── models/
│   │   ├── database.py         # SQLAlchemy models
│   │   └── market_data.py      # Data models with provenance
│   ├── services/
│   │   └── context_manager.py  # Session & context management
│   └── utils/
│       ├── auth.py             # API key authentication
│       └── rate_limiter.py     # Rate limiting & caching
├── tests/                      # Test suite
├── Dockerfile                  # Container configuration
├── requirements.txt            # Python dependencies
└── README.md                   # This file

______________________________________________________________________

安全

  • API密钥认证 (可选):X-API-Key头部验证
  • CORS 配置可配置的允许来源
  • 速率限制防止滥用和拒绝服务(DOS)攻击
  • 输入验证所有请求的Pydantic模型
  • 密钥管理环境变量,不使用硬编码密钥

______________________________________________________________________

许可证

麻省理工学院许可证

______________________________________________________________________

链接

  • GitHub 仓库https://github.com/BalajiMittapalli/market-intelligence-mcp(中文可表述为:GitHub上的市场情报MCP项目链接,由BalajiMittapalli维护)
  • API 文档/docs (Swagger UI)
  • 指标仪表板/metrics (Prometheus 格式)

______________________________________________________________________

使用FastAPI、FastMCP、Groq LLM和Alpha Vantage API构建

目录标签

目录标签

Python金融数据上下文管理市场情报本地部署AI驱动对话界面

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

api-key

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdioapi-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP