Token导航 LogoToken导航TokenDH.com
MCP agent stock demo logo
AI代理stdio官方级别未说明来源级核验

MCP agent stock demo

MCP Server

一个基于模型上下文协议(MCP)和智能AI代理的股票分析应用,利用LLM进行工具选择和数据分析,适用于金融分析和投资决策。

工具数

4

提示词数

0

GitHub Stars

0

资源数

0
金融数据金融科技Python数据分析AI代理

安装说明

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

作者 / 组织

kkvinodkumaran

提供方

kkvinodkumaran

最后核验

2026/5/17 20:19

运行时

Python

快速接入

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

命令预览

uv run python server.py

详细介绍

MCP股票分析演示

一个全面的股票分析应用程序,展示了 模型上下文协议(MCP) 带着一个 智能人工智能代理 它使用基于LLM的工具选择和多个数据源。

🧠 智能代理架构

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   User Query    │───▶│ Intelligent     │───▶│   MCP Server    │
│ (Natural Lang.) │    │ Agent (LLM)     │    │ (4 Tools)       │
└─────────────────┘    └─────────────────┘    └─────────────────┘
                                │                       │
                                ▼                       ▼
                       ┌─────────────────┐    ┌─────────────────┐
                       │ TAVILY API      │    │ Yahoo Finance   │
                       │ (Enhanced News) │    │ (Stock Data)    │
                       └─────────────────┘    └─────────────────┘
                                │
                                ▼
                       ┌─────────────────┐
                       │   Groq LLM      │
                       │ (Planning +     │
                       │  Summaries)     │
                       └─────────────────┘

🚀 主要特点

🧠 LLM驱动的智能

  • 动态工具选择:Agent使用Groq LLM根据用户查询决定调用哪些工具
  • 智能规划:Agent分析请求并通过推理创建执行计划
  • 适应性行为:不同的查询会自动触发不同的工具组合
  • 自然语言处理:接受会话查询并提供全面分析

🔧 多种数据源和工具

MCP服务器工具:

  • get_quote -实时股票报价和基本指标
  • get_stock_history -技术分析的历史价格数据
  • get_company_info -公司详细信息(行业、行业、市值、描述)
  • company_news -通过DuckDuckGo搜索新闻

代理直接能力:

  • search_news_tavily -通过TAVILY API增强新闻搜索功能
  • 智能路由:代理根据查询上下文在DuckDuckGo和TAVILY之间进行选择

🎯 智能查询示例

综合分析:

Query: "Give me a complete analysis of Tesla"
Agent Decision: Calls get_quote + get_company_info + get_stock_history + search_news_tavily
Reasoning: "User wants comprehensive analysis, so I need current price, company background, recent trends, and latest news"

新闻焦点:

Query: "What's the recent news about Apple?"
Agent Decision: Calls search_news_tavily only
Reasoning: "User specifically asked for news, no need for stock data"

技术分析:

Query: "Show me MSFT price trends"
Agent Decision: Calls get_quote + get_stock_history
Reasoning: "User wants price trends, so current quote plus historical data"

🏗️ 架构概述

服务

  1. MCP服务器 (端口8000)-带有库存数据工具的模型上下文协议服务器
  2. 代理客户端 (端口8001)-基于LLM规划的智能代理
  3. 用户界面 (Port 3000)-基于React的web界面

智能代理工作流

User Query → LLM Planning → Tool Selection → Execution → LLM Summary
  1. 查询分析:LLM分析用户意图和需求
  2. 工具规划:代理决定需要哪些工具以及使用顺序
  3. 动态执行:根据计划调用MCP工具和/或直接API
  4. 智能摘要:LLM从所有数据源生成全面分析

🚀 快速开始

先决条件

  • Docker和Docker Compose
  • 已配置环境变量(请参阅配置部分)

1.克隆和设置

git clone 
cd mcp_agent_stock_demo

2.配置环境

复制环境模板并添加您的API密钥:

cp .env.example .env
# Then edit .env with your actual API keys

所需的API密钥:

# Required for intelligent agent
GROQ_API_KEY=your_groq_api_key_here

# Required for enhanced news search
TAVILY_API_KEY=your_tavily_api_key_here

3.使用Docker Compose进行部署

# Build and start all services
docker-compose up --build

# Or run in background
docker-compose up -d --build

4.访问应用程序

  • 网页用户界面: http://localhost:3000
  • 代理API: http://localhost:8001
  • MCP服务器: http://localhost:8000

🔧 API终点

智能代理(端口8001)

POST /analyze -智能分析

演示基于LLM的工具选择的主要端点:

curl -X POST "http://localhost:8001/analyze" \
  -H "Content-Type: application/json" \
  -d '{"query": "Give me a complete analysis of Tesla including recent trends"}'

响应结构:

{
  "reasoning": "User wants comprehensive analysis, so I need current price, company background, recent trends, and latest news",
  "tools_used": ["get_quote", "get_company_info", "get_stock_history", "search_news_tavily"],
  "data": {
    "quote": {...},
    "company_info": {...},
    "history": {...},
    "news": [...]
  },
  "summary": "LLM-generated comprehensive analysis..."
}

GET /tools -可用工具

列出代理可以使用的所有可用工具:

curl "http://localhost:8001/tools"

POST /summary -传统端点

保持向后兼容性(使用硬编码的工具选择):

curl -X POST "http://localhost:8001/summary" \
  -H "Content-Type: application/json" \
  -d '{"symbol": "AAPL"}'

MCP服务器(端口8000)

GET /list_tools -MCP工具发现

curl "http://localhost:8000/list_tools"

POST /call_tool -执行MCP工具

curl -X POST "http://localhost:8000/call_tool" \
  -H "Content-Type: application/json" \
  -d '{"name": "get_quote", "arguments": {"symbol": "AAPL"}}'

🛠️ 发展

地方发展

# MCP Server
cd mcp_stock_server
uv sync
uv run python server.py

# Agent Client  
cd agent_client
uv sync
uv run uvicorn app.main:app --host 0.0.0.0 --port 8001

# UI
cd ui
npm install
npm start

测试智能代理

基于LLM的测试工具选择:

# Comprehensive analysis
curl -X POST "http://localhost:8001/analyze" \
  -H "Content-Type: application/json" \
  -d '{"query": "Analyze Tesla stock with recent news and trends"}'

# News-only query
curl -X POST "http://localhost:8001/analyze" \
  -H "Content-Type: application/json" \
  -d '{"query": "What are the latest news about Apple?"}'

# Technical analysis
curl -X POST "http://localhost:8001/analyze" \
  -H "Content-Type: application/json" \
  -d '{"query": "Show me Microsoft price trends and current valuation"}'

📊 配置

环境变量

必修的:

  • GROQ_API_KEY -用于基于法学硕士的规划和总结
  • TAVILY_API_KEY -用于增强新闻搜索

可选:

  • MCP_SERVER_URL -MCP服务器端点(默认值:http://mcp-server:8000)
  • AGENT_PORT -代理服务端口(默认:8001)
  • UI_PORT -UI服务端口(默认值:3000)

获取API密钥

Groq API密钥:

  1. 访问https://console.groq.com/
  2. 创建帐户并生成API密钥
  3. 增添 .env 文件(复制自 .env.example)

API TAVILLY密钥:

  1. 访问https://tavily.com/
  2. 注册API访问
  3. 增添 .env 文件(复制自 .env.example)

🔍 运作原理

智能代理流程

  1. 查询接收:用户提交自然语言查询
  2. LLM分析:Groq LLM分析意图并确定所需数据
  3. 工具规划:代理通过推理创建执行计划
  4. 动态执行:

- 调用MCP服务器工具获取库存数据 - 调用TAVILY API以获取增强的新闻(需要时) - 根据查询要求进行调整

  1. 数据集成:合并来自多个来源的结果
  2. LLM总结:使用收集到的所有数据生成全面分析

刀具选择逻辑

代理使用LLM推理来决定调用哪些工具:

  • 股票价格查询get_quote
  • 公司研究get_company_info + get_quote
  • 技术分析get_stock_history + get_quote
  • 新闻请求search_news_tavilycompany_news
  • 综合分析 → 所有相关工具

MCP集成

  • 工具发现:代理动态发现可用的MCP工具
  • HTTP接口:为工具执行清理REST API
  • 错误处理:当工具不可用时,优雅的回退
  • 可扩展性:易于向MCP服务器添加新工具

🐳 Docker部署

服务配置

services:
  mcp-server:    # MCP tools and stock data
  agent-client:  # Intelligent agent with LLM
  ui:           # React web interface

健康检查

所有服务都包括可靠部署的健康检查:

# Check service status
docker-compose ps

# View logs
docker-compose logs agent-client
docker-compose logs mcp-server

🔧 故障排除

常见问题

代理人没有做出明智的决定:

  • 验证 GROQ_API_KEY 设置正确
  • 检查代理日志: docker-compose logs agent-client

新闻搜索不起作用:

  • 验证 TAVILY_API_KEY 已配置
  • 测试用 /analyze 端点

MCP工具不可用:

  • 检查MCP服务器状态: curl http://localhost:8000/list_tools
  • 验证服务之间的网络连接

调试模式

# Run with verbose logging
docker-compose up --build

# Check individual service logs
docker-compose logs -f agent-client

📈 智能行为示例

自适应工具选择

查询“特斯拉的表现如何?”

  • 代理推理:“一般性能查询需要当前价格和最近的上下文”
  • 使用的工具: get_quote, search_news_tavily

查询:“给我特斯拉的财务细节”

  • 代理推理:“财务细节需要公司信息和当前指标”
  • 使用的工具: get_company_info, get_quote

查询:“分析特斯拉随时间推移的价格趋势”

  • 代理推理:“趋势分析需要历史数据和当前价格”
  • 使用的工具: get_stock_history, get_quote

多源情报

代理智能地组合来自以下来源的数据:

  • 雅虎财经 (通过MCP)-股价、公司数据、历史趋势
  • API TAVILLY (直接)-通过相关性排名增强新闻搜索
  • DuckDuckGo (通过MCP)-一般新闻搜索作为后备
  • Groq法学硕士 -计划、推理和全面总结

🎯 后续步骤

  • 添加更多MCP工具 (收益数据、分析师评级等)
  • 增强LLM提示 为了更好地选择工具
  • 实现缓存 对于频繁请求的数据
  • 添加实时数据流 能力
  • 创建自定义工具链 用于特定分析类型

______________________________________________________________________

此应用程序展示了将MCP架构与基于LLM的智能代理相结合的强大功能,用于动态、自适应的数据分析工作流程。

目录标签

目录标签

金融数据金融科技Python数据分析AI代理股票分析本地部署LLM

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP