金融评分代理

基于金融数据(MCP)和新闻摘要生成评分的多代理协作系统,支持A2A协议和REST API。

  • by a2a-mcp-multiagent-study
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 a2a-mcp-multiagent-study/Ticker-Score-Agent

使用说明

票务评分代理

AGENT基于财务数据(MCP)+新闻摘要计算得分

🏗️ A2A多代理体系结构

这个项目 A2A(Agent-to-Agent)协议支持基于的多代理协作结构。

┌─────────────────────────────────────┐
│  Host Agent (클라이언트)              │
│  - 여러 A2A 서버를 조율               │
│  - RemoteA2aAgent로 연결             │
└───┬────────────┬────────────┬───────┘
    │            │            │
    │ HTTP       │ HTTP       │ HTTP
    │ (A2A)      │ (A2A)      │ (A2A)
    ↓            ↓            ↓
┌───────┐   ┌───────┐   ┌──────────┐
│Agent1 │   │Agent2 │   │  Ticker  │
│:8001  │   │:8002  │   │  Agent   │
│(서버) │   │(서버) │   │  :8083   │
│       │   │       │   │ (서버)    │
└───────┘   └───────┘   └──────────┘

主要概念

  • 单个代理=A2A服务器:每个代理作为独立的FastAPI服务器运行,通过A2A协议进行通信。
  • Host Agent=A2A客户端:Host将多台A2A服务器 RemoteA2aAgent连接到进行协调。
  • 标准协议:使用JSON-RPC 2.0 over HTTP进行基于Agent Card的发现

每个A2A服务器提供以下端点:

  • /.well-known/agent-card.json -代理信息(发现)
  • / (POST)-处理JSON-RPC 2.0请求

有关详细信息,请访问 docs/A2A_DEPLOYMENT.md请参考。

LangGraph工作室

图表 聊天

A2A PoC

图表 聊天

📚 文档

详细的文档 docs/ 请参见文件夹:

快速开始

[!重要] Python 3.10+是必需的。
雅虎金融MCP服务器是必需的依赖项。 :octocat:GitHub回购
您必须配置 mcp_config.json 注册您的MCP服务器。

# 1. 의존성 설치
pip install -r requirements.txt

# 2. 환경 변수 설정
cp .env.example .env
# .env 파일에 API 키 입력

# 3. MCP 설정
# mcp_config.json에 Yahoo Finance MCP 서버 경로 설정

# 4. REST API 서버 실행
uvicorn app.main:app --reload --port 8080

环境变量

.env 文件 app/settings.py将在中自动加载。请至少填写以下项目。

KEY 必填 描述
OPENAI_API_KEY ✅ LangChain ChatOpenAI 调用API密钥
CLOVASTUDIO_API_KEY 选择 使用NAVER CLOVA Studio时输入
MCP_CONFIG_PATH ✅ mcp_config.json 绝对/相对路径(./mcp_config.json 建议)
LANGCHAIN_TRACING_V2, LANGCHAIN_API_KEY (可选) 使用LangSmith跟踪时

示例:

OPENAI_API_KEY=sk-proj-...
CLOVASTUDIO_API_KEY=nv-...
MCP_CONFIG_PATH=./mcp_config.json

雅虎金融MCP服务器

分数的计算依赖于MCP服务器。 雅虎金融mcp安装后 mcp_config.json请在注册路径。

# 별도 디렉터리에서 MCP 서버 설치
git clone https://github.com/Alex2Yang97/yahoo-finance-mcp.git
cd yahoo-finance-mcp
npm install && npm run build

# 실행 경로 확인 (예: dist/index.js)

项目根的 mcp_config.json 示例:

{
  "mcpServers": {
    "yahoo-finance": {
      "command": "node",
      "args": ["/abs/path/yahoo-finance-mcp/dist/index.js"],
      "env": {}
    }
  }
}

必须先运行MCP服务器。 run_once →Yahoo/DART节点正常工作。

用法

# 티커 점수 조회
curl "http://localhost:8080/score?ticker=AAPL"
curl "http://localhost:8080/score?ticker=MSFT"

# 스트리밍 조회
curl "http://localhost:8080/score/stream?ticker=NVDA"

响应示例

{
  "ticker": "NVDA",
  "score": 78,
  "rationale": "AI 산업 성장 기대감과 분석가의 긍정적 평가 우세하나, 내부자 매도로 인한 경계감 상존"
}

A2A协议支持

Ticker-Score-Agent支持A2A(Agent-to-Agent)协议,可以与其他代理进行通信。

特性

  • 基于Google ADK:将LangGraph工作流打包为ADK Agent
  • 并行操作:同时运行REST API(8080)+A2A服务器(8083)
  • 多代理:通过Host Agent进行代理编排
  • 标准协议:以A2A标准与其他代理通信

快速开始

# 프로젝트 루트에서 실행 (중요!)
cd /path/to/Ticker-Score-Agent

# A2A 서버 실행
uvicorn app.a2a_server:a2a_app --host 127.0.0.1 --port 8083 --reload

# Agent Card 확인
curl http://localhost:8083/.well-known/agent-card.json

google-adk、a2a-server、a2a-sdk等A2A相关软件包位于顶层 requirements.txt包括在中。 pip install -r requirements.txt如果只运行,则不需要进行其他安装。

多代理PoC(a2a-poc/),请分别释放Agent 1/2。 a2a-poc/host/agent.py运行中的Host Agent。

可用工具

  • calculate_ticker_score:计算股票计分卡分数
  • get_ticker_info:查看代理信息

详细文档